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

Unified Diff: chrome/renderer/extensions/chrome_v8_extension.cc

Issue 8761020: Only create chromeHidden object when needed. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move GetChromeHidden to ChromeV8Context Created 9 years, 1 month 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
« no previous file with comments | « chrome/renderer/extensions/chrome_v8_extension.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/extensions/chrome_v8_extension.cc
diff --git a/chrome/renderer/extensions/chrome_v8_extension.cc b/chrome/renderer/extensions/chrome_v8_extension.cc
index 51ceea4b1cb247a7d4941ca9a88e373a5a25e0ad..64da677bda82c6c30438e03ef95829909df8da31 100644
--- a/chrome/renderer/extensions/chrome_v8_extension.cc
+++ b/chrome/renderer/extensions/chrome_v8_extension.cc
@@ -25,12 +25,6 @@ using WebKit::WebView;
namespace {
-const char kChromeHidden[] = "chromeHidden";
-
-#ifndef NDEBUG
-const char kValidateCallbacks[] = "validateCallbacks";
-#endif
-
static base::LazyInstance<ChromeV8Extension::InstanceSet> g_instances =
LAZY_INSTANCE_INITIALIZER;
@@ -198,29 +192,7 @@ ChromeV8ExtensionHandler* ChromeV8Extension::CreateHandler(
v8::Handle<v8::Value> ChromeV8Extension::GetChromeHidden(
const v8::Arguments& args) {
- return GetChromeHidden(v8::Context::GetCurrent());
-}
-
-v8::Handle<v8::Value> ChromeV8Extension::GetChromeHidden(
- const v8::Handle<v8::Context>& context) {
- v8::Local<v8::Object> global = context->Global();
- v8::Local<v8::Value> hidden = global->GetHiddenValue(
- v8::String::New(kChromeHidden));
-
- if (hidden.IsEmpty() || hidden->IsUndefined()) {
- hidden = v8::Object::New();
- global->SetHiddenValue(v8::String::New(kChromeHidden), hidden);
-
-#ifndef NDEBUG
- // Tell schema_generated_bindings.js to validate callbacks and events
- // against their schema definitions in api/extension_api.json.
- v8::Local<v8::Object>::Cast(hidden)
- ->Set(v8::String::New(kValidateCallbacks), v8::True());
-#endif
- }
-
- DCHECK(hidden->IsObject());
- return v8::Local<v8::Object>::Cast(hidden);
+ return ChromeV8Context::GetOrCreateChromeHidden(v8::Context::GetCurrent());
}
v8::Handle<v8::Value> ChromeV8Extension::Print(const v8::Arguments& args) {
« no previous file with comments | « chrome/renderer/extensions/chrome_v8_extension.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698