Diff
Modified: releases/WebKitGTK/webkit-2.20/LayoutTests/ChangeLog (229265 => 229266)
--- releases/WebKitGTK/webkit-2.20/LayoutTests/ChangeLog 2018-03-05 13:16:10 UTC (rev 229265)
+++ releases/WebKitGTK/webkit-2.20/LayoutTests/ChangeLog 2018-03-05 13:16:20 UTC (rev 229266)
@@ -1,3 +1,22 @@
+2018-03-01 Chris Dumez <[email protected]>
+
+ imported/w3c/web-platform-tests/html/browsers/windows/browsing-context.html fails with async policy delegates
+ https://bugs.webkit.org/show_bug.cgi?id=183225
+ <rdar://problem/38003828>
+
+ Reviewed by Alex Christensen.
+
+ * http/wpt/html/browsers/windows/browsing-context-expected.txt: Added.
+ * http/wpt/html/browsers/windows/browsing-context.html: Added.
+ Add layout test coverage.
+
+ * fast/loader/iframe-src-invalid-url-expected.txt:
+ * fast/loader/policy-delegate-action-hit-test-zoomed-expected.txt:
+ * loader/navigation-policy/should-open-external-urls/subframe-click-target-self-expected.txt:
+ * loader/navigation-policy/should-open-external-urls/subframe-click-target-top-expected.txt:
+ Rebaseline a few layout tests now that the log lines for the about:blank policy checks are
+ gone.
+
2018-02-28 Chris Dumez <[email protected]>
html/browsers/browsing-the-web/navigating-across-documents/006.html fails with async policy delegates
Modified: releases/WebKitGTK/webkit-2.20/LayoutTests/fast/loader/iframe-src-invalid-url-expected.txt (229265 => 229266)
--- releases/WebKitGTK/webkit-2.20/LayoutTests/fast/loader/iframe-src-invalid-url-expected.txt 2018-03-05 13:16:10 UTC (rev 229265)
+++ releases/WebKitGTK/webkit-2.20/LayoutTests/fast/loader/iframe-src-invalid-url-expected.txt 2018-03-05 13:16:20 UTC (rev 229266)
@@ -1,7 +1,5 @@
- decidePolicyForNavigationAction
<NSURLRequest URL data:text/html, <iframe id='iframe' src=''></iframe>, main document URL iframe-src-invalid-url.html, http method GET> is main frame - no should open URLs externally - no
- - decidePolicyForNavigationAction
-<NSURLRequest URL about:blank, main document URL iframe-src-invalid-url.html, http method GET> is main frame - no should open URLs externally - no
Test passes if the second iframe navigates to about:blank.
Modified: releases/WebKitGTK/webkit-2.20/LayoutTests/fast/loader/policy-delegate-action-hit-test-zoomed-expected.txt (229265 => 229266)
--- releases/WebKitGTK/webkit-2.20/LayoutTests/fast/loader/policy-delegate-action-hit-test-zoomed-expected.txt 2018-03-05 13:16:10 UTC (rev 229265)
+++ releases/WebKitGTK/webkit-2.20/LayoutTests/fast/loader/policy-delegate-action-hit-test-zoomed-expected.txt 2018-03-05 13:16:20 UTC (rev 229266)
@@ -1,4 +1,3 @@
-Policy delegate: attempt to load about:blank with navigation type 'link clicked' originating from #text > A > BODY > HTML > #document
This is a test for rdar://problem/6755137 Action dictionary for policy decision is missing keys when full-page zoom is used.
Link
Added: releases/WebKitGTK/webkit-2.20/LayoutTests/http/wpt/html/browsers/windows/browsing-context-expected.txt (0 => 229266)
--- releases/WebKitGTK/webkit-2.20/LayoutTests/http/wpt/html/browsers/windows/browsing-context-expected.txt (rev 0)
+++ releases/WebKitGTK/webkit-2.20/LayoutTests/http/wpt/html/browsers/windows/browsing-context-expected.txt 2018-03-05 13:16:20 UTC (rev 229266)
@@ -0,0 +1,5 @@
+
+FAIL Check that browsing context has new, ready HTML document assert_equals: The document's encoding should be 'UTF-8'. expected "UTF-8" but got "windows-1252"
+PASS Check that new document nodes extant, empty
+PASS Check the document properties corresponding to the creator browsing context
+
Added: releases/WebKitGTK/webkit-2.20/LayoutTests/http/wpt/html/browsers/windows/browsing-context.html (0 => 229266)
--- releases/WebKitGTK/webkit-2.20/LayoutTests/http/wpt/html/browsers/windows/browsing-context.html (rev 0)
+++ releases/WebKitGTK/webkit-2.20/LayoutTests/http/wpt/html/browsers/windows/browsing-context.html 2018-03-05 13:16:20 UTC (rev 229266)
@@ -0,0 +1,52 @@
+<!doctype html>
+<html>
+ <head>
+ <title>HTML Test: Browsing context is first created</title>
+ <link rel="author" title="Intel" href="" />
+ <script src=""
+ <script src=""
+ </head>
+ <body>
+ <div id="log"></div>
+ <script>
+ var doc, iframe;
+
+ if (window.testRunner && testRunner.setShouldDecideNavigationPolicyAfterDelay)
+ testRunner.setShouldDecideNavigationPolicyAfterDelay(true);
+
+ setup(function () {
+ // Create new browsing context via iframe
+ iframe = document.createElement("iframe");
+ document.body.appendChild(iframe);
+ doc = iframe.contentDocument;
+ });
+
+ test(function () {
+ assert_equals(doc.compatMode, "BackCompat", "The compatMode of a document without a document type declaration should be 'BackCompat'."); // Quirksmode
+ assert_equals(doc.contentType, "text/html", "The document should be an HTML document.");
+ assert_equals(doc.readyState, "complete", "The readyState attribute should be 'complete'.");
+ // Document metadata...
+ assert_equals(doc.documentURI, "about:blank", "The document's address should be 'about:blank'.");
+ assert_equals(doc.URL, "about:blank", "The document's address should be 'about:blank'.");
+ assert_equals(doc.doctype, null, "The docType of a document without a document type declaration should be null.");
+ assert_equals(doc.characterSet, "UTF-8", "The document's encoding should be 'UTF-8'.");
+ }, "Check that browsing context has new, ready HTML document");
+
+ test(function () {
+ assert_equals(doc.childNodes.length, 1, "The document must have only one child.");
+ assert_equals(doc.documentElement.tagName, "HTML");
+ assert_equals(doc.documentElement.childNodes.length, 2, "The HTML element should have 2 children.");
+ assert_equals(doc.documentElement.childNodes[0].tagName, "HEAD", "The first child of HTML element should be a HEAD element.");
+ assert_false(doc.documentElement.childNodes[0].hasChildNodes(), "The HEAD element should not have children.");
+ assert_equals(doc.documentElement.childNodes[1].tagName, "BODY", "The second child of HTML element should be a BODY element.");
+ assert_false(doc.documentElement.childNodes[1].hasChildNodes(), "The BODY element should not have children.");
+ }, "Check that new document nodes extant, empty");
+
+ test(function () {
+ assert_equals(doc.origin, document.origin, "The document's origin should be its creator document's origin");
+ assert_equals(doc.referrer, document.URL, "The document's referrer should be its creator document's address.");
+ assert_equals(iframe.contentWindow.parent.document, document);
+ }, "Check the document properties corresponding to the creator browsing context");
+ </script>
+ </body>
+</html>
Modified: releases/WebKitGTK/webkit-2.20/LayoutTests/loader/navigation-policy/should-open-external-urls/subframe-click-target-self-expected.txt (229265 => 229266)
--- releases/WebKitGTK/webkit-2.20/LayoutTests/loader/navigation-policy/should-open-external-urls/subframe-click-target-self-expected.txt 2018-03-05 13:16:10 UTC (rev 229265)
+++ releases/WebKitGTK/webkit-2.20/LayoutTests/loader/navigation-policy/should-open-external-urls/subframe-click-target-self-expected.txt 2018-03-05 13:16:20 UTC (rev 229266)
@@ -1,6 +1,4 @@
- decidePolicyForNavigationAction
-<NSURLRequest URL about:blank, main document URL subframe-click-target-self.html, http method GET> is main frame - no should open URLs externally - no
- - decidePolicyForNavigationAction
<NSURLRequest URL resources/iframe-click-notify-done-target-self.html, main document URL subframe-click-target-self.html, http method GET> is main frame - no should open URLs externally - no
- decidePolicyForNavigationAction
<NSURLRequest URL resources/notify-done.html, main document URL subframe-click-target-self.html, http method GET> is main frame - no should open URLs externally - yes
Modified: releases/WebKitGTK/webkit-2.20/LayoutTests/loader/navigation-policy/should-open-external-urls/subframe-click-target-top-expected.txt (229265 => 229266)
--- releases/WebKitGTK/webkit-2.20/LayoutTests/loader/navigation-policy/should-open-external-urls/subframe-click-target-top-expected.txt 2018-03-05 13:16:10 UTC (rev 229265)
+++ releases/WebKitGTK/webkit-2.20/LayoutTests/loader/navigation-policy/should-open-external-urls/subframe-click-target-top-expected.txt 2018-03-05 13:16:20 UTC (rev 229266)
@@ -1,6 +1,4 @@
- decidePolicyForNavigationAction
-<NSURLRequest URL about:blank, main document URL subframe-click-target-top.html, http method GET> is main frame - no should open URLs externally - no
- - decidePolicyForNavigationAction
<NSURLRequest URL resources/iframe-click-notify-done-target-top.html, main document URL subframe-click-target-top.html, http method GET> is main frame - no should open URLs externally - no
- decidePolicyForNavigationAction
<NSURLRequest URL resources/notify-done.html, main document URL resources/notify-done.html, http method GET> is main frame - yes should open URLs externally - yes
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/ChangeLog (229265 => 229266)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/ChangeLog 2018-03-05 13:16:10 UTC (rev 229265)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/ChangeLog 2018-03-05 13:16:20 UTC (rev 229266)
@@ -1,3 +1,20 @@
+2018-03-01 Chris Dumez <[email protected]>
+
+ imported/w3c/web-platform-tests/html/browsers/windows/browsing-context.html fails with async policy delegates
+ https://bugs.webkit.org/show_bug.cgi?id=183225
+ <rdar://problem/38003828>
+
+ Reviewed by Alex Christensen.
+
+ Bypass navigation policy check when loading about:blank. This does not seem necessary and it would not
+ be Web-compatible for such policy check to happen synchronously. This is because an iframe without src
+ or src="" should load synchronously as per HTML specification.
+
+ Test: http/wpt/html/browsers/windows/browsing-context.html
+
+ * loader/PolicyChecker.cpp:
+ (WebCore::PolicyChecker::checkNavigationPolicy):
+
2018-03-01 Carlos Garcia Campos <[email protected]>
[FreeType] Color emojis in WebKitGTK+ for great justice
Modified: releases/WebKitGTK/webkit-2.20/Source/WebCore/loader/PolicyChecker.cpp (229265 => 229266)
--- releases/WebKitGTK/webkit-2.20/Source/WebCore/loader/PolicyChecker.cpp 2018-03-05 13:16:10 UTC (rev 229265)
+++ releases/WebKitGTK/webkit-2.20/Source/WebCore/loader/PolicyChecker.cpp 2018-03-05 13:16:20 UTC (rev 229266)
@@ -123,6 +123,9 @@
loader->setLastCheckedRequest(ResourceRequest(request));
+ if (request.url() == blankURL())
+ return function(WTFMove(request), formState, true);
+
#if USE(QUICK_LOOK)
// Always allow QuickLook-generated URLs based on the protocol scheme.
if (!request.isNull() && isQuickLookPreviewURL(request.url()))