--- a/xpcom/components/ManifestParser.cpp
+++ b/xpcom/components/ManifestParser.cpp
@@ -44,19 +44,16 @@ using namespace mozilla;
struct ManifestDirective
{
const char* directive;
int argc;
// Binary components are only allowed for APP locations.
bool apponly;
- // Some directives should only be delivered for APP or EXTENSION locations.
- bool componentonly;
-
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
@@ -67,51 +64,51 @@ struct ManifestDirective
void (nsChromeRegistry::*regfunc)(
nsChromeRegistry::ManifestProcessingContext& aCx,
int aLineNo, char* const* aArgv, int aFlags);
bool isContract;
};
static const ManifestDirective kParsingTable[] = {
{
- "manifest", 1, false, false, true, true, false,
+ "manifest", 1, false, true, true, false,
&nsComponentManagerImpl::ManifestManifest, nullptr,
},
{
- "component", 2, false, true, false, false, false,
+ "component", 2, false, false, false, false,
&nsComponentManagerImpl::ManifestComponent, nullptr,
},
{
- "contract", 2, false, true, false, false, false,
+ "contract", 2, false, false, false, false,
&nsComponentManagerImpl::ManifestContract, nullptr,
},
{
- "category", 3, false, true, false, false, false,
+ "category", 3, false, false, false, false,
&nsComponentManagerImpl::ManifestCategory, nullptr,
},
{
- "content", 2, false, true, true, true, true,
+ "content", 2, false, true, true, true,
nullptr, &nsChromeRegistry::ManifestContent,
},
{
- "locale", 3, false, true, true, true, false,
+ "locale", 3, false, true, true, false,
nullptr, &nsChromeRegistry::ManifestLocale,
},
{
- "skin", 3, false, false, true, true, false,
+ "skin", 3, false, true, 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, false, false, true, true, false,
+ "override", 2, false, true, true, false,
nullptr, &nsChromeRegistry::ManifestOverride,
},
{
- "resource", 2, false, true, true, false, true,
+ "resource", 2, false, true, false, true,
nullptr, &nsChromeRegistry::ManifestResource,
}
};
static const char kWhitespace[] = "\t ";
static bool
IsNewline(char aChar)
@@ -591,23 +588,16 @@ ParseManifest(NSLocationType aType, File
#ifndef MOZ_BINARY_EXTENSIONS
if (directive->apponly && NS_APP_LOCATION != aType) {
LogMessageWithContext(aFile, line,
"Only application manifests may use the '%s' directive.", token);
continue;
}
#endif
- if (directive->componentonly && NS_SKIN_LOCATION == aType) {
- LogMessageWithContext(aFile, line,
- "Skin manifest not allowed to use '%s' directive.",
- token);
- continue;
- }
-
NS_ASSERTION(directive->argc < 4, "Need to reset argv array length");
char* argv[4];
for (int i = 0; i < directive->argc; ++i) {
argv[i] = nsCRT::strtok(whitespace, kWhitespace, &whitespace);
}
if (!argv[directive->argc - 1]) {
LogMessageWithContext(aFile, line,