Bug 1184404 - Support additional navigator.getFeature keys for OpenMobile ACL. r=khuey a=gwagner CLOSED TREE
--- a/dom/base/Navigator.cpp
+++ b/dom/base/Navigator.cpp
@@ -1520,19 +1520,22 @@ Navigator::GetFeature(const nsAString& a
nsRefPtr<Promise> ipcRef(p);
cc->SendGetSystemMemory(reinterpret_cast<uint64_t>(ipcRef.forget().take()));
}
return p.forget();
} // hardware.memory
#endif
#ifdef MOZ_WIDGET_GONK
- if (aName.EqualsLiteral("acl.version")) {
+ if (StringBeginsWith(aName, NS_LITERAL_STRING("acl.")) &&
+ (aName.EqualsLiteral("acl.version") || CheckPermission("external-app"))) {
char value[PROPERTY_VALUE_MAX];
- uint32_t len = property_get("persist.acl.version", value, nullptr);
+ nsCString propertyKey("persist.");
+ propertyKey.Append(NS_ConvertUTF16toUTF8(aName));
+ uint32_t len = property_get(propertyKey.get(), value, nullptr);
if (len > 0) {
p->MaybeResolve(NS_ConvertUTF8toUTF16(value));
return p.forget();
}
}
#endif
// Hardcoded manifest features. Some are still b2g specific.