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

Unified Diff: LayoutTests/navigatorcontentutils/register-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: baseURL is not required anymore 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/register-protocol-handler.html
diff --git a/LayoutTests/navigatorcontentutils/register-protocol-handler.html b/LayoutTests/navigatorcontentutils/register-protocol-handler.html
index 5501432fa49436f100272390e8ab95ad2cd87286..cd2b66516ec33233a84f0450aae99dd24b068576 100644
--- a/LayoutTests/navigatorcontentutils/register-protocol-handler.html
+++ b/LayoutTests/navigatorcontentutils/register-protocol-handler.html
@@ -6,8 +6,10 @@
<p>This test makes sure that navigator.registerProtocolHandler 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);
abarth-chromium 2014/08/06 18:34:55 This is impossible. Instead, you need to put this
pals 2014/08/06 18:46:47 I shall move it to http/tests.
pals 2014/08/07 14:06:06 Done.
testRunner.dumpAsText();
+}
if (window.internals)
internals.setNavigatorContentUtilsClientMock(document);
@@ -82,6 +84,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.registerProtocolHandler('web+myprotocol', "http://www.example.com/soup?url=%s", "title");
+} catch (e) {
+ succeeded = true;
+ errorMessage = e.message;
+}
+
+if (succeeded)
+ debug('PASS URL with origin different than document origin threw SecurityError exception: "' + errorMessage + '".');
+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