OLD | NEW |
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 #ifndef CHROMECAST_BROWSER_CAST_BROWSER_MAIN_PARTS_H_ | 5 #ifndef CHROMECAST_BROWSER_CAST_BROWSER_MAIN_PARTS_H_ |
6 #define CHROMECAST_BROWSER_CAST_BROWSER_MAIN_PARTS_H_ | 6 #define CHROMECAST_BROWSER_CAST_BROWSER_MAIN_PARTS_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
11 #include "base/memory/ref_counted.h" | 11 #include "base/memory/ref_counted.h" |
12 #include "content/public/browser/browser_main_parts.h" | 12 #include "content/public/browser/browser_main_parts.h" |
13 #include "content/public/common/main_function_params.h" | 13 #include "content/public/common/main_function_params.h" |
14 | 14 |
15 namespace base { | 15 namespace base { |
16 class SingleThreadTaskRunner; | 16 class SingleThreadTaskRunner; |
17 class Thread; | 17 class Thread; |
18 } // namespace base | 18 } // namespace base |
19 | 19 |
20 namespace net { | 20 namespace net { |
21 class NetLog; | 21 class NetLog; |
22 } | 22 } |
23 | 23 |
24 namespace chromecast { | 24 namespace chromecast { |
25 class CastMemoryPressureMonitor; | 25 class CastMemoryPressureMonitor; |
| 26 class CastWindowManager; |
26 | 27 |
27 namespace media { | 28 namespace media { |
28 class MediaCapsImpl; | 29 class MediaCapsImpl; |
29 class MediaPipelineBackendManager; | 30 class MediaPipelineBackendManager; |
30 class MediaResourceTracker; | 31 class MediaResourceTracker; |
31 class VideoPlaneController; | 32 class VideoPlaneController; |
32 } // namespace media | 33 } // namespace media |
33 | 34 |
34 namespace shell { | 35 namespace shell { |
35 class CastBrowserProcess; | 36 class CastBrowserProcess; |
(...skipping 24 matching lines...) Expand all Loading... |
60 void PostMainMessageLoopRun() override; | 61 void PostMainMessageLoopRun() override; |
61 void PostDestroyThreads() override; | 62 void PostDestroyThreads() override; |
62 | 63 |
63 private: | 64 private: |
64 std::unique_ptr<CastBrowserProcess> cast_browser_process_; | 65 std::unique_ptr<CastBrowserProcess> cast_browser_process_; |
65 const content::MainFunctionParams parameters_; // For running browser tests. | 66 const content::MainFunctionParams parameters_; // For running browser tests. |
66 URLRequestContextFactory* const url_request_context_factory_; | 67 URLRequestContextFactory* const url_request_context_factory_; |
67 std::unique_ptr<net::NetLog> net_log_; | 68 std::unique_ptr<net::NetLog> net_log_; |
68 std::unique_ptr<media::VideoPlaneController> video_plane_controller_; | 69 std::unique_ptr<media::VideoPlaneController> video_plane_controller_; |
69 std::unique_ptr<media::MediaCapsImpl> media_caps_; | 70 std::unique_ptr<media::MediaCapsImpl> media_caps_; |
| 71 std::unique_ptr<CastWindowManager> window_manager_; |
70 | 72 |
71 #if !defined(OS_ANDROID) | 73 #if !defined(OS_ANDROID) |
72 // CMA thread used by AudioManager, MojoRenderer, and MediaPipelineBackend. | 74 // CMA thread used by AudioManager, MojoRenderer, and MediaPipelineBackend. |
73 std::unique_ptr<base::Thread> media_thread_; | 75 std::unique_ptr<base::Thread> media_thread_; |
74 | 76 |
75 // Tracks usage of media resource by e.g. CMA pipeline, CDM. | 77 // Tracks usage of media resource by e.g. CMA pipeline, CDM. |
76 media::MediaResourceTracker* media_resource_tracker_; | 78 media::MediaResourceTracker* media_resource_tracker_; |
77 | 79 |
78 // Tracks all media pipeline backends. | 80 // Tracks all media pipeline backends. |
79 std::unique_ptr<media::MediaPipelineBackendManager> | 81 std::unique_ptr<media::MediaPipelineBackendManager> |
80 media_pipeline_backend_manager_; | 82 media_pipeline_backend_manager_; |
81 | 83 |
82 std::unique_ptr<CastMemoryPressureMonitor> memory_pressure_monitor_; | 84 std::unique_ptr<CastMemoryPressureMonitor> memory_pressure_monitor_; |
83 #endif | 85 #endif |
84 | 86 |
85 DISALLOW_COPY_AND_ASSIGN(CastBrowserMainParts); | 87 DISALLOW_COPY_AND_ASSIGN(CastBrowserMainParts); |
86 }; | 88 }; |
87 | 89 |
88 } // namespace shell | 90 } // namespace shell |
89 } // namespace chromecast | 91 } // namespace chromecast |
90 | 92 |
91 #endif // CHROMECAST_BROWSER_CAST_BROWSER_MAIN_PARTS_H_ | 93 #endif // CHROMECAST_BROWSER_CAST_BROWSER_MAIN_PARTS_H_ |
OLD | NEW |