[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.17-1283-gcf603cf
abarth at webkit.org
abarth at webkit.org
Tue Jan 5 23:47:04 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 0e714ee537ac0728e2987e57d11c90bbe7c34b60
Author: abarth at webkit.org <abarth at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Dec 11 03:12:04 2009 +0000
2009-12-10 Adam Barth <abarth at webkit.org>
Reviewed by Darin Adler.
Mixed content shouldn't trigger for plug-ins without URLs
https://bugs.webkit.org/show_bug.cgi?id=32384
* http/tests/security/mixedContent/empty-url-plugin-in-frame-expected.txt: Added.
* http/tests/security/mixedContent/empty-url-plugin-in-frame.html: Added.
* http/tests/security/mixedContent/resources/frame-with-empty-url-plugin.html: Added.
2009-12-10 Adam Barth <abarth at webkit.org>
Reviewed by Darin Adler.
Mixed content shouldn't trigger for plug-ins without URLs
https://bugs.webkit.org/show_bug.cgi?id=32384
These plug-ins cannot be controlled by active network attackers, so
there's no reason to trigger a mixed content warning.
Test: http/tests/security/mixedContent/empty-url-plugin-in-frame.html
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::isMixedContent):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51977 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 658decb..80343e8 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,14 @@
+2009-12-10 Adam Barth <abarth at webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Mixed content shouldn't trigger for plug-ins without URLs
+ https://bugs.webkit.org/show_bug.cgi?id=32384
+
+ * http/tests/security/mixedContent/empty-url-plugin-in-frame-expected.txt: Added.
+ * http/tests/security/mixedContent/empty-url-plugin-in-frame.html: Added.
+ * http/tests/security/mixedContent/resources/frame-with-empty-url-plugin.html: Added.
+
2009-12-10 Oliver Hunt <oliver at apple.com>
Reviewed by Gavin Barraclough.
diff --git a/LayoutTests/http/tests/security/mixedContent/empty-url-plugin-in-frame-expected.txt b/LayoutTests/http/tests/security/mixedContent/empty-url-plugin-in-frame-expected.txt
new file mode 100644
index 0000000..aaec844
--- /dev/null
+++ b/LayoutTests/http/tests/security/mixedContent/empty-url-plugin-in-frame-expected.txt
@@ -0,0 +1,11 @@
+frame "<!--framePath //<!--frame0-->-->" - didStartProvisionalLoadForFrame
+main frame - didFinishDocumentLoadForFrame
+frame "<!--framePath //<!--frame0-->-->" - didCommitLoadForFrame
+frame "<!--framePath //<!--frame0-->-->" - didFinishDocumentLoadForFrame
+frame "<!--framePath //<!--frame0-->-->" - didHandleOnloadEventsForFrame
+main frame - didHandleOnloadEventsForFrame
+frame "<!--framePath //<!--frame0-->-->" - didFinishLoadForFrame
+main frame - didFinishLoadForFrame
+This test loads a secure iframe that loads a plugin without a URL. We should *not* get a mixed content callback because the plug-in cannot be controlled by an active network attacker.
+
+
diff --git a/LayoutTests/http/tests/security/mixedContent/empty-url-plugin-in-frame.html b/LayoutTests/http/tests/security/mixedContent/empty-url-plugin-in-frame.html
new file mode 100644
index 0000000..6c84123
--- /dev/null
+++ b/LayoutTests/http/tests/security/mixedContent/empty-url-plugin-in-frame.html
@@ -0,0 +1,14 @@
+<html>
+<body>
+<script>
+if (window.layoutTestController) {
+ layoutTestController.dumpAsText();
+ layoutTestController.dumpFrameLoadCallbacks();
+}
+</script>
+<p>This test loads a secure iframe that loads a plugin without a URL. We should
+*not* get a mixed content callback because the plug-in cannot be controlled by
+an active network attacker.</p>
+<iframe src="https://127.0.0.1:8443/security/mixedContent/resources/frame-with-empty-url-plugin.html"></iframe>
+</body>
+</html>
diff --git a/LayoutTests/http/tests/security/mixedContent/resources/frame-with-empty-url-plugin.html b/LayoutTests/http/tests/security/mixedContent/resources/frame-with-empty-url-plugin.html
new file mode 100644
index 0000000..e79a2bf
--- /dev/null
+++ b/LayoutTests/http/tests/security/mixedContent/resources/frame-with-empty-url-plugin.html
@@ -0,0 +1,7 @@
+<script>
+window.onload = function() {
+ if (window.opener)
+ window.opener.postMessage('done', '*');
+}
+</script>
+<object name='plugin' type='application/x-webkit-test-netscape'></object>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 67567ab..6316433 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2009-12-10 Adam Barth <abarth at webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Mixed content shouldn't trigger for plug-ins without URLs
+ https://bugs.webkit.org/show_bug.cgi?id=32384
+
+ These plug-ins cannot be controlled by active network attackers, so
+ there's no reason to trigger a mixed content warning.
+
+ Test: http/tests/security/mixedContent/empty-url-plugin-in-frame.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::isMixedContent):
+
2009-12-10 Alexey Proskuryakov <ap at apple.com>
Reviewed by Darin Adler.
diff --git a/WebCore/loader/FrameLoader.cpp b/WebCore/loader/FrameLoader.cpp
index a1bfe8f..7e42e5a 100644
--- a/WebCore/loader/FrameLoader.cpp
+++ b/WebCore/loader/FrameLoader.cpp
@@ -1382,7 +1382,7 @@ bool FrameLoader::isMixedContent(SecurityOrigin* context, const KURL& url)
if (context->protocol() != "https")
return false; // We only care about HTTPS security origins.
- if (url.protocolIs("https") || url.protocolIs("about") || url.protocolIs("data"))
+ if (!url.isValid() || url.protocolIs("https") || url.protocolIs("about") || url.protocolIs("data"))
return false; // Loading these protocols is secure.
return true;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list