зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1543761 - stop reading chrome.manifest files in the app/gre dirs when using omni.ja, r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D29287 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
8128559da3
Коммит
98e55d80dd
|
@ -73,18 +73,6 @@ const processes = {
|
|||
condition: !WIN, // Visible on Windows with an open marker
|
||||
stat: 1,
|
||||
},
|
||||
{ // bug 1543761
|
||||
path: "GreD:chrome.manifest",
|
||||
condition: !WIN, // Visible on Windows with an open marker
|
||||
stat: 1,
|
||||
close: 1,
|
||||
},
|
||||
{ // bug 1376994, bug 1543761
|
||||
path: "XCurProcD:chrome.manifest",
|
||||
condition: !WIN, // Visible on Windows with an open marker
|
||||
stat: 1,
|
||||
close: 1,
|
||||
},
|
||||
{ // Exists call in ScopedXREEmbed::SetAppDir
|
||||
path: "XCurProcD:",
|
||||
condition: WIN,
|
||||
|
@ -112,18 +100,6 @@ const processes = {
|
|||
condition: !WIN, // Visible on Windows with an open marker
|
||||
stat: 1,
|
||||
},
|
||||
{ // bug 1543761
|
||||
path: "GreD:chrome.manifest",
|
||||
condition: !WIN, // Visible on Windows with an open marker
|
||||
stat: 1,
|
||||
close: 1,
|
||||
},
|
||||
{ // bug 1376994, bug 1543761
|
||||
path: "XCurProcD:chrome.manifest",
|
||||
condition: !WIN, // Visible on Windows with an open marker
|
||||
stat: 1,
|
||||
close: 1,
|
||||
},
|
||||
{ // Exists call in ScopedXREEmbed::SetAppDir
|
||||
path: "XCurProcD:",
|
||||
condition: WIN,
|
||||
|
@ -146,18 +122,6 @@ const processes = {
|
|||
condition: !WIN, // Visible on Windows with an open marker
|
||||
stat: 1,
|
||||
},
|
||||
{ // bug 1543761
|
||||
path: "GreD:chrome.manifest",
|
||||
condition: !WIN, // Visible on Windows with an open marker
|
||||
stat: 1,
|
||||
close: 1,
|
||||
},
|
||||
{ // bug 1376994, bug 1543761
|
||||
path: "XCurProcD:chrome.manifest",
|
||||
condition: !WIN, // Visible on Windows with an open marker
|
||||
stat: 1,
|
||||
close: 1,
|
||||
},
|
||||
{ // Exists call in ScopedXREEmbed::SetAppDir
|
||||
path: "XCurProcD:",
|
||||
condition: WIN,
|
||||
|
|
|
@ -200,18 +200,6 @@ const startupPhases = {
|
|||
read: 1,
|
||||
close: 1,
|
||||
},
|
||||
{ // bug 1543761
|
||||
path: "GreD:chrome.manifest",
|
||||
condition: !WIN, // Visible on Windows with an open marker
|
||||
stat: 1,
|
||||
close: 1,
|
||||
},
|
||||
{ // bug 1376994, bug 1543761
|
||||
path: "XCurProcD:chrome.manifest",
|
||||
condition: !WIN, // Visible on Windows with an open marker
|
||||
stat: 1,
|
||||
close: 1,
|
||||
},
|
||||
{ // At least the read seems unavoidable
|
||||
path: "PrefD:prefs.js",
|
||||
stat: 1,
|
||||
|
|
|
@ -496,32 +496,19 @@ nsresult nsComponentManagerImpl::Init() {
|
|||
|
||||
// The overall order in which chrome.manifests are expected to be treated
|
||||
// is the following:
|
||||
// - greDir
|
||||
// - greDir's omni.ja
|
||||
// - appDir
|
||||
// - appDir's omni.ja
|
||||
// - greDir's omni.ja or greDir
|
||||
// - appDir's omni.ja or appDir
|
||||
|
||||
InitializeModuleLocations();
|
||||
ComponentLocation* cl = sModuleLocations->AppendElement();
|
||||
nsCOMPtr<nsIFile> lf =
|
||||
CloneAndAppend(greDir, NS_LITERAL_CSTRING("chrome.manifest"));
|
||||
cl->type = NS_APP_LOCATION;
|
||||
cl->location.Init(lf);
|
||||
|
||||
RefPtr<nsZipArchive> greOmnijar =
|
||||
mozilla::Omnijar::GetReader(mozilla::Omnijar::GRE);
|
||||
if (greOmnijar) {
|
||||
cl = sModuleLocations->AppendElement();
|
||||
cl->type = NS_APP_LOCATION;
|
||||
cl->location.Init(greOmnijar, "chrome.manifest");
|
||||
}
|
||||
|
||||
bool equals = false;
|
||||
appDir->Equals(greDir, &equals);
|
||||
if (!equals) {
|
||||
cl = sModuleLocations->AppendElement();
|
||||
cl->type = NS_APP_LOCATION;
|
||||
lf = CloneAndAppend(appDir, NS_LITERAL_CSTRING("chrome.manifest"));
|
||||
} else {
|
||||
nsCOMPtr<nsIFile> lf =
|
||||
CloneAndAppend(greDir, NS_LITERAL_CSTRING("chrome.manifest"));
|
||||
cl->location.Init(lf);
|
||||
}
|
||||
|
||||
|
@ -531,6 +518,16 @@ nsresult nsComponentManagerImpl::Init() {
|
|||
cl = sModuleLocations->AppendElement();
|
||||
cl->type = NS_APP_LOCATION;
|
||||
cl->location.Init(appOmnijar, "chrome.manifest");
|
||||
} else {
|
||||
bool equals = false;
|
||||
appDir->Equals(greDir, &equals);
|
||||
if (!equals) {
|
||||
cl = sModuleLocations->AppendElement();
|
||||
cl->type = NS_APP_LOCATION;
|
||||
nsCOMPtr<nsIFile> lf =
|
||||
CloneAndAppend(appDir, NS_LITERAL_CSTRING("chrome.manifest"));
|
||||
cl->location.Init(lf);
|
||||
}
|
||||
}
|
||||
|
||||
RereadChromeManifests(false);
|
||||
|
|
Загрузка…
Ссылка в новой задаче