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

Side by Side Diff: media/base/android/media_player_bridge.cc

Issue 408873004: Fix for cross-origin video check for webgl on android (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix clang warnings Created 6 years, 4 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "media/base/android/media_player_bridge.h" 5 #include "media/base/android/media_player_bridge.h"
6 6
7 #include "base/android/jni_android.h" 7 #include "base/android/jni_android.h"
8 #include "base/android/jni_string.h" 8 #include "base/android/jni_string.h"
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 17 matching lines...) Expand all
28 28
29 MediaPlayerBridge::MediaPlayerBridge( 29 MediaPlayerBridge::MediaPlayerBridge(
30 int player_id, 30 int player_id,
31 const GURL& url, 31 const GURL& url,
32 const GURL& first_party_for_cookies, 32 const GURL& first_party_for_cookies,
33 const std::string& user_agent, 33 const std::string& user_agent,
34 bool hide_url_log, 34 bool hide_url_log,
35 MediaPlayerManager* manager, 35 MediaPlayerManager* manager,
36 const RequestMediaResourcesCB& request_media_resources_cb, 36 const RequestMediaResourcesCB& request_media_resources_cb,
37 const ReleaseMediaResourcesCB& release_media_resources_cb, 37 const ReleaseMediaResourcesCB& release_media_resources_cb,
38 const GURL& frame_url) 38 const GURL& frame_url,
39 bool allow_credentials)
39 : MediaPlayerAndroid(player_id, 40 : MediaPlayerAndroid(player_id,
40 manager, 41 manager,
41 request_media_resources_cb, 42 request_media_resources_cb,
42 release_media_resources_cb, 43 release_media_resources_cb,
43 frame_url), 44 frame_url),
44 prepared_(false), 45 prepared_(false),
45 pending_play_(false), 46 pending_play_(false),
46 url_(url), 47 url_(url),
47 first_party_for_cookies_(first_party_for_cookies), 48 first_party_for_cookies_(first_party_for_cookies),
48 user_agent_(user_agent), 49 user_agent_(user_agent),
49 hide_url_log_(hide_url_log), 50 hide_url_log_(hide_url_log),
50 width_(0), 51 width_(0),
51 height_(0), 52 height_(0),
52 can_pause_(true), 53 can_pause_(true),
53 can_seek_forward_(true), 54 can_seek_forward_(true),
54 can_seek_backward_(true), 55 can_seek_backward_(true),
55 is_surface_in_use_(false), 56 is_surface_in_use_(false),
56 volume_(-1.0), 57 volume_(-1.0),
58 allow_credentials_(allow_credentials),
57 weak_factory_(this) { 59 weak_factory_(this) {
58 listener_.reset(new MediaPlayerListener(base::MessageLoopProxy::current(), 60 listener_.reset(new MediaPlayerListener(base::MessageLoopProxy::current(),
59 weak_factory_.GetWeakPtr())); 61 weak_factory_.GetWeakPtr()));
60 } 62 }
61 63
62 MediaPlayerBridge::~MediaPlayerBridge() { 64 MediaPlayerBridge::~MediaPlayerBridge() {
63 if (!j_media_player_bridge_.is_null()) { 65 if (!j_media_player_bridge_.is_null()) {
64 JNIEnv* env = base::android::AttachCurrentThread(); 66 JNIEnv* env = base::android::AttachCurrentThread();
65 CHECK(env); 67 CHECK(env);
66 Java_MediaPlayerBridge_destroy(env, j_media_player_bridge_.obj()); 68 Java_MediaPlayerBridge_destroy(env, j_media_player_bridge_.obj());
(...skipping 11 matching lines...) Expand all
78 media::MediaResourceGetter* resource_getter = 80 media::MediaResourceGetter* resource_getter =
79 manager()->GetMediaResourceGetter(); 81 manager()->GetMediaResourceGetter();
80 if (url_.SchemeIsFileSystem() || url_.SchemeIs(kBlobScheme)) { 82 if (url_.SchemeIsFileSystem() || url_.SchemeIs(kBlobScheme)) {
81 resource_getter->GetPlatformPathFromURL( 83 resource_getter->GetPlatformPathFromURL(
82 url_, 84 url_,
83 base::Bind(&MediaPlayerBridge::ExtractMediaMetadata, 85 base::Bind(&MediaPlayerBridge::ExtractMediaMetadata,
84 weak_factory_.GetWeakPtr())); 86 weak_factory_.GetWeakPtr()));
85 return; 87 return;
86 } 88 }
87 89
90 // Start extracting the metadata immediately if the request is anonymous.
91 // Otherwise, wait for user credentials to be retrieved first.
92 if (!allow_credentials_) {
93 ExtractMediaMetadata(url_.spec());
94 return;
95 }
96
88 resource_getter->GetCookies(url_, 97 resource_getter->GetCookies(url_,
89 first_party_for_cookies_, 98 first_party_for_cookies_,
90 base::Bind(&MediaPlayerBridge::OnCookiesRetrieved, 99 base::Bind(&MediaPlayerBridge::OnCookiesRetrieved,
91 weak_factory_.GetWeakPtr())); 100 weak_factory_.GetWeakPtr()));
92 } 101 }
93 102
94 void MediaPlayerBridge::CreateJavaMediaPlayerBridge() { 103 void MediaPlayerBridge::CreateJavaMediaPlayerBridge() {
95 JNIEnv* env = base::android::AttachCurrentThread(); 104 JNIEnv* env = base::android::AttachCurrentThread();
96 CHECK(env); 105 CHECK(env);
97 106
(...skipping 439 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 546
538 GURL MediaPlayerBridge::GetFirstPartyForCookies() { 547 GURL MediaPlayerBridge::GetFirstPartyForCookies() {
539 return first_party_for_cookies_; 548 return first_party_for_cookies_;
540 } 549 }
541 550
542 bool MediaPlayerBridge::IsSurfaceInUse() const { 551 bool MediaPlayerBridge::IsSurfaceInUse() const {
543 return is_surface_in_use_; 552 return is_surface_in_use_;
544 } 553 }
545 554
546 } // namespace media 555 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698