Index: media/base/android/media_player_bridge.cc |
diff --git a/media/base/android/media_player_bridge.cc b/media/base/android/media_player_bridge.cc |
index 469409d373cfea85e7961d96f65d336b83c8869e..b9832826818b8021e58992753ec494c0cd807a57 100644 |
--- a/media/base/android/media_player_bridge.cc |
+++ b/media/base/android/media_player_bridge.cc |
@@ -35,7 +35,8 @@ MediaPlayerBridge::MediaPlayerBridge( |
MediaPlayerManager* manager, |
const RequestMediaResourcesCB& request_media_resources_cb, |
const ReleaseMediaResourcesCB& release_media_resources_cb, |
- const GURL& frame_url) |
+ const GURL& frame_url, |
+ bool allow_credentials) |
: MediaPlayerAndroid(player_id, |
manager, |
request_media_resources_cb, |
@@ -54,6 +55,7 @@ MediaPlayerBridge::MediaPlayerBridge( |
can_seek_backward_(true), |
is_surface_in_use_(false), |
volume_(-1.0), |
+ allow_credentials_(allow_credentials), |
weak_factory_(this) { |
listener_.reset(new MediaPlayerListener(base::MessageLoopProxy::current(), |
weak_factory_.GetWeakPtr())); |
@@ -85,6 +87,13 @@ void MediaPlayerBridge::Initialize() { |
return; |
} |
+ // Start extracting the metadata immediately if the request is anonymous. |
+ // Otherwise, wait for user credentials to be retrieved first. |
+ if (!allow_credentials_) { |
+ ExtractMediaMetadata(url_.spec()); |
+ return; |
+ } |
+ |
resource_getter->GetCookies(url_, |
first_party_for_cookies_, |
base::Bind(&MediaPlayerBridge::OnCookiesRetrieved, |