| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef EXTENSIONS_RENDERER_SCRIPT_INJECTION_H_ | 5 #ifndef EXTENSIONS_RENDERER_SCRIPT_INJECTION_H_ |
| 6 #define EXTENSIONS_RENDERER_SCRIPT_INJECTION_H_ | 6 #define EXTENSIONS_RENDERER_SCRIPT_INJECTION_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 | 48 |
| 49 // Return the id of the injection host associated with the given world. | 49 // Return the id of the injection host associated with the given world. |
| 50 static std::string GetHostIdForIsolatedWorld(int world_id); | 50 static std::string GetHostIdForIsolatedWorld(int world_id); |
| 51 | 51 |
| 52 // Remove the isolated world associated with the given injection host. | 52 // Remove the isolated world associated with the given injection host. |
| 53 static void RemoveIsolatedWorld(const std::string& host_id); | 53 static void RemoveIsolatedWorld(const std::string& host_id); |
| 54 | 54 |
| 55 ScriptInjection(std::unique_ptr<ScriptInjector> injector, | 55 ScriptInjection(std::unique_ptr<ScriptInjector> injector, |
| 56 content::RenderFrame* render_frame, | 56 content::RenderFrame* render_frame, |
| 57 std::unique_ptr<const InjectionHost> injection_host, | 57 std::unique_ptr<const InjectionHost> injection_host, |
| 58 UserScript::RunLocation run_location); | 58 UserScript::RunLocation run_location, |
| 59 bool log_activity); |
| 59 ~ScriptInjection(); | 60 ~ScriptInjection(); |
| 60 | 61 |
| 61 // Try to inject the script at the |current_location|. This returns | 62 // Try to inject the script at the |current_location|. This returns |
| 62 // INJECTION_FINISHED if injection has injected or will never inject, returns | 63 // INJECTION_FINISHED if injection has injected or will never inject, returns |
| 63 // INJECTION_BLOCKED if injection is running asynchronously and has not | 64 // INJECTION_BLOCKED if injection is running asynchronously and has not |
| 64 // finished yet, returns INJECTION_WAITING if injections is delayed (either | 65 // finished yet, returns INJECTION_WAITING if injections is delayed (either |
| 65 // for permission purposes or because |current_location| is not the designated | 66 // for permission purposes or because |current_location| is not the designated |
| 66 // |run_location_|). | 67 // |run_location_|). |
| 67 // If INJECTION_BLOCKED is returned, |async_completion_callback| will be | 68 // If INJECTION_BLOCKED is returned, |async_completion_callback| will be |
| 68 // called upon completion. | 69 // called upon completion. |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 125 // currently waiting on permission. | 126 // currently waiting on permission. |
| 126 int64_t request_id_; | 127 int64_t request_id_; |
| 127 | 128 |
| 128 // Whether or not the injection is complete, either via injecting the script | 129 // Whether or not the injection is complete, either via injecting the script |
| 129 // or because it will never complete. | 130 // or because it will never complete. |
| 130 bool complete_; | 131 bool complete_; |
| 131 | 132 |
| 132 // Whether or not the injection successfully injected JS. | 133 // Whether or not the injection successfully injected JS. |
| 133 bool did_inject_js_; | 134 bool did_inject_js_; |
| 134 | 135 |
| 136 // Whether or not we should log dom activity for this injection. |
| 137 bool log_activity_; |
| 138 |
| 135 // Results storage. | 139 // Results storage. |
| 136 std::unique_ptr<base::Value> execution_result_; | 140 std::unique_ptr<base::Value> execution_result_; |
| 137 | 141 |
| 138 // The callback to run upon completing asynchronously. | 142 // The callback to run upon completing asynchronously. |
| 139 CompletionCallback async_completion_callback_; | 143 CompletionCallback async_completion_callback_; |
| 140 | 144 |
| 141 // A helper class to hold the render frame and watch for its deletion. | 145 // A helper class to hold the render frame and watch for its deletion. |
| 142 std::unique_ptr<FrameWatcher> frame_watcher_; | 146 std::unique_ptr<FrameWatcher> frame_watcher_; |
| 143 | 147 |
| 144 base::WeakPtrFactory<ScriptInjection> weak_ptr_factory_; | 148 base::WeakPtrFactory<ScriptInjection> weak_ptr_factory_; |
| 145 | 149 |
| 146 DISALLOW_COPY_AND_ASSIGN(ScriptInjection); | 150 DISALLOW_COPY_AND_ASSIGN(ScriptInjection); |
| 147 }; | 151 }; |
| 148 | 152 |
| 149 } // namespace extensions | 153 } // namespace extensions |
| 150 | 154 |
| 151 #endif // EXTENSIONS_RENDERER_SCRIPT_INJECTION_H_ | 155 #endif // EXTENSIONS_RENDERER_SCRIPT_INJECTION_H_ |
| OLD | NEW |