| Index: chrome/renderer/extensions/schema_generated_bindings.cc
|
| diff --git a/chrome/renderer/extensions/schema_generated_bindings.cc b/chrome/renderer/extensions/schema_generated_bindings.cc
|
| index c05d797b90293538442d892660875c1ff4630e29..1286aa56b98474b952ae220e696e053a20e8dc64 100644
|
| --- a/chrome/renderer/extensions/schema_generated_bindings.cc
|
| +++ b/chrome/renderer/extensions/schema_generated_bindings.cc
|
| @@ -160,7 +160,13 @@ class ExtensionImpl : public ChromeV8Extension {
|
| size_t api_index = 0;
|
| for (ExtensionAPI::SchemaMap::iterator it = schemas.begin();
|
| it != schemas.end(); ++it) {
|
| - api->Set(api_index, GetV8SchemaForAPI(self, context, it->first));
|
| + std::string api_name = it->first;
|
| + // For content scripts, only allow APIs that have unprivileged components.
|
| + if (v8_context->is_content_script() &&
|
| + ExtensionAPI::GetInstance()->IsWholeAPIPrivileged(api_name)) {
|
| + continue;
|
| + }
|
| + api->Set(api_index, GetV8SchemaForAPI(self, context, api_name));
|
| ++api_index;
|
| }
|
|
|
|
|