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

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

Issue 2485623002: discardable_memory: Using mojo IPC to replace Chrome IPC (Closed)
Patch Set: Update 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
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 592 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698