Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(262)

Side by Side Diff: content/renderer/render_thread_impl.cc

Issue 2447143003: Use kRenderClientId command line flag when starting a render process (Closed)
Patch Set: Added RenderThreadImpl::client_id_ to store client ID and avoid repetitive string parsing Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/renderer/render_thread_impl.h ('k') | content/renderer/render_widget.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 582 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 DCHECK(current()); 593 DCHECK(current());
594 return current()->render_message_filter(); 594 return current()->render_message_filter();
595 } 595 }
596 596
597 // static 597 // static
598 void RenderThreadImpl::SetRenderMessageFilterForTesting( 598 void RenderThreadImpl::SetRenderMessageFilterForTesting(
599 mojom::RenderMessageFilter* render_message_filter) { 599 mojom::RenderMessageFilter* render_message_filter) {
600 g_render_message_filter_for_testing = render_message_filter; 600 g_render_message_filter_for_testing = render_message_filter;
601 } 601 }
602 602
603 // In single-process mode used for debugging, we don't pass a renderer client
604 // ID via command line because RenderThreadImpl lives in the same process as
605 // the browser
603 RenderThreadImpl::RenderThreadImpl( 606 RenderThreadImpl::RenderThreadImpl(
604 const InProcessChildThreadParams& params, 607 const InProcessChildThreadParams& params,
605 std::unique_ptr<blink::scheduler::RendererScheduler> scheduler, 608 std::unique_ptr<blink::scheduler::RendererScheduler> scheduler,
606 scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue) 609 scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue)
607 : ChildThreadImpl(Options::Builder() 610 : ChildThreadImpl(Options::Builder()
608 .InBrowserProcess(params) 611 .InBrowserProcess(params)
609 .AutoStartServiceManagerConnection(false) 612 .AutoStartServiceManagerConnection(false)
610 .ConnectToBrowser(true) 613 .ConnectToBrowser(true)
611 .Build()), 614 .Build()),
612 renderer_scheduler_(std::move(scheduler)), 615 renderer_scheduler_(std::move(scheduler)),
613 time_zone_monitor_binding_(this), 616 time_zone_monitor_binding_(this),
614 categorized_worker_pool_(new CategorizedWorkerPool()), 617 categorized_worker_pool_(new CategorizedWorkerPool()),
615 renderer_binding_(this) { 618 renderer_binding_(this),
619 client_id_(1) {
616 Init(resource_task_queue); 620 Init(resource_task_queue);
617 } 621 }
618 622
619 // When we run plugins in process, we actually run them on the render thread, 623 // When we run plugins in process, we actually run them on the render thread,
620 // which means that we need to make the render thread pump UI events. 624 // which means that we need to make the render thread pump UI events.
621 RenderThreadImpl::RenderThreadImpl( 625 RenderThreadImpl::RenderThreadImpl(
622 std::unique_ptr<base::MessageLoop> main_message_loop, 626 std::unique_ptr<base::MessageLoop> main_message_loop,
623 std::unique_ptr<blink::scheduler::RendererScheduler> scheduler) 627 std::unique_ptr<blink::scheduler::RendererScheduler> scheduler)
624 : ChildThreadImpl(Options::Builder() 628 : ChildThreadImpl(Options::Builder()
625 .AutoStartServiceManagerConnection(false) 629 .AutoStartServiceManagerConnection(false)
626 .ConnectToBrowser(true) 630 .ConnectToBrowser(true)
627 .Build()), 631 .Build()),
628 renderer_scheduler_(std::move(scheduler)), 632 renderer_scheduler_(std::move(scheduler)),
629 time_zone_monitor_binding_(this), 633 time_zone_monitor_binding_(this),
630 main_message_loop_(std::move(main_message_loop)), 634 main_message_loop_(std::move(main_message_loop)),
631 categorized_worker_pool_(new CategorizedWorkerPool()), 635 categorized_worker_pool_(new CategorizedWorkerPool()),
632 renderer_binding_(this) { 636 renderer_binding_(this) {
633 scoped_refptr<base::SingleThreadTaskRunner> test_task_counter; 637 scoped_refptr<base::SingleThreadTaskRunner> test_task_counter;
638 DCHECK(base::CommandLine::ForCurrentProcess()->HasSwitch(
639 switches::kRendererClientId));
640 base::StringToInt(base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
641 switches::kRendererClientId),
642 &client_id_);
634 Init(test_task_counter); 643 Init(test_task_counter);
635 } 644 }
636 645
637 void RenderThreadImpl::Init( 646 void RenderThreadImpl::Init(
638 scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue) { 647 scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue) {
639 TRACE_EVENT0("startup", "RenderThreadImpl::Init"); 648 TRACE_EVENT0("startup", "RenderThreadImpl::Init");
640 649
641 base::trace_event::TraceLog::GetInstance()->SetThreadSortIndex( 650 base::trace_event::TraceLog::GetInstance()->SetThreadSortIndex(
642 base::PlatformThread::CurrentId(), 651 base::PlatformThread::CurrentId(),
643 kTraceEventRendererMainThreadSortIndex); 652 kTraceEventRendererMainThreadSortIndex);
(...skipping 933 matching lines...) Expand 10 before | Expand all | Expand 10 after
1577 audio_renderer_mixer_manager_ = AudioRendererMixerManager::Create(); 1586 audio_renderer_mixer_manager_ = AudioRendererMixerManager::Create();
1578 } 1587 }
1579 1588
1580 return audio_renderer_mixer_manager_.get(); 1589 return audio_renderer_mixer_manager_.get();
1581 } 1590 }
1582 1591
1583 base::WaitableEvent* RenderThreadImpl::GetShutdownEvent() { 1592 base::WaitableEvent* RenderThreadImpl::GetShutdownEvent() {
1584 return ChildProcess::current()->GetShutDownEvent(); 1593 return ChildProcess::current()->GetShutDownEvent();
1585 } 1594 }
1586 1595
1596 int32_t RenderThreadImpl::GetClientId() {
1597 return client_id_;
1598 }
1599
1587 void RenderThreadImpl::OnAssociatedInterfaceRequest( 1600 void RenderThreadImpl::OnAssociatedInterfaceRequest(
1588 const std::string& name, 1601 const std::string& name,
1589 mojo::ScopedInterfaceEndpointHandle handle) { 1602 mojo::ScopedInterfaceEndpointHandle handle) {
1590 associated_interfaces_.BindRequest(name, std::move(handle)); 1603 associated_interfaces_.BindRequest(name, std::move(handle));
1591 } 1604 }
1592 1605
1593 bool RenderThreadImpl::IsGpuRasterizationForced() { 1606 bool RenderThreadImpl::IsGpuRasterizationForced() {
1594 return is_gpu_rasterization_forced_; 1607 return is_gpu_rasterization_forced_;
1595 } 1608 }
1596 1609
(...skipping 904 matching lines...) Expand 10 before | Expand all | Expand 10 after
2501 } 2514 }
2502 } 2515 }
2503 2516
2504 void RenderThreadImpl::OnRendererInterfaceRequest( 2517 void RenderThreadImpl::OnRendererInterfaceRequest(
2505 mojom::RendererAssociatedRequest request) { 2518 mojom::RendererAssociatedRequest request) {
2506 DCHECK(!renderer_binding_.is_bound()); 2519 DCHECK(!renderer_binding_.is_bound());
2507 renderer_binding_.Bind(std::move(request)); 2520 renderer_binding_.Bind(std::move(request));
2508 } 2521 }
2509 2522
2510 } // namespace content 2523 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_thread_impl.h ('k') | content/renderer/render_widget.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698