Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(278)

Unified Diff: chrome/renderer/resources/extensions/schema_generated_bindings.js

Issue 10025007: Convert tabs, windows, and extension APIs to feature system. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: blah Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 4da0dba19c24aec85615f29436769a74c450117b..9ab9033271dc7b7b887775a3e27952f90ef03ce6 100644
--- a/chrome/renderer/resources/extensions/schema_generated_bindings.js
+++ b/chrome/renderer/resources/extensions/schema_generated_bindings.js
@@ -9,6 +9,7 @@
require('event_bindings');
var GetExtensionAPIDefinition =
requireNative('apiDefinitions').GetExtensionAPIDefinition;
+ var IsMemberAllowed = requireNative('apiDefinitions').IsMemberAllowed;
var sendRequest = require('sendRequest').sendRequest;
var chromeHidden = requireNative('chrome_hidden').GetChromeHidden();
@@ -395,18 +396,22 @@
// based on the presence of "unprivileged" and whether this is an
// extension process (versus e.g. a content script).
function isSchemaAccessAllowed(itemSchema) {
- return isExtensionProcess ||
- apiDef.unprivileged ||
- itemSchema.unprivileged;
+ if (apiDef.uses_feature_system) {
+ var result = IsMemberAllowed(apiDef.namespace + "." + itemSchema.name);
+ return result;
+ } else {
+ // TODO(aa): Remove this when all APIs are ported to feature system.
+ return isExtensionProcess ||
+ apiDef.unprivileged ||
+ itemSchema.unprivileged;
+ }
}
// Adds a getter that throws an access denied error to object |mod|
// for property |name|.
function addUnprivilegedAccessGetter(mod, name) {
mod.__defineGetter__(name, function() {
- throw new Error(
- '"' + name + '" can only be used in extension processes. See ' +
- 'the content scripts documentation for more details.');
+ throw new Error('"' + name + '" cannot be used in this context.');
});
}

Powered by Google App Engine
This is Rietveld 408576698