Changeset 207695 in webkit


Ignore:
Timestamp:
Oct 21, 2016 2:07:44 PM (7 years ago)
Author:
hyatt@apple.com
Message:

[CSS Parser] Make sure shadow user agent sheets parse in UASheetMode
https://bugs.webkit.org/show_bug.cgi?id=163810

Reviewed by Dean Jackson.

  • dom/InlineStyleSheetOwner.cpp:

(WebCore::parserContextForElement):
(WebCore::makeInlineStyleSheetCacheKey):
(WebCore::InlineStyleSheetOwner::createSheet):
(WebCore::parserContextForForElement): Deleted.

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r207694 r207695  
     12016-10-21  Dave Hyatt  <hyatt@apple.com>
     2
     3        [CSS Parser] Make sure shadow user agent sheets parse in UASheetMode
     4        https://bugs.webkit.org/show_bug.cgi?id=163810
     5
     6        Reviewed by Dean Jackson.
     7
     8        * dom/InlineStyleSheetOwner.cpp:
     9        (WebCore::parserContextForElement):
     10        (WebCore::makeInlineStyleSheetCacheKey):
     11        (WebCore::InlineStyleSheetOwner::createSheet):
     12        (WebCore::parserContextForForElement): Deleted.
     13
    1142016-10-21  Jer Noble  <jer.noble@apple.com>
    215
  • trunk/Source/WebCore/dom/InlineStyleSheetOwner.cpp

    r207339 r207695  
    4545}
    4646
    47 static CSSParserContext parserContextForForElement(const Element& element)
     47static CSSParserContext parserContextForElement(const Element& element)
    4848{
    4949    auto* shadowRoot = element.containingShadowRoot();
     
    5151    auto& baseURL = shadowRoot && shadowRoot->mode() == ShadowRoot::Mode::UserAgent ? blankURL() : element.document().baseURL();
    5252
    53     return CSSParserContext { element.document(), baseURL, element.document().encoding() };
     53    CSSParserContext result = CSSParserContext { element.document(), baseURL, element.document().encoding() };
     54    if (shadowRoot && shadowRoot->mode() == ShadowRoot::Mode::UserAgent)
     55        result.mode = UASheetMode;
     56    return result;
    5457}
    5558
     
    6164        return { };
    6265
    63     return std::make_pair(text, parserContextForForElement(element));
     66    return std::make_pair(text, parserContextForElement(element));
    6467}
    6568
     
    198201    m_loading = true;
    199202
    200     auto contents = StyleSheetContents::create(String(), parserContextForForElement(element));
     203    auto contents = StyleSheetContents::create(String(), parserContextForElement(element));
    201204
    202205    m_sheet = CSSStyleSheet::createInline(contents.get(), element, m_startTextPosition);
Note: See TracChangeset for help on using the changeset viewer.