Changeset 204936 in webkit


Ignore:
Timestamp:
Aug 24, 2016 2:58:33 PM (8 years ago)
Author:
Chris Dumez
Message:

Assertion hit: ASSERT(!m_parserScheduler) in ~HTMLDocumentParser()
https://bugs.webkit.org/show_bug.cgi?id=161083
<rdar://problem/27986937>

Reviewed by Darin Adler.

Source/WebCore:

Call cancelParsing() right before re-creating the new parser in
Document::implicitOpen(). We would previously call removeChildren()
in between which is was an issue because it can cause JS to be
executed and therefore the parser to be re-created after we have
cancelled parsing.

No new tests, unskipped html/browsers/browsing-the-web/unloading-documents/004.html
which was consistently crashing.

  • dom/Document.cpp:

(WebCore::Document::implicitOpen):

LayoutTests:

Unskip html/browsers/browsing-the-web/unloading-documents/004.html as
it is no longer crashing.

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r204935 r204936  
     12016-08-24  Chris Dumez  <cdumez@apple.com>
     2
     3        Assertion hit: ASSERT(!m_parserScheduler) in ~HTMLDocumentParser()
     4        https://bugs.webkit.org/show_bug.cgi?id=161083
     5        <rdar://problem/27986937>
     6
     7        Reviewed by Darin Adler.
     8
     9        Unskip html/browsers/browsing-the-web/unloading-documents/004.html as
     10        it is no longer crashing.
     11
     12        * TestExpectations:
     13
    1142016-08-24  Eric Carlson  <eric.carlson@apple.com>
    215
  • trunk/LayoutTests/TestExpectations

    r204915 r204936  
    237237# Promises/A+ 2.3.3 has many tests and it sometimes exceeds the time limit.
    238238webkit.org/b/136878 js/promises-tests/promises-tests-2-3-3.html [ Slow ]
    239 
    240 webkit.org/b/161083 [ Debug ] imported/w3c/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/004.html [ Crash ]
    241239
    242240# Resource files not in resources folder
  • trunk/Source/WebCore/ChangeLog

    r204935 r204936  
     12016-08-24  Chris Dumez  <cdumez@apple.com>
     2
     3        Assertion hit: ASSERT(!m_parserScheduler) in ~HTMLDocumentParser()
     4        https://bugs.webkit.org/show_bug.cgi?id=161083
     5        <rdar://problem/27986937>
     6
     7        Reviewed by Darin Adler.
     8
     9        Call cancelParsing() right before re-creating the new parser in
     10        Document::implicitOpen(). We would previously call removeChildren()
     11        in between which is was an issue because it can cause JS to be
     12        executed and therefore the parser to be re-created after we have
     13        cancelled parsing.
     14
     15        No new tests, unskipped html/browsers/browsing-the-web/unloading-documents/004.html
     16        which was consistently crashing.
     17
     18        * dom/Document.cpp:
     19        (WebCore::Document::implicitOpen):
     20
    1212016-08-24  Eric Carlson  <eric.carlson@apple.com>
    222
  • trunk/Source/WebCore/dom/Document.cpp

    r204732 r204936  
    26142614void Document::implicitOpen()
    26152615{
     2616    removeChildren();
     2617
     2618    setCompatibilityMode(DocumentCompatibilityMode::NoQuirksMode);
     2619
    26162620    cancelParsing();
    2617 
    2618     removeChildren();
    2619 
    2620     setCompatibilityMode(DocumentCompatibilityMode::NoQuirksMode);
    2621 
    26222621    m_parser = createParser();
    26232622    setParsing(true);
Note: See TracChangeset for help on using the changeset viewer.