Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(596)

Unified Diff: LayoutTests/navigatorcontentutils/unregister-protocol-handler.html

Issue 392993005: Custom handlers should throw SecurityError exception if the URL's origin differs from the document'… (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebased the *expected.txt Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: LayoutTests/navigatorcontentutils/unregister-protocol-handler.html
diff --git a/LayoutTests/navigatorcontentutils/unregister-protocol-handler.html b/LayoutTests/navigatorcontentutils/unregister-protocol-handler.html
index b6180f93e6e679c119a050b860e816e0f61852b7..7c1d5dbbb0f77592c54471bb577c17acef02a3a1 100644
--- a/LayoutTests/navigatorcontentutils/unregister-protocol-handler.html
+++ b/LayoutTests/navigatorcontentutils/unregister-protocol-handler.html
@@ -6,8 +6,10 @@
<p>This test makes sure that navigator.unregisterProtocolHandler throws the proper exceptions and has no-op default implementation.</p>
<pre id="console"></pre>
<script>
-if (window.testRunner)
+if (window.testRunner) {
+ testRunner.setAllowUniversalAccessFromFileURLs(false);
testRunner.dumpAsText();
+}
if (window.internals)
internals.setNavigatorContentUtilsClientMock(document);
@@ -81,6 +83,21 @@ invalid_urls.forEach(function (url) {
debug('FAIL Invalid url "' + url + '" allowed.');
});
+// Test that the API throws SecurityError exception if the URL's origin differs from the document's origin.
+succeeded = false;
+var errorMessage;
+try {
+ window.navigator.unregisterProtocolHandler('web+myprotocol', "http://www.example.com/soup?url=%s", "title");
+} catch (e) {
+ succeeded = true;
+ errorMessage = e.message;
+}
+
+if (succeeded)
+ debug('PASS Invalid url threw SecurityError exception: "' + errorMessage + '".');
gyuyoung-inactive 2014/07/23 00:07:12 ditto.
pals 2014/07/23 05:39:29 Done.
+else
+ debug('FAIL URL with origin different than document origin is allowed.');
+
// Test that the API has default no-op implementation.
var succeeded = true;
try {

Powered by Google App Engine
This is Rietveld 408576698