author | Kris Maglione <maglione.k@gmail.com> |
Tue, 31 Jul 2018 16:44:52 -0700 | |
changeset 429730 | 2a5aa9de1fd9760a9245ecae815a6e02bb9eef42 |
parent 429729 | 163276881d35942172fd18d8f2cd270fbab1de71 |
child 429731 | 20668aaf20ebbef0dad5b18b0db001bee589da3e |
push id | 34372 |
push user | nerli@mozilla.com |
push date | Thu, 02 Aug 2018 08:55:28 +0000 |
treeherder | mozilla-central@bd79b07f57a3 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | froydnj |
bugs | 1479945 |
milestone | 63.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
|
--- a/xpcom/components/ManifestParser.cpp +++ b/xpcom/components/ManifestParser.cpp @@ -43,67 +43,65 @@ using namespace mozilla; struct ManifestDirective { const char* directive; int argc; bool ischrome; - bool allowbootstrap; - // The contentaccessible flags only apply to content/resource directives. bool contentflags; // Function to handle this directive. This isn't a union because C++ still // hasn't learned how to initialize unions in a sane way. void (nsComponentManagerImpl::*mgrfunc)( nsComponentManagerImpl::ManifestProcessingContext& aCx, int aLineNo, char* const* aArgv); void (nsChromeRegistry::*regfunc)( nsChromeRegistry::ManifestProcessingContext& aCx, int aLineNo, char* const* aArgv, int aFlags); }; static const ManifestDirective kParsingTable[] = { { - "manifest", 1, true, true, false, + "manifest", 1, true, false, &nsComponentManagerImpl::ManifestManifest, nullptr, }, { - "component", 2, false, false, false, + "component", 2, false, false, &nsComponentManagerImpl::ManifestComponent, nullptr, }, { - "contract", 2, false, false, false, + "contract", 2, false, false, &nsComponentManagerImpl::ManifestContract, nullptr, }, { - "category", 3, false, false, false, + "category", 3, false, false, &nsComponentManagerImpl::ManifestCategory, nullptr, }, { - "content", 2, true, true, true, + "content", 2, true, true, nullptr, &nsChromeRegistry::ManifestContent, }, { - "locale", 3, true, true, false, + "locale", 3, true, false, nullptr, &nsChromeRegistry::ManifestLocale, }, { - "skin", 3, true, true, false, + "skin", 3, true, false, nullptr, &nsChromeRegistry::ManifestSkin, }, { // NB: note that while skin manifests can use this, they are only allowed // to use it for chrome://../skin/ URLs - "override", 2, true, true, false, + "override", 2, true, false, nullptr, &nsChromeRegistry::ManifestOverride, }, { - "resource", 2, true, false, true, + "resource", 2, false, true, nullptr, &nsChromeRegistry::ManifestResource, } }; static const char kWhitespace[] = "\t "; static bool IsNewline(char aChar) @@ -568,17 +566,17 @@ ParseManifest(NSLocationType aType, File if (!directive) { LogMessageWithContext(aFile, line, "Ignoring unrecognized chrome manifest directive '%s'.", token); continue; } - if (!directive->allowbootstrap && NS_BOOTSTRAPPED_LOCATION == aType) { + if (!directive->ischrome && NS_BOOTSTRAPPED_LOCATION == aType) { LogMessageWithContext(aFile, line, "Bootstrapped manifest not allowed to use '%s' directive.", token); continue; } NS_ASSERTION(directive->argc < 4, "Need to reset argv array length"); char* argv[4];