| Index: Source/core/dom/Document.cpp
|
| diff --git a/Source/core/dom/Document.cpp b/Source/core/dom/Document.cpp
|
| index d4899823de51d810c236569a9a1cd5f9a8d2d397..245548683d376cd198e7b55d261954ee2230c531 100644
|
| --- a/Source/core/dom/Document.cpp
|
| +++ b/Source/core/dom/Document.cpp
|
| @@ -106,7 +106,6 @@
|
| #include "ScriptedAnimationController.h"
|
| #include "SelectorQuery.h"
|
| #include "ShadowRoot.h"
|
| -#include "StaticHashSetNodeList.h"
|
| #include "StylePropertySet.h"
|
| #include "StyleResolver.h"
|
| #include "StyleSheetContents.h"
|
| @@ -1291,58 +1290,6 @@ String Document::suggestedMIMEType() const
|
| return String();
|
| }
|
|
|
| -// FIXME: We need to discuss the DOM API here at some point. Ideas:
|
| -// * making it receive a rect as parameter, i.e. nodesFromRect(x, y, w, h);
|
| -// * making it receive the expading size of each direction separately,
|
| -// i.e. nodesFromRect(x, y, topSize, rightSize, bottomSize, leftSize);
|
| -PassRefPtr<NodeList> Document::nodesFromRect(int centerX, int centerY, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding, HitTestRequest::HitTestRequestType hitType) const
|
| -{
|
| - // FIXME: Share code between this, elementFromPoint and caretRangeFromPoint.
|
| - if (!renderer())
|
| - return 0;
|
| - Frame* frame = this->frame();
|
| - if (!frame)
|
| - return 0;
|
| - FrameView* frameView = frame->view();
|
| - if (!frameView)
|
| - return 0;
|
| -
|
| - float zoomFactor = frame->pageZoomFactor();
|
| - LayoutPoint point = roundedLayoutPoint(FloatPoint(centerX * zoomFactor + view()->scrollX(), centerY * zoomFactor + view()->scrollY()));
|
| -
|
| - HitTestRequest request(hitType);
|
| -
|
| - // When ignoreClipping is false, this method returns null for coordinates outside of the viewport.
|
| - if (!request.ignoreClipping() && !frameView->visibleContentRect().intersects(HitTestLocation::rectForPoint(point, topPadding, rightPadding, bottomPadding, leftPadding)))
|
| - return 0;
|
| -
|
| - // Passing a zero padding will trigger a rect hit test, however for the purposes of nodesFromRect,
|
| - // we special handle this case in order to return a valid NodeList.
|
| - if (!topPadding && !rightPadding && !bottomPadding && !leftPadding) {
|
| - HitTestResult result(point);
|
| - return handleZeroPadding(request, result);
|
| - }
|
| -
|
| - HitTestResult result(point, topPadding, rightPadding, bottomPadding, leftPadding);
|
| - renderView()->hitTest(request, result);
|
| -
|
| - return StaticHashSetNodeList::adopt(result.rectBasedTestResult());
|
| -}
|
| -
|
| -PassRefPtr<NodeList> Document::handleZeroPadding(const HitTestRequest& request, HitTestResult& result) const
|
| -{
|
| - renderView()->hitTest(request, result);
|
| -
|
| - Node* node = result.innerNode();
|
| - if (!node)
|
| - return 0;
|
| -
|
| - node = node->deprecatedShadowAncestorNode();
|
| - ListHashSet<RefPtr<Node> > list;
|
| - list.add(node);
|
| - return StaticHashSetNodeList::adopt(list);
|
| -}
|
| -
|
| Element* Document::elementFromPoint(int x, int y) const
|
| {
|
| if (!renderer())
|
|
|