Index: chrome/renderer/extensions/chrome_v8_context.cc |
diff --git a/chrome/renderer/extensions/chrome_v8_context.cc b/chrome/renderer/extensions/chrome_v8_context.cc |
index a9c221fefcf9cc587d2997973320b13898b53e50..3e151b081a58e5ee1aec4d9e497f27970fc1fdb6 100644 |
--- a/chrome/renderer/extensions/chrome_v8_context.cc |
+++ b/chrome/renderer/extensions/chrome_v8_context.cc |
@@ -39,7 +39,8 @@ ChromeV8Context::ChromeV8Context(v8::Handle<v8::Context> v8_context, |
v8_context)), |
web_frame_(web_frame), |
extension_(extension), |
- context_type_(context_type) { |
+ context_type_(context_type), |
+ available_extension_apis_initialized_(false) { |
VLOG(1) << "Created context:\n" |
<< " extension id: " << GetExtensionID() << "\n" |
<< " frame: " << web_frame_ << "\n" |
@@ -68,11 +69,11 @@ v8::Handle<v8::Value> ChromeV8Context::GetOrCreateChromeHidden( |
global->SetHiddenValue(v8::String::New(kChromeHidden), hidden); |
#ifndef NDEBUG |
- // Tell schema_generated_bindings.js to validate callbacks and events |
- // against their schema definitions. |
+ // Tell bindings.js to validate callbacks and events against their schema |
+ // definitions. |
v8::Local<v8::Object>::Cast(hidden)->Set( |
v8::String::New(kValidateCallbacks), v8::True()); |
- // Tell schema_generated_bindings.js to validate API for ambiguity. |
+ // Tell bindings.js to validate API for ambiguity. |
v8::Local<v8::Object>::Cast(hidden)->Set( |
v8::String::New(kValidateAPI), v8::True()); |
#endif |
@@ -143,15 +144,15 @@ bool ChromeV8Context::CallChromeHiddenMethod( |
} |
const std::set<std::string>& ChromeV8Context::GetAvailableExtensionAPIs() { |
- if (!available_extension_apis_.get()) { |
+ if (!available_extension_apis_initialized_) { |
available_extension_apis_ = |
ExtensionAPI::GetSharedInstance()->GetAPIsForContext( |
context_type_, |
extension_, |
- UserScriptSlave::GetDataSourceURLForFrame( |
- web_frame_)).Pass(); |
+ UserScriptSlave::GetDataSourceURLForFrame(web_frame_)); |
+ available_extension_apis_initialized_ = true; |
} |
- return *(available_extension_apis_.get()); |
+ return available_extension_apis_; |
} |
void ChromeV8Context::DispatchOnLoadEvent(bool is_incognito_process, |