| 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;
|
| }
|
|
|