#include "wtf/PassOwnPtr.h"
#include "wtf/Vector.h"
-namespace WebCore {
+namespace blink {
-class Frame;
+class LocalFrame;
class Navigator;
-class NavigatorVibration
- : 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;
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;
VibrationPattern m_pattern;
};
-} // namespace WebCore
+} // namespace blink
#endif // NavigatorVibration_h