Title: [204936] trunk
Revision
204936
Author
[email protected]
Date
2016-08-24 14:58:33 -0700 (Wed, 24 Aug 2016)

Log 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.

* TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (204935 => 204936)


--- trunk/LayoutTests/ChangeLog	2016-08-24 21:55:27 UTC (rev 204935)
+++ trunk/LayoutTests/ChangeLog	2016-08-24 21:58:33 UTC (rev 204936)
@@ -1,3 +1,16 @@
+2016-08-24  Chris Dumez  <[email protected]>
+
+        Assertion hit: ASSERT(!m_parserScheduler) in ~HTMLDocumentParser()
+        https://bugs.webkit.org/show_bug.cgi?id=161083
+        <rdar://problem/27986937>
+
+        Reviewed by Darin Adler.
+
+        Unskip html/browsers/browsing-the-web/unloading-documents/004.html as
+        it is no longer crashing.
+
+        * TestExpectations:
+
 2016-08-24  Eric Carlson  <[email protected]>
 
         [MediaStream] Add support for OverConstrained Error

Modified: trunk/LayoutTests/TestExpectations (204935 => 204936)


--- trunk/LayoutTests/TestExpectations	2016-08-24 21:55:27 UTC (rev 204935)
+++ trunk/LayoutTests/TestExpectations	2016-08-24 21:58:33 UTC (rev 204936)
@@ -237,8 +237,6 @@
 # Promises/A+ 2.3.3 has many tests and it sometimes exceeds the time limit. 
 webkit.org/b/136878 js/promises-tests/promises-tests-2-3-3.html [ Slow ]
 
-webkit.org/b/161083 [ Debug ] imported/w3c/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/004.html [ Crash ]
-
 # Resource files not in resources folder
 imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-sync-block-defer-scripts-subframe.html [ Skip ]
 imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-sync-not-hang-scriptloader-subframe.html [ Skip ]

Modified: trunk/Source/WebCore/ChangeLog (204935 => 204936)


--- trunk/Source/WebCore/ChangeLog	2016-08-24 21:55:27 UTC (rev 204935)
+++ trunk/Source/WebCore/ChangeLog	2016-08-24 21:58:33 UTC (rev 204936)
@@ -1,3 +1,23 @@
+2016-08-24  Chris Dumez  <[email protected]>
+
+        Assertion hit: ASSERT(!m_parserScheduler) in ~HTMLDocumentParser()
+        https://bugs.webkit.org/show_bug.cgi?id=161083
+        <rdar://problem/27986937>
+
+        Reviewed by Darin Adler.
+
+        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):
+
 2016-08-24  Eric Carlson  <[email protected]>
 
         [MediaStream] Add support for OverConstrained Error

Modified: trunk/Source/WebCore/dom/Document.cpp (204935 => 204936)


--- trunk/Source/WebCore/dom/Document.cpp	2016-08-24 21:55:27 UTC (rev 204935)
+++ trunk/Source/WebCore/dom/Document.cpp	2016-08-24 21:58:33 UTC (rev 204936)
@@ -2613,12 +2613,11 @@
 
 void Document::implicitOpen()
 {
-    cancelParsing();
-
     removeChildren();
 
     setCompatibilityMode(DocumentCompatibilityMode::NoQuirksMode);
 
+    cancelParsing();
     m_parser = createParser();
     setParsing(true);
     setReadyState(Loading);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to