Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Side by Side Diff: Source/modules/vibration/NavigatorVibration.h

Issue 1042513002: Add the vibrate attribute to the Notification object (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Samsung Electronics 2 * Copyright (C) 2012 Samsung Electronics
3 * 3 *
4 * This library is free software; you can redistribute it and/or 4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public 5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either 6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version. 7 * version 2 of the License, or (at your option) any later version.
8 * 8 *
9 * This library is distributed in the hope that it will be useful, 9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 12 matching lines...) Expand all
23 #include "core/page/Page.h" 23 #include "core/page/Page.h"
24 #include "core/page/PageLifecycleObserver.h" 24 #include "core/page/PageLifecycleObserver.h"
25 #include "platform/Timer.h" 25 #include "platform/Timer.h"
26 #include "wtf/PassOwnPtr.h" 26 #include "wtf/PassOwnPtr.h"
27 #include "wtf/Vector.h" 27 #include "wtf/Vector.h"
28 28
29 namespace blink { 29 namespace blink {
30 30
31 class LocalFrame; 31 class LocalFrame;
32 class Navigator; 32 class Navigator;
33 class UnsignedLongOrUnsignedLongSequence;
33 34
34 class NavigatorVibration final 35 class NavigatorVibration final
35 : public NoBaseWillBeGarbageCollectedFinalized<NavigatorVibration> 36 : public NoBaseWillBeGarbageCollectedFinalized<NavigatorVibration>
36 , public WillBeHeapSupplement<Page> 37 , public WillBeHeapSupplement<Page>
37 , public PageLifecycleObserver { 38 , public PageLifecycleObserver {
38 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(NavigatorVibration); 39 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(NavigatorVibration);
39 public: 40 public:
40 typedef Vector<unsigned> VibrationPattern; 41 typedef Vector<unsigned> VibrationPattern;
41 42
42 virtual ~NavigatorVibration(); 43 virtual ~NavigatorVibration();
43 44
44 bool vibrate(const VibrationPattern&); 45 bool vibrate(const VibrationPattern&);
45 void cancelVibration(); 46 void cancelVibration();
46 void timerStartFired(Timer<NavigatorVibration>*); 47 void timerStartFired(Timer<NavigatorVibration>*);
47 void timerStopFired(Timer<NavigatorVibration>*); 48 void timerStopFired(Timer<NavigatorVibration>*);
48 49
49 // Inherited from PageLifecycleObserver 50 // Inherited from PageLifecycleObserver
50 virtual void pageVisibilityChanged() override; 51 virtual void pageVisibilityChanged() override;
51 virtual void didCommitLoad(LocalFrame*) override; 52 virtual void didCommitLoad(LocalFrame*) override;
52 53
53 static bool vibrate(Navigator&, unsigned time); 54 static bool vibrate(Navigator&, unsigned time);
54 static bool vibrate(Navigator&, const VibrationPattern&); 55 static bool vibrate(Navigator&, const VibrationPattern&);
55 static NavigatorVibration& from(Page&); 56 static NavigatorVibration& from(Page&);
57 static VibrationPattern sanitizeVibrationPattern(const UnsignedLongOrUnsigne dLongSequence&);
56 58
57 bool isVibrating() const { return m_isVibrating; } 59 bool isVibrating() const { return m_isVibrating; }
58 60
59 VibrationPattern pattern() const { return m_pattern; } 61 VibrationPattern pattern() const { return m_pattern; }
60 62
61 DECLARE_VIRTUAL_TRACE(); 63 DECLARE_VIRTUAL_TRACE();
62 64
63 private: 65 private:
64 explicit NavigatorVibration(Page&); 66 explicit NavigatorVibration(Page&);
65 static const char* supplementName(); 67 static const char* supplementName();
66 68
67 Timer<NavigatorVibration> m_timerStart; 69 Timer<NavigatorVibration> m_timerStart;
68 Timer<NavigatorVibration> m_timerStop; 70 Timer<NavigatorVibration> m_timerStop;
69 bool m_isVibrating; 71 bool m_isVibrating;
70 VibrationPattern m_pattern; 72 VibrationPattern m_pattern;
71 }; 73 };
72 74
73 } // namespace blink 75 } // namespace blink
74 76
75 #endif // NavigatorVibration_h 77 #endif // NavigatorVibration_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698