| Index: LayoutTests/navigatorcontentutils/register-protocol-handler.html
|
| diff --git a/LayoutTests/navigatorcontentutils/register-protocol-handler.html b/LayoutTests/navigatorcontentutils/register-protocol-handler.html
|
| deleted file mode 100644
|
| index 9b68afa0fdc5c7e512b728c7fb2e237e74444275..0000000000000000000000000000000000000000
|
| --- a/LayoutTests/navigatorcontentutils/register-protocol-handler.html
|
| +++ /dev/null
|
| @@ -1,119 +0,0 @@
|
| -<html>
|
| -<head>
|
| -<script src="../resources/js-test.js"></script>
|
| -</head>
|
| -<body>
|
| -<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)
|
| - testRunner.dumpAsText();
|
| -
|
| -if (window.internals)
|
| - internals.setNavigatorContentUtilsClientMock(document);
|
| -
|
| -if (window.navigator.registerProtocolHandler)
|
| - debug('PASS window.navigator.registerProtocolHandler is defined.');
|
| -else
|
| - debug('FAIL window.navigator.registerProtocolHandler is not defined.');
|
| -
|
| -var invalid_schemes = ['http', 'https', 'file', 'web+'];
|
| -invalid_schemes.forEach(function (scheme) {
|
| - var succeeded = false;
|
| - var errorMessage;
|
| - try {
|
| - window.navigator.registerProtocolHandler(scheme, "invalid scheme %s", "title");
|
| - } catch (e) {
|
| - succeeded = 'SecurityError' == e.name;
|
| - errorMessage = e.message;
|
| - }
|
| -
|
| - if (succeeded) {
|
| - debug('PASS Invalid scheme "' + scheme + '" threw SecurityError exception: "' + errorMessage + '".');
|
| - }else
|
| - debug('FAIL Invalid scheme "' + scheme + '" allowed.');
|
| -});
|
| -
|
| -var valid_schemes = ['bitcoin', 'BitcoIn', 'geo', 'im', 'irc', 'Irc', 'ircs', 'magnet', 'MagneT', 'mailto', 'mms', 'news', 'nntp', 'sip', 'sms', 'smsto', 'SmsTo', 'ssh', 'tel', 'urn', 'webcal', 'WebCAL', 'wtai', 'WTAI', 'xmpp'];
|
| -valid_schemes.forEach(function (scheme) {
|
| - var succeeded = false;
|
| - try {
|
| - window.navigator.registerProtocolHandler(scheme, "valid scheme %s", "title");
|
| - succeeded = true;
|
| - } catch (e) {
|
| - succeeded = false;
|
| - }
|
| -
|
| - if (succeeded)
|
| - debug('PASS Valid scheme "' + scheme + '" allowed.');
|
| - else
|
| - debug('FAIL Valid scheme "' + scheme + '" 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 = 'SecurityError' == e.name;
|
| - errorMessage = e.message;
|
| - }
|
| -
|
| - if (succeeded)
|
| - debug('PASS Invalid scheme "' + scheme + '" falied.');
|
| - else
|
| - debug('Fail: Invalid scheme "' + scheme + '" allowed. Threw exception: "' + errorMessage + '".');
|
| -});
|
| -
|
| -var invalid_urls = ["", "%S"];
|
| -invalid_urls.forEach(function (url) {
|
| - var succeeded = false;
|
| - try {
|
| - window.navigator.registerProtocolHandler('web+myscheme', url, 'title');
|
| - } catch (e) {
|
| - succeeded = 'SyntaxError' == e.name;
|
| - errorMessage = e.message;
|
| - }
|
| -
|
| - if (succeeded)
|
| - debug('PASS Invalid url "' + url + '" threw SyntaxError exception: "' + errorMessage + '".');
|
| - else
|
| - debug('FAIL Invalid url "' + url + '" allowed.');
|
| -});
|
| -
|
| -// Test that the API has default no-op implementation.
|
| -var succeeded = true;
|
| -try {
|
| - window.navigator.registerProtocolHandler('web+myscheme', "%s", "title");
|
| -} catch (e) {
|
| - succeeded = false;
|
| -}
|
| -
|
| -if (succeeded)
|
| - debug('PASS Valid call succeeded.');
|
| -else
|
| - debug('FAIL Invalid call did not succeed.');
|
| -
|
| -// Check if registerProtocolHandler can register custom scheme.
|
| -debug("\nCheck if registerProtocolHandler can register scheme correctly. If isProtocolHandlerRegistered() returns 'registered' state, registerProtoclHandler() works well.");
|
| -debug("'bitcoin' scheme will be registered for testing.\n");
|
| -try {
|
| - // Register 'bitcoin' scheme for testing.
|
| - window.navigator.registerProtocolHandler('bitcoin', 'invalid scheme uri=%s', 'title');
|
| -
|
| - var state = window.navigator.isProtocolHandlerRegistered('bitcoin', 'valid scheme %s');
|
| - if (state == "registered")
|
| - debug("PASS window.navigator.isProtocolHandlerRegistered returns 'registered' state. 'bitcoin' is registered successfully.");
|
| - else if (state == "new")
|
| - debug("FAIL window.navigator.isProtocolHandlerRegistered returns 'new' state. Fail to register 'bitcoin' scheme.");
|
| - else if (state == "declined")
|
| - debug("FAIL window.navigator.isProtocolHandlerRegistered returns 'declined' state. Fail to register 'bitcoin' scheme");
|
| -} catch (e) {
|
| - debug('FAIL window.navigator.isProtocolHandlerRegistered call is failed: "' + e.message + '".');
|
| -}
|
| -debug("\n");
|
| -
|
| -</script>
|
| -</body>
|
| -</html>
|
|
|