summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortbarzic <tbarzic@chromium.org>2015-04-02 11:06:05 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-02 18:07:50 +0000
commit93e15e73465e5a3e692446129b20666a3d6662c4 (patch)
treeb98f0fcebf3ce991983198ee154f5914c593e4cf
parent36c686ef6be7c9b5265717fc23c062ff0f8ee369 (diff)
downloadchromium_src-93e15e73465e5a3e692446129b20666a3d6662c4.zip
chromium_src-93e15e73465e5a3e692446129b20666a3d6662c4.tar.gz
chromium_src-93e15e73465e5a3e692446129b20666a3d6662c4.tar.bz2
Revert of content: Delete some now-dead event related code. (patchset #2 id:20001 of https://codereview.chromium.org/1052063002/)
Reason for revert: Breaking cros waterfalls. e.g. http://build.chromium.org/p/chromiumos.chromium/builders/Daisy%20%28chromium%29 chromeos-chrome-43.0.2356.0_alpha-r1: ../../../../../../../home/chrome-bot/chrome_root/src/content/browser/renderer_host/render_widget_host_view_aura.cc: In member function 'virtual void content::RenderWidgetHostViewAura::OnGestureEvent(ui::GestureEvent*)': chromeos-chrome-43.0.2356.0_alpha-r1: ../../../../../../../home/chrome-bot/chrome_root/src/content/browser/renderer_host/render_widget_host_view_aura.cc:2122:27: error: variable 'delegate' set but not used [-Werror=unused-but-set-variable] chromeos-chrome-43.0.2356.0_alpha-r1: RenderViewHostDelegate* delegate = NULL; chromeos-chrome-43.0.2356.0_alpha-r1: ^ Original issue's description: > content: Delete some now-dead event related code. > > Some of the removed methods were never used, and the rest had no > real implementations. > > BUG=None > R=jam@chromium.org > > Committed: https://chromium.googlesource.com/chromium/src/+/3b4f45c0f82a245b6ae1da2492f75e0cef3c2301 TBR=jam@chromium.org,sadrul@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=None Review URL: https://codereview.chromium.org/1053063002 Cr-Commit-Position: refs/heads/master@{#323539}
-rw-r--r--chrome/browser/ui/browser.cc4
-rw-r--r--chrome/browser/ui/browser.h1
-rw-r--r--chrome/browser/ui/browser_window.h6
-rw-r--r--chrome/browser/ui/cocoa/browser_window_cocoa.h1
-rw-r--r--chrome/browser/ui/cocoa/browser_window_cocoa.mm5
-rw-r--r--chrome/browser/ui/views/frame/browser_view.cc5
-rw-r--r--chrome/browser/ui/views/frame/browser_view.h1
-rw-r--r--chrome/test/base/test_browser_window.cc4
-rw-r--r--chrome/test/base/test_browser_window.h1
-rw-r--r--content/browser/renderer_host/render_view_host_delegate.h10
-rw-r--r--content/browser/renderer_host/render_view_host_impl.cc33
-rw-r--r--content/browser/renderer_host/render_view_host_impl.h1
-rw-r--r--content/browser/renderer_host/render_widget_host_impl.cc3
-rw-r--r--content/browser/renderer_host/render_widget_host_impl.h3
-rw-r--r--content/browser/renderer_host/render_widget_host_view_aura.cc38
-rw-r--r--content/browser/renderer_host/render_widget_host_view_aura.h6
-rw-r--r--content/browser/web_contents/web_contents_impl.cc27
-rw-r--r--content/browser/web_contents/web_contents_impl.h5
-rw-r--r--content/public/browser/web_contents_delegate.cc4
-rw-r--r--content/public/browser/web_contents_delegate.h20
20 files changed, 175 insertions, 3 deletions
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
index 50b6506..55db7f5 100644
--- a/chrome/browser/ui/browser.cc
+++ b/chrome/browser/ui/browser.cc
@@ -1567,6 +1567,10 @@ void Browser::SetFocusToLocationBar(bool select_all) {
window_->SetFocusToLocationBar(select_all);
}
+int Browser::GetExtraRenderViewHeight() const {
+ return window_->GetExtraRenderViewHeight();
+}
+
void Browser::ViewSourceForTab(WebContents* source, const GURL& page_url) {
DCHECK(source);
chrome::ViewSource(this, source);
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
index 49c3962..fcb711c 100644
--- a/chrome/browser/ui/browser.h
+++ b/chrome/browser/ui/browser.h
@@ -573,6 +573,7 @@ class Browser : public TabStripModelObserver,
bool* proceed_to_fire_unload) override;
bool ShouldFocusLocationBarByDefault(content::WebContents* source) override;
void SetFocusToLocationBar(bool select_all) override;
+ int GetExtraRenderViewHeight() const override;
void ViewSourceForTab(content::WebContents* source,
const GURL& page_url) override;
void ViewSourceForFrame(content::WebContents* source,
diff --git a/chrome/browser/ui/browser_window.h b/chrome/browser/ui/browser_window.h
index 4dfce85..ea17ad5 100644
--- a/chrome/browser/ui/browser_window.h
+++ b/chrome/browser/ui/browser_window.h
@@ -298,6 +298,12 @@ class BrowserWindow : public ui::BaseWindow {
// indicating that it's time to redraw everything.
virtual void UserChangedTheme() = 0;
+ // Get extra vertical height that the render view should add to its requests
+ // to webkit. This can help prevent sending extraneous layout/repaint requests
+ // when the delegate is in the process of resizing the tab contents view (e.g.
+ // during infobar animations).
+ virtual int GetExtraRenderViewHeight() const = 0;
+
// Notification that |contents| got the focus through user action (click
// on the page).
virtual void WebContentsFocused(content::WebContents* contents) = 0;
diff --git a/chrome/browser/ui/cocoa/browser_window_cocoa.h b/chrome/browser/ui/cocoa/browser_window_cocoa.h
index 216cecd..a1ae062 100644
--- a/chrome/browser/ui/cocoa/browser_window_cocoa.h
+++ b/chrome/browser/ui/cocoa/browser_window_cocoa.h
@@ -134,6 +134,7 @@ class BrowserWindowCocoa
bool app_modal,
const base::Callback<void(bool)>& callback) override;
void UserChangedTheme() override;
+ int GetExtraRenderViewHeight() const override;
void WebContentsFocused(content::WebContents* contents) override;
void ShowWebsiteSettings(Profile* profile,
content::WebContents* web_contents,
diff --git a/chrome/browser/ui/cocoa/browser_window_cocoa.mm b/chrome/browser/ui/cocoa/browser_window_cocoa.mm
index 95c39c3..92fe33d 100644
--- a/chrome/browser/ui/cocoa/browser_window_cocoa.mm
+++ b/chrome/browser/ui/cocoa/browser_window_cocoa.mm
@@ -683,6 +683,11 @@ void BrowserWindowCocoa::UserChangedTheme() {
[controller_ userChangedTheme];
}
+int BrowserWindowCocoa::GetExtraRenderViewHeight() const {
+ // Currently this is only used on linux.
+ return 0;
+}
+
void BrowserWindowCocoa::WebContentsFocused(WebContents* contents) {
NOTIMPLEMENTED();
}
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc
index b42798c..eab84aa 100644
--- a/chrome/browser/ui/views/frame/browser_view.cc
+++ b/chrome/browser/ui/views/frame/browser_view.cc
@@ -1354,6 +1354,11 @@ void BrowserView::UserChangedTheme() {
frame_->FrameTypeChanged();
}
+int BrowserView::GetExtraRenderViewHeight() const {
+ // Currently this is only used on linux.
+ return 0;
+}
+
void BrowserView::WebContentsFocused(WebContents* contents) {
if (contents_web_view_->GetWebContents() == contents)
contents_web_view_->OnWebContentsFocused(contents);
diff --git a/chrome/browser/ui/views/frame/browser_view.h b/chrome/browser/ui/views/frame/browser_view.h
index c1bcbbe..1a9a8df 100644
--- a/chrome/browser/ui/views/frame/browser_view.h
+++ b/chrome/browser/ui/views/frame/browser_view.h
@@ -335,6 +335,7 @@ class BrowserView : public BrowserWindow,
bool app_modal,
const base::Callback<void(bool)>& callback) override;
void UserChangedTheme() override;
+ int GetExtraRenderViewHeight() const override;
void WebContentsFocused(content::WebContents* contents) override;
void ShowWebsiteSettings(Profile* profile,
content::WebContents* web_contents,
diff --git a/chrome/test/base/test_browser_window.cc b/chrome/test/base/test_browser_window.cc
index 8bfc54c..62f9183 100644
--- a/chrome/test/base/test_browser_window.cc
+++ b/chrome/test/base/test_browser_window.cc
@@ -205,6 +205,10 @@ DownloadShelf* TestBrowserWindow::GetDownloadShelf() {
return &download_shelf_;
}
+int TestBrowserWindow::GetExtraRenderViewHeight() const {
+ return 0;
+}
+
WindowOpenDisposition TestBrowserWindow::GetDispositionForPopupBounds(
const gfx::Rect& bounds) {
return NEW_POPUP;
diff --git a/chrome/test/base/test_browser_window.h b/chrome/test/base/test_browser_window.h
index 4735821..6ee00f2 100644
--- a/chrome/test/base/test_browser_window.h
+++ b/chrome/test/base/test_browser_window.h
@@ -130,6 +130,7 @@ class TestBrowserWindow : public BrowserWindow {
bool app_modal,
const base::Callback<void(bool)>& callback) override {}
void UserChangedTheme() override {}
+ int GetExtraRenderViewHeight() const override;
void WebContentsFocused(content::WebContents* contents) override {}
void ShowWebsiteSettings(Profile* profile,
content::WebContents* web_contents,
diff --git a/content/browser/renderer_host/render_view_host_delegate.h b/content/browser/renderer_host/render_view_host_delegate.h
index cee439c..b6e74b8 100644
--- a/content/browser/renderer_host/render_view_host_delegate.h
+++ b/content/browser/renderer_host/render_view_host_delegate.h
@@ -173,6 +173,16 @@ class CONTENT_EXPORT RenderViewHostDelegate {
// Notification that the view has lost capture.
virtual void LostCapture() {}
+ // Notifications about mouse events in this view. This is useful for
+ // implementing global 'on hover' features external to the view.
+ virtual void HandleMouseMove() {}
+ virtual void HandleMouseDown() {}
+ virtual void HandleMouseLeave() {}
+ virtual void HandleMouseUp() {}
+ virtual void HandlePointerActivate() {}
+ virtual void HandleGestureBegin() {}
+ virtual void HandleGestureEnd() {}
+
// Called when a file selection is to be done.
virtual void RunFileChooser(
RenderViewHost* render_view_host,
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
index d0f06ff..cdc82e9 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -1202,9 +1202,36 @@ gfx::Rect RenderViewHostImpl::GetRootWindowResizerRect() const {
void RenderViewHostImpl::ForwardMouseEvent(
const blink::WebMouseEvent& mouse_event) {
- RenderWidgetHostImpl::ForwardMouseEvent(mouse_event);
- if (mouse_event.type == WebInputEvent::MouseWheel && ignore_input_events())
- delegate_->OnIgnoredUIEvent();
+
+ // We make a copy of the mouse event because
+ // RenderWidgetHost::ForwardMouseEvent will delete |mouse_event|.
+ blink::WebMouseEvent event_copy(mouse_event);
+ RenderWidgetHostImpl::ForwardMouseEvent(event_copy);
+
+ switch (event_copy.type) {
+ case WebInputEvent::MouseMove:
+ delegate_->HandleMouseMove();
+ break;
+ case WebInputEvent::MouseLeave:
+ delegate_->HandleMouseLeave();
+ break;
+ case WebInputEvent::MouseDown:
+ delegate_->HandleMouseDown();
+ break;
+ case WebInputEvent::MouseWheel:
+ if (ignore_input_events())
+ delegate_->OnIgnoredUIEvent();
+ break;
+ case WebInputEvent::MouseUp:
+ delegate_->HandleMouseUp();
+ default:
+ // For now, we don't care about the rest.
+ break;
+ }
+}
+
+void RenderViewHostImpl::OnPointerEventActivate() {
+ delegate_->HandlePointerActivate();
}
void RenderViewHostImpl::ForwardKeyboardEvent(
diff --git a/content/browser/renderer_host/render_view_host_impl.h b/content/browser/renderer_host/render_view_host_impl.h
index 15883b6..e655cc5 100644
--- a/content/browser/renderer_host/render_view_host_impl.h
+++ b/content/browser/renderer_host/render_view_host_impl.h
@@ -270,6 +270,7 @@ class CONTENT_EXPORT RenderViewHostImpl
void LostMouseLock() override;
void SetIsLoading(bool is_loading) override;
void ForwardMouseEvent(const blink::WebMouseEvent& mouse_event) override;
+ void OnPointerEventActivate() override;
void ForwardKeyboardEvent(const NativeWebKeyboardEvent& key_event) override;
gfx::Rect GetRootWindowResizerRect() const override;
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index fe0203f..4aef7b8 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -917,6 +917,9 @@ void RenderWidgetHostImpl::ForwardMouseEventWithLatencyInfo(
}
}
+void RenderWidgetHostImpl::OnPointerEventActivate() {
+}
+
void RenderWidgetHostImpl::ForwardWheelEvent(
const WebMouseWheelEvent& wheel_event) {
ForwardWheelEventWithLatencyInfo(wheel_event, ui::LatencyInfo());
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
index bea0bfa..617b547 100644
--- a/content/browser/renderer_host/render_widget_host_impl.h
+++ b/content/browser/renderer_host/render_widget_host_impl.h
@@ -311,6 +311,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
void CancelUpdateTextDirection();
+ // Called when a mouse click/gesture tap activates the renderer.
+ virtual void OnPointerEventActivate();
+
// Notifies the renderer whether or not the input method attached to this
// process is activated.
// When the input method is activated, a renderer process sends IPC messages
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index e9d6db7..839f62a 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -323,6 +323,19 @@ void GetScreenInfoForWindow(WebScreenInfo* results, aura::Window* window) {
RenderWidgetHostViewBase::GetOrientationTypeForDesktop(display);
}
+bool PointerEventActivates(const ui::Event& event) {
+ if (event.type() == ui::ET_MOUSE_PRESSED)
+ return true;
+
+ if (event.type() == ui::ET_GESTURE_BEGIN) {
+ const ui::GestureEvent& gesture =
+ static_cast<const ui::GestureEvent&>(event);
+ return gesture.details().touch_points() == 1;
+ }
+
+ return false;
+}
+
bool IsFractionalScaleFactor(float scale_factor) {
return (scale_factor - static_cast<int>(scale_factor)) > 0;
}
@@ -448,6 +461,7 @@ RenderWidgetHostViewAura::RenderWidgetHostViewAura(RenderWidgetHost* host,
window_observer_.reset(new WindowObserver(this));
aura::client::SetTooltipText(window_, &tooltip_);
aura::client::SetActivationDelegate(window_, this);
+ aura::client::SetActivationChangeObserver(window_, this);
aura::client::SetFocusChangeObserver(window_, this);
window_->set_layer_owner_delegate(delegated_frame_host_.get());
gfx::Screen::GetScreenFor(window_)->AddObserver(this);
@@ -2123,6 +2137,11 @@ void RenderWidgetHostViewAura::OnGestureEvent(ui::GestureEvent* event) {
if (host_->IsRenderView())
delegate = RenderViewHost::From(host_)->GetDelegate();
+ if (delegate && event->type() == ui::ET_GESTURE_BEGIN &&
+ event->details().touch_points() == 1) {
+ delegate->HandleGestureBegin();
+ }
+
blink::WebGestureEvent gesture = MakeWebGestureEvent(*event);
if (event->type() == ui::ET_GESTURE_TAP_DOWN) {
// Webkit does not stop a fling-scroll on tap-down. So explicitly send an
@@ -2145,6 +2164,11 @@ void RenderWidgetHostViewAura::OnGestureEvent(ui::GestureEvent* event) {
}
}
+ if (delegate && event->type() == ui::ET_GESTURE_END &&
+ event->details().touch_points() == 1) {
+ delegate->HandleGestureEnd();
+ }
+
// If a gesture is not processed by the webpage, then WebKit processes it
// (e.g. generates synthetic mouse events).
event->SetHandled();
@@ -2164,6 +2188,20 @@ bool RenderWidgetHostViewAura::ShouldActivate() const {
}
////////////////////////////////////////////////////////////////////////////////
+// RenderWidgetHostViewAura,
+// aura::client::ActivationChangeObserver implementation:
+
+void RenderWidgetHostViewAura::OnWindowActivated(aura::Window* gained_active,
+ aura::Window* lost_active) {
+ DCHECK(window_ == gained_active || window_ == lost_active);
+ if (window_ == gained_active) {
+ const ui::Event* event = window_->GetHost()->dispatcher()->current_event();
+ if (event && PointerEventActivates(*event))
+ host_->OnPointerEventActivate();
+ }
+}
+
+////////////////////////////////////////////////////////////////////////////////
// RenderWidgetHostViewAura, aura::client::CursorClientObserver implementation:
void RenderWidgetHostViewAura::OnCursorVisibilityChanged(bool is_visible) {
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.h b/content/browser/renderer_host/render_widget_host_view_aura.h
index ab50d41..a2c24a1 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.h
+++ b/content/browser/renderer_host/render_widget_host_view_aura.h
@@ -35,6 +35,7 @@
#include "ui/gfx/display_observer.h"
#include "ui/gfx/geometry/insets.h"
#include "ui/gfx/geometry/rect.h"
+#include "ui/wm/public/activation_change_observer.h"
#include "ui/wm/public/activation_delegate.h"
namespace aura {
@@ -85,6 +86,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
public aura::WindowTreeHostObserver,
public aura::WindowDelegate,
public aura::client::ActivationDelegate,
+ public aura::client::ActivationChangeObserver,
public aura::client::FocusChangeObserver,
public aura::client::CursorClientObserver {
public:
@@ -301,6 +303,10 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
// Overridden from aura::client::ActivationDelegate:
bool ShouldActivate() const override;
+ // Overridden from aura::client::ActivationChangeObserver:
+ void OnWindowActivated(aura::Window* gained_activation,
+ aura::Window* lost_activation) override;
+
// Overridden from aura::client::CursorClientObserver:
void OnCursorVisibilityChanged(bool is_visible) override;
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 24122cd..6626ab0 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -1436,6 +1436,31 @@ bool WebContentsImpl::PreHandleGestureEvent(
return delegate_ && delegate_->PreHandleGestureEvent(this, event);
}
+void WebContentsImpl::HandleMouseDown() {
+ if (delegate_)
+ delegate_->HandleMouseDown();
+}
+
+void WebContentsImpl::HandleMouseUp() {
+ if (delegate_)
+ delegate_->HandleMouseUp();
+}
+
+void WebContentsImpl::HandlePointerActivate() {
+ if (delegate_)
+ delegate_->HandlePointerActivate();
+}
+
+void WebContentsImpl::HandleGestureBegin() {
+ if (delegate_)
+ delegate_->HandleGestureBegin();
+}
+
+void WebContentsImpl::HandleGestureEnd() {
+ if (delegate_)
+ delegate_->HandleGestureEnd();
+}
+
void WebContentsImpl::EnterFullscreenMode(const GURL& origin) {
// This method is being called to enter renderer-initiated fullscreen mode.
// Make sure any existing fullscreen widget is shut down first.
@@ -2380,6 +2405,8 @@ void WebContentsImpl::DidGetRedirectForResourceRequest(
void WebContentsImpl::SystemDragEnded() {
if (GetRenderViewHost())
GetRenderViewHostImpl()->DragSourceSystemDragEnded();
+ if (delegate_)
+ delegate_->DragEnded();
if (browser_plugin_embedder_.get())
browser_plugin_embedder_->SystemDragEnded();
}
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 6753535..c4f908c 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -459,6 +459,11 @@ class CONTENT_EXPORT WebContentsImpl
void Activate() override;
void Deactivate() override;
void LostCapture() override;
+ void HandleMouseDown() override;
+ void HandleMouseUp() override;
+ void HandlePointerActivate() override;
+ void HandleGestureBegin() override;
+ void HandleGestureEnd() override;
void RunFileChooser(RenderViewHost* render_view_host,
const FileChooserParams& params) override;
bool IsFullscreenForCurrentTab() const override;
diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
index 0e48d7c..461927c 100644
--- a/content/public/browser/web_contents_delegate.cc
+++ b/content/public/browser/web_contents_delegate.cc
@@ -67,6 +67,10 @@ bool WebContentsDelegate::TakeFocus(WebContents* source, bool reverse) {
return false;
}
+int WebContentsDelegate::GetExtraRenderViewHeight() const {
+ return 0;
+}
+
void WebContentsDelegate::CanDownload(
RenderViewHost* render_view_host,
const GURL& url,
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
index 1367f0b..d88b27c 100644
--- a/content/public/browser/web_contents_delegate.h
+++ b/content/public/browser/web_contents_delegate.h
@@ -56,6 +56,8 @@ class Size;
namespace blink {
class WebGestureEvent;
+class WebLayer;
+struct WebWindowFeatures;
}
namespace content {
@@ -233,6 +235,11 @@ class CONTENT_EXPORT WebContentsDelegate {
const std::string& request_method,
const base::Callback<void(bool)>& callback);
+ // Return much extra vertical space should be allotted to the
+ // render view widget during various animations (e.g. infobar closing).
+ // This is used to make painting look smoother.
+ virtual int GetExtraRenderViewHeight() const;
+
// Returns true if the context menu operation was handled by the delegate.
virtual bool HandleContextMenu(const content::ContextMenuParams& params);
@@ -258,6 +265,13 @@ class CONTENT_EXPORT WebContentsDelegate {
virtual void HandleKeyboardEvent(WebContents* source,
const NativeWebKeyboardEvent& event) {}
+ virtual void HandleMouseDown() {}
+ virtual void HandleMouseUp() {}
+
+ // Handles activation resulting from a pointer event (e.g. when mouse is
+ // pressed, or a touch-gesture begins).
+ virtual void HandlePointerActivate() {}
+
// Allows delegates to handle gesture events before sending to the renderer.
// Returns true if the |event| was handled and thus shouldn't be processed
// by the renderer's event handler. Note that the touch events that create
@@ -267,6 +281,9 @@ class CONTENT_EXPORT WebContentsDelegate {
WebContents* source,
const blink::WebGestureEvent& event);
+ virtual void HandleGestureBegin() {}
+ virtual void HandleGestureEnd() {}
+
// Called when an external drag event enters the web contents window. Return
// true to allow dragging and dropping on the web contents window or false to
// cancel the operation. This method is used by Chromium Embedded Framework.
@@ -274,6 +291,9 @@ class CONTENT_EXPORT WebContentsDelegate {
const DropData& data,
blink::WebDragOperationsMask operations_allowed);
+ // Render view drag n drop ended.
+ virtual void DragEnded() {}
+
// Shows the repost form confirmation dialog box.
virtual void ShowRepostFormWarningDialog(WebContents* source) {}