Index: Source/core/dom/Element.cpp |
diff --git a/Source/core/dom/Element.cpp b/Source/core/dom/Element.cpp |
index db7ace97e2c10869333f046d87afa13bb59f4c0a..183c8edc156f8d2ebbb0f6ee66d86c5a8ce093e4 100644 |
--- a/Source/core/dom/Element.cpp |
+++ b/Source/core/dom/Element.cpp |
@@ -1684,7 +1684,7 @@ PassRefPtr<ShadowRoot> Element::createShadowRoot(ExceptionState& es) |
ensureUserAgentShadowRoot(); |
if (RuntimeEnabledFeatures::authorShadowDOMForAnyElementEnabled()) |
- return ensureShadow().addShadowRoot(*this, ShadowRoot::AuthorShadowRoot); |
+ return PassRefPtr<ShadowRoot>(ensureShadow().addShadowRoot(*this, ShadowRoot::AuthorShadowRoot)); |
// Since some elements recreates shadow root dynamically, multiple shadow |
// subtrees won't work well in that element. Until they are fixed, we disable |
@@ -1693,7 +1693,7 @@ PassRefPtr<ShadowRoot> Element::createShadowRoot(ExceptionState& es) |
es.throwUninformativeAndGenericDOMException(HierarchyRequestError); |
return 0; |
} |
- return ensureShadow().addShadowRoot(*this, ShadowRoot::AuthorShadowRoot); |
+ return PassRefPtr<ShadowRoot>(ensureShadow().addShadowRoot(*this, ShadowRoot::AuthorShadowRoot)); |
} |
ShadowRoot* Element::shadowRoot() const |
@@ -1723,11 +1723,11 @@ ShadowRoot* Element::userAgentShadowRoot() const |
return 0; |
} |
-ShadowRoot* Element::ensureUserAgentShadowRoot() |
+ShadowRoot& Element::ensureUserAgentShadowRoot() |
{ |
if (ShadowRoot* shadowRoot = userAgentShadowRoot()) |
- return shadowRoot; |
- ShadowRoot* shadowRoot = ensureShadow().addShadowRoot(*this, ShadowRoot::UserAgentShadowRoot); |
+ return *shadowRoot; |
+ ShadowRoot& shadowRoot = ensureShadow().addShadowRoot(*this, ShadowRoot::UserAgentShadowRoot); |
didAddUserAgentShadowRoot(shadowRoot); |
return shadowRoot; |
} |