Diff
Added: trunk/LayoutTests/touchadjustment/zoom-basic-expected.txt (0 => 112669)
--- trunk/LayoutTests/touchadjustment/zoom-basic-expected.txt (rev 0)
+++ trunk/LayoutTests/touchadjustment/zoom-basic-expected.txt 2012-03-30 15:47:04 UTC (rev 112669)
@@ -0,0 +1,25 @@
+Test basic cases of tap-to-zoom mechanics.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS zoomableArea.top is 100
+PASS zoomableArea.left is 100
+PASS zoomableArea.width is 200
+PASS zoomableArea.height is 100
+PASS zoomableArea.top is 210
+PASS zoomableArea.left is 110
+PASS zoomableArea.width is 180
+PASS zoomableArea.height is 80
+PASS zoomableArea.top is 200
+PASS zoomableArea.left is 100
+PASS zoomableArea.width is 200
+PASS zoomableArea.height is 100
+PASS zoomableArea.top is 50
+PASS zoomableArea.left is 50
+PASS zoomableArea.width is 300
+PASS zoomableArea.height is 300
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/touchadjustment/zoom-basic.html (0 => 112669)
--- trunk/LayoutTests/touchadjustment/zoom-basic.html (rev 0)
+++ trunk/LayoutTests/touchadjustment/zoom-basic.html 2012-03-30 15:47:04 UTC (rev 112669)
@@ -0,0 +1,72 @@
+<html>
+<head>
+ <script src=""
+ <style>
+ #div0 { position: absolute; left: 50px; top: 50px; width: 300px; height: 300px; box-sizing: border-box; }
+ #div1 { position: absolute; left: 50px; top: 50
+px; width: 200px; height: 100px; box-sizing: border-box; }
+ #div2 { position: absolute; left: 50px; top: 150px; width: 200px; height: 100px; padding: 10px; box-sizing: border-box; }
+ </style>
+</head>
+<body _onload_="runTests()">
+
+<div id=div0>
+ <div id=div1></div>
+ <div id=div2></div>
+</div>
+
+<p id='description'></p>
+<div id='console'></div>
+
+<script>
+ function testRoundTouch(x, y, radius)
+ {
+ var x = x - radius;
+ var y = y - radius;
+ var width = radius * 2;
+ var height = radius * 2;
+ var zoomableRect = internals.bestZoomableAreaForTouchPoint(x, y, width, height, document);
+ return zoomableRect;
+ }
+
+ function testDirectTouches()
+ {
+ zoomableArea = testRoundTouch(130, 130, 10);
+ shouldEvaluateTo('zoomableArea.top', 100);
+ shouldEvaluateTo('zoomableArea.left', 100);
+ shouldEvaluateTo('zoomableArea.width', 200);
+ shouldEvaluateTo('zoomableArea.height', 100);
+
+ zoomableArea = testRoundTouch(130, 230, 10);
+ shouldEvaluateTo('zoomableArea.top', 210);
+ shouldEvaluateTo('zoomableArea.left', 110);
+ shouldEvaluateTo('zoomableArea.width', 180);
+ shouldEvaluateTo('zoomableArea.height', 80);
+
+ zoomableArea = testRoundTouch(120, 220, 20);
+ shouldEvaluateTo('zoomableArea.top', 200);
+ shouldEvaluateTo('zoomableArea.left', 100);
+ shouldEvaluateTo('zoomableArea.width', 200);
+ shouldEvaluateTo('zoomableArea.height', 100);
+
+ zoomableArea = testRoundTouch(80, 100, 20);
+ shouldEvaluateTo('zoomableArea.top', 50);
+ shouldEvaluateTo('zoomableArea.left', 50);
+ shouldEvaluateTo('zoomableArea.width', 300);
+ shouldEvaluateTo('zoomableArea.height',300);
+ }
+
+ function runTests()
+ {
+ if (window.layoutTestController && window.internals && internals.bestZoomableAreaForTouchPoint) {
+ description('Test basic cases of tap-to-zoom mechanics.');
+ layoutTestController.dumpAsText();
+ layoutTestController.waitUntilDone();
+ testDirectTouches();
+ isSuccessfullyParsed();
+ layoutTestController.notifyDone();
+ }
+ }
+</script>
+</body>
+</html>
\ No newline at end of file
Modified: trunk/Source/WebCore/ChangeLog (112668 => 112669)
--- trunk/Source/WebCore/ChangeLog 2012-03-30 15:44:38 UTC (rev 112668)
+++ trunk/Source/WebCore/ChangeLog 2012-03-30 15:47:04 UTC (rev 112669)
@@ -1,3 +1,30 @@
+2012-03-30 Allan Sandfeld Jensen <[email protected]>
+
+ [Qt] Find zoomable area using area-based hit-testing
+ https://bugs.webkit.org/show_bug.cgi?id=82609
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Implement API for calculating the best zoomable area for a
+ tap-to-zoom gesture.
+ It picks the area with the largest intersection with the touch. In most
+ cases this will be all areas fully containing the area, and returns the
+ smallest inner-most of these.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
+ * page/EventHandler.h:
+ * page/TouchAdjustment.cpp:
+ (WebCore::TouchAdjustment::nodeIsZoomTarget):
+ (WebCore::TouchAdjustment::appendZoomableSubtargets):
+ (WebCore::TouchAdjustment::compileZoomableSubtargets):
+ (WebCore::TouchAdjustment::areaOfIntersection):
+ (WebCore::TouchAdjustment::findAreaWithLargestIntersection):
+ (WebCore::findBestZoomableArea):
+ * page/TouchAdjustment.h:
+ * platform/graphics/IntSize.h:
+ (WebCore::IntSize::area):
+
2012-03-30 Pavel Feldman <[email protected]>
Web Inspector: do not issue attributes modified event if actual values were not changed.
Modified: trunk/Source/WebCore/page/EventHandler.cpp (112668 => 112669)
--- trunk/Source/WebCore/page/EventHandler.cpp 2012-03-30 15:44:38 UTC (rev 112668)
+++ trunk/Source/WebCore/page/EventHandler.cpp 2012-03-30 15:47:04 UTC (rev 112669)
@@ -2475,6 +2475,16 @@
targetNode = result.innerNonSharedNode();
}
}
+
+void EventHandler::bestZoomableAreaForTouchPoint(const IntPoint& touchCenter, const IntSize& touchRadius, IntRect& targetArea, Node*& targetNode)
+{
+ HitTestRequest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::Active;
+ HitTestResult result = hitTestResultAtPoint(touchCenter, /*allowShadowContent*/ false, /*ignoreClipping*/ false, DontHitTestScrollbars, hitType, touchRadius);
+
+ IntRect touchRect = result.rectForPoint(touchCenter);
+ RefPtr<StaticHashSetNodeList> nodeList = StaticHashSetNodeList::adopt(result.rectBasedTestResult());
+ findBestZoomableArea(targetNode, targetArea, touchCenter, touchRect, *nodeList.get());
+}
#endif
#if ENABLE(CONTEXT_MENUS)
Modified: trunk/Source/WebCore/page/EventHandler.h (112668 => 112669)
--- trunk/Source/WebCore/page/EventHandler.h 2012-03-30 15:44:38 UTC (rev 112668)
+++ trunk/Source/WebCore/page/EventHandler.h 2012-03-30 15:47:04 UTC (rev 112669)
@@ -169,6 +169,7 @@
#if ENABLE(TOUCH_ADJUSTMENT)
void bestClickableNodeForTouchPoint(const IntPoint& touchCenter, const IntSize& touchRadius, IntPoint& targetPoint, Node*& targetNode);
+ void bestZoomableAreaForTouchPoint(const IntPoint& touchCenter, const IntSize& touchRadius, IntRect& targetArea, Node*& targetNode);
#endif
#if ENABLE(CONTEXT_MENUS)
Modified: trunk/Source/WebCore/page/TouchAdjustment.cpp (112668 => 112669)
--- trunk/Source/WebCore/page/TouchAdjustment.cpp 2012-03-30 15:44:38 UTC (rev 112668)
+++ trunk/Source/WebCore/page/TouchAdjustment.cpp 2012-03-30 15:47:04 UTC (rev 112669)
@@ -91,6 +91,15 @@
return false;
}
+bool nodeIsZoomTarget(Node* node)
+{
+ if (node->isTextNode() || node->isShadowRoot())
+ return false;
+
+ ASSERT(node->renderer());
+ return node->renderer()->isBox();
+}
+
static inline void appendSubtargetsForNodeToList(Node* node, SubtargetGeometryList& subtargets)
{
// Since the node is a result of a hit test, we are already ensured it has a renderer.
@@ -105,6 +114,25 @@
subtargets.append(SubtargetGeometry(node, *it));
}
+static inline void appendZoomableSubtargets(Node* node, SubtargetGeometryList& subtargets)
+{
+ RenderBox* renderer = toRenderBox(node->renderer());
+ ASSERT(renderer);
+
+ Vector<FloatQuad> quads;
+ FloatRect borderBoxRect = renderer->borderBoxRect();
+ FloatRect contentBoxRect = renderer->contentBoxRect();
+ quads.append(renderer->localToAbsoluteQuad(borderBoxRect));
+ if (borderBoxRect != contentBoxRect)
+ quads.append(renderer->localToAbsoluteQuad(contentBoxRect));
+ // FIXME: For RenderBlocks, add column boxes and content boxes cleared for floats.
+
+ Vector<FloatQuad>::const_iterator it = quads.begin();
+ const Vector<FloatQuad>::const_iterator end = quads.end();
+ for (; it != end; ++it)
+ subtargets.append(SubtargetGeometry(node, *it));
+}
+
// Compiles a list of subtargets of all the relevant target nodes.
void compileSubtargetList(const NodeList& intersectedNodes, SubtargetGeometryList& subtargets, NodeFilter nodeFilter)
{
@@ -163,6 +191,18 @@
}
}
+// Compiles a list of zoomable subtargets.
+void compileZoomableSubtargets(const NodeList& intersectedNodes, SubtargetGeometryList& subtargets)
+{
+ unsigned length = intersectedNodes.length();
+ for (unsigned i = 0; i < length; ++i) {
+ Node* const candidate = intersectedNodes.item(i);
+ if (nodeIsZoomTarget(candidate))
+ appendZoomableSubtargets(candidate, subtargets);
+ }
+}
+
+
float distanceSquaredToTargetCenterLine(const IntPoint& touchHotspot, const IntRect& touchArea, const SubtargetGeometry& subtarget)
{
UNUSED_PARAM(touchArea);
@@ -179,6 +219,19 @@
return rect.distanceSquaredFromCenterLineToPoint(touchHotspot);
}
+float areaOfIntersection(const IntPoint& touchHotspot, const IntRect& touchArea, const SubtargetGeometry& subtarget)
+{
+ UNUSED_PARAM(touchHotspot);
+ IntRect rect = subtarget.boundingBox();
+
+ // Convert from frame coordinates to window coordinates.
+ rect = subtarget.node()->document()->view()->contentsToWindow(rect);
+ rect.intersect(touchArea);
+
+ return rect.size().area();
+}
+
+
// A generic function for finding the target node with the lowest distance metric. A distance metric here is the result
// of a distance-like function, that computes how well the touch hits the node.
// Distance functions could for instance be distance squared or area of intersection.
@@ -205,6 +258,36 @@
return (targetNode);
}
+// Similar generic function as findNodeWithLowestDistanceMetric, except this finds the innermost area with the largest intersection.
+bool findAreaWithLargestIntersection(Node*& targetNode, IntRect& targetArea, const IntPoint& touchHotspot, const IntRect& touchArea, SubtargetGeometryList& subtargets)
+{
+ targetNode = 0;
+ float bestDistanceMetric = 0.;
+ SubtargetGeometryList::const_iterator it = subtargets.begin();
+ const SubtargetGeometryList::const_iterator end = subtargets.end();
+ for (; it != end; ++it) {
+ Node* node = it->node();
+ float distanceMetric = areaOfIntersection(touchHotspot, touchArea, *it);
+ if (distanceMetric > bestDistanceMetric) {
+ targetArea = it->boundingBox();
+ targetNode = node;
+ bestDistanceMetric = distanceMetric;
+ } else if (distanceMetric == bestDistanceMetric) {
+ // Try to return the smallest inner-most subtarget.
+ if (node == targetNode) {
+ if (it->boundingBox().size().area() < targetArea.size().area())
+ targetArea = it->boundingBox();
+ } else if (node->isDescendantOf(targetNode)) {
+ targetArea = it->boundingBox();
+ targetNode = node;
+ }
+ }
+ }
+
+ return (targetNode);
+}
+
+
} // namespace TouchAdjustment
bool findBestClickableCandidate(Node*& targetNode, IntPoint &targetPoint, const IntPoint &touchHotspot, const IntRect &touchArea, const NodeList& nodeList)
@@ -214,4 +297,11 @@
return TouchAdjustment::findNodeWithLowestDistanceMetric(targetNode, targetPoint, touchHotspot, touchArea, subtargets, TouchAdjustment::distanceSquaredToTargetCenterLine);
}
+bool findBestZoomableArea(Node*& targetNode, IntRect& targetArea, const IntPoint& touchHotspot, const IntRect& touchArea, const NodeList& nodeList)
+{
+ TouchAdjustment::SubtargetGeometryList subtargets;
+ TouchAdjustment::compileZoomableSubtargets(nodeList, subtargets);
+ return TouchAdjustment::findAreaWithLargestIntersection(targetNode, targetArea, touchHotspot, touchArea, subtargets);
+}
+
} // namespace WebCore
Modified: trunk/Source/WebCore/page/TouchAdjustment.h (112668 => 112669)
--- trunk/Source/WebCore/page/TouchAdjustment.h 2012-03-30 15:44:38 UTC (rev 112668)
+++ trunk/Source/WebCore/page/TouchAdjustment.h 2012-03-30 15:47:04 UTC (rev 112669)
@@ -29,6 +29,7 @@
namespace WebCore {
bool findBestClickableCandidate(Node*& targetNode, IntPoint& targetPoint, const IntPoint& touchHotspot, const IntRect& touchArea, const NodeList&);
+bool findBestZoomableArea(Node*& targetNode, IntRect& targetArea, const IntPoint& touchHotspot, const IntRect& touchArea, const NodeList&);
// FIXME: Implement the similar functions for other gestures here as well.
} // namespace WebCore
Modified: trunk/Source/WebCore/platform/graphics/IntSize.h (112668 => 112669)
--- trunk/Source/WebCore/platform/graphics/IntSize.h 2012-03-30 15:44:38 UTC (rev 112668)
+++ trunk/Source/WebCore/platform/graphics/IntSize.h 2012-03-30 15:47:04 UTC (rev 112669)
@@ -104,6 +104,11 @@
*this = expandedTo(IntSize());
}
+ int area() const
+ {
+ return m_width * m_height;
+ }
+
int diagonalLengthSquared() const
{
return m_width * m_width + m_height * m_height;
Modified: trunk/Source/WebCore/testing/Internals.cpp (112668 => 112669)
--- trunk/Source/WebCore/testing/Internals.cpp 2012-03-30 15:44:38 UTC (rev 112668)
+++ trunk/Source/WebCore/testing/Internals.cpp 2012-03-30 15:47:04 UTC (rev 112669)
@@ -654,6 +654,23 @@
document->frame()->eventHandler()->bestClickableNodeForTouchPoint(point, radius, adjustedPoint, targetNode);
return targetNode;
}
+
+PassRefPtr<ClientRect> Internals::bestZoomableAreaForTouchPoint(long x, long y, long width, long height, Document* document, ExceptionCode& ec)
+{
+ if (!document || !document->frame()) {
+ ec = INVALID_ACCESS_ERR;
+ return 0;
+ }
+
+ IntSize radius(width / 2, height / 2);
+ IntPoint point(x + radius.width(), y + radius.height());
+
+
+ Node* targetNode;
+ IntRect zoomableArea;
+ document->frame()->eventHandler()->bestZoomableAreaForTouchPoint(point, radius, zoomableArea, targetNode);
+ return ClientRect::create(zoomableArea);
+}
#endif
Modified: trunk/Source/WebCore/testing/Internals.h (112668 => 112669)
--- trunk/Source/WebCore/testing/Internals.h 2012-03-30 15:44:38 UTC (rev 112668)
+++ trunk/Source/WebCore/testing/Internals.h 2012-03-30 15:47:04 UTC (rev 112669)
@@ -121,6 +121,7 @@
#if ENABLE(TOUCH_ADJUSTMENT)
PassRefPtr<WebKitPoint> touchPositionAdjustedToBestClickableNode(long x, long y, long width, long height, Document*, ExceptionCode&);
Node* touchNodeAdjustedToBestClickableNode(long x, long y, long width, long height, Document*, ExceptionCode&);
+ PassRefPtr<ClientRect> bestZoomableAreaForTouchPoint(long x, long y, long width, long height, Document*, ExceptionCode&);
#endif
int lastSpellCheckRequestSequence(Document*, ExceptionCode&);
Modified: trunk/Source/WebCore/testing/Internals.idl (112668 => 112669)
--- trunk/Source/WebCore/testing/Internals.idl 2012-03-30 15:44:38 UTC (rev 112668)
+++ trunk/Source/WebCore/testing/Internals.idl 2012-03-30 15:47:04 UTC (rev 112669)
@@ -95,6 +95,7 @@
#if defined(ENABLE_TOUCH_ADJUSTMENT) && ENABLE_TOUCH_ADJUSTMENT
WebKitPoint touchPositionAdjustedToBestClickableNode(in long x, in long y, in long width, in long height, in Document document) raises (DOMException);
Node touchNodeAdjustedToBestClickableNode(in long x, in long y, in long width, in long height, in Document document) raises (DOMException);
+ ClientRect bestZoomableAreaForTouchPoint(in long x, in long y, in long width, in long height, in Document document) raises (DOMException);
#endif
long lastSpellCheckRequestSequence(in Document document) raises (DOMException);
Modified: trunk/Source/WebKit2/ChangeLog (112668 => 112669)
--- trunk/Source/WebKit2/ChangeLog 2012-03-30 15:44:38 UTC (rev 112668)
+++ trunk/Source/WebKit2/ChangeLog 2012-03-30 15:47:04 UTC (rev 112669)
@@ -1,3 +1,26 @@
+2012-03-30 Allan Sandfeld Jensen <[email protected]>
+
+ [Qt] Find zoomable area using area-based hit-testing
+ https://bugs.webkit.org/show_bug.cgi?id=82609
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add area to findZoomableAreaForPoint and use new TOUCH_ADJUSTMENT
+ code-path to find the best zoomable area.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::findZoomableAreaForPoint):
+ * UIProcess/WebPageProxy.h:
+ (WebPageProxy):
+ * UIProcess/qt/QtWebPageEventHandler.cpp:
+ (QtWebPageEventHandler::handleDoubleTapEvent):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit):
+ (WebKit::WebPage::findZoomableAreaForPoint):
+ * WebProcess/WebPage/WebPage.h:
+ (WebPage):
+ * WebProcess/WebPage/WebPage.messages.in:
+
2012-03-30 Keishi Hattori <[email protected]>
Change ENABLE_INPUT_COLOR to ENABLE_INPUT_TYPE_COLOR and enable it for chromium
Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (112668 => 112669)
--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp 2012-03-30 15:44:38 UTC (rev 112668)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp 2012-03-30 15:47:04 UTC (rev 112669)
@@ -2435,12 +2435,12 @@
m_pageClient->didFindZoomableArea(target, area);
}
-void WebPageProxy::findZoomableAreaForPoint(const IntPoint& point)
+void WebPageProxy::findZoomableAreaForPoint(const IntPoint& point, const IntSize& area)
{
if (!isValid())
return;
- process()->send(Messages::WebPage::FindZoomableAreaForPoint(point), m_pageID);
+ process()->send(Messages::WebPage::FindZoomableAreaForPoint(point, area), m_pageID);
}
void WebPageProxy::didReceiveMessageFromNavigatorQtObject(const String& contents)
Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (112668 => 112669)
--- trunk/Source/WebKit2/UIProcess/WebPageProxy.h 2012-03-30 15:44:38 UTC (rev 112668)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h 2012-03-30 15:47:04 UTC (rev 112669)
@@ -576,7 +576,7 @@
WebPageCreationParameters creationParameters() const;
#if PLATFORM(QT)
- void findZoomableAreaForPoint(const WebCore::IntPoint&);
+ void findZoomableAreaForPoint(const WebCore::IntPoint&, const WebCore::IntSize&);
void didReceiveMessageFromNavigatorQtObject(const String&);
void handleDownloadRequest(DownloadProxy*);
#endif
Modified: trunk/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp (112668 => 112669)
--- trunk/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp 2012-03-30 15:44:38 UTC (rev 112668)
+++ trunk/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp 2012-03-30 15:47:04 UTC (rev 112669)
@@ -255,7 +255,7 @@
void QtWebPageEventHandler::handleDoubleTapEvent(const QTouchEvent::TouchPoint& point)
{
QTransform fromItemTransform = m_webPage->transformFromItem();
- m_webPageProxy->findZoomableAreaForPoint(fromItemTransform.map(point.pos()).toPoint());
+ m_webPageProxy->findZoomableAreaForPoint(fromItemTransform.map(point.pos()).toPoint(), IntSize(point.rect().size().toSize()));
}
void QtWebPageEventHandler::timerEvent(QTimerEvent* ev)
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (112668 => 112669)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2012-03-30 15:44:38 UTC (rev 112668)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2012-03-30 15:47:04 UTC (rev 112669)
@@ -2510,9 +2510,28 @@
}
#if PLATFORM(QT)
-void WebPage::findZoomableAreaForPoint(const WebCore::IntPoint& point)
+#if ENABLE(TOUCH_ADJUSTMENT)
+void WebPage::findZoomableAreaForPoint(const WebCore::IntPoint& point, const WebCore::IntSize& area)
{
Frame* mainframe = m_mainFrame->coreFrame();
+ Node* node = 0;
+ IntRect zoomableArea;
+ mainframe->eventHandler()->bestZoomableAreaForTouchPoint(point, area, zoomableArea, node);
+
+ ASSERT(node);
+ if (node->document() && node->document()->frame() && node->document()->frame()->view()) {
+ const ScrollView* view = node->document()->frame()->view();
+ zoomableArea = view->contentsToWindow(zoomableArea);
+ }
+
+ send(Messages::WebPageProxy::DidFindZoomableArea(point, zoomableArea));
+}
+
+#else
+void WebPage::findZoomableAreaForPoint(const WebCore::IntPoint& point, const WebCore::IntSize& area)
+{
+ UNUSED_PARAM(area);
+ Frame* mainframe = m_mainFrame->coreFrame();
HitTestResult result = mainframe->eventHandler()->hitTestResultAtPoint(mainframe->view()->windowToContents(point), /*allowShadowContent*/ false, /*ignoreClipping*/ true);
Node* node = result.innerNode();
@@ -2547,6 +2566,7 @@
send(Messages::WebPageProxy::DidFindZoomableArea(point, zoomableArea));
}
#endif
+#endif
WebPage::SandboxExtensionTracker::~SandboxExtensionTracker()
{
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (112668 => 112669)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h 2012-03-30 15:44:38 UTC (rev 112668)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h 2012-03-30 15:47:04 UTC (rev 112669)
@@ -627,7 +627,7 @@
void countStringMatches(const String&, uint32_t findOptions, uint32_t maxMatchCount);
#if PLATFORM(QT)
- void findZoomableAreaForPoint(const WebCore::IntPoint&);
+ void findZoomableAreaForPoint(const WebCore::IntPoint&, const WebCore::IntSize& area);
#endif
void didChangeSelectedIndexForActivePopupMenu(int32_t newIndex);
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in (112668 => 112669)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in 2012-03-30 15:44:38 UTC (rev 112668)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in 2012-03-30 15:47:04 UTC (rev 112669)
@@ -254,7 +254,7 @@
GestureDidEnd()
#endif
#if PLATFORM(QT)
- FindZoomableAreaForPoint(WebCore::IntPoint point)
+ FindZoomableAreaForPoint(WebCore::IntPoint point, WebCore::IntSize area)
#endif
#if PLATFORM(MAC) && !defined(BUILDING_ON_SNOW_LEOPARD)