Remove logic for lazy initialization of WebKit.
See "Extensions impact on startup?" thread on (internal) chrome-fast mailing list from 8/14/2015 for background, which showed that effectively undoing this logic showed a 3% reduction on first_non_empty_paint_time. This lazy initialization used to be a performance win when it was added years ago, but has since become a performance drag. Since it's effectively not used now (since ChromeContentRendererClient::RenderThreadStarted always initializes WebKit through its call to RenderThread::RegisterExtension), just remove this unused logic.
Review URL: https://codereview.chromium.org/1821413003
Cr-Commit-Position: refs/heads/master@{#382795}
diff --git a/content/renderer/render_thread_impl.h b/content/renderer/render_thread_impl.h
index cf98faf..f532662 100644
--- a/content/renderer/render_thread_impl.h
+++ b/content/renderer/render_thread_impl.h
@@ -180,7 +180,6 @@
void RemoveObserver(RenderProcessObserver* observer) override;
void SetResourceDispatcherDelegate(
ResourceDispatcherDelegate* delegate) override;
- void EnsureWebKitInitialized() override;
scoped_ptr<base::SharedMemory> HostAllocateSharedMemoryBuffer(
size_t buffer_size) override;
cc::SharedBitmapManager* GetSharedBitmapManager() override;
@@ -458,12 +457,12 @@
StoragePartitionService* GetStoragePartitionService();
protected:
- RenderThreadImpl(const InProcessChildThreadParams& params,
- scoped_ptr<scheduler::RendererScheduler> scheduler);
+ RenderThreadImpl(
+ const InProcessChildThreadParams& params,
+ scoped_ptr<scheduler::RendererScheduler> scheduler,
+ scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue);
RenderThreadImpl(scoped_ptr<base::MessageLoop> main_message_loop,
scoped_ptr<scheduler::RendererScheduler> scheduler);
- virtual void SetResourceDispatchTaskQueue(
- const scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue);
private:
// ChildThread
@@ -477,10 +476,13 @@
scoped_refptr<base::SingleThreadTaskRunner> GetIOThreadTaskRunner() override;
scoped_ptr<base::SharedMemory> AllocateSharedMemory(size_t size) override;
- void Init();
+ void Init(scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue);
void InitializeCompositorThread();
+ void InitializeWebKit(
+ scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue);
+
void OnCreateNewFrame(FrameMsg_NewFrame_Params params);
void OnCreateNewFrameProxy(int routing_id,
int render_view_routing_id,