-
hayato@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=113171 Reviewed by Dimitri Glazkov. Source/WebCore: HitTestRequest is widely used in WebCore, but AllowShadowContents flag is not turned on by default. In most places, we can set the flag on. This change makes HitTests allow shadow contents by default. To track all existing HitTests which do not allow shadow contents, and discourage such a HitTest in the future, I've introduced disallowShadowContenet flag so that callers must turn on this flag explicitly if they want to disallow shadow contents in their HitTests. This change should be refactoring and should not include any behavior changes. After this change, we'll investigate each place where disallowShadowContents is used step by step and get rid of the flag if it is okay to remove. No new tests, no behavior change. * dom/Document.h: (Document): * dom/TreeScope.cpp: (WebCore::nodeFromPoint): * editing/FrameSelection.cpp: (WebCore::FrameSelection::contains): * page/DragController.cpp: (WebCore::elementUnderMouse): (WebCore::DragController::canProcessDrag): (WebCore::DragController::startDrag): * page/EventHandler.cpp: (WebCore::EventHandler::handleMouseDraggedEvent): (WebCore::EventHandler::eventMayStartDrag): (WebCore::EventHandler::updateSelectionForMouseDrag): (WebCore::EventHandler::hitTestResultAtPoint): (WebCore::EventHandler::handleMousePressEvent): (WebCore::EventHandler::handleMouseDoubleClickEvent): (WebCore::EventHandler::handleMouseMoveEvent): (WebCore::EventHandler::handleMouseReleaseEvent): (WebCore::EventHandler::updateDragAndDrop): (WebCore::EventHandler::isInsideScrollbar): (WebCore::EventHandler::handleWheelEvent): (WebCore::EventHandler::handleGestureEvent): (WebCore::EventHandler::handleGestureLongPress): (WebCore::EventHandler::handleGestureScrollBegin): (WebCore::EventHandler::bestClickableNodeForTouchPoint): (WebCore::EventHandler::bestContextMenuNodeForTouchPoint): (WebCore::EventHandler::bestZoomableAreaForTouchPoint): (WebCore::EventHandler::sendContextMenuEvent): (WebCore::EventHandler::sendContextMenuEventForKey): (WebCore::EventHandler::hoverTimerFired): (WebCore::EventHandler::dragSourceEndedAt): (WebCore::EventHandler::handleDrag): (WebCore::EventHandler::handleTouchEvent): (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled): * page/EventHandler.h: (EventHandler): * page/FocusController.cpp: (WebCore::updateFocusCandidateIfNeeded): * page/Frame.cpp: (WebCore::Frame::visiblePositionForPoint): * page/TouchDisambiguation.cpp: (WebCore::findGoodTouchTargets): * rendering/HitTestRequest.h: (WebCore::HitTestRequest::disallowsShadowContent): * rendering/HitTestResult.cpp: (WebCore::HitTestResult::addNodeToRectBasedTestResult): * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion): * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::hitTestClipContent): * testing/Internals.cpp: (WebCore::Internals::nodesFromRect): Source/WebKit/blackberry: * Api/WebPage.cpp: (BlackBerry::WebKit::WebPagePrivate::hitTestResult): * WebKitSupport/FatFingers.cpp: (BlackBerry::WebKit::FatFingers::getNodesFromRect): * WebKitSupport/ProximityDetector.cpp: (BlackBerry::WebKit::ProximityDetector::findBestPoint): * WebKitSupport/SelectionHandler.cpp: (BlackBerry::WebKit::visiblePositionForPointIgnoringClipping): Source/WebKit/chromium: * src/ContextMenuClientImpl.cpp: (WebKit::selectMisspelledWord): * src/WebFrameImpl.cpp: (WebKit::WebFrameImpl::visiblePositionForWindowPoint): * src/WebPluginContainerImpl.cpp: (WebKit::WebPluginContainerImpl::isRectTopmost): * src/WebViewImpl.cpp: (WebKit::WebViewImpl::computeBlockBounds): (WebKit::WebViewImpl::bestTapNode): Source/WebKit/efl: * ewk/ewk_frame.cpp: (ewk_frame_hit_test_new): Source/WebKit/gtk: * webkit/webkitwebinspector.cpp: (webkit_web_inspector_inspect_coordinates): * webkit/webkitwebview.cpp: (prepareMouseEventForFrame): (webkit_web_view_get_hit_test_result): Source/WebKit/mac: * WebView/WebFrame.mm: (-[WebFrame elementAtPoint:]): * WebView/WebHTMLView.mm: (-[WebHTMLView elementAtPoint:allowShadowContent:]): Source/WebKit/qt: * WebCoreSupport/QWebFrameAdapter.cpp: (QWebFrameAdapter::hitTestContent): Source/WebKit/win: * WebView.cpp: (WebView::gestureNotify): Source/WebKit2: * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::hitTest): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::highlightPotentialActivation): (WebKit::WebPage::findZoomableAreaForPoint): (WebKit::WebPage::determinePrimarySnapshottedPlugIn): * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::shouldDelayWindowOrderingEvent): (WebKit::WebPage::acceptsFirstMouse): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146961 268f45cc-cd09-0410-ab3c-d52691b4dbfc
af1544e8