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

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

Issue 2749203002: Remove ScopedVector from content/. (Closed)
Patch Set: Remove ScopedVector from content/. Created 3 years, 9 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 <utility> 7 #include <utility>
8 8
9 #include "base/android/scoped_java_ref.h" 9 #include "base/android/scoped_java_ref.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 #endif 81 #endif
82 82
83 std::unique_ptr<MediaPlayerAndroid> 83 std::unique_ptr<MediaPlayerAndroid>
84 BrowserMediaPlayerManager::CreateMediaPlayer( 84 BrowserMediaPlayerManager::CreateMediaPlayer(
85 const MediaPlayerHostMsg_Initialize_Params& media_player_params, 85 const MediaPlayerHostMsg_Initialize_Params& media_player_params,
86 bool hide_url_log) { 86 bool hide_url_log) {
87 switch (media_player_params.type) { 87 switch (media_player_params.type) {
88 case MEDIA_PLAYER_TYPE_REMOTE_ONLY: 88 case MEDIA_PLAYER_TYPE_REMOTE_ONLY:
89 case MEDIA_PLAYER_TYPE_URL: { 89 case MEDIA_PLAYER_TYPE_URL: {
90 const std::string user_agent = GetContentClient()->GetUserAgent(); 90 const std::string user_agent = GetContentClient()->GetUserAgent();
91 std::unique_ptr<MediaPlayerAndroid> media_player_bridge( 91 auto media_player_bridge = base::MakeUnique<MediaPlayerBridge>(
danakj 2017/03/15 15:20:24 LGTM :)
92 new MediaPlayerBridge( 92 media_player_params.player_id, media_player_params.url,
93 media_player_params.player_id, media_player_params.url, 93 media_player_params.first_party_for_cookies, user_agent, hide_url_log,
94 media_player_params.first_party_for_cookies, user_agent, 94 this,
95 hide_url_log, this, 95 base::Bind(&BrowserMediaPlayerManager::OnDecoderResourcesReleased,
96 base::Bind(&BrowserMediaPlayerManager::OnDecoderResourcesReleased, 96 weak_ptr_factory_.GetWeakPtr()),
97 weak_ptr_factory_.GetWeakPtr()), 97 media_player_params.frame_url, media_player_params.allow_credentials);
98 media_player_params.frame_url,
99 media_player_params.allow_credentials));
100 98
101 if (media_player_params.type == MEDIA_PLAYER_TYPE_REMOTE_ONLY) 99 if (media_player_params.type == MEDIA_PLAYER_TYPE_REMOTE_ONLY)
102 return media_player_bridge; 100 return std::move(media_player_bridge);
103 101
104 bool should_block = false; 102 bool should_block = false;
105 bool extract_metadata = 103 bool extract_metadata =
106 // Initialize the player will cause MediaMetadataExtractor to decode 104 // Initialize the player will cause MediaMetadataExtractor to decode
107 // small chunks of data. 105 // small chunks of data.
108 RequestDecoderResources(media_player_params.player_id, true); 106 RequestDecoderResources(media_player_params.player_id, true);
109 #if !defined(USE_AURA) 107 #if !defined(USE_AURA)
110 if (WebContentsDelegate* delegate = web_contents_->GetDelegate()) { 108 if (WebContentsDelegate* delegate = web_contents_->GetDelegate()) {
111 should_block = 109 should_block =
112 delegate->ShouldBlockMediaRequest(media_player_params.url); 110 delegate->ShouldBlockMediaRequest(media_player_params.url);
113 } else { 111 } else {
114 extract_metadata = false; 112 extract_metadata = false;
115 } 113 }
116 #endif 114 #endif
117 if (!extract_metadata) { 115 if (!extract_metadata) {
118 // May reach here due to prerendering or throttling. Don't extract the 116 // May reach here due to prerendering or throttling. Don't extract the
119 // metadata since it is expensive. 117 // metadata since it is expensive.
120 // TODO(qinmin): extract the metadata once the user decided to load 118 // TODO(qinmin): extract the metadata once the user decided to load
121 // the page. 119 // the page.
122 OnMediaMetadataChanged(media_player_params.player_id, base::TimeDelta(), 120 OnMediaMetadataChanged(media_player_params.player_id, base::TimeDelta(),
123 0, 0, false); 121 0, 0, false);
124 } else if (!should_block) { 122 } else if (!should_block) {
125 static_cast<MediaPlayerBridge*>(media_player_bridge.get()) 123 media_player_bridge->Initialize();
126 ->Initialize();
127 } 124 }
128 return media_player_bridge; 125 return std::move(media_player_bridge);
129 } 126 }
130 } 127 }
131 128
132 NOTREACHED(); 129 NOTREACHED();
133 return nullptr; 130 return nullptr;
134 } 131 }
135 132
136 BrowserMediaPlayerManager::BrowserMediaPlayerManager( 133 BrowserMediaPlayerManager::BrowserMediaPlayerManager(
137 RenderFrameHost* render_frame_host) 134 RenderFrameHost* render_frame_host)
138 : render_frame_host_(render_frame_host), 135 : render_frame_host_(render_frame_host),
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after
562 if (!player) 559 if (!player)
563 return; 560 return;
564 player->Start(); 561 player->Start();
565 if (fullscreen_player_id_ == player_id && fullscreen_player_is_released_) { 562 if (fullscreen_player_id_ == player_id && fullscreen_player_is_released_) {
566 video_view_->OpenVideo(); 563 video_view_->OpenVideo();
567 fullscreen_player_is_released_ = false; 564 fullscreen_player_is_released_ = false;
568 } 565 }
569 } 566 }
570 567
571 } // namespace content 568 } // namespace content
OLDNEW
« no previous file with comments | « content/app/content_main_runner.cc ('k') | content/child/blob_storage/blob_transport_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698