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" |
(...skipping 15 matching lines...) Expand all Loading... |
26 | 26 |
27 namespace media { | 27 namespace media { |
28 class MediaCapsImpl; | 28 class MediaCapsImpl; |
29 class MediaPipelineBackendManager; | 29 class MediaPipelineBackendManager; |
30 class MediaResourceTracker; | 30 class MediaResourceTracker; |
31 class VideoPlaneController; | 31 class VideoPlaneController; |
32 } // namespace media | 32 } // namespace media |
33 | 33 |
34 namespace shell { | 34 namespace shell { |
35 class CastBrowserProcess; | 35 class CastBrowserProcess; |
| 36 class CastWindowManager; |
36 class URLRequestContextFactory; | 37 class URLRequestContextFactory; |
37 | 38 |
38 class CastBrowserMainParts : public content::BrowserMainParts { | 39 class CastBrowserMainParts : public content::BrowserMainParts { |
39 public: | 40 public: |
40 // This class does not take ownership of |url_request_content_factory|. | 41 // This class does not take ownership of |url_request_content_factory|. |
41 CastBrowserMainParts(const content::MainFunctionParams& parameters, | 42 CastBrowserMainParts(const content::MainFunctionParams& parameters, |
42 URLRequestContextFactory* url_request_context_factory); | 43 URLRequestContextFactory* url_request_context_factory); |
43 ~CastBrowserMainParts() override; | 44 ~CastBrowserMainParts() override; |
44 | 45 |
45 scoped_refptr<base::SingleThreadTaskRunner> GetMediaTaskRunner(); | 46 scoped_refptr<base::SingleThreadTaskRunner> GetMediaTaskRunner(); |
(...skipping 14 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> cast_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 |