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

Unified Diff: extensions/renderer/extension_frame_helper.cc

Issue 2633253002: Split content script injections into multiple tasks (Closed)
Patch Set: Inject document_idle scripts before window.onload Created 3 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: extensions/renderer/extension_frame_helper.cc
diff --git a/extensions/renderer/extension_frame_helper.cc b/extensions/renderer/extension_frame_helper.cc
index 3985bd60efd97f85ff90275b22243f5c28c92ac9..e7d2850a2ba10ada20a196e7e39dc8aaf86f262e 100644
--- a/extensions/renderer/extension_frame_helper.cc
+++ b/extensions/renderer/extension_frame_helper.cc
@@ -169,6 +169,11 @@ void ExtensionFrameHelper::RunScriptsAtDocumentEnd() {
// |this| might be dead by now.
}
+void ExtensionFrameHelper::RunScriptsAtDocumentIdle() {
+ RunCallbacksWhileFrameIsValid(weak_ptr_factory_.GetWeakPtr(),
+ &document_idle_callbacks_);
+}
+
void ExtensionFrameHelper::ScheduleAtDocumentStart(
const base::Closure& callback) {
document_element_created_callbacks_.push_back(callback);
@@ -179,6 +184,11 @@ void ExtensionFrameHelper::ScheduleAtDocumentEnd(
document_load_finished_callbacks_.push_back(callback);
}
+void ExtensionFrameHelper::ScheduleAtDocumentIdle(
+ const base::Closure& callback) {
+ document_idle_callbacks_.push_back(callback);
+}
+
void ExtensionFrameHelper::DidMatchCSS(
const blink::WebVector<blink::WebString>& newly_matching_selectors,
const blink::WebVector<blink::WebString>& stopped_matching_selectors) {

Powered by Google App Engine
This is Rietveld 408576698