Index: content/browser/renderer_host/legacy_render_widget_host_win.cc |
diff --git a/content/browser/renderer_host/legacy_render_widget_host_win.cc b/content/browser/renderer_host/legacy_render_widget_host_win.cc |
index d0604195f1ce6f7a065bb8246d2c54aa3e481ae9..9c2e1a2e512ccf646dec9ce48388b4e5b44a3e6b 100644 |
--- a/content/browser/renderer_host/legacy_render_widget_host_win.cc |
+++ b/content/browser/renderer_host/legacy_render_widget_host_win.cc |
@@ -224,6 +224,15 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message, |
ret = GetWindowEventTarget(GetParent())->HandleMouseMessage( |
message, w_param, l_param, &msg_handled); |
handled = msg_handled; |
+ // If the parent did not handle non client mouse messages, we call |
+ // DefWindowProc on the message with the parent window handle. This |
+ // ensures that WM_SYSCOMMAND is generated for the parent and we are |
+ // out of the picture. |
+ if (!handled && |
+ (message >= WM_NCMOUSEMOVE && message <= WM_NCXBUTTONDBLCLK)) { |
+ ret = ::DefWindowProc(GetParent(), message, w_param, l_param); |
+ handled = TRUE; |
+ } |
} |
return ret; |
} |
@@ -362,18 +371,4 @@ LRESULT LegacyRenderWidgetHostHWND::OnSize(UINT message, |
return 0; |
} |
-LRESULT LegacyRenderWidgetHostHWND::OnSysCommand(UINT message, |
- WPARAM w_param, |
- LPARAM l_param) { |
- LRESULT ret = 0; |
- if (GetWindowEventTarget(GetParent())) { |
- bool msg_handled = false; |
- ret = GetWindowEventTarget( |
- GetParent())->HandleSysCommand(message, w_param, l_param, |
- &msg_handled); |
- SetMsgHandled(msg_handled); |
- } |
- return ret; |
-} |
- |
} // namespace content |