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

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

Issue 9456037: Adding run_at to chrome.tabs.executeScript/insertCss. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 9 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/extension_helper.cc
diff --git a/chrome/renderer/extensions/extension_helper.cc b/chrome/renderer/extensions/extension_helper.cc
index 7c98f8746d7db48495661c08e8cca5684ccb916c..9ad2f76f26e9ef8d4b50aad969c828338318650a 100644
--- a/chrome/renderer/extensions/extension_helper.cc
+++ b/chrome/renderer/extensions/extension_helper.cc
@@ -20,7 +20,7 @@
#include "chrome/renderer/extensions/extension_dispatcher.h"
#include "chrome/renderer/extensions/miscellaneous_bindings.h"
#include "chrome/renderer/extensions/schema_generated_bindings.h"
-#include "chrome/renderer/extensions/user_script_idle_scheduler.h"
+#include "chrome/renderer/extensions/user_script_scheduler.h"
#include "chrome/renderer/extensions/user_script_slave.h"
#include "content/public/renderer/render_view.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebConsoleMessage.h"
@@ -43,11 +43,11 @@ using webkit_glue::ImageResourceFetcher;
using webkit_glue::ResourceFetcher;
namespace {
-// Keeps a mapping from the frame pointer to a UserScriptIdleScheduler object.
+// Keeps a mapping from the frame pointer to a UserScriptScheduler object.
// We store this mapping per process, because a frame can jump from one
// document to another with adoptNode, and so having the object be a
// RenderViewObserver means it might miss some notifications after it moves.
-typedef std::map<WebFrame*, UserScriptIdleScheduler*> SchedulerMap;
+typedef std::map<WebFrame*, UserScriptScheduler*> SchedulerMap;
static base::LazyInstance<SchedulerMap> g_schedulers =
LAZY_INSTANCE_INITIALIZER;
}
@@ -147,6 +147,9 @@ void ExtensionHelper::DidFinishLoad(WebKit::WebFrame* frame) {
void ExtensionHelper::DidCreateDocumentElement(WebFrame* frame) {
extension_dispatcher_->user_script_slave()->InjectScripts(
frame, UserScript::DOCUMENT_START);
+ SchedulerMap::iterator i = g_schedulers.Get().find(frame);
+ if (i != g_schedulers.Get().end())
+ i->second->DidCreateDocumentElement();
}
void ExtensionHelper::DidStartProvisionalLoad(WebKit::WebFrame* frame) {
@@ -179,7 +182,7 @@ void ExtensionHelper::DidCreateDataSource(WebFrame* frame, WebDataSource* ds) {
if (g_schedulers.Get().count(frame))
return;
- g_schedulers.Get()[frame] = new UserScriptIdleScheduler(
+ g_schedulers.Get()[frame] = new UserScriptScheduler(
frame, extension_dispatcher_);
}

Powered by Google App Engine
This is Rietveld 408576698