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

Unified Diff: content/browser/frame_host/render_widget_host_view_child_frame.cc

Issue 1729373003: Implement touch events for site-isolation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments. Created 4 years, 10 months 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/browser/frame_host/render_widget_host_view_child_frame.cc
diff --git a/content/browser/frame_host/render_widget_host_view_child_frame.cc b/content/browser/frame_host/render_widget_host_view_child_frame.cc
index f1399a0e6f60b48959eaeb742024fa394f5a9c95..d826940cf217350bc2dc99da92e1778b3acfccfc 100644
--- a/content/browser/frame_host/render_widget_host_view_child_frame.cc
+++ b/content/browser/frame_host/render_widget_host_view_child_frame.cc
@@ -43,10 +43,7 @@ RenderWidgetHostViewChildFrame::RenderWidgetHostViewChildFrame(
frame_connector_(nullptr),
weak_factory_(this) {
id_allocator_ = CreateSurfaceIdAllocator();
- if (host_->delegate() && host_->delegate()->GetInputEventRouter()) {
- host_->delegate()->GetInputEventRouter()->AddSurfaceIdNamespaceOwner(
- GetSurfaceIdNamespace(), this);
- }
+ RegisterSurfaceNamespaceId();
piman 2016/02/25 21:27:21 Where is the corresponding UnregisteSurfaceNamespa
wjmaclean 2016/02/28 19:45:03 It is called in BrowserPluginGuest. However, it s
host_->SetView(this);
}
@@ -240,6 +237,24 @@ void RenderWidgetHostViewChildFrame::UnlockCompositingSurface() {
NOTIMPLEMENTED();
}
+void RenderWidgetHostViewChildFrame::RegisterSurfaceNamespaceId() {
+ DCHECK(host_);
+ if (host_->delegate() && host_->delegate()->GetInputEventRouter()) {
+ RenderWidgetHostInputEventRouter* router =
+ host_->delegate()->GetInputEventRouter();
+ if (!router->is_registered(GetSurfaceIdNamespace()))
+ router->AddSurfaceIdNamespaceOwner(GetSurfaceIdNamespace(), this);
+ }
+}
+
+void RenderWidgetHostViewChildFrame::UnregisterSurfaceNamespaceId() {
+ DCHECK(host_);
+ if (host_->delegate() && host_->delegate()->GetInputEventRouter()) {
+ host_->delegate()->GetInputEventRouter()->RemoveSurfaceIdNamespaceOwner(
+ GetSurfaceIdNamespace());
+ }
+}
+
void RenderWidgetHostViewChildFrame::SurfaceDrawn(uint32_t output_surface_id,
cc::SurfaceDrawStatus drawn) {
cc::CompositorFrameAck ack;
@@ -343,12 +358,14 @@ gfx::Rect RenderWidgetHostViewChildFrame::GetBoundsInRootWindow() {
return GetViewBounds();
}
-#if defined(USE_AURA)
void RenderWidgetHostViewChildFrame::ProcessAckedTouchEvent(
const TouchEventWithLatencyInfo& touch,
InputEventAckState ack_result) {
+ if (!frame_connector_)
+ return;
+
+ frame_connector_->ForwardProcessAckedTouchEvent(touch, ack_result);
}
-#endif // defined(USE_AURA)
bool RenderWidgetHostViewChildFrame::LockMouse() {
return false;
@@ -363,17 +380,11 @@ uint32_t RenderWidgetHostViewChildFrame::GetSurfaceIdNamespace() {
void RenderWidgetHostViewChildFrame::ProcessKeyboardEvent(
const NativeWebKeyboardEvent& event) {
- if (!host_)
- return;
-
host_->ForwardKeyboardEvent(event);
}
void RenderWidgetHostViewChildFrame::ProcessMouseEvent(
const blink::WebMouseEvent& event) {
- if (!host_)
- return;
-
host_->ForwardMouseEvent(event);
}
@@ -386,6 +397,17 @@ void RenderWidgetHostViewChildFrame::ProcessMouseWheelEvent(
host_->ForwardWheelEvent(event);
}
+void RenderWidgetHostViewChildFrame::ProcessTouchEvent(
+ const blink::WebTouchEvent& event,
+ const ui::LatencyInfo& latency) {
+ if (event.type == blink::WebInputEvent::TouchStart &&
+ frame_connector_ && !frame_connector_->HasFocus()) {
+ frame_connector_->Focus();
+ }
+
+ host_->ForwardTouchEventWithLatencyInfo(event, latency);
+}
+
gfx::Point RenderWidgetHostViewChildFrame::TransformPointToRootCoordSpace(
const gfx::Point& point) {
if (!frame_connector_)

Powered by Google App Engine
This is Rietveld 408576698