| Index: chrome/renderer/extensions/api_definitions_natives.cc | 
| diff --git a/chrome/renderer/extensions/api_definitions_natives.cc b/chrome/renderer/extensions/api_definitions_natives.cc | 
| index bc8b4b0f9ea0a3642a8358184f5732628f505ab9..6997f678d535b22b6018fc23873e8337734cd12d 100644 | 
| --- a/chrome/renderer/extensions/api_definitions_natives.cc | 
| +++ b/chrome/renderer/extensions/api_definitions_natives.cc | 
| @@ -4,6 +4,8 @@ | 
|  | 
| #include "chrome/renderer/extensions/api_definitions_natives.h" | 
|  | 
| +#include "chrome/common/extensions/api/extension_api.h" | 
| + | 
| namespace extensions { | 
|  | 
| ApiDefinitionsNatives::ApiDefinitionsNatives( | 
| @@ -12,6 +14,9 @@ ApiDefinitionsNatives::ApiDefinitionsNatives( | 
| RouteFunction("GetExtensionAPIDefinition", | 
| base::Bind(&ApiDefinitionsNatives::GetExtensionAPIDefinition, | 
| base::Unretained(this))); | 
| +  RouteFunction("IsMemberAllowed", | 
| +                base::Bind(&ApiDefinitionsNatives::IsMemberAllowed, | 
| +                           base::Unretained(this))); | 
| } | 
|  | 
| v8::Handle<v8::Value> ApiDefinitionsNatives::GetExtensionAPIDefinition( | 
| @@ -23,4 +28,27 @@ v8::Handle<v8::Value> ApiDefinitionsNatives::GetExtensionAPIDefinition( | 
| v8_context->GetAvailableExtensionAPIs()); | 
| } | 
|  | 
| +v8::Handle<v8::Value> ApiDefinitionsNatives::IsMemberAllowed( | 
| +    const v8::Arguments& arguments) { | 
| +  if (arguments.Length() < 1 || !arguments[0]->IsString()) { | 
| +    LOG(ERROR) << "Invalid arguments"; | 
| +    return v8::Boolean::New(false); | 
| +  } | 
| + | 
| +  ChromeV8Context* v8_context = | 
| +      extension_dispatcher()->v8_context_set().GetCurrent(); | 
| +  CHECK(v8_context); | 
| + | 
| +  const Extension* extension = | 
| +      extension_dispatcher()->extensions()->GetByID( | 
| +          v8_context->GetExtensionID()); | 
| + | 
| +  std::string api_name = *v8::String::AsciiValue(arguments[0]->ToString()); | 
| +  bool result = ExtensionAPI::GetSharedInstance()->IsAvailable( | 
| +      api_name, | 
| +      extension, | 
| +      v8_context->context_type()); | 
| +  return v8::Boolean::New(result); | 
| +} | 
| + | 
| }  // namespace extensions | 
|  |