summaryrefslogtreecommitdiffstats
path: root/extensions/browser/serial_extension_host_queue.cc
diff options
context:
space:
mode:
authoryoz <yoz@chromium.org>2015-02-20 17:30:37 -0800
committerCommit bot <commit-bot@chromium.org>2015-02-21 01:31:26 +0000
commitd61dfe19ab3188101e511f633eeaaef3dc689e41 (patch)
treee83cbd14e9b041bdefb28fd7b746c268275d3477 /extensions/browser/serial_extension_host_queue.cc
parent5237cb89a8fc1a743b483bc2be5cdbe9669d9d86 (diff)
downloadchromium_src-d61dfe19ab3188101e511f633eeaaef3dc689e41.zip
chromium_src-d61dfe19ab3188101e511f633eeaaef3dc689e41.tar.gz
chromium_src-d61dfe19ab3188101e511f633eeaaef3dc689e41.tar.bz2
Make BackgroundContentsService start up BackgroundContents with a delay, as for ExtensionHosts.
extensions::ProcessManager starts ExtensionHosts asynchronously with a queue to avoid using too much resources at startup; make BackgroundContentsService use the same queue implementation. (ExtensionHostQueue now accepts an interface that both BackgroundContentsService and ExtensionHost share.) This significantly reduces the time BackgroundContentsService contributes to ExtensionService startup (75th percentile was ~300ms, according to Extensions.BackgroundContentsServiceStartupTime). BUG=47236 Review URL: https://codereview.chromium.org/933423003 Cr-Commit-Position: refs/heads/master@{#317480}
Diffstat (limited to 'extensions/browser/serial_extension_host_queue.cc')
-rw-r--r--extensions/browser/serial_extension_host_queue.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/extensions/browser/serial_extension_host_queue.cc b/extensions/browser/serial_extension_host_queue.cc
index 7c8df68..7986523 100644
--- a/extensions/browser/serial_extension_host_queue.cc
+++ b/extensions/browser/serial_extension_host_queue.cc
@@ -6,7 +6,7 @@
#include "base/bind.h"
#include "base/message_loop/message_loop.h"
-#include "extensions/browser/extension_host.h"
+#include "extensions/browser/deferred_start_render_host.h"
namespace extensions {
@@ -17,13 +17,13 @@ SerialExtensionHostQueue::SerialExtensionHostQueue()
SerialExtensionHostQueue::~SerialExtensionHostQueue() {
}
-void SerialExtensionHostQueue::Add(ExtensionHost* host) {
+void SerialExtensionHostQueue::Add(DeferredStartRenderHost* host) {
queue_.push_back(host);
PostTask();
}
-void SerialExtensionHostQueue::Remove(ExtensionHost* host) {
- std::list<ExtensionHost*>::iterator it =
+void SerialExtensionHostQueue::Remove(DeferredStartRenderHost* host) {
+ std::list<DeferredStartRenderHost*>::iterator it =
std::find(queue_.begin(), queue_.end(), host);
if (it != queue_.end())
queue_.erase(it);