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

Unified Diff: content/browser/renderer_host/render_widget_host_view_event_handler.cc

Issue 2770923002: Prevent browser-side hit testing when page popup is selected (Closed)
Patch Set: Rebase Created 3 years, 9 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/renderer_host/render_widget_host_view_event_handler.cc
diff --git a/content/browser/renderer_host/render_widget_host_view_event_handler.cc b/content/browser/renderer_host/render_widget_host_view_event_handler.cc
index f00420c1ee93afcd5c87c995fc61dc5a48e405c8..578464f2339af02ee4c3d43e606f671c8aca5e6b 100644
--- a/content/browser/renderer_host/render_widget_host_view_event_handler.cc
+++ b/content/browser/renderer_host/render_widget_host_view_event_handler.cc
@@ -850,6 +850,13 @@ bool RenderWidgetHostViewEventHandler::ShouldRouteEvent(
// in a similar manner to RenderWidgetHostViewGuest.
bool result = host_->delegate() && host_->delegate()->GetInputEventRouter() &&
!disable_input_event_router_for_testing_;
+
+ // Do not route events that are currently targeted to page popups such as
+ // <select> element drop-downs, since these cannot contain cross-process
+ // frames.
+ if (host_->delegate() && !host_->delegate()->IsWidgetForMainFrame(host_))
+ return false;
+
// ScrollEvents get transformed into MouseWheel events, and so are treated
// the same as mouse events for routing purposes.
if (event->IsMouseEvent() || event->type() == ui::ET_SCROLL)
« no previous file with comments | « content/browser/renderer_host/render_widget_host_delegate.cc ('k') | content/browser/site_per_process_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698