Title: [216175] releases/WebKitGTK/webkit-2.16
- Revision
- 216175
- Author
- carlo...@webkit.org
- Date
- 2017-05-03 23:58:49 -0700 (Wed, 03 May 2017)
Log Message
Merge r214915 - Do not assert when CharacterData representing an Attr fires events
https://bugs.webkit.org/show_bug.cgi?id=170454
<rdar://problem/30979320>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Make the NoEventDispatchAssertion in CharacterData::notifyParentAfterChange conditional
since Attr elements should be allowed to fire events.
Tests: fast/dom/no-assert-for-malformed-js-url-attribute.html
* dom/CharacterData.cpp:
(WebCore::CharacterData::notifyParentAfterChange):
LayoutTests:
* fast/dom/no-assert-for-malformed-js-url-attribute-expected.txt: Added.
* fast/dom/no-assert-for-malformed-js-url-attribute.html: Added.
Modified Paths
Added Paths
Diff
Modified: releases/WebKitGTK/webkit-2.16/LayoutTests/ChangeLog (216174 => 216175)
--- releases/WebKitGTK/webkit-2.16/LayoutTests/ChangeLog 2017-05-04 06:14:36 UTC (rev 216174)
+++ releases/WebKitGTK/webkit-2.16/LayoutTests/ChangeLog 2017-05-04 06:58:49 UTC (rev 216175)
@@ -1,3 +1,14 @@
+2017-04-04 Brent Fulgham <bfulg...@apple.com>
+
+ Do not assert when CharacterData representing an Attr fires events
+ https://bugs.webkit.org/show_bug.cgi?id=170454
+ <rdar://problem/30979320>
+
+ Reviewed by Ryosuke Niwa.
+
+ * fast/dom/no-assert-for-malformed-js-url-attribute-expected.txt: Added.
+ * fast/dom/no-assert-for-malformed-js-url-attribute.html: Added.
+
2017-04-03 Chris Dumez <cdu...@apple.com>
REGRESSION (r206744): CSS background-image in style attribute ignored when using createHTMLDocument method of DOM parsing
Added: releases/WebKitGTK/webkit-2.16/LayoutTests/fast/dom/no-assert-for-malformed-js-url-attribute-expected.txt (0 => 216175)
--- releases/WebKitGTK/webkit-2.16/LayoutTests/fast/dom/no-assert-for-malformed-js-url-attribute-expected.txt (rev 0)
+++ releases/WebKitGTK/webkit-2.16/LayoutTests/fast/dom/no-assert-for-malformed-js-url-attribute-expected.txt 2017-05-04 06:58:49 UTC (rev 216175)
@@ -0,0 +1,10 @@
+CONSOLE MESSAGE: line 1: SyntaxError: Unexpected identifier 'orem'
+This tests that we do not assert when a malformed JS URL is passed to the 'src' attribute of an iframe. The test passes if it does not ASSERT.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: releases/WebKitGTK/webkit-2.16/LayoutTests/fast/dom/no-assert-for-malformed-js-url-attribute.html (0 => 216175)
--- releases/WebKitGTK/webkit-2.16/LayoutTests/fast/dom/no-assert-for-malformed-js-url-attribute.html (rev 0)
+++ releases/WebKitGTK/webkit-2.16/LayoutTests/fast/dom/no-assert-for-malformed-js-url-attribute.html 2017-05-04 06:58:49 UTC (rev 216175)
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src=""
+<script>
+description("This tests that we do not assert when a malformed JS URL is passed to the 'src' attribute of an iframe. The test passes if it does not ASSERT.");
+
+if (window.testRunner)
+ testRunner.dumpAsText();
+
+function runTest()
+{
+ var testFrame1 = document.getElementById('testFrame1');
+ testFrame1.getAttributeNode("src").firstChild.appendData("missingFunction(this) orem ipsum dosolorem");
+
+ var testFrame2 = document.getElementById('testFrame2');
+ testFrame2.getAttributeNode("src").firstChild.appendData("_javascript_:missingFunction(this) orem ipsum dosolorem");
+}
+</script>
+</head>
+<body _onload_="runTest()">
+ <iframe id='testFrame1' src=''></iframe>
+ <iframe id='testFrame2' src=''></iframe>
+</body>
+</html>
\ No newline at end of file
Modified: releases/WebKitGTK/webkit-2.16/Source/WebCore/ChangeLog (216174 => 216175)
--- releases/WebKitGTK/webkit-2.16/Source/WebCore/ChangeLog 2017-05-04 06:14:36 UTC (rev 216174)
+++ releases/WebKitGTK/webkit-2.16/Source/WebCore/ChangeLog 2017-05-04 06:58:49 UTC (rev 216175)
@@ -1,3 +1,19 @@
+2017-04-04 Brent Fulgham <bfulg...@apple.com>
+
+ Do not assert when CharacterData representing an Attr fires events
+ https://bugs.webkit.org/show_bug.cgi?id=170454
+ <rdar://problem/30979320>
+
+ Reviewed by Ryosuke Niwa.
+
+ Make the NoEventDispatchAssertion in CharacterData::notifyParentAfterChange conditional
+ since Attr elements should be allowed to fire events.
+
+ Tests: fast/dom/no-assert-for-malformed-js-url-attribute.html
+
+ * dom/CharacterData.cpp:
+ (WebCore::CharacterData::notifyParentAfterChange):
+
2017-04-03 Chris Dumez <cdu...@apple.com>
REGRESSION (r206744): CSS background-image in style attribute ignored when using createHTMLDocument method of DOM parsing
Modified: releases/WebKitGTK/webkit-2.16/Source/WebCore/dom/CharacterData.cpp (216174 => 216175)
--- releases/WebKitGTK/webkit-2.16/Source/WebCore/dom/CharacterData.cpp 2017-05-04 06:14:36 UTC (rev 216174)
+++ releases/WebKitGTK/webkit-2.16/Source/WebCore/dom/CharacterData.cpp 2017-05-04 06:58:49 UTC (rev 216175)
@@ -22,6 +22,7 @@
#include "config.h"
#include "CharacterData.h"
+#include "Attr.h"
#include "ElementTraversal.h"
#include "EventNames.h"
#include "ExceptionCode.h"
@@ -208,7 +209,9 @@
void CharacterData::notifyParentAfterChange(ContainerNode::ChildChangeSource source)
{
- NoEventDispatchAssertion assertNoEventDispatch;
+#if !ASSERT_DISABLED
+ auto assertNoEventDispatch = std::make_unique<NoEventDispatchAssertion>();
+#endif
document().incDOMTreeVersion();
@@ -221,6 +224,13 @@
ElementTraversal::nextSibling(*this),
source
};
+
+#if !ASSERT_DISABLED
+ // Attribute CharacterData is expected to fire events.
+ if (is<Attr>(*parentNode()))
+ assertNoEventDispatch = nullptr;
+#endif
+
parentNode()->childrenChanged(change);
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes