| 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
 | 
| 
 |