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

Unified Diff: chrome/renderer/extensions/chrome_v8_context.h

Issue 11571014: Lazy load chrome.* APIs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix interactive_ui_tests Created 7 years, 10 months 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
Index: chrome/renderer/extensions/chrome_v8_context.h
diff --git a/chrome/renderer/extensions/chrome_v8_context.h b/chrome/renderer/extensions/chrome_v8_context.h
index 8c71c047c2d1b751a7dcc0737868970c65841c7f..e170f5cfb5df831806bd237f08e18db7c4457cc5 100644
--- a/chrome/renderer/extensions/chrome_v8_context.h
+++ b/chrome/renderer/extensions/chrome_v8_context.h
@@ -36,6 +36,10 @@ class ChromeV8Context {
Feature::Context context_type);
~ChromeV8Context();
+ // Clears the WebFrame for this contexts and invalidates the associated
+ // ModuleSystem.
+ void Invalidate();
+
v8::Handle<v8::Context> v8_context() const {
return v8_context_;
}
@@ -47,9 +51,6 @@ class ChromeV8Context {
WebKit::WebFrame* web_frame() const {
return web_frame_;
}
- void clear_web_frame() {
- web_frame_ = NULL;
- }
Feature::Context context_type() const {
return context_type_;
@@ -100,6 +101,8 @@ class ChromeV8Context {
// APIs are available, returns an empty set.
const std::set<std::string>& GetAvailableExtensionAPIs();
+ Feature::Availability GetAvailability(const std::string& api_name);
+
// Returns a string description of the type of context this is.
std::string GetContextTypeDescription();
@@ -128,7 +131,8 @@ class ChromeV8Context {
scoped_ptr<ModuleSystem> module_system_;
// The extension APIs available to this context.
- scoped_ptr<std::set<std::string> > available_extension_apis_;
+ std::set<std::string> available_extension_apis_;
+ bool available_extension_apis_initialized_;
DISALLOW_COPY_AND_ASSIGN(ChromeV8Context);
};

Powered by Google App Engine
This is Rietveld 408576698