[wpt-sync] Sync PR 21252 - Enforce character restrictions for registerProtocolHandler scheme
Categories
(Core :: DOM: Core & HTML, task, P4)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox74 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 21252 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/21252
Details from upstream follow.
Eric Lawrence <ericlaw@microsoft.com> wrote:
Enforce character restrictions for registerProtocolHandler scheme
Schemes that begin with the prefix "web+" must contain one or more ASCII
lower alphas, forbidding other characters. Chrome previously allowed any
character otherwise valid in URI schemes. Now, it matches the HTML5 spec
and Firefox.Bug: 1019995
Change-Id: Id1b86eb75ca2159fc6b2c2bd1b96adac6ba494c8
Reviewed-on: https://chromium-review.googlesource.com/2009825
WPT-Export-Revision: dd84a4778cdb5b7a6c5a957a8e7910e3aaba06bb
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Comment 1•6 years ago
|
||
| Assignee | ||
Comment 2•6 years ago
|
||
CI Results
Ran 13 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 42 tests
Status Summary
Firefox
OK : 1
PASS: 41[Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-linux1804-64-asan-opt, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt] 90[GitHub]
FAIL: 94
Chrome
OK : 1
PASS: 178
FAIL: 6
Safari
OK : 1
FAIL: 184
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.https.html: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-linux1804-64-asan-opt, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt] (Chrome: OK, Safari: OK)
unregisterProtocolHandler: Valid URL "https://web-platform.test:8443/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.https.html/%s" should work.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Invalid URL "http://example.com/%s" should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "mid" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "ssh:/" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "vbscript" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "bitcoin" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "nntp" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "web+myprotocol" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "https" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Invalid URL "http://%s.com" should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "view-source" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Invalid URL "mailto:%s" should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "mailto:" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "web+digits123areforbidden" protocol should throw SECURITY_ERR.: FAIL (Chrome: FAIL, Safari: FAIL)
unregisterProtocolHandler: overriding the "im" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "web+" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "livescript" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "javascript" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "mаilto" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Valid URL "https://web-platform.test:8443/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.https.html?foo=%s" should work.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Invalid URL "%S" should throw SYNTAX_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "geo" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Valid URL "https://web-platform.test:8443/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.https.html/%s/bar/baz/" should work.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Invalid URL "https://web-platform.test:8443/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.https.html/%" should throw SYNTAX_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Invalid URL "http://foobar.example.com/%s" should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "about" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "ftp" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "mms" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "mocha" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "MagneT" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Valid URL "https://web-platform.test:8443/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.https.html/%s/foo/%s/" should work.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "ws" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "news" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "wss" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
the unregisterProtocolHandler method should exist on the navigator object: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "openpgp4fpr" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Invalid URL "" should throw SYNTAX_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "sms" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "wyciwyg" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "irc" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Invalid URL "mailto:%s@example.com" should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "BitcoIn" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "res" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "mailto://" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "operamail" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Valid URL "%s" should work.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "data" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "webcal" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "ssh" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "tcl" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "mailtoo" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "resource" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Invalid URL "https://web-platform.test:8443/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.https.html" should throw SYNTAX_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "WTAI" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "magnet" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "teL" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "web+dots.are.forbidden" protocol should throw SECURITY_ERR.: FAIL (Chrome: FAIL, Safari: FAIL)
unregisterProtocolHandler: overriding the "Irc" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "attachment" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "magnet:+" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "opera" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Valid URL "https://web-platform.test:8443/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.https.html/%s/bar/baz/?foo=1337&bar#baz" should work.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Invalid URL "http://example.com" should throw SYNTAX_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "mailto" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "xmpp" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "wtai" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "tel:sip" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "chrome" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Invalid URL "http://[v8.:::]//url=%s" should throw SYNTAX_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "urn" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "unrecognized" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "blob" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "http://" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "file" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
registerProtocolHandler: Invalid URL "http://%s.example.com" should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "mailto<" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
registerProtocolHandler: Invalid URL "http://%s.com" should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "shttp" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Invalid URL "https://example.com/%s" should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "http" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Invalid URL "https://web-platform.test:8443/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.https.html/%a" should throw SYNTAX_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "TEL" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "SmsTo" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "cid" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "sip" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "mailto
" protocol should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "ircs" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Valid URL "https://web-platform.test:8443/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.https.html?foo=%s&bar" should work.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Attempting to override the "web+dashes-are-forbidden" protocol should throw SECURITY_ERR.: FAIL (Chrome: FAIL, Safari: FAIL)
unregisterProtocolHandler: overriding the "WebCAL" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Invalid URL "http://%s.example.com" should throw SECURITY_ERR.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: Valid URL "https://web-platform.test:8443/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.https.html#%s" should work.: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "smsto" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
unregisterProtocolHandler: overriding the "tel" protocol should work: FAIL (Chrome: PASS, Safari: FAIL)
Tests Disabled in Gecko Infrastructure
/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.https.html: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-linux1804-64-asan-opt, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt] (Chrome: OK, Safari: OK)
Comment 4•6 years ago
|
||
| bugherder | ||
Description
•