Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #include "chrome/renderer/extensions/extension_dispatcher.h" | 5 #include "chrome/renderer/extensions/extension_dispatcher.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "chrome/common/child_process_logging.h" | 8 #include "chrome/common/child_process_logging.h" |
| 9 #include "chrome/common/chrome_switches.h" | 9 #include "chrome/common/chrome_switches.h" |
| 10 #include "chrome/common/extensions/extension.h" | 10 #include "chrome/common/extensions/extension.h" |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 147 v8_context_set_.DispatchChromeHiddenMethod( | 147 v8_context_set_.DispatchChromeHiddenMethod( |
| 148 extension_id, function_name, args, NULL, event_url); | 148 extension_id, function_name, args, NULL, event_url); |
| 149 | 149 |
| 150 // Reset the idle handler each time there's any activity like event or message | 150 // Reset the idle handler each time there's any activity like event or message |
| 151 // dispatch, for which Invoke is the chokepoint. | 151 // dispatch, for which Invoke is the chokepoint. |
| 152 if (is_extension_process_) { | 152 if (is_extension_process_) { |
| 153 RenderThread::Get()->ScheduleIdleHandler( | 153 RenderThread::Get()->ScheduleIdleHandler( |
| 154 kInitialExtensionIdleHandlerDelayS); | 154 kInitialExtensionIdleHandlerDelayS); |
| 155 } | 155 } |
| 156 | 156 |
| 157 // Tell the browser process that we're idle. | 157 // Tell the browser process that the event is dispatched and we're idle. |
| 158 if (CommandLine::ForCurrentProcess()->HasSwitch( | 158 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| 159 switches::kEnableLazyBackgroundPages) && | 159 switches::kEnableLazyBackgroundPages) && |
| 160 function_name == "Event.dispatchJSON") // may always be true | 160 function_name == "Event.dispatchJSON") { // may always be true |
| 161 RenderThread::Get()->Send(new ExtensionHostMsg_EventDispatch(extension_id)); | |
| 162 OnExtensionIdle(extension_id); | |
| 163 } | |
| 164 } | |
| 165 | |
| 166 void ExtensionDispatcher::OnExtensionIdle(const std::string& extension_id) { | |
|
Aaron Boodman
2011/10/31 17:46:08
How about "CheckIdleStatus".
Tessa MacDuff
2011/10/31 19:01:29
Done.
| |
| 167 if (!ExtensionProcessBindings::HasPendingRequests(extension_id)) | |
| 161 RenderThread::Get()->Send(new ExtensionHostMsg_ExtensionIdle(extension_id)); | 168 RenderThread::Get()->Send(new ExtensionHostMsg_ExtensionIdle(extension_id)); |
| 162 } | 169 } |
| 163 | 170 |
| 164 void ExtensionDispatcher::OnDeliverMessage(int target_port_id, | 171 void ExtensionDispatcher::OnDeliverMessage(int target_port_id, |
| 165 const std::string& message) { | 172 const std::string& message) { |
| 166 RendererExtensionBindings::DeliverMessage( | 173 RendererExtensionBindings::DeliverMessage( |
| 167 v8_context_set_.GetAll(), | 174 v8_context_set_.GetAll(), |
| 168 target_port_id, | 175 target_port_id, |
| 169 message, | 176 message, |
| 170 NULL); // All render views. | 177 NULL); // All render views. |
| (...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 399 | 406 |
| 400 RenderThread::Get()->RegisterExtension(extension); | 407 RenderThread::Get()->RegisterExtension(extension); |
| 401 } | 408 } |
| 402 | 409 |
| 403 void ExtensionDispatcher::OnUsingWebRequestAPI( | 410 void ExtensionDispatcher::OnUsingWebRequestAPI( |
| 404 bool adblock, bool adblock_plus, bool other) { | 411 bool adblock, bool adblock_plus, bool other) { |
| 405 webrequest_adblock_ = adblock; | 412 webrequest_adblock_ = adblock; |
| 406 webrequest_adblock_plus_ = adblock_plus; | 413 webrequest_adblock_plus_ = adblock_plus; |
| 407 webrequest_other_ = other; | 414 webrequest_other_ = other; |
| 408 } | 415 } |
| OLD | NEW |