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 520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
531 return true; | 531 return true; |
532 } | 532 } |
533 } | 533 } |
534 } | 534 } |
535 return false; | 535 return false; |
536 } | 536 } |
537 | 537 |
538 // static | 538 // static |
539 RenderThreadImpl* RenderThreadImpl::Create( | 539 RenderThreadImpl* RenderThreadImpl::Create( |
540 const InProcessChildThreadParams& params) { | 540 const InProcessChildThreadParams& params) { |
541 std::unique_ptr<blink::scheduler::RendererScheduler> renderer_scheduler = | 541 using blink::scheduler::RendererScheduler; |
542 blink::scheduler::RendererScheduler::Create(); | 542 const bool can_be_backgrounded = |
| 543 GetContentClient()->renderer()->CanBeBackgrounded(); |
| 544 std::unique_ptr<RendererScheduler> renderer_scheduler = |
| 545 RendererScheduler::Create( |
| 546 can_be_backgrounded |
| 547 ? RendererScheduler::RendererType::kForegroundAndBackground |
| 548 : RendererScheduler::RendererType::kForegroundOnly); |
543 scoped_refptr<base::SingleThreadTaskRunner> test_task_counter; | 549 scoped_refptr<base::SingleThreadTaskRunner> test_task_counter; |
544 return new RenderThreadImpl( | 550 return new RenderThreadImpl( |
545 params, std::move(renderer_scheduler), test_task_counter); | 551 params, std::move(renderer_scheduler), test_task_counter); |
546 } | 552 } |
547 | 553 |
548 // static | 554 // static |
549 RenderThreadImpl* RenderThreadImpl::Create( | 555 RenderThreadImpl* RenderThreadImpl::Create( |
550 std::unique_ptr<base::MessageLoop> main_message_loop, | 556 std::unique_ptr<base::MessageLoop> main_message_loop, |
551 std::unique_ptr<blink::scheduler::RendererScheduler> renderer_scheduler) { | 557 std::unique_ptr<blink::scheduler::RendererScheduler> renderer_scheduler) { |
552 return new RenderThreadImpl(std::move(main_message_loop), | 558 return new RenderThreadImpl(std::move(main_message_loop), |
(...skipping 1905 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2458 } | 2464 } |
2459 } | 2465 } |
2460 | 2466 |
2461 void RenderThreadImpl::OnRendererInterfaceRequest( | 2467 void RenderThreadImpl::OnRendererInterfaceRequest( |
2462 mojom::RendererAssociatedRequest request) { | 2468 mojom::RendererAssociatedRequest request) { |
2463 DCHECK(!renderer_binding_.is_bound()); | 2469 DCHECK(!renderer_binding_.is_bound()); |
2464 renderer_binding_.Bind(std::move(request)); | 2470 renderer_binding_.Bind(std::move(request)); |
2465 } | 2471 } |
2466 | 2472 |
2467 } // namespace content | 2473 } // namespace content |
OLD | NEW |