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_); |
} |