| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/public/renderer/platform_event_observer.h" | 5 #include "content/public/renderer/platform_event_observer.h" |
| 6 #include "device/screen_orientation/public/interfaces/screen_orientation.mojom.h
" |
| 6 | 7 |
| 7 namespace content { | 8 namespace content { |
| 8 | 9 |
| 9 // ScreenOrientationObserver is a helper class implementing the | 10 // ScreenOrientationObserver is a helper class implementing the |
| 10 // PlatformEventObserver template with blink::WebPlatformEventListener, which is | 11 // PlatformEventObserver template with blink::WebPlatformEventListener, which is |
| 11 // a pure virtual class because it doesn't expect listeners. | 12 // a pure virtual class because it doesn't expect listeners. |
| 12 // It is implemented on top of PlatformEventObserver to make sure it follows a | 13 // It is implemented on top of PlatformEventObserver to make sure it follows a |
| 13 // common code path even though it only uses part of this code path: it is not | 14 // common code path even though it only uses part of this code path: it is not |
| 14 // expected to receive messages back but should send messages to start/stop | 15 // expected to receive messages back but should send messages to start/stop |
| 15 // listening. | 16 // listening. |
| 16 // The intent of this class is to make sure that platforms that can't listen for | 17 // The intent of this class is to make sure that platforms that can't listen for |
| 17 // display rotations at a marginal cost can be told when to actually do it. | 18 // display rotations at a marginal cost can be told when to actually do it. |
| 18 class ScreenOrientationObserver | 19 class ScreenOrientationObserver |
| 19 : public PlatformEventObserver<blink::WebPlatformEventListener> { | 20 : public PlatformEventObserver<blink::WebPlatformEventListener> { |
| 20 public: | 21 public: |
| 21 ScreenOrientationObserver(); | 22 ScreenOrientationObserver(); |
| 22 ~ScreenOrientationObserver() override; | 23 ~ScreenOrientationObserver() override; |
| 23 | 24 |
| 24 // Overriding this method just to make sure |listener| is always null. | 25 // Overriding this method just to make sure |listener| is always null. |
| 25 void Start(blink::WebPlatformEventListener* listener) override; | 26 void Start(blink::WebPlatformEventListener* listener) override; |
| 26 | 27 |
| 27 protected: | 28 protected: |
| 28 void SendStartMessage() override; | 29 void SendStartMessage() override; |
| 29 void SendStopMessage() override; | 30 void SendStopMessage() override; |
| 31 |
| 32 private: |
| 33 device::mojom::ScreenOrientationListener* GetScreenOrientationListener(); |
| 34 |
| 35 device::mojom::ScreenOrientationListenerAssociatedPtr listener_; |
| 30 }; | 36 }; |
| 31 | 37 |
| 32 }; // namespace content | 38 }; // namespace content |
| OLD | NEW |