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

Unified Diff: LayoutTests/fast/dom/navigatorcontentutils/register-protocol-handler.html

Issue 292203007: Need to check invalid scheme in navigator content utils (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 7 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/fast/dom/navigatorcontentutils/register-protocol-handler.html
diff --git a/LayoutTests/fast/dom/navigatorcontentutils/register-protocol-handler.html b/LayoutTests/fast/dom/navigatorcontentutils/register-protocol-handler.html
index d79ac9650f236908719f12af7959101db58e5f8f..731beb73973b2ff5c73bc1c93aec1493e2cf7229 100644
--- a/LayoutTests/fast/dom/navigatorcontentutils/register-protocol-handler.html
+++ b/LayoutTests/fast/dom/navigatorcontentutils/register-protocol-handler.html
@@ -50,10 +50,25 @@ valid_protocols.forEach(function (protocol) {
debug('Fail: Valid protocol "' + protocol + '" failed.');
});
+var invalid_schemes = ['mailto:', 'ssh:/', 'magnet:+', 'tel:sip'];
+invalid_schemes.forEach(function (scheme) {
+ var succeeded = false;
+ try {
+ window.navigator.registerProtocolHandler(scheme, 'invalid scheme uri=%s', 'title');
+ } catch (e) {
+ succeeded = true;
+ }
+
+ if (succeeded)
+ debug('Pass: Invalid scheme "' + scheme + '" falied.');
+ else
+ debug('Fail: Invalid scheme "' + scheme + '" allowed.');
+});
+
var invalid_urls = ["", "%S"];
invalid_urls.forEach(function (url) {
- var succeeded = false;
- try {
+ var succeeded = false;
+ try {
window.navigator.registerProtocolHandler('web+myprotocol', url, 'title');
} catch (e) {
succeeded = 'SyntaxError' == e.name;

Powered by Google App Engine
This is Rietveld 408576698