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

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, +option flag Created 7 years 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 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 if (player) { 170 if (player) {
171 // TODO(kbalazs): if |fullscreen_player_is_released_| is true 171 // TODO(kbalazs): if |fullscreen_player_is_released_| is true
172 // at this point, player->GetCurrentTime() will be wrong until 172 // at this point, player->GetCurrentTime() will be wrong until
173 // FullscreenPlayerPlay (http://crbug.com/322798). 173 // FullscreenPlayerPlay (http://crbug.com/322798).
174 OnSeekRequest(fullscreen_player_id_, 174 OnSeekRequest(fullscreen_player_id_,
175 base::TimeDelta::FromMilliseconds(msec)); 175 base::TimeDelta::FromMilliseconds(msec));
176 } 176 }
177 } 177 }
178 178
179 void BrowserMediaPlayerManager::ExitFullscreen(bool release_media_player) { 179 void BrowserMediaPlayerManager::ExitFullscreen(bool release_media_player) {
180 if (WebContentsDelegate* delegate = web_contents_->GetDelegate())
181 delegate->ToggleFullscreenModeForTab(web_contents_, false);
182 if (RenderWidgetHostViewAndroid* view_android =
qinmin 2013/12/21 01:35:13 nit: add {} for multi-line if statement
183 static_cast<RenderWidgetHostViewAndroid*>(
184 web_contents_->GetRenderWidgetHostView()))
185 view_android->SetOverlayVideoMode(false);
186
180 Send(new MediaPlayerMsg_DidExitFullscreen( 187 Send(new MediaPlayerMsg_DidExitFullscreen(
181 routing_id(), fullscreen_player_id_)); 188 routing_id(), fullscreen_player_id_));
182 video_view_.reset(); 189 video_view_.reset();
183 MediaPlayerAndroid* player = GetFullscreenPlayer(); 190 MediaPlayerAndroid* player = GetFullscreenPlayer();
184 fullscreen_player_id_ = -1; 191 fullscreen_player_id_ = -1;
185 if (!player) 192 if (!player)
186 return; 193 return;
187 if (release_media_player) 194 if (release_media_player)
188 player->Release(); 195 player->Release();
189 else 196 else
190 player->SetVideoSurface(gfx::ScopedJavaSurface()); 197 player->SetVideoSurface(gfx::ScopedJavaSurface());
191 } 198 }
192 199
193 void BrowserMediaPlayerManager::OnTimeUpdate(int player_id, 200 void BrowserMediaPlayerManager::OnTimeUpdate(int player_id,
194 base::TimeDelta current_time) { 201 base::TimeDelta current_time) {
195 Send(new MediaPlayerMsg_MediaTimeUpdate( 202 Send(new MediaPlayerMsg_MediaTimeUpdate(
196 routing_id(), player_id, current_time)); 203 routing_id(), player_id, current_time));
197 } 204 }
198 205
199 void BrowserMediaPlayerManager::SetVideoSurface( 206 void BrowserMediaPlayerManager::SetVideoSurface(
200 gfx::ScopedJavaSurface surface) { 207 gfx::ScopedJavaSurface surface) {
201 MediaPlayerAndroid* player = GetFullscreenPlayer(); 208 MediaPlayerAndroid* player = GetFullscreenPlayer();
202 if (!player) 209 if (!player)
203 return; 210 return;
204 if (!surface.IsEmpty()) { 211 if (!surface.IsEmpty()) {
205 Send(new MediaPlayerMsg_DidEnterFullscreen(routing_id(), 212 Send(new MediaPlayerMsg_DidEnterFullscreen(routing_id(),
206 player->player_id())); 213 player->player_id()));
207 } 214 }
208 player->SetVideoSurface(surface.Pass()); 215 player->SetVideoSurface(surface.Pass());
216
217 if (RenderWidgetHostViewAndroid* view_android =
qinmin 2013/12/21 01:35:13 ditto
218 static_cast<RenderWidgetHostViewAndroid*>(
219 web_contents_->GetRenderWidgetHostView()))
220 view_android->SetOverlayVideoMode(true);
221 if (WebContentsDelegate* delegate = web_contents_->GetDelegate())
222 delegate->ToggleFullscreenModeForTab(web_contents_, true);
209 } 223 }
210 224
211 void BrowserMediaPlayerManager::OnMediaMetadataChanged( 225 void BrowserMediaPlayerManager::OnMediaMetadataChanged(
212 int player_id, base::TimeDelta duration, int width, int height, 226 int player_id, base::TimeDelta duration, int width, int height,
213 bool success) { 227 bool success) {
214 Send(new MediaPlayerMsg_MediaMetadataChanged( 228 Send(new MediaPlayerMsg_MediaMetadataChanged(
215 routing_id(), player_id, duration, width, height, success)); 229 routing_id(), player_id, duration, width, height, success));
216 if (fullscreen_player_id_ == player_id) 230 if (fullscreen_player_id_ == player_id)
217 video_view_->UpdateMediaMetadata(); 231 video_view_->UpdateMediaMetadata();
218 } 232 }
(...skipping 552 matching lines...) Expand 10 before | Expand all | Expand 10 after
771 if (pending_fullscreen_player_id_ != media_keys_id) 785 if (pending_fullscreen_player_id_ != media_keys_id)
772 return; 786 return;
773 787
774 pending_fullscreen_player_id_ = -1; 788 pending_fullscreen_player_id_ = -1;
775 MediaPlayerAndroid* player = GetPlayer(media_keys_id); 789 MediaPlayerAndroid* player = GetPlayer(media_keys_id);
776 if (player->IsPlaying()) 790 if (player->IsPlaying())
777 OnProtectedSurfaceRequested(media_keys_id); 791 OnProtectedSurfaceRequested(media_keys_id);
778 } 792 }
779 793
780 } // namespace content 794 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698