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( ...@@ -61,6 +61,10 @@ WebContentDecryptionModuleAccessImpl::WebContentDecryptionModuleAccessImpl(
WebContentDecryptionModuleAccessImpl::~WebContentDecryptionModuleAccessImpl() = WebContentDecryptionModuleAccessImpl::~WebContentDecryptionModuleAccessImpl() =
default; default;
blink::WebString WebContentDecryptionModuleAccessImpl::GetKeySystem() {
return key_system_;
}
blink::WebMediaKeySystemConfiguration blink::WebMediaKeySystemConfiguration
WebContentDecryptionModuleAccessImpl::GetConfiguration() { WebContentDecryptionModuleAccessImpl::GetConfiguration() {
return configuration_; return configuration_;
......
...@@ -30,6 +30,7 @@ class WebContentDecryptionModuleAccessImpl ...@@ -30,6 +30,7 @@ class WebContentDecryptionModuleAccessImpl
~WebContentDecryptionModuleAccessImpl() override; ~WebContentDecryptionModuleAccessImpl() override;
// blink::WebContentDecryptionModuleAccess interface. // blink::WebContentDecryptionModuleAccess interface.
blink::WebString GetKeySystem() override;
blink::WebMediaKeySystemConfiguration GetConfiguration() override; blink::WebMediaKeySystemConfiguration GetConfiguration() override;
void CreateContentDecryptionModule( void CreateContentDecryptionModule(
blink::WebContentDecryptionModuleResult result) override; blink::WebContentDecryptionModuleResult result) override;
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_CONTENT_DECRYPTION_MODULE_ACCESS_H_ #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_common.h"
#include "third_party/blink/public/platform/web_string.h"
namespace blink { namespace blink {
...@@ -18,6 +19,7 @@ class BLINK_PLATFORM_EXPORT WebContentDecryptionModuleAccess { ...@@ -18,6 +19,7 @@ class BLINK_PLATFORM_EXPORT WebContentDecryptionModuleAccess {
virtual void CreateContentDecryptionModule( virtual void CreateContentDecryptionModule(
WebContentDecryptionModuleResult) = 0; WebContentDecryptionModuleResult) = 0;
virtual WebMediaKeySystemConfiguration GetConfiguration() = 0; virtual WebMediaKeySystemConfiguration GetConfiguration() = 0;
virtual WebString GetKeySystem() = 0;
}; };
} // namespace blink } // namespace blink
......
...@@ -131,9 +131,8 @@ static Vector<String> ConvertSessionTypes( ...@@ -131,9 +131,8 @@ static Vector<String> ConvertSessionTypes(
} // namespace } // namespace
MediaKeySystemAccess::MediaKeySystemAccess( MediaKeySystemAccess::MediaKeySystemAccess(
const String& key_system,
std::unique_ptr<WebContentDecryptionModuleAccess> access) std::unique_ptr<WebContentDecryptionModuleAccess> access)
: key_system_(key_system), access_(std::move(access)) {} : access_(std::move(access)) {}
MediaKeySystemAccess::~MediaKeySystemAccess() = default; MediaKeySystemAccess::~MediaKeySystemAccess() = default;
......
...@@ -18,16 +18,15 @@ class MediaKeySystemAccess final : public ScriptWrappable { ...@@ -18,16 +18,15 @@ class MediaKeySystemAccess final : public ScriptWrappable {
DEFINE_WRAPPERTYPEINFO(); DEFINE_WRAPPERTYPEINFO();
public: public:
MediaKeySystemAccess(const String& key_system, explicit MediaKeySystemAccess(
std::unique_ptr<WebContentDecryptionModuleAccess>); std::unique_ptr<WebContentDecryptionModuleAccess>);
~MediaKeySystemAccess() override; ~MediaKeySystemAccess() override;
const String& keySystem() const { return key_system_; } String keySystem() const { return access_->GetKeySystem(); }
MediaKeySystemConfiguration* getConfiguration() const; MediaKeySystemConfiguration* getConfiguration() const;
ScriptPromise createMediaKeys(ScriptState*); ScriptPromise createMediaKeys(ScriptState*);
private: private:
const String key_system_;
std::unique_ptr<WebContentDecryptionModuleAccess> access_; std::unique_ptr<WebContentDecryptionModuleAccess> access_;
}; };
......
...@@ -229,8 +229,8 @@ void MediaKeySystemAccessInitializer::RequestSucceeded( ...@@ -229,8 +229,8 @@ void MediaKeySystemAccessInitializer::RequestSucceeded(
if (!IsExecutionContextValid()) if (!IsExecutionContextValid())
return; return;
resolver_->Resolve(MakeGarbageCollected<MediaKeySystemAccess>( resolver_->Resolve(
key_system_, base::WrapUnique(access))); MakeGarbageCollected<MediaKeySystemAccess>(base::WrapUnique(access)));
resolver_.Clear(); 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