| // Copyright 2021 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module chromecast.mojom; |
| |
| import "ui/gfx/geometry/mojom/geometry.mojom"; |
| |
| // Renderer-side system gesture handler. |
| // |
| // Security: This interface is hosted by the renderer. |
| interface GestureHandler { |
| // Invoked when the back gesture is triggered. |
| OnBackGesture() => (bool was_handled); |
| |
| // Invoked while the back gesture is in progress. |
| OnBackGestureProgress(gfx.mojom.Point touch_location); |
| |
| // Invoked while a top-drag is in progress. |
| OnTopDragGestureProgress(gfx.mojom.Point touch_location); |
| |
| // Invoked when a top-drag gesture completes (finger lifted). |
| OnTopDragGestureDone(); |
| |
| // Invoked while a right-drag is in progress. |
| OnRightDragGestureProgress(gfx.mojom.Point touch_location); |
| |
| // Invoked when a right-drag gesture completes (finger lifted). |
| OnRightDragGestureDone(); |
| |
| // Invoked when the back gesture has been cancelled (for example by the |
| // finger lifting before the gesture can complete. |
| OnBackGestureCancel(); |
| |
| // Invoked when the tap gesture is triggered. |
| OnTapGesture(); |
| |
| // Invoked when the tap down gesture is triggered. |
| OnTapDownGesture(); |
| }; |
| |
| // Subscription interface for a handler to receive gesture events. Subscribing |
| // indicates that the renderer is equipped to handle events, and expects to |
| // receive them. |
| // |
| // Security: This interface is hosted by the Cast Browser. It allows a renderer |
| // to handle special screen gestures before the system. None of these methods |
| // expose sensitive capabilities. This is only enabled for apps with media |
| // browse UIs. |
| interface GestureSource { |
| // Subscribe to events from this source. If there is already a registered |
| // handler, it will be replaced. |
| Subscribe(pending_remote<GestureHandler> handler); |
| |
| // Specify if the "back" gesture can be handled by the subscriber. If |
| // |can_go_back| is false, then the GestureHandler will not receive back |
| // gesture events. |
| SetCanGoBack(bool can_go_back); |
| |
| // Specify if the "top drag" gesture can be handled by the subscriber. If |
| // |can_top_drag| is false, then the GestureHandler will not receive top |
| // drag gesture events. |
| SetCanTopDrag(bool can_top_drag); |
| |
| // Specify if the "right drag" gesture can be handled by the subscriber. If |
| // |can_right_drag| is false, then the GestureHandler will not receive right |
| // drag gesture events. |
| SetCanRightDrag(bool can_top_drag); |
| }; |