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

Side by Side Diff: chromecast/browser/cast_browser_main_parts.cc

Issue 2643553002: [Chromecast] Reuse the Aura window manager across receiver apps. (Closed)
Patch Set: applied reviewer feedback Created 3 years, 11 months 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "chromecast/browser/cast_browser_main_parts.h" 5 #include "chromecast/browser/cast_browser_main_parts.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <string.h> 8 #include <string.h>
9 9
10 #include <string> 10 #include <string>
11 11
12 #include "base/command_line.h" 12 #include "base/command_line.h"
13 #include "base/files/file_util.h" 13 #include "base/files/file_util.h"
14 #include "base/macros.h" 14 #include "base/macros.h"
15 #include "base/memory/ptr_util.h" 15 #include "base/memory/ptr_util.h"
16 #include "base/message_loop/message_loop.h" 16 #include "base/message_loop/message_loop.h"
17 #include "base/path_service.h" 17 #include "base/path_service.h"
18 #include "base/run_loop.h" 18 #include "base/run_loop.h"
19 #include "base/single_thread_task_runner.h" 19 #include "base/single_thread_task_runner.h"
20 #include "base/threading/thread.h" 20 #include "base/threading/thread.h"
21 #include "base/threading/thread_task_runner_handle.h" 21 #include "base/threading/thread_task_runner_handle.h"
22 #include "build/build_config.h" 22 #include "build/build_config.h"
23 #include "cc/base/switches.h" 23 #include "cc/base/switches.h"
24 #include "chromecast/base/cast_constants.h" 24 #include "chromecast/base/cast_constants.h"
25 #include "chromecast/base/cast_paths.h" 25 #include "chromecast/base/cast_paths.h"
26 #include "chromecast/base/cast_sys_info_util.h" 26 #include "chromecast/base/cast_sys_info_util.h"
27 #include "chromecast/base/chromecast_switches.h" 27 #include "chromecast/base/chromecast_switches.h"
28 #include "chromecast/base/metrics/cast_metrics_helper.h" 28 #include "chromecast/base/metrics/cast_metrics_helper.h"
29 #include "chromecast/base/metrics/grouped_histogram.h" 29 #include "chromecast/base/metrics/grouped_histogram.h"
30 #include "chromecast/base/version.h"
30 #include "chromecast/browser/cast_browser_context.h" 31 #include "chromecast/browser/cast_browser_context.h"
31 #include "chromecast/browser/cast_browser_process.h" 32 #include "chromecast/browser/cast_browser_process.h"
32 #include "chromecast/browser/cast_content_browser_client.h" 33 #include "chromecast/browser/cast_content_browser_client.h"
33 #include "chromecast/browser/cast_memory_pressure_monitor.h" 34 #include "chromecast/browser/cast_memory_pressure_monitor.h"
34 #include "chromecast/browser/cast_net_log.h" 35 #include "chromecast/browser/cast_net_log.h"
35 #include "chromecast/browser/devtools/remote_debugging_server.h" 36 #include "chromecast/browser/devtools/remote_debugging_server.h"
36 #include "chromecast/browser/geolocation/cast_access_token_store.h" 37 #include "chromecast/browser/geolocation/cast_access_token_store.h"
37 #include "chromecast/browser/media/media_caps_impl.h" 38 #include "chromecast/browser/media/media_caps_impl.h"
38 #include "chromecast/browser/metrics/cast_metrics_prefs.h" 39 #include "chromecast/browser/metrics/cast_metrics_prefs.h"
39 #include "chromecast/browser/metrics/cast_metrics_service_client.h" 40 #include "chromecast/browser/metrics/cast_metrics_service_client.h"
40 #include "chromecast/browser/pref_service_helper.h" 41 #include "chromecast/browser/pref_service_helper.h"
41 #include "chromecast/browser/url_request_context_factory.h" 42 #include "chromecast/browser/url_request_context_factory.h"
42 #include "chromecast/chromecast_features.h" 43 #include "chromecast/chromecast_features.h"
43 #include "chromecast/common/global_descriptors.h" 44 #include "chromecast/common/global_descriptors.h"
45 #include "chromecast/graphics/cast_window_manager.h"
44 #include "chromecast/media/base/key_systems_common.h" 46 #include "chromecast/media/base/key_systems_common.h"
45 #include "chromecast/media/base/media_resource_tracker.h" 47 #include "chromecast/media/base/media_resource_tracker.h"
46 #include "chromecast/media/base/video_plane_controller.h" 48 #include "chromecast/media/base/video_plane_controller.h"
47 #include "chromecast/media/cma/backend/media_pipeline_backend_manager.h" 49 #include "chromecast/media/cma/backend/media_pipeline_backend_manager.h"
48 #include "chromecast/net/connectivity_checker.h" 50 #include "chromecast/net/connectivity_checker.h"
49 #include "chromecast/public/cast_media_shlib.h" 51 #include "chromecast/public/cast_media_shlib.h"
50 #include "chromecast/public/cast_sys_info.h" 52 #include "chromecast/public/cast_sys_info.h"
51 #include "chromecast/service/cast_service.h" 53 #include "chromecast/service/cast_service.h"
52 #include "components/prefs/pref_registry_simple.h" 54 #include "components/prefs/pref_registry_simple.h"
53 #include "content/public/browser/browser_thread.h" 55 #include "content/public/browser/browser_thread.h"
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 // assert(ozone_platform_cast) in BUILD.gn where it depends on //ui/ozone. 464 // assert(ozone_platform_cast) in BUILD.gn where it depends on //ui/ozone.
463 gfx::Size display_size = 465 gfx::Size display_size =
464 display::Screen::GetScreen()->GetPrimaryDisplay().GetSizeInPixel(); 466 display::Screen::GetScreen()->GetPrimaryDisplay().GetSizeInPixel();
465 video_plane_controller_.reset(new media::VideoPlaneController( 467 video_plane_controller_.reset(new media::VideoPlaneController(
466 Size(display_size.width(), display_size.height()), GetMediaTaskRunner())); 468 Size(display_size.width(), display_size.height()), GetMediaTaskRunner()));
467 ui::OverlayManagerCast::SetOverlayCompositedCallback( 469 ui::OverlayManagerCast::SetOverlayCompositedCallback(
468 base::Bind(&media::VideoPlaneController::SetGeometry, 470 base::Bind(&media::VideoPlaneController::SetGeometry,
469 base::Unretained(video_plane_controller_.get()))); 471 base::Unretained(video_plane_controller_.get())));
470 #endif 472 #endif
471 473
474 window_manager_ =
475 CastWindowManager::Create(CAST_IS_DEBUG_BUILD() /* enable input */);
476
472 cast_browser_process_->SetCastService( 477 cast_browser_process_->SetCastService(
473 cast_browser_process_->browser_client()->CreateCastService( 478 cast_browser_process_->browser_client()->CreateCastService(
474 cast_browser_process_->browser_context(), 479 cast_browser_process_->browser_context(),
475 cast_browser_process_->pref_service(), 480 cast_browser_process_->pref_service(),
476 url_request_context_factory_->GetSystemGetter(), 481 url_request_context_factory_->GetSystemGetter(),
477 video_plane_controller_.get())); 482 video_plane_controller_.get(), window_manager_.get()));
478 cast_browser_process_->cast_service()->Initialize(); 483 cast_browser_process_->cast_service()->Initialize();
479 484
480 #if !defined(OS_ANDROID) 485 #if !defined(OS_ANDROID)
481 media_resource_tracker()->InitializeMediaLib(); 486 media_resource_tracker()->InitializeMediaLib();
482 #endif 487 #endif
483 ::media::InitializeMediaLibrary(); 488 ::media::InitializeMediaLibrary();
484 489
485 device::GeolocationProvider::SetGeolocationDelegate( 490 device::GeolocationProvider::SetGeolocationDelegate(
486 new CastGeolocationDelegate(cast_browser_process_->browser_context())); 491 new CastGeolocationDelegate(cast_browser_process_->browser_context()));
487 492
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
523 cast_browser_process_->cast_service()->Stop(); 528 cast_browser_process_->cast_service()->Stop();
524 return true; 529 return true;
525 #endif 530 #endif
526 } 531 }
527 532
528 void CastBrowserMainParts::PostMainMessageLoopRun() { 533 void CastBrowserMainParts::PostMainMessageLoopRun() {
529 #if defined(OS_ANDROID) 534 #if defined(OS_ANDROID)
530 // Android does not use native main MessageLoop. 535 // Android does not use native main MessageLoop.
531 NOTREACHED(); 536 NOTREACHED();
532 #else 537 #else
538 window_manager_.reset();
539
533 cast_browser_process_->cast_service()->Finalize(); 540 cast_browser_process_->cast_service()->Finalize();
534 cast_browser_process_->metrics_service_client()->Finalize(); 541 cast_browser_process_->metrics_service_client()->Finalize();
535 cast_browser_process_.reset(); 542 cast_browser_process_.reset();
536 543
537 DeregisterKillOnAlarm(); 544 DeregisterKillOnAlarm();
538 #endif 545 #endif
539 } 546 }
540 547
541 void CastBrowserMainParts::PostDestroyThreads() { 548 void CastBrowserMainParts::PostDestroyThreads() {
542 #if !defined(OS_ANDROID) 549 #if !defined(OS_ANDROID)
543 media_resource_tracker_->FinalizeAndDestroy(); 550 media_resource_tracker_->FinalizeAndDestroy();
544 media_resource_tracker_ = nullptr; 551 media_resource_tracker_ = nullptr;
545 #endif 552 #endif
546 } 553 }
547 554
548 } // namespace shell 555 } // namespace shell
549 } // namespace chromecast 556 } // namespace chromecast
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698