Skip to content

Commit

Permalink
No need to pass WebSecurityOrigin to KeySystemConfigSelector
Browse files Browse the repository at this point in the history
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/1011456
Reviewed-by: Xiaohan Wang <xhwang@chromium.org>
Commit-Queue: John Rummell <jrummell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550470}
  • Loading branch information
jrummell-chromium authored and Commit Bot committed Apr 13, 2018
1 parent 0e3890e commit 08fe830
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 28 deletions.
10 changes: 5 additions & 5 deletions media/base/media_permission.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ class MEDIA_EXPORT MediaPermission {
MediaPermission();
virtual ~MediaPermission();

// Checks whether |type| is permitted for |security_origion| without
// triggering user interaction (e.g. permission prompt). The status will be
// |false| if the permission has never been set.
// Checks whether |type| is permitted without triggering user interaction
// (e.g. permission prompt). The status will be |false| if the permission
// has never been set.
virtual void HasPermission(
Type type,
const PermissionStatusCB& permission_status_cb) = 0;

// Requests |type| permission for |security_origion|. This may trigger user
// interaction (e.g. permission prompt) if the permission has never been set.
// Requests |type| permission. This may trigger user interaction
// (e.g. permission prompt) if the permission has never been set.
virtual void RequestPermission(
Type type,
const PermissionStatusCB& permission_status_cb) = 0;
Expand Down
19 changes: 5 additions & 14 deletions media/blink/key_system_config_selector.cc
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
#include "media/blink/webmediaplayer_util.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_security_origin.h"
#include "third_party/blink/public/platform/web_string.h"
#include "third_party/blink/public/platform/web_vector.h"
#include "url/gurl.h"
Expand Down Expand Up @@ -155,7 +154,6 @@ struct KeySystemConfigSelector::SelectionRequest {
std::string key_system;
blink::WebVector<blink::WebMediaKeySystemConfiguration>
candidate_configurations;
blink::WebSecurityOrigin security_origin;
base::Callback<void(const blink::WebMediaKeySystemConfiguration&,
const CdmConfig&)> succeeded_cb;
base::Closure not_supported_cb;
Expand Down Expand Up @@ -849,7 +847,6 @@ void KeySystemConfigSelector::SelectConfig(
const blink::WebString& key_system,
const blink::WebVector<blink::WebMediaKeySystemConfiguration>&
candidate_configurations,
const blink::WebSecurityOrigin& security_origin,
base::Callback<void(const blink::WebMediaKeySystemConfiguration&,
const CdmConfig&)> succeeded_cb,
base::Closure not_supported_cb) {
Expand Down Expand Up @@ -897,7 +894,6 @@ void KeySystemConfigSelector::SelectConfig(
std::unique_ptr<SelectionRequest> request(new SelectionRequest());
request->key_system = key_system_ascii;
request->candidate_configurations = candidate_configurations;
request->security_origin = security_origin;
request->succeeded_cb = succeeded_cb;
request->not_supported_cb = not_supported_cb;
SelectConfigInternal(std::move(request));
Expand Down Expand Up @@ -936,16 +932,11 @@ void KeySystemConfigSelector::SelectConfigInternal(
<< "permission was denied.";
continue;
}
{
// Note: the GURL must not be constructed inline because
// base::Passed(&request) sets |request| to null.
GURL security_origin(url::Origin(request->security_origin).GetURL());
DVLOG(3) << "Request permission.";
media_permission_->RequestPermission(
MediaPermission::PROTECTED_MEDIA_IDENTIFIER,
base::Bind(&KeySystemConfigSelector::OnPermissionResult,
weak_factory_.GetWeakPtr(), base::Passed(&request)));
}
DVLOG(3) << "Request permission.";
media_permission_->RequestPermission(
MediaPermission::PROTECTED_MEDIA_IDENTIFIER,
base::Bind(&KeySystemConfigSelector::OnPermissionResult,
weak_factory_.GetWeakPtr(), base::Passed(&request)));
return;
case CONFIGURATION_SUPPORTED:
cdm_config.allow_distinctive_identifier =
Expand Down
2 changes: 0 additions & 2 deletions media/blink/key_system_config_selector.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ namespace blink {

struct WebMediaKeySystemConfiguration;
struct WebMediaKeySystemMediaCapability;
class WebSecurityOrigin;
class WebString;

} // namespace blink
Expand All @@ -43,7 +42,6 @@ class MEDIA_BLINK_EXPORT KeySystemConfigSelector {
const blink::WebString& key_system,
const blink::WebVector<blink::WebMediaKeySystemConfiguration>&
candidate_configurations,
const blink::WebSecurityOrigin& security_origin,
base::Callback<void(const blink::WebMediaKeySystemConfiguration&,
const CdmConfig&)> succeeded_cb,
base::Closure not_supported_cb);
Expand Down
7 changes: 1 addition & 6 deletions media/blink/key_system_config_selector_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
#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_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 "url/gurl.h"

Expand All @@ -43,8 +42,6 @@ const char kUnsupportedCodec[] = "foo";
const char kUnsupportedCodecs[] = "vp8,foo";
const char kSupportedVideoCodecs[] = "vp8,vp8";

const char kDefaultSecurityOrigin[] = "https://example.com/";

const char kClearKey[] = "org.w3.clearkey";

// The IDL for MediaKeySystemConfiguration specifies some defaults, so
Expand Down Expand Up @@ -228,7 +225,7 @@ class KeySystemConfigSelectorTest : public testing::Test {
succeeded_count_ = 0;
not_supported_count_ = 0;
KeySystemConfigSelector(key_systems_.get(), media_permission_.get())
.SelectConfig(key_system_, configs_, security_origin_,
.SelectConfig(key_system_, configs_,
base::Bind(&KeySystemConfigSelectorTest::OnSucceeded,
base::Unretained(this)),
base::Bind(&KeySystemConfigSelectorTest::OnNotSupported,
Expand Down Expand Up @@ -281,8 +278,6 @@ class KeySystemConfigSelectorTest : public testing::Test {
// Held values for the call to SelectConfig().
blink::WebString key_system_ = blink::WebString::FromUTF8(kSupported);
std::vector<blink::WebMediaKeySystemConfiguration> configs_;
blink::WebSecurityOrigin security_origin_ =
blink::WebSecurityOrigin::CreateFromString(kDefaultSecurityOrigin);

// Holds the last successful accumulated configuration.
blink::WebMediaKeySystemConfiguration config_;
Expand Down
1 change: 0 additions & 1 deletion media/blink/webencryptedmediaclient_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,6 @@ void WebEncryptedMediaClientImpl::RequestMediaKeySystemAccess(

key_system_config_selector_.SelectConfig(
request.KeySystem(), request.SupportedConfigurations(),
request.GetSecurityOrigin(),
base::Bind(&WebEncryptedMediaClientImpl::OnRequestSucceeded,
weak_factory_.GetWeakPtr(), request),
base::Bind(&WebEncryptedMediaClientImpl::OnRequestNotSupported,
Expand Down

0 comments on commit 08fe830

Please sign in to comment.