author | Gijs Kruitbosch <gijskruitbosch@gmail.com> |
Mon, 14 May 2018 22:04:49 +0100 | |
changeset 418635 | 7cef5b202339fb6b687fa921ccd438f17714d07d |
parent 418634 | f2b4d5d46f688da00717626a9fc887bed1dc79e9 |
child 418636 | 767a4e9688109d9b027acd7962d6b95fb07264f0 |
push id | 34008 |
push user | csabou@mozilla.com |
push date | Thu, 17 May 2018 15:27:51 +0000 |
treeherder | mozilla-central@a3c1c7193202 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | bz, Mardak, mikedeboer |
bugs | 1461407 |
milestone | 62.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
browser/components/about/AboutRedirector.cpp | file | annotate | diff | comparison | revisions | |
caps/ContentPrincipal.cpp | file | annotate | diff | comparison | revisions |
--- a/browser/components/about/AboutRedirector.cpp +++ b/browser/components/about/AboutRedirector.cpp @@ -79,17 +79,17 @@ static const RedirEntry kRedirMap[] = { nsIAboutModule::HIDE_FROM_ABOUTABOUT }, { "sessionrestore", "chrome://browser/content/aboutSessionRestore.xhtml", nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::HIDE_FROM_ABOUTABOUT }, { "welcomeback", "chrome://browser/content/aboutWelcomeBack.xhtml", nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::HIDE_FROM_ABOUTABOUT }, // Actual activity stream URL for home and newtab are set in channel creation - { "home", "about:blank", ACTIVITY_STREAM_FLAGS | nsIAboutModule::MAKE_LINKABLE }, // Bug 1438367 to try removing MAKE_LINKABLE again + { "home", "about:blank", ACTIVITY_STREAM_FLAGS }, { "newtab", "about:blank", ACTIVITY_STREAM_FLAGS }, { "welcome", "about:blank", nsIAboutModule::URI_MUST_LOAD_IN_CHILD | nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT | nsIAboutModule::ALLOW_SCRIPT }, { "library", "chrome://browser/content/aboutLibrary.xhtml", nsIAboutModule::URI_MUST_LOAD_IN_CHILD | nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT },
--- a/caps/ContentPrincipal.cpp +++ b/caps/ContentPrincipal.cpp @@ -415,16 +415,24 @@ ContentPrincipal::Read(nsIObjectInputStr nsCOMPtr<nsISupports> supports; nsCOMPtr<nsIURI> codebase; nsresult rv = NS_ReadOptionalObject(aStream, true, getter_AddRefs(supports)); if (NS_FAILED(rv)) { return rv; } codebase = do_QueryInterface(supports); + // Enforce re-parsing about: URIs so that if they change, we continue to use + // their new principals correctly. + bool isAbout = false; + if (NS_SUCCEEDED(codebase->SchemeIs("about", &isAbout)) && isAbout) { + nsAutoCString spec; + codebase->GetSpec(spec); + NS_ENSURE_SUCCESS(NS_NewURI(getter_AddRefs(codebase), spec), NS_ERROR_FAILURE); + } nsCOMPtr<nsIURI> domain; rv = NS_ReadOptionalObject(aStream, true, getter_AddRefs(supports)); if (NS_FAILED(rv)) { return rv; } domain = do_QueryInterface(supports);