⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 240377 in webkit


Ignore:
Timestamp:
Jan 23, 2019, 5:21:22 PM (8 years ago)
Author:
Alan Coon
Message:

Cherry-pick r240037. rdar://problem/47458128

Add more assertions to find root cause for release assert hit in StyleResolver
​https://bugs.webkit.org/show_bug.cgi?id=193488
<rdar://problem/30983040>

Reviewed by Zalan Bujtas.

  • css/StyleResolver.cpp: (WebCore::StyleResolver::~StyleResolver):

Release assert we are not resolving tree style.

  • dom/Document.cpp: (WebCore::Document::setIsResolvingTreeStyle):
  • dom/Document.h: (WebCore::Document::isResolvingTreeStyle const):
  • style/StyleTreeResolver.cpp: (WebCore::Style::TreeResolver::Scope::Scope): (WebCore::Style::TreeResolver::Scope::~Scope):

Set isResolvingTreeStyle bit when we have a tree resolver scope.

git-svn-id: ​https://svn.webkit.org/repository/webkit/trunk@240037 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Location:
branches/safari-607-branch/Source/WebCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-607-branch/Source/WebCore/ChangeLog

    r240373 r240377  
     12019-01-23  Alan Coon  <alancoon@apple.com>
     2
     3        Cherry-pick r240037. rdar://problem/47458128
     4
     5    Add more assertions to find root cause for release assert hit in StyleResolver
     6    https://bugs.webkit.org/show_bug.cgi?id=193488
     7    <rdar://problem/30983040>
     8   
     9    Reviewed by Zalan Bujtas.
     10   
     11    * css/StyleResolver.cpp:
     12    (WebCore::StyleResolver::~StyleResolver):
     13   
     14    Release assert we are not resolving tree style.
     15   
     16    * dom/Document.cpp:
     17    (WebCore::Document::setIsResolvingTreeStyle):
     18    * dom/Document.h:
     19    (WebCore::Document::isResolvingTreeStyle const):
     20    * style/StyleTreeResolver.cpp:
     21    (WebCore::Style::TreeResolver::Scope::Scope):
     22    (WebCore::Style::TreeResolver::Scope::~Scope):
     23   
     24    Set isResolvingTreeStyle bit when we have a tree resolver scope.
     25   
     26   
     27    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     28
     29    2019-01-16  Antti Koivisto  <antti@apple.com>
     30
     31            Add more assertions to find root cause for release assert hit in StyleResolver
     32            https://bugs.webkit.org/show_bug.cgi?id=193488
     33            <rdar://problem/30983040>
     34
     35            Reviewed by Zalan Bujtas.
     36
     37            * css/StyleResolver.cpp:
     38            (WebCore::StyleResolver::~StyleResolver):
     39
     40            Release assert we are not resolving tree style.
     41
     42            * dom/Document.cpp:
     43            (WebCore::Document::setIsResolvingTreeStyle):
     44            * dom/Document.h:
     45            (WebCore::Document::isResolvingTreeStyle const):
     46            * style/StyleTreeResolver.cpp:
     47            (WebCore::Style::TreeResolver::Scope::Scope):
     48            (WebCore::Style::TreeResolver::Scope::~Scope):
     49
     50            Set isResolvingTreeStyle bit when we have a tree resolver scope.
     51
    1522019-01-23  Alan Coon  <alancoon@apple.com>
    253
  • branches/safari-607-branch/Source/WebCore/css/StyleResolver.cpp

    r239535 r240377  
    268268StyleResolver::~StyleResolver()
    269269{
     270    RELEASE_ASSERT(!m_document.isResolvingTreeStyle());
    270271    RELEASE_ASSERT(!m_isDeleted);
    271272    m_isDeleted = true;
  • branches/safari-607-branch/Source/WebCore/dom/Document.cpp

    r240079 r240377  
    23252325}
    23262326
     2327void Document::setIsResolvingTreeStyle(bool value)
     2328{
     2329    RELEASE_ASSERT(value != m_isResolvingTreeStyle);
     2330    m_isResolvingTreeStyle = value;
     2331}
     2332
    23272333void Document::createRenderTree()
    23282334{
  • branches/safari-607-branch/Source/WebCore/dom/Document.h

    r239640 r240377  
    13311331    bool inStyleRecalc() const { return m_inStyleRecalc; }
    13321332    bool inRenderTreeUpdate() const { return m_inRenderTreeUpdate; }
     1333    bool isResolvingTreeStyle() const { return m_isResolvingTreeStyle; }
     1334    void setIsResolvingTreeStyle(bool);
    13331335
    13341336    void updateTextRenderer(Text&, unsigned offsetOfReplacedText, unsigned lengthOfReplacedText);
    … …  
    20032005    bool m_closeAfterStyleRecalc { false };
    20042006    bool m_inRenderTreeUpdate { false };
     2007    bool m_isResolvingTreeStyle { false };
    20052008
    20062009    bool m_gotoAnchorNeededAfterStylesheetsLoad { false };
  • branches/safari-607-branch/Source/WebCore/style/StyleTreeResolver.cpp

    r238097 r240377  
    6868    , sharingResolver(document, styleResolver.ruleSets(), selectorFilter)
    6969{
     70    document.setIsResolvingTreeStyle(true);
    7071}
    7172
    … …  
    8182TreeResolver::Scope::~Scope()
    8283{
     84    if (!shadowRoot)
     85        styleResolver.document().setIsResolvingTreeStyle(false);
     86
    8387    styleResolver.setOverrideDocumentElementStyle(nullptr);
    8488}
Note: See TracChangeset for help on using the changeset viewer.