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 #include "content/browser/media/media_web_contents_observer.h" | 5 #include "content/browser/media/media_web_contents_observer.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "build/build_config.h" | 9 #include "build/build_config.h" |
10 #include "content/browser/media/audible_metrics.h" | 10 #include "content/browser/media/audible_metrics.h" |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 CreateVideoPowerSaveBlocker(); | 102 CreateVideoPowerSaveBlocker(); |
103 } | 103 } |
104 | 104 |
105 void MediaWebContentsObserver::WasHidden() { | 105 void MediaWebContentsObserver::WasHidden() { |
106 // If there are entities capturing screenshots or video (e.g., mirroring), | 106 // If there are entities capturing screenshots or video (e.g., mirroring), |
107 // don't release the power save blocker. | 107 // don't release the power save blocker. |
108 if (!web_contents()->GetCapturerCount()) | 108 if (!web_contents()->GetCapturerCount()) |
109 video_power_save_blocker_.reset(); | 109 video_power_save_blocker_.reset(); |
110 } | 110 } |
111 | 111 |
| 112 void MediaWebContentsObserver::RequestPersistentVideo(bool value) { |
| 113 if (!fullscreen_player_) |
| 114 return; |
| 115 |
| 116 // The message is sent to the renderer even though the video is already the |
| 117 // fullscreen element itself. It will eventually be handled by Blink. |
| 118 Send(new MediaPlayerDelegateMsg_BecamePersistentVideo( |
| 119 fullscreen_player_->first->GetRoutingID(), fullscreen_player_->second, |
| 120 value)); |
| 121 } |
| 122 |
112 void MediaWebContentsObserver::OnMediaDestroyed( | 123 void MediaWebContentsObserver::OnMediaDestroyed( |
113 RenderFrameHost* render_frame_host, | 124 RenderFrameHost* render_frame_host, |
114 int delegate_id) { | 125 int delegate_id) { |
115 OnMediaPaused(render_frame_host, delegate_id, true); | 126 OnMediaPaused(render_frame_host, delegate_id, true); |
116 } | 127 } |
117 | 128 |
118 void MediaWebContentsObserver::OnMediaPaused(RenderFrameHost* render_frame_host, | 129 void MediaWebContentsObserver::OnMediaPaused(RenderFrameHost* render_frame_host, |
119 int delegate_id, | 130 int delegate_id, |
120 bool reached_end_of_stream) { | 131 bool reached_end_of_stream) { |
121 const MediaPlayerId player_id(render_frame_host, delegate_id); | 132 const MediaPlayerId player_id(render_frame_host, delegate_id); |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
276 if (it == player_map->end()) | 287 if (it == player_map->end()) |
277 return; | 288 return; |
278 | 289 |
279 for (int delegate_id : it->second) | 290 for (int delegate_id : it->second) |
280 removed_players->insert(MediaPlayerId(render_frame_host, delegate_id)); | 291 removed_players->insert(MediaPlayerId(render_frame_host, delegate_id)); |
281 | 292 |
282 player_map->erase(it); | 293 player_map->erase(it); |
283 } | 294 } |
284 | 295 |
285 } // namespace content | 296 } // namespace content |
OLD | NEW |