mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-08 12:19:05 +02:00
MozReview-Commit-ID: 67eb9v4blas --HG-- rename : browser/base/content/test/general/authenticate.sjs => browser/base/content/test/urlbar/authenticate.sjs rename : browser/base/content/test/general/browser_URLBarSetURI.js => browser/base/content/test/urlbar/browser_URLBarSetURI.js rename : browser/base/content/test/general/browser_action_keyword.js => browser/base/content/test/urlbar/browser_action_keyword.js rename : browser/base/content/test/general/browser_action_keyword_override.js => browser/base/content/test/urlbar/browser_action_keyword_override.js rename : browser/base/content/test/general/browser_action_searchengine.js => browser/base/content/test/urlbar/browser_action_searchengine.js rename : browser/base/content/test/general/browser_action_searchengine_alias.js => browser/base/content/test/urlbar/browser_action_searchengine_alias.js rename : browser/base/content/test/general/browser_autocomplete_a11y_label.js => browser/base/content/test/urlbar/browser_autocomplete_a11y_label.js rename : browser/base/content/test/general/browser_autocomplete_autoselect.js => browser/base/content/test/urlbar/browser_autocomplete_autoselect.js rename : browser/base/content/test/general/browser_autocomplete_cursor.js => browser/base/content/test/urlbar/browser_autocomplete_cursor.js rename : browser/base/content/test/general/browser_autocomplete_edit_completed.js => browser/base/content/test/urlbar/browser_autocomplete_edit_completed.js rename : browser/base/content/test/general/browser_autocomplete_enter_race.js => browser/base/content/test/urlbar/browser_autocomplete_enter_race.js rename : browser/base/content/test/general/browser_autocomplete_no_title.js => browser/base/content/test/urlbar/browser_autocomplete_no_title.js rename : browser/base/content/test/general/browser_autocomplete_oldschool_wrap.js => browser/base/content/test/urlbar/browser_autocomplete_oldschool_wrap.js rename : browser/base/content/test/general/browser_autocomplete_tag_star_visibility.js => browser/base/content/test/urlbar/browser_autocomplete_tag_star_visibility.js rename : browser/base/content/test/general/browser_bug1003461-switchtab-override.js => browser/base/content/test/urlbar/browser_bug1003461-switchtab-override.js rename : browser/base/content/test/general/browser_bug1024133-switchtab-override-keynav.js => browser/base/content/test/urlbar/browser_bug1024133-switchtab-override-keynav.js rename : browser/base/content/test/general/browser_bug1025195_switchToTabHavingURI_aOpenParams.js => browser/base/content/test/urlbar/browser_bug1025195_switchToTabHavingURI_aOpenParams.js rename : browser/base/content/test/general/browser_bug1070778.js => browser/base/content/test/urlbar/browser_bug1070778.js rename : browser/base/content/test/general/browser_bug1104165-switchtab-decodeuri.js => browser/base/content/test/urlbar/browser_bug1104165-switchtab-decodeuri.js rename : browser/base/content/test/general/browser_bug1225194-remotetab.js => browser/base/content/test/urlbar/browser_bug1225194-remotetab.js rename : browser/base/content/test/general/browser_bug304198.js => browser/base/content/test/urlbar/browser_bug304198.js rename : browser/base/content/test/general/browser_bug556061.js => browser/base/content/test/urlbar/browser_bug556061.js rename : browser/base/content/test/general/browser_bug562649.js => browser/base/content/test/urlbar/browser_bug562649.js rename : browser/base/content/test/general/browser_bug623155.js => browser/base/content/test/urlbar/browser_bug623155.js rename : browser/base/content/test/general/browser_bug783614.js => browser/base/content/test/urlbar/browser_bug783614.js rename : browser/base/content/test/general/browser_canonizeURL.js => browser/base/content/test/urlbar/browser_canonizeURL.js rename : browser/base/content/test/general/browser_locationBarCommand.js => browser/base/content/test/urlbar/browser_locationBarCommand.js rename : browser/base/content/test/general/browser_locationBarExternalLoad.js => browser/base/content/test/urlbar/browser_locationBarExternalLoad.js rename : browser/base/content/test/general/browser_removeUnsafeProtocolsFromURLBarPaste.js => browser/base/content/test/urlbar/browser_removeUnsafeProtocolsFromURLBarPaste.js rename : browser/base/content/test/general/browser_search_favicon.js => browser/base/content/test/urlbar/browser_search_favicon.js rename : browser/base/content/test/general/browser_tabMatchesInAwesomebar.js => browser/base/content/test/urlbar/browser_tabMatchesInAwesomebar.js rename : browser/base/content/test/general/browser_tabMatchesInAwesomebar_perwindowpb.js => browser/base/content/test/urlbar/browser_tabMatchesInAwesomebar_perwindowpb.js rename : browser/base/content/test/general/browser_urlHighlight.js => browser/base/content/test/urlbar/browser_urlHighlight.js rename : browser/base/content/test/general/browser_urlbarAutoFillTrimURLs.js => browser/base/content/test/urlbar/browser_urlbarAutoFillTrimURLs.js rename : browser/base/content/test/general/browser_urlbarCopying.js => browser/base/content/test/urlbar/browser_urlbarCopying.js rename : browser/base/content/test/general/browser_urlbarDecode.js => browser/base/content/test/urlbar/browser_urlbarDecode.js rename : browser/base/content/test/general/browser_urlbarDelete.js => browser/base/content/test/urlbar/browser_urlbarDelete.js rename : browser/base/content/test/general/browser_urlbarEnter.js => browser/base/content/test/urlbar/browser_urlbarEnter.js rename : browser/base/content/test/general/browser_urlbarEnterAfterMouseOver.js => browser/base/content/test/urlbar/browser_urlbarEnterAfterMouseOver.js rename : browser/base/content/test/general/browser_urlbarRevert.js => browser/base/content/test/urlbar/browser_urlbarRevert.js rename : browser/base/content/test/general/browser_urlbarSearchSingleWordNotification.js => browser/base/content/test/urlbar/browser_urlbarSearchSingleWordNotification.js rename : browser/base/content/test/general/browser_urlbarSearchSuggestions.js => browser/base/content/test/urlbar/browser_urlbarSearchSuggestions.js rename : browser/base/content/test/general/browser_urlbarSearchSuggestionsNotification.js => browser/base/content/test/urlbar/browser_urlbarSearchSuggestionsNotification.js rename : browser/base/content/test/general/browser_urlbarSearchTelemetry.js => browser/base/content/test/urlbar/browser_urlbarSearchTelemetry.js rename : browser/base/content/test/general/browser_urlbarStop.js => browser/base/content/test/urlbar/browser_urlbarStop.js rename : browser/base/content/test/general/browser_urlbarTrimURLs.js => browser/base/content/test/urlbar/browser_urlbarTrimURLs.js rename : browser/base/content/test/general/browser_urlbar_autoFill_backspaced.js => browser/base/content/test/urlbar/browser_urlbar_autoFill_backspaced.js rename : browser/base/content/test/general/browser_urlbar_searchsettings.js => browser/base/content/test/urlbar/browser_urlbar_searchsettings.js rename : browser/base/content/test/general/browser_wyciwyg_urlbarCopying.js => browser/base/content/test/urlbar/browser_wyciwyg_urlbarCopying.js rename : browser/base/content/test/general/dummy_page.html => browser/base/content/test/urlbar/dummy_page.html rename : browser/base/content/test/general/head.js => browser/base/content/test/urlbar/head.js rename : browser/base/content/test/general/moz.png => browser/base/content/test/urlbar/moz.png rename : browser/base/content/test/general/redirect_bug623155.sjs => browser/base/content/test/urlbar/redirect_bug623155.sjs rename : browser/base/content/test/general/searchSuggestionEngine.sjs => browser/base/content/test/urlbar/searchSuggestionEngine.sjs rename : browser/base/content/test/general/searchSuggestionEngine.xml => browser/base/content/test/urlbar/searchSuggestionEngine.xml rename : browser/base/content/test/general/test_wyciwyg_copying.html => browser/base/content/test/urlbar/test_wyciwyg_copying.html rename : browser/base/content/test/general/authenticate.sjs => toolkit/components/thumbnails/test/authenticate.sjs extra : rebase_source : 3c83a311373930cb962816cf61d84a8ee7c44c07 extra : amend_source : 9ed9e18817c591afb9b4d10fda724bb71dd80b26
204 lines
5 KiB
JavaScript
204 lines
5 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
const trimPref = "browser.urlbar.trimURLs";
|
|
const phishyUserPassPref = "network.http.phishy-userpass-length";
|
|
|
|
function test() {
|
|
|
|
let tab = gBrowser.selectedTab = gBrowser.addTab();
|
|
|
|
registerCleanupFunction(function () {
|
|
gBrowser.removeTab(tab);
|
|
Services.prefs.clearUserPref(trimPref);
|
|
Services.prefs.clearUserPref(phishyUserPassPref);
|
|
URLBarSetURI();
|
|
});
|
|
|
|
Services.prefs.setBoolPref(trimPref, true);
|
|
Services.prefs.setIntPref(phishyUserPassPref, 32); // avoid prompting about phishing
|
|
|
|
waitForExplicitFinish();
|
|
|
|
nextTest();
|
|
}
|
|
|
|
var tests = [
|
|
// pageproxystate="invalid"
|
|
{
|
|
setURL: "http://example.com/",
|
|
expectedURL: "example.com",
|
|
copyExpected: "example.com"
|
|
},
|
|
{
|
|
copyVal: "<e>xample.com",
|
|
copyExpected: "e"
|
|
},
|
|
|
|
// pageproxystate="valid" from this point on (due to the load)
|
|
{
|
|
loadURL: "http://example.com/",
|
|
expectedURL: "example.com",
|
|
copyExpected: "http://example.com/"
|
|
},
|
|
{
|
|
copyVal: "<example.co>m",
|
|
copyExpected: "example.co"
|
|
},
|
|
{
|
|
copyVal: "e<x>ample.com",
|
|
copyExpected: "x"
|
|
},
|
|
{
|
|
copyVal: "<e>xample.com",
|
|
copyExpected: "e"
|
|
},
|
|
|
|
{
|
|
loadURL: "http://example.com/foo",
|
|
expectedURL: "example.com/foo",
|
|
copyExpected: "http://example.com/foo"
|
|
},
|
|
{
|
|
copyVal: "<example.com>/foo",
|
|
copyExpected: "http://example.com"
|
|
},
|
|
{
|
|
copyVal: "<example>.com/foo",
|
|
copyExpected: "example"
|
|
},
|
|
|
|
// Test that userPass is stripped out
|
|
{
|
|
loadURL: "http://user:pass@mochi.test:8888/browser/browser/base/content/test/urlbar/authenticate.sjs?user=user&pass=pass",
|
|
expectedURL: "mochi.test:8888/browser/browser/base/content/test/urlbar/authenticate.sjs?user=user&pass=pass",
|
|
copyExpected: "http://mochi.test:8888/browser/browser/base/content/test/urlbar/authenticate.sjs?user=user&pass=pass"
|
|
},
|
|
|
|
// Test escaping
|
|
{
|
|
loadURL: "http://example.com/()%28%29%C3%A9",
|
|
expectedURL: "example.com/()()\xe9",
|
|
copyExpected: "http://example.com/()%28%29%C3%A9"
|
|
},
|
|
{
|
|
copyVal: "<example.com/(>)()\xe9",
|
|
copyExpected: "http://example.com/("
|
|
},
|
|
{
|
|
copyVal: "e<xample.com/(>)()\xe9",
|
|
copyExpected: "xample.com/("
|
|
},
|
|
|
|
{
|
|
loadURL: "http://example.com/%C3%A9%C3%A9",
|
|
expectedURL: "example.com/\xe9\xe9",
|
|
copyExpected: "http://example.com/%C3%A9%C3%A9"
|
|
},
|
|
{
|
|
copyVal: "e<xample.com/\xe9>\xe9",
|
|
copyExpected: "xample.com/\xe9"
|
|
},
|
|
{
|
|
copyVal: "<example.com/\xe9>\xe9",
|
|
copyExpected: "http://example.com/\xe9"
|
|
},
|
|
|
|
{
|
|
loadURL: "http://example.com/?%C3%B7%C3%B7",
|
|
expectedURL: "example.com/?\xf7\xf7",
|
|
copyExpected: "http://example.com/?%C3%B7%C3%B7"
|
|
},
|
|
{
|
|
copyVal: "e<xample.com/?\xf7>\xf7",
|
|
copyExpected: "xample.com/?\xf7"
|
|
},
|
|
{
|
|
copyVal: "<example.com/?\xf7>\xf7",
|
|
copyExpected: "http://example.com/?\xf7"
|
|
},
|
|
|
|
// data: and javsacript: URIs shouldn't be encoded
|
|
{
|
|
loadURL: "javascript:('%C3%A9%20%25%50')",
|
|
expectedURL: "javascript:('%C3%A9 %25P')",
|
|
copyExpected: "javascript:('%C3%A9 %25P')"
|
|
},
|
|
{
|
|
copyVal: "<javascript:(>'%C3%A9 %25P')",
|
|
copyExpected: "javascript:("
|
|
},
|
|
|
|
{
|
|
loadURL: "data:text/html,(%C3%A9%20%25%50)",
|
|
expectedURL: "data:text/html,(%C3%A9 %25P)",
|
|
copyExpected: "data:text/html,(%C3%A9 %25P)",
|
|
},
|
|
{
|
|
copyVal: "<data:text/html,(>%C3%A9 %25P)",
|
|
copyExpected: "data:text/html,("
|
|
},
|
|
{
|
|
copyVal: "<data:text/html,(%C3%A9 %25P>)",
|
|
copyExpected: "data:text/html,(%C3%A9 %25P",
|
|
}
|
|
];
|
|
|
|
function nextTest() {
|
|
let test = tests.shift();
|
|
if (tests.length == 0)
|
|
runTest(test, finish);
|
|
else
|
|
runTest(test, nextTest);
|
|
}
|
|
|
|
function runTest(test, cb) {
|
|
function doCheck() {
|
|
if (test.setURL || test.loadURL) {
|
|
gURLBar.valueIsTyped = !!test.setURL;
|
|
is(gURLBar.textValue, test.expectedURL, "url bar value set");
|
|
}
|
|
|
|
testCopy(test.copyVal, test.copyExpected, cb);
|
|
}
|
|
|
|
if (test.loadURL) {
|
|
loadURL(test.loadURL, doCheck);
|
|
} else {
|
|
if (test.setURL)
|
|
gURLBar.value = test.setURL;
|
|
doCheck();
|
|
}
|
|
}
|
|
|
|
function testCopy(copyVal, targetValue, cb) {
|
|
info("Expecting copy of: " + targetValue);
|
|
waitForClipboard(targetValue, function () {
|
|
gURLBar.focus();
|
|
if (copyVal) {
|
|
let startBracket = copyVal.indexOf("<");
|
|
let endBracket = copyVal.indexOf(">");
|
|
if (startBracket == -1 || endBracket == -1 ||
|
|
startBracket > endBracket ||
|
|
copyVal.replace("<", "").replace(">", "") != gURLBar.textValue) {
|
|
ok(false, "invalid copyVal: " + copyVal);
|
|
}
|
|
gURLBar.selectionStart = startBracket;
|
|
gURLBar.selectionEnd = endBracket - 1;
|
|
} else {
|
|
gURLBar.select();
|
|
}
|
|
|
|
goDoCommand("cmd_copy");
|
|
}, cb, cb);
|
|
}
|
|
|
|
function loadURL(aURL, aCB) {
|
|
gBrowser.selectedBrowser.addEventListener("load", function () {
|
|
gBrowser.selectedBrowser.removeEventListener("load", arguments.callee, true);
|
|
is(gBrowser.currentURI.spec, aURL, "loaded expected URL");
|
|
aCB();
|
|
}, true);
|
|
|
|
gBrowser.loadURI(aURL);
|
|
}
|