Commit 08fe8302 authored by John Rummell's avatar John Rummell Committed by Commit Bot

No need to pass WebSecurityOrigin to KeySystemConfigSelector

Permission check no longer requires the origin, so no need to pass the
WebSecurityOrigin to SelectConfig().

BUG=349201
TEST=media_unittests pass

Change-Id: I8d5242338b4a93577920e0211112c3ee8eb23790
Reviewed-on: https://chromium-review.googlesource.com/1011456Reviewed-by: default avatarXiaohan Wang <xhwang@chromium.org>
Commit-Queue: John Rummell <jrummell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550470}
parent 0e3890eb
...@@ -25,15 +25,15 @@ class MEDIA_EXPORT MediaPermission { ...@@ -25,15 +25,15 @@ class MEDIA_EXPORT MediaPermission {
MediaPermission(); MediaPermission();
virtual ~MediaPermission(); virtual ~MediaPermission();
// Checks whether |type| is permitted for |security_origion| without // Checks whether |type| is permitted without triggering user interaction
// triggering user interaction (e.g. permission prompt). The status will be // (e.g. permission prompt). The status will be |false| if the permission
// |false| if the permission has never been set. // has never been set.
virtual void HasPermission( virtual void HasPermission(
Type type, Type type,
const PermissionStatusCB& permission_status_cb) = 0; const PermissionStatusCB& permission_status_cb) = 0;
// Requests |type| permission for |security_origion|. This may trigger user // Requests |type| permission. This may trigger user interaction
// interaction (e.g. permission prompt) if the permission has never been set. // (e.g. permission prompt) if the permission has never been set.
virtual void RequestPermission( virtual void RequestPermission(
Type type, Type type,
const PermissionStatusCB& permission_status_cb) = 0; const PermissionStatusCB& permission_status_cb) = 0;
......
...@@ -20,7 +20,6 @@ ...@@ -20,7 +20,6 @@
#include "media/blink/webmediaplayer_util.h" #include "media/blink/webmediaplayer_util.h"
#include "third_party/blink/public/platform/url_conversion.h" #include "third_party/blink/public/platform/url_conversion.h"
#include "third_party/blink/public/platform/web_media_key_system_configuration.h" #include "third_party/blink/public/platform/web_media_key_system_configuration.h"
#include "third_party/blink/public/platform/web_security_origin.h"
#include "third_party/blink/public/platform/web_string.h" #include "third_party/blink/public/platform/web_string.h"
#include "third_party/blink/public/platform/web_vector.h" #include "third_party/blink/public/platform/web_vector.h"
#include "url/gurl.h" #include "url/gurl.h"
...@@ -155,7 +154,6 @@ struct KeySystemConfigSelector::SelectionRequest { ...@@ -155,7 +154,6 @@ struct KeySystemConfigSelector::SelectionRequest {
std::string key_system; std::string key_system;
blink::WebVector<blink::WebMediaKeySystemConfiguration> blink::WebVector<blink::WebMediaKeySystemConfiguration>
candidate_configurations; candidate_configurations;
blink::WebSecurityOrigin security_origin;
base::Callback<void(const blink::WebMediaKeySystemConfiguration&, base::Callback<void(const blink::WebMediaKeySystemConfiguration&,
const CdmConfig&)> succeeded_cb; const CdmConfig&)> succeeded_cb;
base::Closure not_supported_cb; base::Closure not_supported_cb;
...@@ -849,7 +847,6 @@ void KeySystemConfigSelector::SelectConfig( ...@@ -849,7 +847,6 @@ void KeySystemConfigSelector::SelectConfig(
const blink::WebString& key_system, const blink::WebString& key_system,
const blink::WebVector<blink::WebMediaKeySystemConfiguration>& const blink::WebVector<blink::WebMediaKeySystemConfiguration>&
candidate_configurations, candidate_configurations,
const blink::WebSecurityOrigin& security_origin,
base::Callback<void(const blink::WebMediaKeySystemConfiguration&, base::Callback<void(const blink::WebMediaKeySystemConfiguration&,
const CdmConfig&)> succeeded_cb, const CdmConfig&)> succeeded_cb,
base::Closure not_supported_cb) { base::Closure not_supported_cb) {
...@@ -897,7 +894,6 @@ void KeySystemConfigSelector::SelectConfig( ...@@ -897,7 +894,6 @@ void KeySystemConfigSelector::SelectConfig(
std::unique_ptr<SelectionRequest> request(new SelectionRequest()); std::unique_ptr<SelectionRequest> request(new SelectionRequest());
request->key_system = key_system_ascii; request->key_system = key_system_ascii;
request->candidate_configurations = candidate_configurations; request->candidate_configurations = candidate_configurations;
request->security_origin = security_origin;
request->succeeded_cb = succeeded_cb; request->succeeded_cb = succeeded_cb;
request->not_supported_cb = not_supported_cb; request->not_supported_cb = not_supported_cb;
SelectConfigInternal(std::move(request)); SelectConfigInternal(std::move(request));
...@@ -936,16 +932,11 @@ void KeySystemConfigSelector::SelectConfigInternal( ...@@ -936,16 +932,11 @@ void KeySystemConfigSelector::SelectConfigInternal(
<< "permission was denied."; << "permission was denied.";
continue; continue;
} }
{ DVLOG(3) << "Request permission.";
// Note: the GURL must not be constructed inline because media_permission_->RequestPermission(
// base::Passed(&request) sets |request| to null. MediaPermission::PROTECTED_MEDIA_IDENTIFIER,
GURL security_origin(url::Origin(request->security_origin).GetURL()); base::Bind(&KeySystemConfigSelector::OnPermissionResult,
DVLOG(3) << "Request permission."; weak_factory_.GetWeakPtr(), base::Passed(&request)));
media_permission_->RequestPermission(
MediaPermission::PROTECTED_MEDIA_IDENTIFIER,
base::Bind(&KeySystemConfigSelector::OnPermissionResult,
weak_factory_.GetWeakPtr(), base::Passed(&request)));
}
return; return;
case CONFIGURATION_SUPPORTED: case CONFIGURATION_SUPPORTED:
cdm_config.allow_distinctive_identifier = cdm_config.allow_distinctive_identifier =
......
...@@ -21,7 +21,6 @@ namespace blink { ...@@ -21,7 +21,6 @@ namespace blink {
struct WebMediaKeySystemConfiguration; struct WebMediaKeySystemConfiguration;
struct WebMediaKeySystemMediaCapability; struct WebMediaKeySystemMediaCapability;
class WebSecurityOrigin;
class WebString; class WebString;
} // namespace blink } // namespace blink
...@@ -43,7 +42,6 @@ class MEDIA_BLINK_EXPORT KeySystemConfigSelector { ...@@ -43,7 +42,6 @@ class MEDIA_BLINK_EXPORT KeySystemConfigSelector {
const blink::WebString& key_system, const blink::WebString& key_system,
const blink::WebVector<blink::WebMediaKeySystemConfiguration>& const blink::WebVector<blink::WebMediaKeySystemConfiguration>&
candidate_configurations, candidate_configurations,
const blink::WebSecurityOrigin& security_origin,
base::Callback<void(const blink::WebMediaKeySystemConfiguration&, base::Callback<void(const blink::WebMediaKeySystemConfiguration&,
const CdmConfig&)> succeeded_cb, const CdmConfig&)> succeeded_cb,
base::Closure not_supported_cb); base::Closure not_supported_cb);
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/platform/web_encrypted_media_types.h" #include "third_party/blink/public/platform/web_encrypted_media_types.h"
#include "third_party/blink/public/platform/web_media_key_system_configuration.h" #include "third_party/blink/public/platform/web_media_key_system_configuration.h"
#include "third_party/blink/public/platform/web_security_origin.h"
#include "third_party/blink/public/platform/web_string.h" #include "third_party/blink/public/platform/web_string.h"
#include "url/gurl.h" #include "url/gurl.h"
...@@ -43,8 +42,6 @@ const char kUnsupportedCodec[] = "foo"; ...@@ -43,8 +42,6 @@ const char kUnsupportedCodec[] = "foo";
const char kUnsupportedCodecs[] = "vp8,foo"; const char kUnsupportedCodecs[] = "vp8,foo";
const char kSupportedVideoCodecs[] = "vp8,vp8"; const char kSupportedVideoCodecs[] = "vp8,vp8";
const char kDefaultSecurityOrigin[] = "https://example.com/";
const char kClearKey[] = "org.w3.clearkey"; const char kClearKey[] = "org.w3.clearkey";
// The IDL for MediaKeySystemConfiguration specifies some defaults, so // The IDL for MediaKeySystemConfiguration specifies some defaults, so
...@@ -228,7 +225,7 @@ class KeySystemConfigSelectorTest : public testing::Test { ...@@ -228,7 +225,7 @@ class KeySystemConfigSelectorTest : public testing::Test {
succeeded_count_ = 0; succeeded_count_ = 0;
not_supported_count_ = 0; not_supported_count_ = 0;
KeySystemConfigSelector(key_systems_.get(), media_permission_.get()) KeySystemConfigSelector(key_systems_.get(), media_permission_.get())
.SelectConfig(key_system_, configs_, security_origin_, .SelectConfig(key_system_, configs_,
base::Bind(&KeySystemConfigSelectorTest::OnSucceeded, base::Bind(&KeySystemConfigSelectorTest::OnSucceeded,
base::Unretained(this)), base::Unretained(this)),
base::Bind(&KeySystemConfigSelectorTest::OnNotSupported, base::Bind(&KeySystemConfigSelectorTest::OnNotSupported,
...@@ -281,8 +278,6 @@ class KeySystemConfigSelectorTest : public testing::Test { ...@@ -281,8 +278,6 @@ class KeySystemConfigSelectorTest : public testing::Test {
// Held values for the call to SelectConfig(). // Held values for the call to SelectConfig().
blink::WebString key_system_ = blink::WebString::FromUTF8(kSupported); blink::WebString key_system_ = blink::WebString::FromUTF8(kSupported);
std::vector<blink::WebMediaKeySystemConfiguration> configs_; std::vector<blink::WebMediaKeySystemConfiguration> configs_;
blink::WebSecurityOrigin security_origin_ =
blink::WebSecurityOrigin::CreateFromString(kDefaultSecurityOrigin);
// Holds the last successful accumulated configuration. // Holds the last successful accumulated configuration.
blink::WebMediaKeySystemConfiguration config_; blink::WebMediaKeySystemConfiguration config_;
......
...@@ -97,7 +97,6 @@ void WebEncryptedMediaClientImpl::RequestMediaKeySystemAccess( ...@@ -97,7 +97,6 @@ void WebEncryptedMediaClientImpl::RequestMediaKeySystemAccess(
key_system_config_selector_.SelectConfig( key_system_config_selector_.SelectConfig(
request.KeySystem(), request.SupportedConfigurations(), request.KeySystem(), request.SupportedConfigurations(),
request.GetSecurityOrigin(),
base::Bind(&WebEncryptedMediaClientImpl::OnRequestSucceeded, base::Bind(&WebEncryptedMediaClientImpl::OnRequestSucceeded,
weak_factory_.GetWeakPtr(), request), weak_factory_.GetWeakPtr(), request),
base::Bind(&WebEncryptedMediaClientImpl::OnRequestNotSupported, base::Bind(&WebEncryptedMediaClientImpl::OnRequestNotSupported,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment