Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "content/renderer/render_thread_impl.h" | 5 #include "content/renderer/render_thread_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 617 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 628 .Build()), | 628 .Build()), |
| 629 renderer_scheduler_(std::move(scheduler)), | 629 renderer_scheduler_(std::move(scheduler)), |
| 630 main_message_loop_(std::move(main_message_loop)), | 630 main_message_loop_(std::move(main_message_loop)), |
| 631 raster_worker_pool_(new RasterWorkerPool()) { | 631 raster_worker_pool_(new RasterWorkerPool()) { |
| 632 Init(); | 632 Init(); |
| 633 } | 633 } |
| 634 | 634 |
| 635 void RenderThreadImpl::Init() { | 635 void RenderThreadImpl::Init() { |
| 636 TRACE_EVENT0("startup", "RenderThreadImpl::Init"); | 636 TRACE_EVENT0("startup", "RenderThreadImpl::Init"); |
| 637 | 637 |
| 638 base::RemoveActionCallback(action_callback_); | |
|
Sami
2016/03/23 11:33:16
AFAICT Init() will only ever be called once, so is
beaudoin
2016/03/23 18:43:22
I don't know. I copied the pattern from metrics_se
| |
| 639 action_callback_ = base::Bind(&RenderThreadImpl::RecordComputedAction, | |
| 640 base::Unretained(this)); | |
| 641 base::AddActionCallback(action_callback_); | |
| 642 | |
| 638 base::trace_event::TraceLog::GetInstance()->SetThreadSortIndex( | 643 base::trace_event::TraceLog::GetInstance()->SetThreadSortIndex( |
| 639 base::PlatformThread::CurrentId(), | 644 base::PlatformThread::CurrentId(), |
| 640 kTraceEventRendererMainThreadSortIndex); | 645 kTraceEventRendererMainThreadSortIndex); |
| 641 | 646 |
| 642 #if defined(OS_MACOSX) || (defined(OS_ANDROID) && !defined(USE_AURA)) | 647 #if defined(OS_MACOSX) || (defined(OS_ANDROID) && !defined(USE_AURA)) |
| 643 // On Mac and Android Java UI, the select popups are rendered by the browser. | 648 // On Mac and Android Java UI, the select popups are rendered by the browser. |
| 644 blink::WebView::setUseExternalPopupMenus(true); | 649 blink::WebView::setUseExternalPopupMenus(true); |
| 645 #endif | 650 #endif |
| 646 | 651 |
| 647 lazy_tls.Pointer()->Set(this); | 652 lazy_tls.Pointer()->Set(this); |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 845 base::CommandLine::ForCurrentProcess()->HasSwitch( | 850 base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 846 switches::kUseMusInRenderer)) | 851 switches::kUseMusInRenderer)) |
| 847 CreateRenderWidgetWindowTreeClientFactory(); | 852 CreateRenderWidgetWindowTreeClientFactory(); |
| 848 #endif | 853 #endif |
| 849 | 854 |
| 850 service_registry()->ConnectToRemoteService( | 855 service_registry()->ConnectToRemoteService( |
| 851 mojo::GetProxy(&storage_partition_service_)); | 856 mojo::GetProxy(&storage_partition_service_)); |
| 852 } | 857 } |
| 853 | 858 |
| 854 RenderThreadImpl::~RenderThreadImpl() { | 859 RenderThreadImpl::~RenderThreadImpl() { |
| 860 base::RemoveActionCallback(action_callback_); | |
| 855 } | 861 } |
| 856 | 862 |
| 857 void RenderThreadImpl::Shutdown() { | 863 void RenderThreadImpl::Shutdown() { |
| 858 FOR_EACH_OBSERVER( | 864 FOR_EACH_OBSERVER( |
| 859 RenderProcessObserver, observers_, OnRenderProcessShutdown()); | 865 RenderProcessObserver, observers_, OnRenderProcessShutdown()); |
| 860 | 866 |
| 861 if (memory_observer_) { | 867 if (memory_observer_) { |
| 862 message_loop()->RemoveTaskObserver(memory_observer_.get()); | 868 message_loop()->RemoveTaskObserver(memory_observer_.get()); |
| 863 memory_observer_.reset(); | 869 memory_observer_.reset(); |
| 864 } | 870 } |
| (...skipping 1309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2174 } | 2180 } |
| 2175 | 2181 |
| 2176 void RenderThreadImpl::PendingRenderFrameConnect::OnConnectionError() { | 2182 void RenderThreadImpl::PendingRenderFrameConnect::OnConnectionError() { |
| 2177 size_t erased = | 2183 size_t erased = |
| 2178 RenderThreadImpl::current()->pending_render_frame_connects_.erase( | 2184 RenderThreadImpl::current()->pending_render_frame_connects_.erase( |
| 2179 routing_id_); | 2185 routing_id_); |
| 2180 DCHECK_EQ(1u, erased); | 2186 DCHECK_EQ(1u, erased); |
| 2181 } | 2187 } |
| 2182 | 2188 |
| 2183 } // namespace content | 2189 } // namespace content |
| OLD | NEW |