| Index: extensions/renderer/script_injection_manager.h
|
| diff --git a/extensions/renderer/script_injection_manager.h b/extensions/renderer/script_injection_manager.h
|
| index 08cf1e13189e9c4def928112bf107dd844d577a8..8fe8e10737cf39061baa2398fe932915dc0423eb 100644
|
| --- a/extensions/renderer/script_injection_manager.h
|
| +++ b/extensions/renderer/script_injection_manager.h
|
| @@ -48,6 +48,9 @@ class ScriptInjectionManager : public UserScriptSetManager::Observer {
|
| // Removes pending injections of the unloaded extension.
|
| void OnExtensionUnloaded(const std::string& extension_id);
|
|
|
| + // Notifies that an injection has been finished.
|
| + void OnInjectionFinished(ScriptInjection* injection);
|
| +
|
| private:
|
| // A RenderViewObserver implementation which watches the various render views
|
| // in order to notify the ScriptInjectionManager of different document load
|
| @@ -66,9 +69,6 @@ class ScriptInjectionManager : public UserScriptSetManager::Observer {
|
| // Invalidate any pending tasks associated with |frame|.
|
| void InvalidateForFrame(blink::WebFrame* frame);
|
|
|
| - // Returns true if the given |frame| is still valid.
|
| - bool IsFrameValid(blink::WebFrame* frame) const;
|
| -
|
| // Starts the process to inject appropriate scripts into |frame|.
|
| void StartInjectScripts(blink::WebFrame* frame,
|
| UserScript::RunLocation run_location);
|
| @@ -77,6 +77,11 @@ class ScriptInjectionManager : public UserScriptSetManager::Observer {
|
| void InjectScripts(blink::WebFrame* frame,
|
| UserScript::RunLocation run_location);
|
|
|
| + // Try to inject and store injection if it has not finished.
|
| + void TryToInject(scoped_ptr<ScriptInjection> injection,
|
| + UserScript::RunLocation run_location,
|
| + ScriptsRunInfo* scripts_run_info);
|
| +
|
| // Handle the ExecuteCode extension message.
|
| void HandleExecuteCode(const ExtensionMsg_ExecuteCode_Params& params,
|
| content::RenderView* render_view);
|
| @@ -101,13 +106,6 @@ class ScriptInjectionManager : public UserScriptSetManager::Observer {
|
| // The collection of RVOHelpers.
|
| ScopedVector<RVOHelper> rvo_helpers_;
|
|
|
| - // True when the manager is actively injecting scripts into a web frame.
|
| - bool injecting_scripts_;
|
| -
|
| - // The set of extensions that have been updated (and thus any injections have
|
| - // been invalidated) while the manager was |injecting_scripts_|.
|
| - std::set<std::string> invalidated_while_injecting_;
|
| -
|
| // The set of UserScripts associated with extensions. Owned by the Dispatcher.
|
| UserScriptSetManager* user_script_set_manager_;
|
|
|
| @@ -115,6 +113,9 @@ class ScriptInjectionManager : public UserScriptSetManager::Observer {
|
| // user consent.
|
| ScopedVector<ScriptInjection> pending_injections_;
|
|
|
| + // Running injections which are waiting for async callbacks from blink.
|
| + ScopedVector<ScriptInjection> running_injections_;
|
| +
|
| ScopedObserver<UserScriptSetManager, UserScriptSetManager::Observer>
|
| user_script_set_manager_observer_;
|
|
|
|
|