Commit 1c5aa12c authored by Shawn Gallea's avatar Shawn Gallea Committed by Commit Bot

Add BackGestureRouter interface

This is needed for CastContentWindow to receive
backgesture support notifications

Merge-With: eureka-internal/367600
Bug: Internal b/149740737
Test: Build cast_shell
Change-Id: Iacde9b0687106b1093572fa0b2f8339a2d7b5bf1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2071015Reviewed-by: default avatarSean Topping <seantopping@chromium.org>
Reviewed-by: default avatarRyan Daum <rdaum@chromium.org>
Commit-Queue: Shawn Gallea <sagallea@google.com>
Cr-Commit-Position: refs/heads/master@{#744791}
parent 14bdb1d3
...@@ -473,6 +473,7 @@ cast_source_set("public") { ...@@ -473,6 +473,7 @@ cast_source_set("public") {
deps = [ deps = [
"//base", "//base",
"//chromecast/graphics", "//chromecast/graphics",
"//chromecast/ui:back_gesture_router",
"//chromecast/ui/mojom", "//chromecast/ui/mojom",
"//content/public/common", "//content/public/common",
"//ui/events", "//ui/events",
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include "base/observer_list_types.h" #include "base/observer_list_types.h"
#include "chromecast/browser/cast_web_contents.h" #include "chromecast/browser/cast_web_contents.h"
#include "chromecast/graphics/gestures/cast_gesture_handler.h" #include "chromecast/graphics/gestures/cast_gesture_handler.h"
#include "chromecast/ui/back_gesture_router.h"
#include "chromecast/ui/mojom/media_control_ui.mojom.h" #include "chromecast/ui/mojom/media_control_ui.mojom.h"
#include "chromecast/ui/mojom/ui_service.mojom.h" #include "chromecast/ui/mojom/ui_service.mojom.h"
#include "ui/events/event.h" #include "ui/events/event.h"
...@@ -216,6 +217,10 @@ class CastContentWindow { ...@@ -216,6 +217,10 @@ class CastContentWindow {
// Media control interface. Non-null on Aura platforms. // Media control interface. Non-null on Aura platforms.
virtual mojom::MediaControlUi* media_controls(); virtual mojom::MediaControlUi* media_controls();
// Registers this as a delegate to BackGestureRouter.
virtual void RegisterBackGestureRouter(
::chromecast::BackGestureRouter* gesture_router) {}
// Observer interface: // Observer interface:
void AddObserver(Observer* observer); void AddObserver(Observer* observer);
void RemoveObserver(Observer* observer); void RemoveObserver(Observer* observer);
......
...@@ -92,3 +92,7 @@ static_library("vector_icons") { ...@@ -92,3 +92,7 @@ static_library("vector_icons") {
"//ui/gfx", "//ui/gfx",
] ]
} }
cast_source_set("back_gesture_router") {
sources = [ "back_gesture_router.h" ]
}
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROMECAST_UI_BACK_GESTURE_ROUTER_H_
#define CHROMECAST_UI_BACK_GESTURE_ROUTER_H_
namespace chromecast {
// Helper class for exposing gesture events to a remote process.
class BackGestureRouter {
public:
class Delegate {
public:
virtual void SetCanGoBack(bool can_go_back) = 0;
};
virtual void SetBackGestureDelegate(Delegate* delegate) = 0;
};
} // namespace chromecast
#endif // CHROMECAST_UI_BACK_GESTURE_ROUTER_H_
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment