Diff
Modified: trunk/Source/WebCore/ChangeLog (173765 => 173766)
--- trunk/Source/WebCore/ChangeLog 2014-09-19 18:33:16 UTC (rev 173765)
+++ trunk/Source/WebCore/ChangeLog 2014-09-19 18:43:14 UTC (rev 173766)
@@ -1,3 +1,25 @@
+2014-09-19 Simon Fraser <[email protected]>
+
+ Provide a default argument for the most commonly used HitTestRequest variant
+ https://bugs.webkit.org/show_bug.cgi?id=136653
+
+ Reviewed by Darin Adler.
+
+ Make the default HitTestRequest flags be ReadOnly | Active | DisallowShadowContent
+ and change call sites using the default flags to use a HitTestRequest temporary.
+
+ * dom/TreeScope.cpp:
+ (WebCore::nodeFromPoint):
+ * editing/FrameSelection.cpp:
+ (WebCore::FrameSelection::contains):
+ * page/DragController.cpp:
+ (WebCore::elementUnderMouse):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMouseDraggedEvent):
+ (WebCore::EventHandler::handleMousePressEvent):
+ * rendering/HitTestRequest.h:
+ (WebCore::HitTestRequest::HitTestRequest):
+
2014-09-19 Chris Dumez <[email protected]>
Allow DOM methods to return references instead of pointers
Modified: trunk/Source/WebCore/dom/TreeScope.cpp (173765 => 173766)
--- trunk/Source/WebCore/dom/TreeScope.cpp 2014-09-19 18:33:16 UTC (rev 173765)
+++ trunk/Source/WebCore/dom/TreeScope.cpp 2014-09-19 18:43:14 UTC (rev 173766)
@@ -240,9 +240,8 @@
if (!visibleRect.contains(point))
return nullptr;
- HitTestRequest request(HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::DisallowShadowContent);
HitTestResult result(point);
- document->renderView()->hitTest(request, result);
+ document->renderView()->hitTest(HitTestRequest(), result);
if (localPoint)
*localPoint = result.localPoint();
Modified: trunk/Source/WebCore/editing/FrameSelection.cpp (173765 => 173766)
--- trunk/Source/WebCore/editing/FrameSelection.cpp 2014-09-19 18:33:16 UTC (rev 173765)
+++ trunk/Source/WebCore/editing/FrameSelection.cpp 2014-09-19 18:43:14 UTC (rev 173766)
@@ -1597,9 +1597,8 @@
if (!document->renderView())
return false;
- HitTestRequest request(HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::DisallowShadowContent);
HitTestResult result(point);
- document->renderView()->hitTest(request, result);
+ document->renderView()->hitTest(HitTestRequest(), result);
Node* innerNode = result.innerNode();
if (!innerNode || !innerNode->renderer())
return false;
Modified: trunk/Source/WebCore/page/DragController.cpp (173765 => 173766)
--- trunk/Source/WebCore/page/DragController.cpp 2014-09-19 18:33:16 UTC (rev 173765)
+++ trunk/Source/WebCore/page/DragController.cpp 2014-09-19 18:43:14 UTC (rev 173766)
@@ -286,9 +286,8 @@
float zoomFactor = frame ? frame->pageZoomFactor() : 1;
LayoutPoint point(p.x() * zoomFactor, p.y() * zoomFactor);
- HitTestRequest request(HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::DisallowShadowContent);
HitTestResult result(point);
- documentUnderMouse->renderView()->hitTest(request, result);
+ documentUnderMouse->renderView()->hitTest(HitTestRequest(), result);
Node* n = result.innerNode();
while (n && !n->isElementNode())
Modified: trunk/Source/WebCore/page/EventHandler.cpp (173765 => 173766)
--- trunk/Source/WebCore/page/EventHandler.cpp 2014-09-19 18:33:16 UTC (rev 173765)
+++ trunk/Source/WebCore/page/EventHandler.cpp 2014-09-19 18:43:14 UTC (rev 173766)
@@ -840,9 +840,8 @@
}
if (m_selectionInitiationState != ExtendedSelection) {
- HitTestRequest request(HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::DisallowShadowContent);
HitTestResult result(m_mouseDownPos);
- m_frame.document()->renderView()->hitTest(request, result);
+ m_frame.document()->renderView()->hitTest(HitTestRequest(), result);
updateSelectionForMouseDrag(result);
}
@@ -1751,8 +1750,7 @@
// in case the scrollbar widget was destroyed when the mouse event was handled.
if (mouseEvent.scrollbar()) {
const bool wasLastScrollBar = mouseEvent.scrollbar() == m_lastScrollbarUnderMouse.get();
- HitTestRequest request(HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::DisallowShadowContent);
- mouseEvent = m_frame.document()->prepareMouseEvent(request, documentPoint, platformMouseEvent);
+ mouseEvent = m_frame.document()->prepareMouseEvent(HitTestRequest(), documentPoint, platformMouseEvent);
if (wasLastScrollBar && mouseEvent.scrollbar() != m_lastScrollbarUnderMouse.get())
m_lastScrollbarUnderMouse = nullptr;
}
@@ -1770,10 +1768,8 @@
// If a mouse event handler changes the input element type to one that has a widget associated,
// we'd like to EventHandler::handleMousePressEvent to pass the event to the widget and thus the
// event target node can't still be the shadow node.
- if (mouseEvent.targetNode()->isShadowRoot() && isHTMLInputElement(toShadowRoot(mouseEvent.targetNode())->hostElement())) {
- HitTestRequest request(HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::DisallowShadowContent);
- mouseEvent = m_frame.document()->prepareMouseEvent(request, documentPoint, platformMouseEvent);
- }
+ if (mouseEvent.targetNode()->isShadowRoot() && isHTMLInputElement(toShadowRoot(mouseEvent.targetNode())->hostElement()))
+ mouseEvent = m_frame.document()->prepareMouseEvent(HitTestRequest(), documentPoint, platformMouseEvent);
FrameView* view = m_frame.view();
Scrollbar* scrollbar = view ? view->scrollbarAtPoint(platformMouseEvent.position()) : 0;
Modified: trunk/Source/WebCore/rendering/HitTestRequest.h (173765 => 173766)
--- trunk/Source/WebCore/rendering/HitTestRequest.h 2014-09-19 18:33:16 UTC (rev 173765)
+++ trunk/Source/WebCore/rendering/HitTestRequest.h 2014-09-19 18:43:14 UTC (rev 173766)
@@ -44,7 +44,7 @@
typedef unsigned HitTestRequestType;
- HitTestRequest(HitTestRequestType requestType)
+ HitTestRequest(HitTestRequestType requestType = ReadOnly | Active | DisallowShadowContent)
: m_requestType(requestType)
{
}
Modified: trunk/Source/WebKit2/ChangeLog (173765 => 173766)
--- trunk/Source/WebKit2/ChangeLog 2014-09-19 18:33:16 UTC (rev 173765)
+++ trunk/Source/WebKit2/ChangeLog 2014-09-19 18:43:14 UTC (rev 173766)
@@ -1,3 +1,18 @@
+2014-09-19 Simon Fraser <[email protected]>
+
+ Provide a default argument for the most commonly used HitTestRequest variant
+ https://bugs.webkit.org/show_bug.cgi?id=136653
+
+ Reviewed by Darin Adler.
+
+ Make the default HitTestRequest flags be ReadOnly | Active | DisallowShadowContent
+ and change call sites using the default flags to use a HitTestRequest temporary.
+
+ * WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
+ (WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
+ * WebProcess/WebPage/ios/WebPageIOS.mm:
+ (WebKit::WebPage::dynamicViewportSizeUpdate):
+
2014-09-19 Daniel Bates <[email protected]>
Always assume internal SDK when building configuration Production
Modified: trunk/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.cpp (173765 => 173766)
--- trunk/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.cpp 2014-09-19 18:33:16 UTC (rev 173765)
+++ trunk/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.cpp 2014-09-19 18:43:14 UTC (rev 173766)
@@ -82,11 +82,10 @@
if (m_webPage.mainWebFrame()->handlesPageScaleGesture())
return;
- HitTestRequest request(HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::DisallowShadowContent);
IntPoint originInContentsSpace = m_webPage.mainFrameView()->windowToContents(roundedIntPoint(origin));
HitTestResult hitTestResult = HitTestResult(originInContentsSpace);
- m_webPage.mainFrameView()->renderView()->hitTest(request, hitTestResult);
+ m_webPage.mainFrameView()->renderView()->hitTest(HitTestRequest(), hitTestResult);
if (Node* node = hitTestResult.innerNode()) {
bool isReplaced;
Modified: trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm (173765 => 173766)
--- trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm 2014-09-19 18:33:16 UTC (rev 173765)
+++ trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm 2014-09-19 18:43:14 UTC (rev 173766)
@@ -2246,10 +2246,8 @@
HitTestResult hitTestResult = HitTestResult(unobscuredContentRectCenter);
- if (RenderView* mainFrameRenderView = frameView.renderView()) {
- HitTestRequest request(HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::DisallowShadowContent);
- mainFrameRenderView->hitTest(request, hitTestResult);
- }
+ if (RenderView* mainFrameRenderView = frameView.renderView())
+ mainFrameRenderView->hitTest(HitTestRequest(), hitTestResult);
if (Node* node = hitTestResult.innerNode()) {
if (RenderObject* renderer = node->renderer()) {