Chromium Code Reviews| 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 0f79c13ad93f7283c014e2ed8e1d8a8cbb69a691..635a27d9a0b405168d3cf2370516a5fd61258639 100644 |
| --- a/media/base/android/media_player_bridge.cc |
| +++ b/media/base/android/media_player_bridge.cc |
| @@ -20,6 +20,9 @@ using base::android::ScopedJavaLocalRef; |
| // Time update happens every 250ms. |
| static const int kTimeUpdateInterval = 250; |
| +// blob url scheme. |
| +static const char kBlobScheme[] = "blob"; |
|
xhwang
2014/01/14 17:57:40
nit: "static" isn't necessary. Global const variab
qinmin
2014/01/14 21:48:33
Done.
|
| + |
| namespace media { |
| MediaPlayerBridge::MediaPlayerBridge( |
| @@ -55,17 +58,16 @@ MediaPlayerBridge::~MediaPlayerBridge() { |
| } |
| void MediaPlayerBridge::Initialize() { |
| + cookies_.clear(); |
| if (url_.SchemeIsFile()) { |
| - cookies_.clear(); |
| ExtractMediaMetadata(url_.spec()); |
| return; |
| } |
| media::MediaResourceGetter* resource_getter = |
| manager()->GetMediaResourceGetter(); |
| - if (url_.SchemeIsFileSystem()) { |
| - cookies_.clear(); |
| - resource_getter->GetPlatformPathFromFileSystemURL(url_, base::Bind( |
| + if (url_.SchemeIsFileSystem() || url_.SchemeIs(kBlobScheme)) { |
| + resource_getter->GetPlatformPathFromURL(url_, base::Bind( |
| &MediaPlayerBridge::ExtractMediaMetadata, weak_this_.GetWeakPtr())); |
| return; |
| } |
| @@ -127,13 +129,14 @@ void MediaPlayerBridge::SetVideoSurface(gfx::ScopedJavaSurface surface) { |
| void MediaPlayerBridge::Prepare() { |
| DCHECK(j_media_player_bridge_.is_null()); |
| CreateJavaMediaPlayerBridge(); |
| - if (url_.SchemeIsFileSystem()) { |
| - manager()->GetMediaResourceGetter()->GetPlatformPathFromFileSystemURL( |
| - url_, base::Bind(&MediaPlayerBridge::SetDataSource, |
| - weak_this_.GetWeakPtr())); |
| - } else { |
| - SetDataSource(url_.spec()); |
| + if (url_.SchemeIsFileSystem() || url_.SchemeIs(kBlobScheme)) { |
| + manager()->GetMediaResourceGetter()->GetPlatformPathFromURL( |
| + url_, base::Bind(&MediaPlayerBridge::SetDataSource, |
| + weak_this_.GetWeakPtr())); |
| + return; |
| } |
| + |
| + SetDataSource(url_.spec()); |
| } |
| void MediaPlayerBridge::SetDataSource(const std::string& url) { |