Commit 4f7c9684 authored by Dave Tapuska's avatar Dave Tapuska Committed by Commit Bot

Move MouseCaptureLost to base implementation.

MouseCaptureLost is a signal from the browser that capture has been
lost. It was getting overridden for WebViews to also release the mouse
capture if it was necessary. This has been changed to a separate call
in https://chromium-review.googlesource.com/c/chromium/src/+/2541202
and now the common implementation can be moved into base.

BUG=1097816

Change-Id: Ic545e543805e0df72dfe11821f02f5f5971844a9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2542845
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: default avatardanakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#828718}
parent 6bef6524
...@@ -1787,13 +1787,6 @@ bool WebViewImpl::HasVerticalScrollbar() { ...@@ -1787,13 +1787,6 @@ bool WebViewImpl::HasVerticalScrollbar() {
return MainFrameImpl()->GetFrameView()->LayoutViewport()->VerticalScrollbar(); return MainFrameImpl()->GetFrameView()->LayoutViewport()->VerticalScrollbar();
} }
void WebViewImpl::MouseCaptureLost() {
TRACE_EVENT_NESTABLE_ASYNC_END0("input", "capturing mouse",
TRACE_ID_LOCAL(this));
if (page_->DeprecatedLocalMainFrame())
page_->DeprecatedLocalMainFrame()->Client()->SetMouseCapture(false);
}
void WebViewImpl::SetFocus(bool enable) { void WebViewImpl::SetFocus(bool enable) {
if (enable) if (enable)
page_->GetFocusController().SetActive(true); page_->GetFocusController().SetActive(true);
......
...@@ -529,7 +529,6 @@ class CORE_EXPORT WebViewImpl final : public WebView, ...@@ -529,7 +529,6 @@ class CORE_EXPORT WebViewImpl final : public WebView,
// These are temporary methods to allow WebViewFrameWidget to delegate to // These are temporary methods to allow WebViewFrameWidget to delegate to
// WebViewImpl. We expect to eventually move these out. // WebViewImpl. We expect to eventually move these out.
void ThemeChanged(); void ThemeChanged();
void MouseCaptureLost();
void SetFocus(bool enable) override; void SetFocus(bool enable) override;
// Update the target url locally and tell the browser that the target URL has // Update the target url locally and tell the browser that the target URL has
......
...@@ -2019,6 +2019,12 @@ void WebFrameWidgetBase::RequestMouseLock( ...@@ -2019,6 +2019,12 @@ void WebFrameWidgetBase::RequestMouseLock(
} }
} }
void WebFrameWidgetBase::MouseCaptureLost() {
TRACE_EVENT_NESTABLE_ASYNC_END0("input", "capturing mouse",
TRACE_ID_LOCAL(this));
mouse_capture_element_ = nullptr;
}
void WebFrameWidgetBase::ApplyVisualProperties( void WebFrameWidgetBase::ApplyVisualProperties(
const VisualProperties& visual_properties) { const VisualProperties& visual_properties) {
widget_base_->UpdateVisualProperties(visual_properties); widget_base_->UpdateVisualProperties(visual_properties);
......
...@@ -265,6 +265,7 @@ class CORE_EXPORT WebFrameWidgetBase ...@@ -265,6 +265,7 @@ class CORE_EXPORT WebFrameWidgetBase
bool request_unadjusted_movement, bool request_unadjusted_movement,
mojom::blink::WidgetInputHandlerHost::RequestMouseLockCallback callback) mojom::blink::WidgetInputHandlerHost::RequestMouseLockCallback callback)
override; override;
void MouseCaptureLost() override;
bool CanComposeInline() override; bool CanComposeInline() override;
bool ShouldDispatchImeEventsToPlugin() override; bool ShouldDispatchImeEventsToPlugin() override;
void ImeSetCompositionForPlugin(const String& text, void ImeSetCompositionForPlugin(const String& text,
......
...@@ -334,12 +334,6 @@ bool WebFrameWidgetImpl::ScrollFocusedEditableElementIntoView() { ...@@ -334,12 +334,6 @@ bool WebFrameWidgetImpl::ScrollFocusedEditableElementIntoView() {
return true; return true;
} }
void WebFrameWidgetImpl::MouseCaptureLost() {
TRACE_EVENT_NESTABLE_ASYNC_END0("input", "capturing mouse",
TRACE_ID_LOCAL(this));
mouse_capture_element_ = nullptr;
}
void WebFrameWidgetImpl::FocusChanged(bool enable) { void WebFrameWidgetImpl::FocusChanged(bool enable) {
if (enable) if (enable)
GetPage()->GetFocusController().SetActive(true); GetPage()->GetFocusController().SetActive(true);
......
...@@ -92,8 +92,6 @@ class WebFrameWidgetImpl final : public WebFrameWidgetBase { ...@@ -92,8 +92,6 @@ class WebFrameWidgetImpl final : public WebFrameWidgetBase {
gfx::Size Size() override; gfx::Size Size() override;
void Resize(const gfx::Size&) override; void Resize(const gfx::Size&) override;
void MouseCaptureLost() override;
// WebFrameWidget implementation. // WebFrameWidget implementation.
bool ScrollFocusedEditableElementIntoView() override; bool ScrollFocusedEditableElementIntoView() override;
......
...@@ -92,11 +92,6 @@ void WebViewFrameWidget::Resize(const gfx::Size& size) { ...@@ -92,11 +92,6 @@ void WebViewFrameWidget::Resize(const gfx::Size& size) {
web_view_->Resize(size); web_view_->Resize(size);
} }
void WebViewFrameWidget::MouseCaptureLost() {
mouse_capture_element_ = nullptr;
web_view_->MouseCaptureLost();
}
void WebViewFrameWidget::FocusChanged(bool enable) { void WebViewFrameWidget::FocusChanged(bool enable) {
web_view_->SetFocus(enable); web_view_->SetFocus(enable);
} }
......
...@@ -64,7 +64,6 @@ class CORE_EXPORT WebViewFrameWidget : public WebFrameWidgetBase { ...@@ -64,7 +64,6 @@ class CORE_EXPORT WebViewFrameWidget : public WebFrameWidgetBase {
scoped_refptr<base::SingleThreadTaskRunner> cleanup_runner) override; scoped_refptr<base::SingleThreadTaskRunner> cleanup_runner) override;
gfx::Size Size() override; gfx::Size Size() override;
void Resize(const gfx::Size& size_with_dsf) override; void Resize(const gfx::Size& size_with_dsf) override;
void MouseCaptureLost() override;
// WebFrameWidget overrides: // WebFrameWidget overrides:
bool ScrollFocusedEditableElementIntoView() override; bool ScrollFocusedEditableElementIntoView() override;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment