mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Windows: Fix focus assignment when clicking WebView with external parent (fixes issue #3031)
This commit is contained in:
@@ -73,7 +73,7 @@ index 5b2aa87a53fa..302626b947c6 100644
|
||||
FRIEND_TEST_ALL_PREFIXES(
|
||||
BrowserSideFlingBrowserTest,
|
||||
diff --git content/browser/renderer_host/render_widget_host_view_event_handler.cc content/browser/renderer_host/render_widget_host_view_event_handler.cc
|
||||
index b49d2f96efec..080a49940263 100644
|
||||
index b49d2f96efec..d6308880de1b 100644
|
||||
--- content/browser/renderer_host/render_widget_host_view_event_handler.cc
|
||||
+++ content/browser/renderer_host/render_widget_host_view_event_handler.cc
|
||||
@@ -37,6 +37,10 @@
|
||||
@@ -102,6 +102,24 @@ index b49d2f96efec..080a49940263 100644
|
||||
#endif
|
||||
synthetic_move_position_ = center_in_screen;
|
||||
}
|
||||
@@ -985,6 +997,17 @@ bool RenderWidgetHostViewEventHandler::MatchesSynthesizedMovePosition(
|
||||
}
|
||||
|
||||
void RenderWidgetHostViewEventHandler::SetKeyboardFocus() {
|
||||
+#if defined(OS_WIN)
|
||||
+ if (host_view_->HasExternalParent() &&
|
||||
+ window_ && window_->delegate()->CanFocus()) {
|
||||
+ aura::WindowTreeHost* host = window_->GetHost();
|
||||
+ if (host) {
|
||||
+ gfx::AcceleratedWidget hwnd = host->GetAcceleratedWidget();
|
||||
+ if (!(::GetWindowLong(hwnd, GWL_EXSTYLE) & WS_EX_NOACTIVATE))
|
||||
+ ::SetFocus(hwnd);
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
// TODO(wjmaclean): can host_ ever be null?
|
||||
if (host_ && set_focus_on_mouse_down_or_key_event_) {
|
||||
set_focus_on_mouse_down_or_key_event_ = false;
|
||||
diff --git content/public/browser/render_widget_host_view.h content/public/browser/render_widget_host_view.h
|
||||
index beba7a3a40b8..941acdfbff8b 100644
|
||||
--- content/public/browser/render_widget_host_view.h
|
Reference in New Issue
Block a user