| Index: third_party/WebKit/Source/core/layout/HitTestResult.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/HitTestResult.cpp b/third_party/WebKit/Source/core/layout/HitTestResult.cpp
|
| index 54e7376ca94af767bf856b9dea0d2603b548c9f7..f3175535c5251fb743debb3cef5168c9c2f06d9e 100644
|
| --- a/third_party/WebKit/Source/core/layout/HitTestResult.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/HitTestResult.cpp
|
| @@ -169,7 +169,7 @@ LayoutObject* HitTestResult::layoutObject() const {
|
| return m_innerNode ? m_innerNode->layoutObject() : 0;
|
| }
|
|
|
| -void HitTestResult::setToShadowHostIfInUserAgentShadowRoot() {
|
| +void HitTestResult::setToShadowHostIfInRestrictedShadowRoot() {
|
| Node* node = innerNode();
|
| if (!node)
|
| return;
|
| @@ -177,10 +177,14 @@ void HitTestResult::setToShadowHostIfInUserAgentShadowRoot() {
|
| ShadowRoot* containingShadowRoot = node->containingShadowRoot();
|
| Element* shadowHost = nullptr;
|
|
|
| + // Consider a closed shadow tree of SVG's <use> element as a special
|
| + // case so that a toolip title in the shadow tree works.
|
| while (containingShadowRoot &&
|
| - containingShadowRoot->type() == ShadowRootType::UserAgent) {
|
| + (containingShadowRoot->type() == ShadowRootType::UserAgent ||
|
| + isSVGUseElement(containingShadowRoot->host()))) {
|
| shadowHost = &containingShadowRoot->host();
|
| containingShadowRoot = shadowHost->containingShadowRoot();
|
| + setInnerNode(node->ownerShadowHost());
|
| }
|
|
|
| if (shadowHost)
|
|
|