Index: chrome/renderer/resources/extensions/schema_generated_bindings.js |
diff --git a/chrome/renderer/resources/extensions/schema_generated_bindings.js b/chrome/renderer/resources/extensions/schema_generated_bindings.js |
index 66c193acac0d7f831b787cc5c8bcf9daa10f519a..12a4403686c4ee91a1cddfb9c6ee0168ef24a8d0 100644 |
--- a/chrome/renderer/resources/extensions/schema_generated_bindings.js |
+++ b/chrome/renderer/resources/extensions/schema_generated_bindings.js |
@@ -10,7 +10,7 @@ |
var GetExtensionAPIDefinition = |
requireNative('apiDefinitions').GetExtensionAPIDefinition; |
var sendRequest = require('sendRequest').sendRequest; |
- |
+ var isDevChannel = requireNative('channel').IsDevChannel; |
var chromeHidden = requireNative('chrome_hidden').GetChromeHidden(); |
// The object to generate the bindings for "internal" APIs in, so that |
@@ -341,9 +341,18 @@ |
manifestVersion <= schemaNode.maximumManifestVersion; |
} |
+ // Temporary hack to check if the runtime API is supported. |
+ // TODO(aa): Remove when we can restrict non-permission APIs to dev-only. |
+ function isRuntimeAPISupported(schemaNode) { |
+ if (schemaNode.namespace == "runtime") |
+ return isDevChannel(); |
+ return true; |
+ } |
+ |
function isSchemaNodeSupported(schemaNode, platform, manifestVersion) { |
return isPlatformSupported(schemaNode, platform) && |
- isManifestVersionSupported(schemaNode, manifestVersion); |
+ isManifestVersionSupported(schemaNode, manifestVersion) && |
+ isRuntimeAPISupported(schemaNode); |
} |
chromeHidden.onLoad.addListener(function(extensionId, |