summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--content/browser/android/content_view_core_impl.cc4
-rw-r--r--content/browser/android/content_view_core_impl.h2
-rw-r--r--content/browser/renderer_host/render_widget_host_impl.cc4
-rw-r--r--content/browser/renderer_host/render_widget_host_view_android.cc7
-rw-r--r--content/browser/renderer_host/render_widget_host_view_android.h2
-rw-r--r--content/browser/renderer_host/test_render_view_host.h2
-rw-r--r--content/browser/web_contents/web_contents_view_android.cc5
-rw-r--r--content/browser/web_contents/web_contents_view_android.h1
-rw-r--r--content/port/browser/render_view_host_delegate_view.h6
-rw-r--r--content/port/browser/render_widget_host_view_port.h2
-rw-r--r--content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java4
-rw-r--r--content/public/android/java/src/org/chromium/content/browser/ContentViewGestureHandler.java12
12 files changed, 22 insertions, 29 deletions
diff --git a/content/browser/android/content_view_core_impl.cc b/content/browser/android/content_view_core_impl.cc
index 9470f40..be5f845 100644
--- a/content/browser/android/content_view_core_impl.cc
+++ b/content/browser/android/content_view_core_impl.cc
@@ -379,12 +379,12 @@ void ContentViewCoreImpl::ConfirmTouchEvent(bool handled) {
Java_ContentViewCore_confirmTouchEvent(env, j_obj.obj(), handled);
}
-void ContentViewCoreImpl::DidSetNeedTouchEvents(bool need_touch_events) {
+void ContentViewCoreImpl::HasTouchEventHandlers(bool need_touch_events) {
JNIEnv* env = AttachCurrentThread();
ScopedJavaLocalRef<jobject> j_obj = java_ref_.get(env);
if (j_obj.is_null())
return;
- Java_ContentViewCore_didSetNeedTouchEvents(env,
+ Java_ContentViewCore_hasTouchEventHandlers(env,
j_obj.obj(),
need_touch_events);
}
diff --git a/content/browser/android/content_view_core_impl.h b/content/browser/android/content_view_core_impl.h
index ba5aa7c..23cdc66 100644
--- a/content/browser/android/content_view_core_impl.h
+++ b/content/browser/android/content_view_core_impl.h
@@ -199,7 +199,7 @@ class ContentViewCoreImpl : public ContentViewCore,
bool HasFocus();
void ConfirmTouchEvent(bool handled);
- void DidSetNeedTouchEvents(bool need_touch_events);
+ void HasTouchEventHandlers(bool need_touch_events);
void OnSelectionChanged(const std::string& text);
void OnSelectionBoundsChanged(
const gfx::Rect& start_rect, base::i18n::TextDirection start_dir,
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index 2f03115..1b2a20c 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -1767,6 +1767,10 @@ void RenderWidgetHostImpl::OnMsgHasTouchEventHandlers(bool has_handlers) {
has_touch_handler_ = has_handlers;
if (!has_touch_handler_)
touch_event_queue_->FlushQueue();
+#if defined(OS_ANDROID)
+ if (view_)
+ view_->HasTouchEventHandlers(has_touch_handler_);
+#endif
}
void RenderWidgetHostImpl::OnMsgSetCursor(const WebCursor& cursor) {
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc
index caea0cf..2deba2c 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.cc
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc
@@ -383,7 +383,8 @@ void RenderWidgetHostViewAndroid::UnhandledWheelEvent(
void RenderWidgetHostViewAndroid::ProcessAckedTouchEvent(
const WebKit::WebTouchEvent& touch_event,
bool processed) {
- // intentionally empty, like RenderWidgetHostViewViews
+ if (content_view_core_)
+ content_view_core_->ConfirmTouchEvent(processed);
}
void RenderWidgetHostViewAndroid::SetHasHorizontalScrollbar(
@@ -483,10 +484,10 @@ void RenderWidgetHostViewAndroid::SetContentViewCore(
}
}
-void RenderWidgetHostViewAndroid::DidSetNeedTouchEvents(
+void RenderWidgetHostViewAndroid::HasTouchEventHandlers(
bool need_touch_events) {
if (content_view_core_)
- content_view_core_->DidSetNeedTouchEvents(need_touch_events);
+ content_view_core_->HasTouchEventHandlers(need_touch_events);
}
// static
diff --git a/content/browser/renderer_host/render_widget_host_view_android.h b/content/browser/renderer_host/render_widget_host_view_android.h
index a88ea65..81f0036 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.h
+++ b/content/browser/renderer_host/render_widget_host_view_android.h
@@ -115,7 +115,7 @@ class RenderWidgetHostViewAndroid : public RenderWidgetHostViewBase {
virtual bool LockMouse() OVERRIDE;
virtual void UnlockMouse() OVERRIDE;
virtual void StartContentIntent(const GURL& content_url) OVERRIDE;
- virtual void DidSetNeedTouchEvents(bool need_touch_events) OVERRIDE;
+ virtual void HasTouchEventHandlers(bool need_touch_events) OVERRIDE;
virtual void SetCachedBackgroundColor(SkColor color) OVERRIDE;
virtual void SetCachedPageScaleFactorLimits(float minimum_scale,
float maximum_scale) OVERRIDE;
diff --git a/content/browser/renderer_host/test_render_view_host.h b/content/browser/renderer_host/test_render_view_host.h
index 78d9cb5..9d87ad2 100644
--- a/content/browser/renderer_host/test_render_view_host.h
+++ b/content/browser/renderer_host/test_render_view_host.h
@@ -148,7 +148,7 @@ class TestRenderWidgetHostView : public RenderWidgetHostViewBase {
virtual void UpdateFrameInfo(const gfx::Point& scroll_offset,
float page_scale_factor,
const gfx::Size& content_size) OVERRIDE {}
- virtual void DidSetNeedTouchEvents(bool need_touch_events) OVERRIDE {}
+ virtual void HasTouchEventHandlers(bool need_touch_events) OVERRIDE {}
#elif defined(OS_WIN) && !defined(USE_AURA)
virtual void WillWmDestroy() OVERRIDE;
#endif
diff --git a/content/browser/web_contents/web_contents_view_android.cc b/content/browser/web_contents/web_contents_view_android.cc
index d864542..2e74b1f 100644
--- a/content/browser/web_contents/web_contents_view_android.cc
+++ b/content/browser/web_contents/web_contents_view_android.cc
@@ -152,11 +152,6 @@ gfx::Rect WebContentsViewAndroid::GetViewBounds() const {
return gfx::Rect();
}
-void WebContentsViewAndroid::ConfirmTouchEvent(bool handled) {
- if (content_view_core_)
- content_view_core_->ConfirmTouchEvent(handled);
-}
-
void WebContentsViewAndroid::ShowContextMenu(
const ContextMenuParams& params,
content::ContextMenuSourceType type) {
diff --git a/content/browser/web_contents/web_contents_view_android.h b/content/browser/web_contents/web_contents_view_android.h
index 02c6152..eef26f9 100644
--- a/content/browser/web_contents/web_contents_view_android.h
+++ b/content/browser/web_contents/web_contents_view_android.h
@@ -50,7 +50,6 @@ class WebContentsViewAndroid : public WebContentsView,
virtual bool IsEventTracking() const OVERRIDE;
virtual void CloseTabAfterEventTracking() OVERRIDE;
virtual gfx::Rect GetViewBounds() const OVERRIDE;
- virtual void ConfirmTouchEvent(bool handled) OVERRIDE;
// Backend implementation of RenderViewHostDelegateView.
virtual void ShowContextMenu(
diff --git a/content/port/browser/render_view_host_delegate_view.h b/content/port/browser/render_view_host_delegate_view.h
index f2b02ff5..b59d6e0 100644
--- a/content/port/browser/render_view_host_delegate_view.h
+++ b/content/port/browser/render_view_host_delegate_view.h
@@ -67,12 +67,6 @@ class CONTENT_EXPORT RenderViewHostDelegateView {
// retrieved by doing a Shift-Tab.
virtual void TakeFocus(bool reverse) {}
-#if defined(OS_ANDROID)
- // Called when an unhandled touch event is sent back from the renderer.
- // TODO(joth): This should be pure virtual.
- virtual void ConfirmTouchEvent(bool handled) {}
-#endif
-
protected:
virtual ~RenderViewHostDelegateView() {}
};
diff --git a/content/port/browser/render_widget_host_view_port.h b/content/port/browser/render_widget_host_view_port.h
index 45c0a5d..7667066 100644
--- a/content/port/browser/render_widget_host_view_port.h
+++ b/content/port/browser/render_widget_host_view_port.h
@@ -232,7 +232,7 @@ class CONTENT_EXPORT RenderWidgetHostViewPort : public RenderWidgetHostView {
virtual void UpdateFrameInfo(const gfx::Point& scroll_offset,
float page_scale_factor,
const gfx::Size& content_size) = 0;
- virtual void DidSetNeedTouchEvents(bool need_touch_events) = 0;
+ virtual void HasTouchEventHandlers(bool need_touch_events) = 0;
#endif
virtual void AcceleratedSurfaceNew(
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
index 62a7c42..040baab 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
@@ -832,8 +832,8 @@ public class ContentViewCore implements MotionEventDelegate {
@SuppressWarnings("unused")
@CalledByNative
- private void didSetNeedTouchEvents(boolean needTouchEvents) {
- mContentViewGestureHandler.didSetNeedTouchEvents(needTouchEvents);
+ private void hasTouchEventHandlers(boolean hasTouchHandlers) {
+ mContentViewGestureHandler.hasTouchEventHandlers(hasTouchHandlers);
}
@SuppressWarnings("unused")
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewGestureHandler.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewGestureHandler.java
index 243c5e0..6bba091 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ContentViewGestureHandler.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewGestureHandler.java
@@ -67,7 +67,7 @@ class ContentViewGestureHandler implements LongPressDelegate {
new ArrayDeque<Pair<MotionEvent, Boolean>>();
// Has WebKit told us the current page requires touch events.
- private boolean mNeedTouchEvents = false;
+ private boolean mHasTouchHandlers = false;
// Remember whether onShowPress() is called. If it is not, in onSingleTapConfirmed()
// we will first show the press state, then trigger the click.
@@ -606,19 +606,19 @@ class ContentViewGestureHandler implements LongPressDelegate {
/**
* Sets the flag indicating that the content has registered listeners for touch events.
*/
- void didSetNeedTouchEvents(boolean needTouchEvents) {
- mNeedTouchEvents = needTouchEvents;
+ void hasTouchEventHandlers(boolean hasTouchHandlers) {
+ mHasTouchHandlers = hasTouchHandlers;
// When mainframe is loading, FrameLoader::transitionToCommitted will
- // call this method to set mNeedTouchEvents to false. We use this as
+ // call this method to set mHasTouchHandlers to false. We use this as
// an indicator to clear the pending motion events so that events from
// the previous page will not be carried over to the new page.
- if (!mNeedTouchEvents) mPendingMotionEvents.clear();
+ if (!mHasTouchHandlers) mPendingMotionEvents.clear();
}
private boolean offerTouchEventToJavaScript(MotionEvent event) {
mLongPressDetector.onOfferTouchEventToJavaScript(event);
- if (!mNeedTouchEvents) return false;
+ if (!mHasTouchHandlers) return false;
if (event.getActionMasked() == MotionEvent.ACTION_MOVE) {
// Only send move events if the move has exceeded the slop threshold.