Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(233)

Unified Diff: Source/WebKit/chromium/src/WebViewImpl.cpp

Issue 12319074: Merge 142571 (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1410/
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/WebKit/chromium/src/WebViewImpl.cpp
===================================================================
--- Source/WebKit/chromium/src/WebViewImpl.cpp (revision 143772)
+++ Source/WebKit/chromium/src/WebViewImpl.cpp (working copy)
@@ -755,12 +755,19 @@
// Don't trigger a disambiguation popup on sites designed for mobile devices.
// Instead, assume that the page has been designed with big enough buttons and links.
if (event.data.tap.width > 0 && !shouldDisableDesktopWorkarounds()) {
- IntRect boundingBox(event.x - event.data.tap.width / 2, event.y - event.data.tap.height / 2, event.data.tap.width, event.data.tap.height);
+ // FIXME: didTapMultipleTargets should just take a rect instead of
+ // an event.
+ WebGestureEvent scaledEvent;
+ scaledEvent.x = event.x / pageScaleFactor();
+ scaledEvent.y = event.y / pageScaleFactor();
+ scaledEvent.data.tap.width = event.data.tap.width / pageScaleFactor();
+ scaledEvent.data.tap.height = event.data.tap.height / pageScaleFactor();
+ IntRect boundingBox(scaledEvent.x - scaledEvent.data.tap.width / 2, scaledEvent.y - scaledEvent.data.tap.height / 2, scaledEvent.data.tap.width, scaledEvent.data.tap.height);
Vector<IntRect> goodTargets;
findGoodTouchTargets(boundingBox, mainFrameImpl()->frame(), goodTargets);
// FIXME: replace touch adjustment code when numberOfGoodTargets == 1?
// Single candidate case is currently handled by: https://bugs.webkit.org/show_bug.cgi?id=85101
- if (goodTargets.size() >= 2 && m_client && m_client->didTapMultipleTargets(event, goodTargets)) {
+ if (goodTargets.size() >= 2 && m_client && m_client->didTapMultipleTargets(scaledEvent, goodTargets)) {
eventSwallowed = true;
eventCancelled = true;
break;
@@ -1354,6 +1361,7 @@
bool WebViewImpl::hasTouchEventHandlersAt(const WebPoint& point)
{
+ // FIXME: Implement this. Note that the point must be divided by pageScaleFactor.
return true;
}
@@ -2083,26 +2091,7 @@
return true;
}
- const WebInputEvent* inputEventTransformed = &inputEvent;
- if (m_page->settings()->applyPageScaleFactorInCompositor()) {
- WebMouseEvent mouseEvent;
- WebGestureEvent gestureEvent;
- if (WebInputEvent::isMouseEventType(inputEvent.type)) {
- mouseEvent = *static_cast<const WebMouseEvent*>(&inputEvent);
- mouseEvent.x = mouseEvent.x / pageScaleFactor();
- mouseEvent.y = mouseEvent.y / pageScaleFactor();
- inputEventTransformed = static_cast<const WebInputEvent*>(&mouseEvent);
- } else if (WebInputEvent::isGestureEventType(inputEvent.type)) {
- gestureEvent = *static_cast<const WebGestureEvent*>(&inputEvent);
- gestureEvent.x = gestureEvent.x / pageScaleFactor();
- gestureEvent.y = gestureEvent.y / pageScaleFactor();
- gestureEvent.data.tap.width /= pageScaleFactor();
- gestureEvent.data.tap.height /= pageScaleFactor();
- inputEventTransformed = static_cast<const WebInputEvent*>(&gestureEvent);
- }
- }
-
- return PageWidgetDelegate::handleInputEvent(m_page.get(), *this, *inputEventTransformed);
+ return PageWidgetDelegate::handleInputEvent(m_page.get(), *this, inputEvent);
}
void WebViewImpl::mouseCaptureLost()
« no previous file with comments | « Source/WebKit/chromium/src/WebInputEventConversion.cpp ('k') | Source/WebKit/chromium/tests/WebInputEventConversionTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698