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

Side by Side Diff: content/browser/media/android/browser_media_player_manager.cc

Issue 25040002: Enables fullscreen subtitle and media control from Blink (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@build_hack
Patch Set: rebased, let's go! Created 6 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 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/command_line.h" 7 #include "base/command_line.h"
8 #include "content/browser/android/content_view_core_impl.h" 8 #include "content/browser/android/content_view_core_impl.h"
9 #include "content/browser/media/android/browser_demuxer_android.h" 9 #include "content/browser/media/android/browser_demuxer_android.h"
10 #include "content/browser/media/android/media_resource_getter_impl.h" 10 #include "content/browser/media/android/media_resource_getter_impl.h"
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 if (player) { 171 if (player) {
172 // TODO(kbalazs): if |fullscreen_player_is_released_| is true 172 // TODO(kbalazs): if |fullscreen_player_is_released_| is true
173 // at this point, player->GetCurrentTime() will be wrong until 173 // at this point, player->GetCurrentTime() will be wrong until
174 // FullscreenPlayerPlay (http://crbug.com/322798). 174 // FullscreenPlayerPlay (http://crbug.com/322798).
175 OnSeekRequest(fullscreen_player_id_, 175 OnSeekRequest(fullscreen_player_id_,
176 base::TimeDelta::FromMilliseconds(msec)); 176 base::TimeDelta::FromMilliseconds(msec));
177 } 177 }
178 } 178 }
179 179
180 void BrowserMediaPlayerManager::ExitFullscreen(bool release_media_player) { 180 void BrowserMediaPlayerManager::ExitFullscreen(bool release_media_player) {
181 if (WebContentsDelegate* delegate = web_contents_->GetDelegate())
182 delegate->ToggleFullscreenModeForTab(web_contents_, false);
183 if (RenderWidgetHostViewAndroid* view_android =
184 static_cast<RenderWidgetHostViewAndroid*>(
185 web_contents_->GetRenderWidgetHostView())) {
186 view_android->SetOverlayVideoMode(false);
187 }
188
181 Send(new MediaPlayerMsg_DidExitFullscreen( 189 Send(new MediaPlayerMsg_DidExitFullscreen(
182 routing_id(), fullscreen_player_id_)); 190 routing_id(), fullscreen_player_id_));
183 video_view_.reset(); 191 video_view_.reset();
184 MediaPlayerAndroid* player = GetFullscreenPlayer(); 192 MediaPlayerAndroid* player = GetFullscreenPlayer();
185 fullscreen_player_id_ = -1; 193 fullscreen_player_id_ = -1;
186 if (!player) 194 if (!player)
187 return; 195 return;
188 if (release_media_player) 196 if (release_media_player)
189 player->Release(); 197 player->Release();
190 else 198 else
(...skipping 22 matching lines...) Expand all
213 void BrowserMediaPlayerManager::SetVideoSurface( 221 void BrowserMediaPlayerManager::SetVideoSurface(
214 gfx::ScopedJavaSurface surface) { 222 gfx::ScopedJavaSurface surface) {
215 MediaPlayerAndroid* player = GetFullscreenPlayer(); 223 MediaPlayerAndroid* player = GetFullscreenPlayer();
216 if (!player) 224 if (!player)
217 return; 225 return;
218 if (!surface.IsEmpty()) { 226 if (!surface.IsEmpty()) {
219 Send(new MediaPlayerMsg_DidEnterFullscreen(routing_id(), 227 Send(new MediaPlayerMsg_DidEnterFullscreen(routing_id(),
220 player->player_id())); 228 player->player_id()));
221 } 229 }
222 player->SetVideoSurface(surface.Pass()); 230 player->SetVideoSurface(surface.Pass());
231
232 if (RenderWidgetHostViewAndroid* view_android =
233 static_cast<RenderWidgetHostViewAndroid*>(
234 web_contents_->GetRenderWidgetHostView())) {
235 view_android->SetOverlayVideoMode(true);
236 }
237 if (WebContentsDelegate* delegate = web_contents_->GetDelegate())
238 delegate->ToggleFullscreenModeForTab(web_contents_, true);
223 } 239 }
224 240
225 void BrowserMediaPlayerManager::OnMediaMetadataChanged( 241 void BrowserMediaPlayerManager::OnMediaMetadataChanged(
226 int player_id, base::TimeDelta duration, int width, int height, 242 int player_id, base::TimeDelta duration, int width, int height,
227 bool success) { 243 bool success) {
228 Send(new MediaPlayerMsg_MediaMetadataChanged( 244 Send(new MediaPlayerMsg_MediaMetadataChanged(
229 routing_id(), player_id, duration, width, height, success)); 245 routing_id(), player_id, duration, width, height, success));
230 if (fullscreen_player_id_ == player_id) 246 if (fullscreen_player_id_ == player_id)
231 video_view_->UpdateMediaMetadata(); 247 video_view_->UpdateMediaMetadata();
232 } 248 }
(...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after
806 if (pending_fullscreen_player_id_ != media_keys_id) 822 if (pending_fullscreen_player_id_ != media_keys_id)
807 return; 823 return;
808 824
809 pending_fullscreen_player_id_ = -1; 825 pending_fullscreen_player_id_ = -1;
810 MediaPlayerAndroid* player = GetPlayer(media_keys_id); 826 MediaPlayerAndroid* player = GetPlayer(media_keys_id);
811 if (player->IsPlaying()) 827 if (player->IsPlaying())
812 OnProtectedSurfaceRequested(media_keys_id); 828 OnProtectedSurfaceRequested(media_keys_id);
813 } 829 }
814 830
815 } // namespace content 831 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/android/content_view_render_view.cc ('k') | content/browser/renderer_host/compositor_impl_android.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698