Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / modules / speech / SpeechRecognitionController.h
index 9d9078f..f5512aa 100644 (file)
@@ -32,7 +32,8 @@
 
 namespace WebCore {
 
-class SpeechRecognitionController FINAL : public Supplement<Page> {
+class SpeechRecognitionController FINAL : public NoBaseWillBeGarbageCollectedFinalized<SpeechRecognitionController>, public WillBeHeapSupplement<Page> {
+    WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(SpeechRecognitionController);
 public:
     virtual ~SpeechRecognitionController();
 
@@ -44,14 +45,16 @@ public:
     void stop(SpeechRecognition* recognition) { m_client->stop(recognition); }
     void abort(SpeechRecognition* recognition) { m_client->abort(recognition); }
 
-    static PassOwnPtr<SpeechRecognitionController> create(SpeechRecognitionClient*);
+    static PassOwnPtrWillBeRawPtr<SpeechRecognitionController> create(PassOwnPtr<SpeechRecognitionClient>);
     static const char* supplementName();
-    static SpeechRecognitionController* from(Page* page) { return static_cast<SpeechRecognitionController*>(Supplement<Page>::from(page, supplementName())); }
+    static SpeechRecognitionController* from(Page* page) { return static_cast<SpeechRecognitionController*>(WillBeHeapSupplement<Page>::from(page, supplementName())); }
+
+    virtual void trace(Visitor* visitor) OVERRIDE { WillBeHeapSupplement<Page>::trace(visitor); }
 
 private:
-    explicit SpeechRecognitionController(SpeechRecognitionClient*);
+    explicit SpeechRecognitionController(PassOwnPtr<SpeechRecognitionClient>);
 
-    SpeechRecognitionClient* m_client;
+    OwnPtr<SpeechRecognitionClient> m_client;
 };
 
 } // namespace WebCore