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

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

Issue 339613002: Revert of Support casting for embedded YT videos (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 6 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/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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 if (g_factory) 52 if (g_factory)
53 return g_factory(rfh); 53 return g_factory(rfh);
54 return new BrowserMediaPlayerManager(rfh); 54 return new BrowserMediaPlayerManager(rfh);
55 } 55 }
56 56
57 ContentViewCoreImpl* BrowserMediaPlayerManager::GetContentViewCore() const { 57 ContentViewCoreImpl* BrowserMediaPlayerManager::GetContentViewCore() const {
58 return ContentViewCoreImpl::FromWebContents(web_contents()); 58 return ContentViewCoreImpl::FromWebContents(web_contents());
59 } 59 }
60 60
61 MediaPlayerAndroid* BrowserMediaPlayerManager::CreateMediaPlayer( 61 MediaPlayerAndroid* BrowserMediaPlayerManager::CreateMediaPlayer(
62 const MediaPlayerHostMsg_Initialize_Params& media_player_params, 62 MediaPlayerHostMsg_Initialize_Type type,
63 int player_id,
64 const GURL& url,
65 const GURL& first_party_for_cookies,
66 int demuxer_client_id,
63 bool hide_url_log, 67 bool hide_url_log,
64 MediaPlayerManager* manager, 68 MediaPlayerManager* manager,
65 BrowserDemuxerAndroid* demuxer) { 69 BrowserDemuxerAndroid* demuxer) {
66 switch (media_player_params.type) { 70 switch (type) {
67 case MEDIA_PLAYER_TYPE_URL: { 71 case MEDIA_PLAYER_TYPE_URL: {
68 const std::string user_agent = GetContentClient()->GetUserAgent(); 72 const std::string user_agent = GetContentClient()->GetUserAgent();
69 MediaPlayerBridge* media_player_bridge = new MediaPlayerBridge( 73 MediaPlayerBridge* media_player_bridge = new MediaPlayerBridge(
70 media_player_params.player_id, 74 player_id,
71 media_player_params.url, 75 url,
72 media_player_params.first_party_for_cookies, 76 first_party_for_cookies,
73 user_agent, 77 user_agent,
74 hide_url_log, 78 hide_url_log,
75 manager, 79 manager,
76 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesRequested, 80 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesRequested,
77 weak_ptr_factory_.GetWeakPtr()), 81 weak_ptr_factory_.GetWeakPtr()),
78 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesReleased, 82 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesReleased,
79 weak_ptr_factory_.GetWeakPtr()), 83 weak_ptr_factory_.GetWeakPtr()));
80 media_player_params.frame_url);
81 BrowserMediaPlayerManager* browser_media_player_manager = 84 BrowserMediaPlayerManager* browser_media_player_manager =
82 static_cast<BrowserMediaPlayerManager*>(manager); 85 static_cast<BrowserMediaPlayerManager*>(manager);
83 ContentViewCoreImpl* content_view_core_impl = 86 ContentViewCoreImpl* content_view_core_impl =
84 static_cast<ContentViewCoreImpl*>(ContentViewCore::FromWebContents( 87 static_cast<ContentViewCoreImpl*>(ContentViewCore::FromWebContents(
85 browser_media_player_manager->web_contents_)); 88 browser_media_player_manager->web_contents_));
86 if (!content_view_core_impl) { 89 if (!content_view_core_impl) {
87 // May reach here due to prerendering. Don't extract the metadata 90 // May reach here due to prerendering. Don't extract the metadata
88 // since it is expensive. 91 // since it is expensive.
89 // TODO(qinmin): extract the metadata once the user decided to load 92 // TODO(qinmin): extract the metadata once the user decided to load
90 // the page. 93 // the page.
91 browser_media_player_manager->OnMediaMetadataChanged( 94 browser_media_player_manager->OnMediaMetadataChanged(
92 media_player_params.player_id, base::TimeDelta(), 0, 0, false); 95 player_id, base::TimeDelta(), 0, 0, false);
93 } else if (!content_view_core_impl->ShouldBlockMediaRequest( 96 } else if (!content_view_core_impl->ShouldBlockMediaRequest(url)) {
94 media_player_params.url)) {
95 media_player_bridge->Initialize(); 97 media_player_bridge->Initialize();
96 } 98 }
97 return media_player_bridge; 99 return media_player_bridge;
98 } 100 }
99 101
100 case MEDIA_PLAYER_TYPE_MEDIA_SOURCE: { 102 case MEDIA_PLAYER_TYPE_MEDIA_SOURCE: {
101 return new MediaSourcePlayer( 103 return new MediaSourcePlayer(
102 media_player_params.player_id, 104 player_id,
103 manager, 105 manager,
104 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesRequested, 106 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesRequested,
105 weak_ptr_factory_.GetWeakPtr()), 107 weak_ptr_factory_.GetWeakPtr()),
106 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesReleased, 108 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesReleased,
107 weak_ptr_factory_.GetWeakPtr()), 109 weak_ptr_factory_.GetWeakPtr()),
108 demuxer->CreateDemuxer(media_player_params.demuxer_client_id), 110 demuxer->CreateDemuxer(demuxer_client_id));
109 media_player_params.frame_url);
110 } 111 }
111 } 112 }
112 113
113 NOTREACHED(); 114 NOTREACHED();
114 return NULL; 115 return NULL;
115 } 116 }
116 117
117 BrowserMediaPlayerManager::BrowserMediaPlayerManager( 118 BrowserMediaPlayerManager::BrowserMediaPlayerManager(
118 RenderFrameHost* render_frame_host) 119 RenderFrameHost* render_frame_host)
119 : render_frame_host_(render_frame_host), 120 : render_frame_host_(render_frame_host),
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
412 void BrowserMediaPlayerManager::OnExitFullscreen(int player_id) { 413 void BrowserMediaPlayerManager::OnExitFullscreen(int player_id) {
413 if (fullscreen_player_id_ == player_id) { 414 if (fullscreen_player_id_ == player_id) {
414 MediaPlayerAndroid* player = GetPlayer(player_id); 415 MediaPlayerAndroid* player = GetPlayer(player_id);
415 if (player) 416 if (player)
416 player->SetVideoSurface(gfx::ScopedJavaSurface()); 417 player->SetVideoSurface(gfx::ScopedJavaSurface());
417 video_view_->OnExitFullscreen(); 418 video_view_->OnExitFullscreen();
418 } 419 }
419 } 420 }
420 421
421 void BrowserMediaPlayerManager::OnInitialize( 422 void BrowserMediaPlayerManager::OnInitialize(
422 const MediaPlayerHostMsg_Initialize_Params& media_player_params) { 423 MediaPlayerHostMsg_Initialize_Type type,
423 DCHECK(media_player_params.type != MEDIA_PLAYER_TYPE_MEDIA_SOURCE || 424 int player_id,
424 media_player_params.demuxer_client_id > 0) 425 const GURL& url,
426 const GURL& first_party_for_cookies,
427 int demuxer_client_id) {
428 DCHECK(type != MEDIA_PLAYER_TYPE_MEDIA_SOURCE || demuxer_client_id > 0)
425 << "Media source players must have positive demuxer client IDs: " 429 << "Media source players must have positive demuxer client IDs: "
426 << media_player_params.demuxer_client_id; 430 << demuxer_client_id;
427 431
428 RemovePlayer(media_player_params.player_id); 432 RemovePlayer(player_id);
429 433
430 RenderProcessHostImpl* host = static_cast<RenderProcessHostImpl*>( 434 RenderProcessHostImpl* host = static_cast<RenderProcessHostImpl*>(
431 web_contents()->GetRenderProcessHost()); 435 web_contents()->GetRenderProcessHost());
432 MediaPlayerAndroid* player = CreateMediaPlayer( 436 MediaPlayerAndroid* player = CreateMediaPlayer(
433 media_player_params, 437 type, player_id, url, first_party_for_cookies, demuxer_client_id,
434
435 host->GetBrowserContext()->IsOffTheRecord(), this, 438 host->GetBrowserContext()->IsOffTheRecord(), this,
436 host->browser_demuxer_android()); 439 host->browser_demuxer_android());
437
438 if (!player) 440 if (!player)
439 return; 441 return;
440 442
441 AddPlayer(player); 443 AddPlayer(player);
442 } 444 }
443 445
444 void BrowserMediaPlayerManager::OnStart(int player_id) { 446 void BrowserMediaPlayerManager::OnStart(int player_id) {
445 MediaPlayerAndroid* player = GetPlayer(player_id); 447 MediaPlayerAndroid* player = GetPlayer(player_id);
446 if (!player) 448 if (!player)
447 return; 449 return;
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
568 #if defined(VIDEO_HOLE) 570 #if defined(VIDEO_HOLE)
569 MediaPlayerAndroid* player = GetPlayer(player_id); 571 MediaPlayerAndroid* player = GetPlayer(player_id);
570 if (player && player->IsSurfaceInUse()) 572 if (player && player->IsSurfaceInUse())
571 return; 573 return;
572 if (external_video_surface_container_) 574 if (external_video_surface_container_)
573 external_video_surface_container_->ReleaseExternalVideoSurface(player_id); 575 external_video_surface_container_->ReleaseExternalVideoSurface(player_id);
574 #endif // defined(VIDEO_HOLE) 576 #endif // defined(VIDEO_HOLE)
575 } 577 }
576 578
577 } // namespace content 579 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/media/android/browser_media_player_manager.h ('k') | content/common/media/media_player_messages_android.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698