| 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 592 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 603 // In single-process mode used for debugging, we don't pass a renderer client | 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 | 604 // ID via command line because RenderThreadImpl lives in the same process as |
| 605 // the browser | 605 // the browser |
| 606 RenderThreadImpl::RenderThreadImpl( | 606 RenderThreadImpl::RenderThreadImpl( |
| 607 const InProcessChildThreadParams& params, | 607 const InProcessChildThreadParams& params, |
| 608 std::unique_ptr<blink::scheduler::RendererScheduler> scheduler, | 608 std::unique_ptr<blink::scheduler::RendererScheduler> scheduler, |
| 609 scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue) | 609 scoped_refptr<base::SingleThreadTaskRunner>& resource_task_queue) |
| 610 : ChildThreadImpl(Options::Builder() | 610 : ChildThreadImpl(Options::Builder() |
| 611 .InBrowserProcess(params) | 611 .InBrowserProcess(params) |
| 612 .AutoStartServiceManagerConnection(false) | 612 .AutoStartServiceManagerConnection(false) |
| 613 .InitDiscardableMemory(true) |
| 613 .ConnectToBrowser(true) | 614 .ConnectToBrowser(true) |
| 614 .Build()), | 615 .Build()), |
| 615 renderer_scheduler_(std::move(scheduler)), | 616 renderer_scheduler_(std::move(scheduler)), |
| 616 time_zone_monitor_binding_(this), | 617 time_zone_monitor_binding_(this), |
| 617 categorized_worker_pool_(new CategorizedWorkerPool()), | 618 categorized_worker_pool_(new CategorizedWorkerPool()), |
| 618 renderer_binding_(this), | 619 renderer_binding_(this), |
| 619 client_id_(1) { | 620 client_id_(1) { |
| 620 Init(resource_task_queue); | 621 Init(resource_task_queue); |
| 621 } | 622 } |
| 622 | 623 |
| 623 // When we run plugins in process, we actually run them on the render thread, | 624 // When we run plugins in process, we actually run them on the render thread, |
| 624 // which means that we need to make the render thread pump UI events. | 625 // which means that we need to make the render thread pump UI events. |
| 625 RenderThreadImpl::RenderThreadImpl( | 626 RenderThreadImpl::RenderThreadImpl( |
| 626 std::unique_ptr<base::MessageLoop> main_message_loop, | 627 std::unique_ptr<base::MessageLoop> main_message_loop, |
| 627 std::unique_ptr<blink::scheduler::RendererScheduler> scheduler) | 628 std::unique_ptr<blink::scheduler::RendererScheduler> scheduler) |
| 628 : ChildThreadImpl(Options::Builder() | 629 : ChildThreadImpl(Options::Builder() |
| 629 .AutoStartServiceManagerConnection(false) | 630 .AutoStartServiceManagerConnection(false) |
| 630 .ConnectToBrowser(true) | 631 .ConnectToBrowser(true) |
| 632 .InitDiscardableMemory(true) |
| 631 .Build()), | 633 .Build()), |
| 632 renderer_scheduler_(std::move(scheduler)), | 634 renderer_scheduler_(std::move(scheduler)), |
| 633 time_zone_monitor_binding_(this), | 635 time_zone_monitor_binding_(this), |
| 634 main_message_loop_(std::move(main_message_loop)), | 636 main_message_loop_(std::move(main_message_loop)), |
| 635 categorized_worker_pool_(new CategorizedWorkerPool()), | 637 categorized_worker_pool_(new CategorizedWorkerPool()), |
| 636 renderer_binding_(this) { | 638 renderer_binding_(this) { |
| 637 scoped_refptr<base::SingleThreadTaskRunner> test_task_counter; | 639 scoped_refptr<base::SingleThreadTaskRunner> test_task_counter; |
| 638 DCHECK(base::CommandLine::ForCurrentProcess()->HasSwitch( | 640 DCHECK(base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 639 switches::kRendererClientId)); | 641 switches::kRendererClientId)); |
| 640 base::StringToInt(base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII( | 642 base::StringToInt(base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII( |
| (...skipping 1873 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2514 } | 2516 } |
| 2515 } | 2517 } |
| 2516 | 2518 |
| 2517 void RenderThreadImpl::OnRendererInterfaceRequest( | 2519 void RenderThreadImpl::OnRendererInterfaceRequest( |
| 2518 mojom::RendererAssociatedRequest request) { | 2520 mojom::RendererAssociatedRequest request) { |
| 2519 DCHECK(!renderer_binding_.is_bound()); | 2521 DCHECK(!renderer_binding_.is_bound()); |
| 2520 renderer_binding_.Bind(std::move(request)); | 2522 renderer_binding_.Bind(std::move(request)); |
| 2521 } | 2523 } |
| 2522 | 2524 |
| 2523 } // namespace content | 2525 } // namespace content |
| OLD | NEW |