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

Unified Diff: content/renderer/screen_orientation/screen_orientation_dispatcher.h

Issue 2391883006: Mojo-ify implementation of screen orientation locking/unlocking. (Closed)
Patch Set: Modified test for manifest_manager_messages.h Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: content/renderer/screen_orientation/screen_orientation_dispatcher.h
diff --git a/content/renderer/screen_orientation/screen_orientation_dispatcher.h b/content/renderer/screen_orientation/screen_orientation_dispatcher.h
index 9d108d27668a028efb5cddb8d47a82e34edb1367..2f42f17aaf1f16c97a2814c7633adb9bfc59521d 100644
--- a/content/renderer/screen_orientation/screen_orientation_dispatcher.h
+++ b/content/renderer/screen_orientation/screen_orientation_dispatcher.h
@@ -8,6 +8,7 @@
#include "base/compiler_specific.h"
#include "base/id_map.h"
#include "base/macros.h"
+#include "content/common/screen_orientation_interface.mojom.h"
#include "content/public/renderer/render_frame_observer.h"
#include "third_party/WebKit/public/platform/modules/screen_orientation/WebLockOrientationCallback.h"
#include "third_party/WebKit/public/platform/modules/screen_orientation/WebScreenOrientationClient.h"
@@ -16,6 +17,9 @@
namespace content {
+using mojom::ScreenOrientationAssociatedPtr;
+using ::blink::mojom::ScreenOrientationLockResult;
+
class RenderFrame;
// ScreenOrientationDispatcher implements the WebScreenOrientationClient API
@@ -29,11 +33,16 @@ class CONTENT_EXPORT ScreenOrientationDispatcher :
explicit ScreenOrientationDispatcher(RenderFrame* render_frame);
~ScreenOrientationDispatcher() override;
+ // This should only be called by ScreenOrientationDispatcherTest
+ void SetScreenOrientationForTests(
+ ScreenOrientationAssociatedPtr& screen_orientation_for_tests) {
mlamouri (slow - plz ping) 2016/11/13 00:26:36 What do you think of moving this to private and ma
lunalu1 2016/11/16 18:46:58 Done.
+ screen_orientation_ = std::move(screen_orientation_for_tests);
+ }
+
private:
friend class ScreenOrientationDispatcherTest;
// RenderFrameObserver implementation.
- bool OnMessageReceived(const IPC::Message& message) override;
void OnDestruct() override;
// blink::WebScreenOrientationClient implementation.
@@ -41,12 +50,15 @@ class CONTENT_EXPORT ScreenOrientationDispatcher :
blink::WebLockOrientationCallback* callback) override;
void unlockOrientation() override;
- void OnLockSuccess(int request_id);
- void OnLockError(int request_id,
- blink::WebLockOrientationError error);
+ void OnLockOrientationResult(int request_id,
+ ScreenOrientationLockResult result);
void CancelPendingLocks();
+ int GetRequestIdForTests();
+
+ void SetScreenOrientationInterface();
+
// The pending_callbacks_ map is mostly meant to have a unique ID to associate
// with every callback going trough the dispatcher. The map will own the
// pointer in the sense that it will destroy it when Remove() will be called.
@@ -55,6 +67,8 @@ class CONTENT_EXPORT ScreenOrientationDispatcher :
typedef IDMap<blink::WebLockOrientationCallback, IDMapOwnPointer> CallbackMap;
CallbackMap pending_callbacks_;
+ ScreenOrientationAssociatedPtr screen_orientation_;
+
DISALLOW_COPY_AND_ASSIGN(ScreenOrientationDispatcher);
};

Powered by Google App Engine
This is Rietveld 408576698