Index: public/platform/Platform.h |
diff --git a/public/platform/Platform.h b/public/platform/Platform.h |
index 259143d042d95541d8b18bded3782dbfab592196..2afbe73cf1a0d0c6711881e66704a2543d21b4df 100644 |
--- a/public/platform/Platform.h |
+++ b/public/platform/Platform.h |
@@ -36,14 +36,18 @@ |
#endif |
#include "WebAudioDevice.h" |
+#include "WebBatteryStatusListener.h" |
#include "WebCommon.h" |
#include "WebData.h" |
+#include "WebDeviceLightListener.h" |
+#include "WebDeviceMotionListener.h" |
+#include "WebDeviceOrientationListener.h" |
#include "WebGamepadListener.h" |
#include "WebGamepads.h" |
#include "WebGestureDevice.h" |
#include "WebGraphicsContext3D.h" |
#include "WebLocalizedString.h" |
-#include "WebLockOrientationCallback.h" |
+#include "WebPlatformEventType.h" |
#include "WebSpeechSynthesizer.h" |
#include "WebStorageQuotaCallbacks.h" |
#include "WebStorageQuotaType.h" |
@@ -56,7 +60,6 @@ class GrContext; |
namespace blink { |
class WebAudioBus; |
-class WebBatteryStatusListener; |
class WebBlobRegistry; |
class WebContentDecryptionModule; |
class WebClipboard; |
@@ -65,10 +68,8 @@ class WebConvertableToTraceFormat; |
class WebCookieJar; |
class WebCrypto; |
class WebDatabaseObserver; |
-class WebDeviceLightListener; |
-class WebDeviceMotionListener; |
-class WebDeviceOrientationListener; |
class WebDiscardableMemory; |
+class WebPlatformEventListener; |
class WebFallbackThemeEngine; |
class WebFileSystem; |
class WebFileUtilities; |
@@ -163,12 +164,6 @@ public: |
virtual WebMIDIAccessor* createMIDIAccessor(WebMIDIAccessorClient*) { return 0; } |
- // Battery ------------------------------------------------------------- |
- |
- // Sets the listener for watching battery status updates. |
- virtual void setBatteryStatusListener(blink::WebBatteryStatusListener*) { } |
- |
- |
// Blob ---------------------------------------------------------------- |
// Must return non-null. |
@@ -221,8 +216,6 @@ public: |
virtual void sampleGamepads(WebGamepads& into) { into.length = 0; } |
- virtual void setGamepadListener(WebGamepadListener*) { } |
- |
// History ------------------------------------------------------------- |
@@ -603,19 +596,61 @@ public: |
virtual WebCrypto* crypto() { return 0; } |
- // Device Motion / Orientation / Light ---------------------------------------- |
+ // Platform events ----------------------------------------------------- |
+ // Device Orientation, Device Motion, Device Light, Battery, Gamepad. |
- // Sets a Listener to listen for device motion data updates. |
- // If null, the platform stops providing device motion data to the current listener. |
- virtual void setDeviceMotionListener(blink::WebDeviceMotionListener*) { } |
+ // Request the platform to start listening to the specified event and |
timvolodine
2014/07/30 12:56:41
nit: "to the specified event" -> "to events of spe
mlamouri (slow - plz ping)
2014/08/01 10:21:05
Done.
|
+ // notify the given listener (if not null) when there is an update. |
+ virtual void startListening(blink::WebPlatformEventType type, blink::WebPlatformEventListener* listener) |
abarth-chromium
2014/07/29 22:24:38
Why virtual?
It seems like we should implement th
mlamouri (slow - plz ping)
2014/07/29 22:27:54
The only intent is to not break Chromium when this
|
+ { |
+ switch (type) { |
+ case blink::WebPlatformEventDeviceMotion: |
+ setDeviceMotionListener(static_cast<blink::WebDeviceMotionListener*>(listener)); |
+ break; |
+ case blink::WebPlatformEventDeviceOrientation: |
+ setDeviceOrientationListener(static_cast<blink::WebDeviceOrientationListener*>(listener)); |
+ break; |
+ case blink::WebPlatformEventDeviceLight: |
+ setDeviceLightListener(static_cast<blink::WebDeviceLightListener*>(listener)); |
+ break; |
+ case blink::WebPlatformEventBattery: |
+ setBatteryStatusListener(static_cast<blink::WebBatteryStatusListener*>(listener)); |
+ break; |
+ case blink::WebPlatformEventGamepad: |
+ setGamepadListener(static_cast<blink::WebGamepadListener*>(listener)); |
+ break; |
+ } |
+ } |
- // Sets a Listener to listen for device orientation data updates. |
- // If null, the platform stops providing device orientation data to the current listener. |
- virtual void setDeviceOrientationListener(blink::WebDeviceOrientationListener*) { } |
+ // Request the platform to stop listening to the specified event and no |
+ // longer notify the listener, if any. |
+ virtual void stopListening(blink::WebPlatformEventType type) |
+ { |
+ switch (type) { |
+ case blink::WebPlatformEventDeviceMotion: |
+ setDeviceMotionListener(0); |
+ break; |
+ case blink::WebPlatformEventDeviceOrientation: |
+ setDeviceOrientationListener(0); |
+ break; |
+ case blink::WebPlatformEventDeviceLight: |
+ setDeviceLightListener(0); |
+ break; |
+ case blink::WebPlatformEventBattery: |
+ setBatteryStatusListener(0); |
+ break; |
+ case blink::WebPlatformEventGamepad: |
+ setGamepadListener(0); |
+ break; |
+ } |
+ } |
- // Sets a Listener to listen for device light data updates. |
- // If null, the platform stops providing device light data to the current listener. |
+ // Deprecated: remove when content/ is updated. |
abarth-chromium
2014/07/30 05:56:23
I see, this comment was intended to communicate th
mlamouri (slow - plz ping)
2014/08/01 10:21:05
Yes. I've added a FIXME to make it clearer.
|
+ virtual void setDeviceMotionListener(blink::WebDeviceMotionListener*) { } |
+ virtual void setDeviceOrientationListener(blink::WebDeviceOrientationListener*) { } |
virtual void setDeviceLightListener(blink::WebDeviceLightListener*) { } |
+ virtual void setBatteryStatusListener(blink::WebBatteryStatusListener*) { } |
+ virtual void setGamepadListener(blink::WebGamepadListener*) { } |
// Quota ----------------------------------------------------------- |