Commit 81709d3c authored by Mounir Lamouri's avatar Mounir Lamouri Committed by Commit Bot

EncryptedMedia: remove key_system parameter in MediaKeySystemAccess ctor.

The parameter isn't needed because the other object already carries the
key system information. This CL extends the interface so the Blink
object can get the key system from the implementation through it.

This is needed to reduce the boilerplate in the Media Capabilities
Encrypted Media implementation.

Bug: 907909
Change-Id: If59a6fc0ef47292696b5538a70b7fd22fbf024ca
Reviewed-on: https://chromium-review.googlesource.com/c/1348731
Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: default avatarJochen Eisinger <jochen@chromium.org>
Reviewed-by: default avatarXiaohan Wang <xhwang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611407}
parent 294074dc
......@@ -61,6 +61,10 @@ WebContentDecryptionModuleAccessImpl::WebContentDecryptionModuleAccessImpl(
WebContentDecryptionModuleAccessImpl::~WebContentDecryptionModuleAccessImpl() =
default;
blink::WebString WebContentDecryptionModuleAccessImpl::GetKeySystem() {
return key_system_;
}
blink::WebMediaKeySystemConfiguration
WebContentDecryptionModuleAccessImpl::GetConfiguration() {
return configuration_;
......
......@@ -30,6 +30,7 @@ class WebContentDecryptionModuleAccessImpl
~WebContentDecryptionModuleAccessImpl() override;
// blink::WebContentDecryptionModuleAccess interface.
blink::WebString GetKeySystem() override;
blink::WebMediaKeySystemConfiguration GetConfiguration() override;
void CreateContentDecryptionModule(
blink::WebContentDecryptionModuleResult result) override;
......
......@@ -6,6 +6,7 @@
#define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_CONTENT_DECRYPTION_MODULE_ACCESS_H_
#include "third_party/blink/public/platform/web_common.h"
#include "third_party/blink/public/platform/web_string.h"
namespace blink {
......@@ -18,6 +19,7 @@ class BLINK_PLATFORM_EXPORT WebContentDecryptionModuleAccess {
virtual void CreateContentDecryptionModule(
WebContentDecryptionModuleResult) = 0;
virtual WebMediaKeySystemConfiguration GetConfiguration() = 0;
virtual WebString GetKeySystem() = 0;
};
} // namespace blink
......
......@@ -131,9 +131,8 @@ static Vector<String> ConvertSessionTypes(
} // namespace
MediaKeySystemAccess::MediaKeySystemAccess(
const String& key_system,
std::unique_ptr<WebContentDecryptionModuleAccess> access)
: key_system_(key_system), access_(std::move(access)) {}
: access_(std::move(access)) {}
MediaKeySystemAccess::~MediaKeySystemAccess() = default;
......
......@@ -18,16 +18,15 @@ class MediaKeySystemAccess final : public ScriptWrappable {
DEFINE_WRAPPERTYPEINFO();
public:
MediaKeySystemAccess(const String& key_system,
explicit MediaKeySystemAccess(
std::unique_ptr<WebContentDecryptionModuleAccess>);
~MediaKeySystemAccess() override;
const String& keySystem() const { return key_system_; }
String keySystem() const { return access_->GetKeySystem(); }
MediaKeySystemConfiguration* getConfiguration() const;
ScriptPromise createMediaKeys(ScriptState*);
private:
const String key_system_;
std::unique_ptr<WebContentDecryptionModuleAccess> access_;
};
......
......@@ -229,8 +229,8 @@ void MediaKeySystemAccessInitializer::RequestSucceeded(
if (!IsExecutionContextValid())
return;
resolver_->Resolve(MakeGarbageCollected<MediaKeySystemAccess>(
key_system_, base::WrapUnique(access)));
resolver_->Resolve(
MakeGarbageCollected<MediaKeySystemAccess>(base::WrapUnique(access)));
resolver_.Clear();
}
......
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