OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/android/browser_media_player_manager.h" | 5 #include "content/browser/media/android/browser_media_player_manager.h" |
6 | 6 |
7 #include "base/android/scoped_java_ref.h" | 7 #include "base/android/scoped_java_ref.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "content/browser/android/content_view_core_impl.h" | 9 #include "content/browser/android/content_view_core_impl.h" |
10 #include "content/browser/media/android/browser_demuxer_android.h" | 10 #include "content/browser/media/android/browser_demuxer_android.h" |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 if (player) { | 192 if (player) { |
193 // TODO(kbalazs): if |fullscreen_player_is_released_| is true | 193 // TODO(kbalazs): if |fullscreen_player_is_released_| is true |
194 // at this point, player->GetCurrentTime() will be wrong until | 194 // at this point, player->GetCurrentTime() will be wrong until |
195 // FullscreenPlayerPlay (http://crbug.com/322798). | 195 // FullscreenPlayerPlay (http://crbug.com/322798). |
196 OnSeekRequest(fullscreen_player_id_, | 196 OnSeekRequest(fullscreen_player_id_, |
197 base::TimeDelta::FromMilliseconds(msec)); | 197 base::TimeDelta::FromMilliseconds(msec)); |
198 } | 198 } |
199 } | 199 } |
200 | 200 |
201 void BrowserMediaPlayerManager::ExitFullscreen(bool release_media_player) { | 201 void BrowserMediaPlayerManager::ExitFullscreen(bool release_media_player) { |
| 202 if (WebContentsDelegate* delegate = web_contents_->GetDelegate()) |
| 203 delegate->ToggleFullscreenModeForTab(web_contents_, false); |
202 if (!CommandLine::ForCurrentProcess()->HasSwitch( | 204 if (!CommandLine::ForCurrentProcess()->HasSwitch( |
203 switches::kDisableOverlayFullscreenVideoSubtitle)) { | 205 switches::kDisableOverlayFullscreenVideoSubtitle)) { |
204 if (WebContentsDelegate* delegate = web_contents_->GetDelegate()) | |
205 delegate->ToggleFullscreenModeForTab(web_contents_, false); | |
206 if (RenderWidgetHostViewAndroid* view_android = | 206 if (RenderWidgetHostViewAndroid* view_android = |
207 static_cast<RenderWidgetHostViewAndroid*>( | 207 static_cast<RenderWidgetHostViewAndroid*>( |
208 web_contents_->GetRenderWidgetHostView())) { | 208 web_contents_->GetRenderWidgetHostView())) { |
209 view_android->SetOverlayVideoMode(false); | 209 view_android->SetOverlayVideoMode(false); |
210 } | 210 } |
211 } | 211 } |
212 | 212 |
213 Send(new MediaPlayerMsg_DidExitFullscreen( | 213 Send(new MediaPlayerMsg_DidExitFullscreen( |
214 routing_id(), fullscreen_player_id_)); | 214 routing_id(), fullscreen_player_id_)); |
215 video_view_.reset(); | 215 video_view_.reset(); |
(...skipping 28 matching lines...) Expand all Loading... |
244 player->player_id())); | 244 player->player_id())); |
245 if (CommandLine::ForCurrentProcess()->HasSwitch( | 245 if (CommandLine::ForCurrentProcess()->HasSwitch( |
246 switches::kDisableOverlayFullscreenVideoSubtitle)) { | 246 switches::kDisableOverlayFullscreenVideoSubtitle)) { |
247 return; | 247 return; |
248 } | 248 } |
249 if (RenderWidgetHostViewAndroid* view_android = | 249 if (RenderWidgetHostViewAndroid* view_android = |
250 static_cast<RenderWidgetHostViewAndroid*>( | 250 static_cast<RenderWidgetHostViewAndroid*>( |
251 web_contents_->GetRenderWidgetHostView())) { | 251 web_contents_->GetRenderWidgetHostView())) { |
252 view_android->SetOverlayVideoMode(true); | 252 view_android->SetOverlayVideoMode(true); |
253 } | 253 } |
254 if (WebContentsDelegate* delegate = web_contents_->GetDelegate()) | |
255 delegate->ToggleFullscreenModeForTab(web_contents_, true); | |
256 } | 254 } |
257 | 255 |
258 void BrowserMediaPlayerManager::OnMediaMetadataChanged( | 256 void BrowserMediaPlayerManager::OnMediaMetadataChanged( |
259 int player_id, base::TimeDelta duration, int width, int height, | 257 int player_id, base::TimeDelta duration, int width, int height, |
260 bool success) { | 258 bool success) { |
261 Send(new MediaPlayerMsg_MediaMetadataChanged( | 259 Send(new MediaPlayerMsg_MediaMetadataChanged( |
262 routing_id(), player_id, duration, width, height, success)); | 260 routing_id(), player_id, duration, width, height, success)); |
263 if (fullscreen_player_id_ == player_id) | 261 if (fullscreen_player_id_ == player_id) |
264 video_view_->UpdateMediaMetadata(); | 262 video_view_->UpdateMediaMetadata(); |
265 } | 263 } |
(...skipping 612 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
878 #if defined(VIDEO_HOLE) | 876 #if defined(VIDEO_HOLE) |
879 MediaPlayerAndroid* player = GetPlayer(player_id); | 877 MediaPlayerAndroid* player = GetPlayer(player_id); |
880 if (player && player->IsSurfaceInUse()) | 878 if (player && player->IsSurfaceInUse()) |
881 return; | 879 return; |
882 if (external_video_surface_container_) | 880 if (external_video_surface_container_) |
883 external_video_surface_container_->ReleaseExternalVideoSurface(player_id); | 881 external_video_surface_container_->ReleaseExternalVideoSurface(player_id); |
884 #endif // defined(VIDEO_HOLE) | 882 #endif // defined(VIDEO_HOLE) |
885 } | 883 } |
886 | 884 |
887 } // namespace content | 885 } // namespace content |
OLD | NEW |