Bug 353933 - Make OnOverlink use CreateExposableURI. r=bzbarsky

Differential Revision: https://phabricator.services.mozilla.com/D59428

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Johann Hofmann 2020-01-10 12:45:38 +00:00
Родитель c114029715
Коммит 54949e252f
4 изменённых файлов: 42 добавлений и 1 удалений

Просмотреть файл

@ -12445,8 +12445,12 @@ nsresult nsDocShell::OnOverLink(nsIContent* aContent, nsIURI* aURI,
return rv;
}
nsCOMPtr<nsIURI> exposableURI;
rv = sURIFixup->CreateExposableURI(aURI, getter_AddRefs(exposableURI));
NS_ENSURE_SUCCESS(rv, rv);
nsAutoCString spec;
rv = aURI->GetDisplaySpec(spec);
rv = exposableURI->GetDisplaySpec(spec);
NS_ENSURE_SUCCESS(rv, rv);
NS_ConvertUTF8toUTF16 uStr(spec);

Просмотреть файл

@ -123,6 +123,9 @@ support-files =
[browser_multiple_pushState.js]
[browser_onbeforeunload_navigation.js]
skip-if = (os == 'win' && !debug) # bug 1300351
[browser_overlink.js]
support-files =
overlink_test.html
[browser_search_notification.js]
[browser_tab_touch_events.js]
[browser_timelineMarkers-01.js]

Просмотреть файл

@ -0,0 +1,27 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
const TEST_PATH = getRootDirectory(gTestPath).replace(
"chrome://mochitests/content",
"https://example.com"
);
add_task(async function test_stripAuthCredentials() {
await BrowserTestUtils.withNewTab(
TEST_PATH + "overlink_test.html",
async function(browser) {
await SpecialPowers.spawn(browser, [], function() {
content.document.getElementById("link").focus();
});
await TestUtils.waitForCondition(
() => XULBrowserWindow.overLink == "https://example.com",
"Overlink should be missing auth credentials"
);
ok(true, "Test successful");
}
);
});

Просмотреть файл

@ -0,0 +1,7 @@
<!DOCTYPE html>
<html>
<head> <meta charset="utf-8"> </head>
<body>
<a id="link" href="https://user:password@example.com">Link</a>
</body>
</html>