Changeset 154613 in webkit


Ignore:
Timestamp:
Aug 26, 2013 10:45:59 AM (11 years ago)
Author:
Antti Koivisto
Message:

REGRESSION (r154581): Some plugin tests failing in debug bots
https://bugs.webkit.org/show_bug.cgi?id=120315

Reviewed by Darin Adler.

We are hitting the new no-event-dispatch-while-iterating assertion.

Detaching deletes a plugin which modifies DOM while it dies.

  • dom/Document.cpp:

(WebCore::Document::createRenderTree):
(WebCore::Document::detach):

Don't iterate at all. Document never has more than one Element child anyway.

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r154608 r154613  
     12013-08-26  Antti Koivisto  <antti@apple.com>
     2
     3        REGRESSION (r154581): Some plugin tests failing in debug bots
     4        https://bugs.webkit.org/show_bug.cgi?id=120315
     5
     6        Reviewed by Darin Adler.
     7       
     8        We are hitting the new no-event-dispatch-while-iterating assertion.
     9
     10        Detaching deletes a plugin which modifies DOM while it dies.
     11
     12        * dom/Document.cpp:
     13        (WebCore::Document::createRenderTree):
     14        (WebCore::Document::detach):
     15       
     16            Don't iterate at all. Document never has more than one Element child anyway.
     17
    1182013-08-26  David Kilzer  <ddkilzer@apple.com>
    219
  • trunk/Source/WebCore/dom/Document.cpp

    r154597 r154613  
    19801980    recalcStyle(Style::Force);
    19811981
    1982     for (auto child = elementDescendants(this).begin(), end = elementDescendants(this).end(); child != end; ++child)
    1983         Style::attachRenderTree(&*child);
     1982    if (m_documentElement)
     1983        Style::attachRenderTree(m_documentElement.get());
    19841984
    19851985    setAttached(true);
     
    20802080    TemporaryChange<bool> change(m_renderTreeBeingDestroyed, true);
    20812081
    2082     for (auto child = elementDescendants(this).begin(), end = elementDescendants(this).end(); child != end; ++child)
    2083         Style::detachRenderTree(&*child);
     2082    if (m_documentElement)
     2083        Style::detachRenderTree(m_documentElement.get());
    20842084
    20852085    clearChildNeedsStyleRecalc();
Note: See TracChangeset for help on using the changeset viewer.