Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / modules / vibration / NavigatorVibration.h
index b95a49b..3b01351 100644 (file)
 #include "wtf/PassOwnPtr.h"
 #include "wtf/Vector.h"
 
-namespace WebCore {
+namespace blink {
 
-class Frame;
+class LocalFrame;
 class Navigator;
 
-class NavigatorVibration FINAL
-    : public Supplement<Page>
+class NavigatorVibration final
+    : public NoBaseWillBeGarbageCollectedFinalized<NavigatorVibration>
+    , public WillBeHeapSupplement<Page>
     , public PageLifecycleObserver {
+    WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(NavigatorVibration);
 public:
     typedef Vector<unsigned> VibrationPattern;
 
@@ -45,19 +47,21 @@ public:
     void timerStopFired(Timer<NavigatorVibration>*);
 
     // Inherited from PageLifecycleObserver
-    virtual void pageVisibilityChanged() OVERRIDE;
-    virtual void didCommitLoad(Frame*) OVERRIDE;
+    virtual void pageVisibilityChanged() override;
+    virtual void didCommitLoad(LocalFrame*) override;
 
-    static bool vibrate(Navigator*, unsigned time);
-    static bool vibrate(Navigator*, const VibrationPattern&);
-    static NavigatorVibration* from(Page*);
+    static bool vibrate(Navigator&, unsigned time);
+    static bool vibrate(Navigator&, const VibrationPattern&);
+    static NavigatorVibration& from(Page&);
 
     bool isVibrating() const { return m_isVibrating; }
 
     VibrationPattern pattern() const { return m_pattern; }
 
+    virtual void trace(Visitor* visitor) override { WillBeHeapSupplement<Page>::trace(visitor); }
+
 private:
-    explicit NavigatorVibration(Page*);
+    explicit NavigatorVibration(Page&);
     static const char* supplementName();
 
     Timer<NavigatorVibration> m_timerStart;
@@ -66,6 +70,6 @@ private:
     VibrationPattern m_pattern;
 };
 
-} // namespace WebCore
+} // namespace blink
 
 #endif // NavigatorVibration_h