| Index: Source/core/page/EventHandler.cpp
|
| diff --git a/Source/core/page/EventHandler.cpp b/Source/core/page/EventHandler.cpp
|
| index fe0fcb17693312a9b493ac1bc5c384a54ad16bae..f49e71b9a6b850c379b5fbdc7f7d014c2d477e2b 100644
|
| --- a/Source/core/page/EventHandler.cpp
|
| +++ b/Source/core/page/EventHandler.cpp
|
| @@ -85,7 +85,6 @@
|
| #include "core/rendering/style/CursorList.h"
|
| #include "core/rendering/style/RenderStyle.h"
|
| #include "core/svg/SVGDocument.h"
|
| -#include "core/svg/SVGElementInstance.h"
|
| #include "core/svg/SVGUseElement.h"
|
| #include "platform/PlatformGestureEvent.h"
|
| #include "platform/PlatformKeyboardEvent.h"
|
| @@ -260,7 +259,6 @@ void EventHandler::clear()
|
| m_resizeScrollableArea = 0;
|
| m_nodeUnderMouse = nullptr;
|
| m_lastNodeUnderMouse = nullptr;
|
| - m_lastInstanceUnderMouse = nullptr;
|
| m_lastMouseMoveEventSubframe = nullptr;
|
| m_lastScrollbarUnderMouse = nullptr;
|
| m_clickCount = 0;
|
| @@ -1804,22 +1802,6 @@ MouseEventWithHitTestResults EventHandler::prepareMouseEvent(const HitTestReques
|
| return m_frame->document()->prepareMouseEvent(request, documentPointForWindowPoint(m_frame, mev.position()), mev);
|
| }
|
|
|
| -static inline SVGElementInstance* instanceAssociatedWithShadowTreeElement(Node* referenceNode)
|
| -{
|
| - if (!referenceNode || !referenceNode->isSVGElement())
|
| - return 0;
|
| -
|
| - ShadowRoot* shadowRoot = referenceNode->containingShadowRoot();
|
| - if (!shadowRoot)
|
| - return 0;
|
| -
|
| - Element* shadowTreeParentElement = shadowRoot->host();
|
| - if (!isSVGUseElement(shadowTreeParentElement))
|
| - return 0;
|
| -
|
| - return toSVGUseElement(shadowTreeParentElement)->instanceForShadowTreeElement(referenceNode);
|
| -}
|
| -
|
| void EventHandler::updateMouseEventTargetNode(Node* targetNode, const PlatformMouseEvent& mouseEvent, bool fireMouseOverOut)
|
| {
|
| Node* result = targetNode;
|
| @@ -1834,37 +1816,6 @@ void EventHandler::updateMouseEventTargetNode(Node* targetNode, const PlatformMo
|
| }
|
| m_nodeUnderMouse = result;
|
|
|
| - // <use> shadow tree elements may have been recloned, update node under mouse in any case
|
| - if (m_lastInstanceUnderMouse) {
|
| - SVGElement* lastCorrespondingElement = m_lastInstanceUnderMouse->correspondingElement();
|
| - SVGElement* lastCorrespondingUseElement = m_lastInstanceUnderMouse->correspondingUseElement();
|
| -
|
| - if (lastCorrespondingElement && lastCorrespondingUseElement) {
|
| - HashSet<SVGElementInstance*> instances = lastCorrespondingElement->instancesForElement();
|
| -
|
| - // Locate the recloned shadow tree element for our corresponding instance
|
| - HashSet<SVGElementInstance*>::iterator end = instances.end();
|
| - for (HashSet<SVGElementInstance*>::iterator it = instances.begin(); it != end; ++it) {
|
| - SVGElementInstance* instance = (*it);
|
| - ASSERT(instance->correspondingElement() == lastCorrespondingElement);
|
| -
|
| - if (instance == m_lastInstanceUnderMouse)
|
| - continue;
|
| -
|
| - if (instance->correspondingUseElement() != lastCorrespondingUseElement)
|
| - continue;
|
| -
|
| - SVGElement* shadowTreeElement = instance->shadowTreeElement();
|
| - if (!shadowTreeElement->inDocument() || m_lastNodeUnderMouse == shadowTreeElement)
|
| - continue;
|
| -
|
| - m_lastNodeUnderMouse = shadowTreeElement;
|
| - m_lastInstanceUnderMouse = instance;
|
| - break;
|
| - }
|
| - }
|
| - }
|
| -
|
| // Fire mouseout/mouseover if the mouse has shifted to a different node.
|
| if (fireMouseOverOut) {
|
| RenderLayer* layerForLastNode = layerForNode(m_lastNodeUnderMouse.get());
|
| @@ -1898,7 +1849,6 @@ void EventHandler::updateMouseEventTargetNode(Node* targetNode, const PlatformMo
|
| if (m_lastNodeUnderMouse && m_lastNodeUnderMouse->document() != m_frame->document()) {
|
| m_lastNodeUnderMouse = nullptr;
|
| m_lastScrollbarUnderMouse = nullptr;
|
| - m_lastInstanceUnderMouse = nullptr;
|
| }
|
|
|
| if (m_lastNodeUnderMouse != m_nodeUnderMouse) {
|
| @@ -1910,7 +1860,6 @@ void EventHandler::updateMouseEventTargetNode(Node* targetNode, const PlatformMo
|
| m_nodeUnderMouse->dispatchMouseEvent(mouseEvent, EventTypeNames::mouseover, 0, m_lastNodeUnderMouse.get());
|
| }
|
| m_lastNodeUnderMouse = m_nodeUnderMouse;
|
| - m_lastInstanceUnderMouse = instanceAssociatedWithShadowTreeElement(m_nodeUnderMouse.get());
|
| }
|
| }
|
|
|
|
|