Commit a147c626 authored by mlamouri's avatar mlamouri Committed by Commit bot

[Media Capabilities] Rename query() to decodingInfo() and MediaDecodingAbility...

[Media Capabilities] Rename query() to decodingInfo() and MediaDecodingAbility to MediaCapabilitiesInfo

This is matching recent spec changes:
https://github.com/WICG/media-capabilities/pull/31

The MediaConfiguration changes are not reflected in this CL.

BUG=690380
R=mcasas@chromium.org,sandersd@chromium.org

Review-Url: https://codereview.chromium.org/2807713002
Cr-Commit-Position: refs/heads/master@{#463403}
parent e0f87e57
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include "media/blink/webmediacapabilitiesclient_impl.h" #include "media/blink/webmediacapabilitiesclient_impl.h"
#include "third_party/WebKit/public/platform/modules/media_capabilities/WebMediaDecodingAbility.h" #include "third_party/WebKit/public/platform/modules/media_capabilities/WebMediaCapabilitiesInfo.h"
namespace media { namespace media {
...@@ -12,17 +12,17 @@ WebMediaCapabilitiesClientImpl::WebMediaCapabilitiesClientImpl() = default; ...@@ -12,17 +12,17 @@ WebMediaCapabilitiesClientImpl::WebMediaCapabilitiesClientImpl() = default;
WebMediaCapabilitiesClientImpl::~WebMediaCapabilitiesClientImpl() = default; WebMediaCapabilitiesClientImpl::~WebMediaCapabilitiesClientImpl() = default;
void WebMediaCapabilitiesClientImpl::Query( void WebMediaCapabilitiesClientImpl::DecodingInfo(
const blink::WebMediaConfiguration& configuration, const blink::WebMediaConfiguration& configuration,
std::unique_ptr<blink::WebMediaCapabilitiesQueryCallbacks> callbacks) { std::unique_ptr<blink::WebMediaCapabilitiesQueryCallbacks> callbacks) {
// TODO(chcunningham, mlamouri): this is a dummy implementation that returns // TODO(chcunningham, mlamouri): this is a dummy implementation that returns
// true for all the fields. // true for all the fields.
std::unique_ptr<blink::WebMediaDecodingAbility> ability( std::unique_ptr<blink::WebMediaCapabilitiesInfo> info(
new blink::WebMediaDecodingAbility()); new blink::WebMediaCapabilitiesInfo());
ability->supported = true; info->supported = true;
ability->smooth = true; info->smooth = true;
ability->power_efficient = true; info->power_efficient = true;
callbacks->OnSuccess(std::move(ability)); callbacks->OnSuccess(std::move(info));
} }
} // namespace media } // namespace media
...@@ -19,7 +19,7 @@ class MEDIA_BLINK_EXPORT WebMediaCapabilitiesClientImpl ...@@ -19,7 +19,7 @@ class MEDIA_BLINK_EXPORT WebMediaCapabilitiesClientImpl
~WebMediaCapabilitiesClientImpl() override; ~WebMediaCapabilitiesClientImpl() override;
// Implementation of blink::WebMediaCapabilitiesClient. // Implementation of blink::WebMediaCapabilitiesClient.
void Query( void DecodingInfo(
const blink::WebMediaConfiguration&, const blink::WebMediaConfiguration&,
std::unique_ptr<blink::WebMediaCapabilitiesQueryCallbacks>) override; std::unique_ptr<blink::WebMediaCapabilitiesQueryCallbacks>) override;
......
<!DOCTYPE html> <!DOCTYPE html>
<title>MediaCapabilities.query()</title> <title>MediaCapabilities.decodingInfo()</title>
<script src=/resources/testharness.js></script> <script src=/resources/testharness.js></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script> <script>
...@@ -21,22 +21,22 @@ var minimalAudioConfiguration = { ...@@ -21,22 +21,22 @@ var minimalAudioConfiguration = {
}; };
promise_test(t => { promise_test(t => {
return promise_rejects(t, new TypeError(), navigator.mediaCapabilities.query()); return promise_rejects(t, new TypeError(), navigator.mediaCapabilities.decodingInfo());
}, "Test that query rejects if it doesn't get a configuration"); }, "Test that decodingInfo rejects if it doesn't get a configuration");
promise_test(t => { promise_test(t => {
return promise_rejects(t, new TypeError(), navigator.mediaCapabilities.query({})); return promise_rejects(t, new TypeError(), navigator.mediaCapabilities.decodingInfo({}));
}, "Test that query rejects if the MediaConfiguration isn't valid"); }, "Test that decodingInfo rejects if the MediaConfiguration isn't valid");
promise_test(t => { promise_test(t => {
return promise_rejects(t, new TypeError(), navigator.mediaCapabilities.query({ return promise_rejects(t, new TypeError(), navigator.mediaCapabilities.decodingInfo({
video: minimalVideoConfiguration, video: minimalVideoConfiguration,
audio: minimalAudioConfiguration, audio: minimalAudioConfiguration,
})); }));
}, "Test that query rejects if the MediaConfiguration does not have a type"); }, "Test that decodingInfo rejects if the MediaConfiguration does not have a type");
promise_test(t => { promise_test(t => {
return navigator.mediaCapabilities.query({ return navigator.mediaCapabilities.decodingInfo({
type: 'file', type: 'file',
video: minimalVideoConfiguration, video: minimalVideoConfiguration,
audio: minimalAudioConfiguration, audio: minimalAudioConfiguration,
...@@ -45,7 +45,7 @@ promise_test(t => { ...@@ -45,7 +45,7 @@ promise_test(t => {
assert_idl_attribute(ability, 'smooth'); assert_idl_attribute(ability, 'smooth');
assert_idl_attribute(ability, 'powerEfficient'); assert_idl_attribute(ability, 'powerEfficient');
}); });
}, "Test that query returns a valid MediaDecodingAbility objects"); }, "Test that decodingInfo returns a valid MediaCapabilitiesInfo objects");
async_test(t => { async_test(t => {
var validTypes = [ 'file', 'media-source' ]; var validTypes = [ 'file', 'media-source' ];
...@@ -55,7 +55,7 @@ async_test(t => { ...@@ -55,7 +55,7 @@ async_test(t => {
var invalidCaught = 0; var invalidCaught = 0;
validTypes.forEach(type => { validTypes.forEach(type => {
validPromises.push(navigator.mediaCapabilities.query({ validPromises.push(navigator.mediaCapabilities.decodingInfo({
type: type, type: type,
video: minimalVideoConfiguration, video: minimalVideoConfiguration,
audio: minimalAudioConfiguration, audio: minimalAudioConfiguration,
...@@ -68,7 +68,7 @@ async_test(t => { ...@@ -68,7 +68,7 @@ async_test(t => {
// when rejected until the amount of rejection matches the expectation. // when rejected until the amount of rejection matches the expectation.
Promise.all(validPromises).then(t.step_func(() => { Promise.all(validPromises).then(t.step_func(() => {
for (var i = 0; i < invalidTypes.length; ++i) { for (var i = 0; i < invalidTypes.length; ++i) {
navigator.mediaCapabilities.query({ navigator.mediaCapabilities.decodingInfo({
type: invalidTypes[i], type: invalidTypes[i],
video: minimalVideoConfiguration, video: minimalVideoConfiguration,
audio: minimalAudioConfiguration, audio: minimalAudioConfiguration,
...@@ -80,6 +80,6 @@ async_test(t => { ...@@ -80,6 +80,6 @@ async_test(t => {
})); }));
} }
}), t.unreached_func('Promise.all should not reject for valid types')); }), t.unreached_func('Promise.all should not reject for valid types'));
}, "Test that query rejects if the MediaConfiguration does not have a valid type"); }, "Test that decodingInfo rejects if the MediaConfiguration does not have a valid type");
</script> </script>
...@@ -4,20 +4,20 @@ PASS Navigator must be primary interface of navigator ...@@ -4,20 +4,20 @@ PASS Navigator must be primary interface of navigator
PASS Stringification of navigator PASS Stringification of navigator
PASS Navigator interface: navigator must inherit property "mediaCapabilities" with the proper type (0) PASS Navigator interface: navigator must inherit property "mediaCapabilities" with the proper type (0)
PASS WorkerNavigator interface: existence and properties of interface object PASS WorkerNavigator interface: existence and properties of interface object
PASS MediaDecodingAbility interface: existence and properties of interface object PASS MediaCapabilitiesInfo interface: existence and properties of interface object
PASS MediaDecodingAbility interface object length PASS MediaCapabilitiesInfo interface object length
PASS MediaDecodingAbility interface object name PASS MediaCapabilitiesInfo interface object name
FAIL MediaDecodingAbility interface: existence and properties of interface prototype object assert_equals: class string of MediaDecodingAbility.prototype expected "[object MediaDecodingAbilityPrototype]" but got "[object MediaDecodingAbility]" FAIL MediaCapabilitiesInfo interface: existence and properties of interface prototype object assert_equals: class string of MediaCapabilitiesInfo.prototype expected "[object MediaCapabilitiesInfoPrototype]" but got "[object MediaCapabilitiesInfo]"
PASS MediaDecodingAbility interface: existence and properties of interface prototype object's "constructor" property PASS MediaCapabilitiesInfo interface: existence and properties of interface prototype object's "constructor" property
PASS MediaDecodingAbility interface: attribute supported PASS MediaCapabilitiesInfo interface: attribute supported
PASS MediaDecodingAbility interface: attribute smooth PASS MediaCapabilitiesInfo interface: attribute smooth
PASS MediaDecodingAbility interface: attribute powerEfficient PASS MediaCapabilitiesInfo interface: attribute powerEfficient
PASS MediaCapabilities interface: existence and properties of interface object PASS MediaCapabilities interface: existence and properties of interface object
PASS MediaCapabilities interface object length PASS MediaCapabilities interface object length
PASS MediaCapabilities interface object name PASS MediaCapabilities interface object name
FAIL MediaCapabilities interface: existence and properties of interface prototype object assert_equals: class string of MediaCapabilities.prototype expected "[object MediaCapabilitiesPrototype]" but got "[object MediaCapabilities]" FAIL MediaCapabilities interface: existence and properties of interface prototype object assert_equals: class string of MediaCapabilities.prototype expected "[object MediaCapabilitiesPrototype]" but got "[object MediaCapabilities]"
PASS MediaCapabilities interface: existence and properties of interface prototype object's "constructor" property PASS MediaCapabilities interface: existence and properties of interface prototype object's "constructor" property
FAIL MediaCapabilities interface: operation query(MediaConfiguration) assert_throws: calling operation with this = null didn't throw TypeError function "function () { FAIL MediaCapabilities interface: operation decodingInfo(MediaConfiguration) assert_throws: calling operation with this = null didn't throw TypeError function "function () {
fn.apply(obj, args); fn.apply(obj, args);
}" did not throw }" did not throw
Harness: the test ran to completion. Harness: the test ran to completion.
......
...@@ -50,7 +50,7 @@ dictionary AudioConfiguration { ...@@ -50,7 +50,7 @@ dictionary AudioConfiguration {
unsigned long samplerate; unsigned long samplerate;
}; };
interface MediaDecodingAbility { interface MediaCapabilitiesInfo {
readonly attribute boolean supported; readonly attribute boolean supported;
readonly attribute boolean smooth; readonly attribute boolean smooth;
readonly attribute boolean powerEfficient; readonly attribute boolean powerEfficient;
...@@ -68,7 +68,7 @@ partial interface WorkerNavigator { ...@@ -68,7 +68,7 @@ partial interface WorkerNavigator {
[Exposed=(Window, Worker)] [Exposed=(Window, Worker)]
interface MediaCapabilities { interface MediaCapabilities {
Promise<MediaDecodingAbility> query(MediaConfiguration configuration); Promise<MediaCapabilitiesInfo> decodingInfo(MediaConfiguration configuration);
}; };
</pre> </pre>
<script> <script>
......
...@@ -3899,8 +3899,8 @@ interface Magnetometer : Sensor ...@@ -3899,8 +3899,8 @@ interface Magnetometer : Sensor
interface MediaCapabilities interface MediaCapabilities
attribute @@toStringTag attribute @@toStringTag
method constructor method constructor
method query method decodingInfo
interface MediaDecodingAbility interface MediaCapabilitiesInfo
attribute @@toStringTag attribute @@toStringTag
getter powerEfficient getter powerEfficient
getter smooth getter smooth
......
...@@ -8,8 +8,8 @@ blink_modules_sources("media_capabilities") { ...@@ -8,8 +8,8 @@ blink_modules_sources("media_capabilities") {
sources = [ sources = [
"MediaCapabilities.cpp", "MediaCapabilities.cpp",
"MediaCapabilities.h", "MediaCapabilities.h",
"MediaDecodingAbility.cpp", "MediaCapabilitiesInfo.cpp",
"MediaDecodingAbility.h", "MediaCapabilitiesInfo.h",
"NavigatorMediaCapabilities.cpp", "NavigatorMediaCapabilities.cpp",
"NavigatorMediaCapabilities.h", "NavigatorMediaCapabilities.h",
] ]
......
...@@ -8,12 +8,12 @@ ...@@ -8,12 +8,12 @@
#include "bindings/core/v8/ScriptPromise.h" #include "bindings/core/v8/ScriptPromise.h"
#include "bindings/core/v8/ScriptPromiseResolver.h" #include "bindings/core/v8/ScriptPromiseResolver.h"
#include "bindings/core/v8/ScriptState.h" #include "bindings/core/v8/ScriptState.h"
#include "modules/media_capabilities/MediaCapabilitiesInfo.h"
#include "modules/media_capabilities/MediaConfiguration.h" #include "modules/media_capabilities/MediaConfiguration.h"
#include "modules/media_capabilities/MediaDecodingAbility.h"
#include "public/platform/Platform.h" #include "public/platform/Platform.h"
#include "public/platform/modules/media_capabilities/WebMediaCapabilitiesClient.h" #include "public/platform/modules/media_capabilities/WebMediaCapabilitiesClient.h"
#include "public/platform/modules/media_capabilities/WebMediaCapabilitiesInfo.h"
#include "public/platform/modules/media_capabilities/WebMediaConfiguration.h" #include "public/platform/modules/media_capabilities/WebMediaConfiguration.h"
#include "public/platform/modules/media_capabilities/WebMediaDecodingAbility.h"
namespace blink { namespace blink {
...@@ -88,15 +88,15 @@ WebMediaConfiguration ToWebMediaConfiguration( ...@@ -88,15 +88,15 @@ WebMediaConfiguration ToWebMediaConfiguration(
MediaCapabilities::MediaCapabilities() = default; MediaCapabilities::MediaCapabilities() = default;
ScriptPromise MediaCapabilities::query( ScriptPromise MediaCapabilities::decodingInfo(
ScriptState* script_state, ScriptState* script_state,
const MediaConfiguration& configuration) { const MediaConfiguration& configuration) {
ScriptPromiseResolver* resolver = ScriptPromiseResolver::Create(script_state); ScriptPromiseResolver* resolver = ScriptPromiseResolver::Create(script_state);
ScriptPromise promise = resolver->Promise(); ScriptPromise promise = resolver->Promise();
Platform::Current()->MediaCapabilitiesClient()->Query( Platform::Current()->MediaCapabilitiesClient()->DecodingInfo(
ToWebMediaConfiguration(configuration), ToWebMediaConfiguration(configuration),
WTF::MakeUnique<CallbackPromiseAdapter<MediaDecodingAbility, void>>( WTF::MakeUnique<CallbackPromiseAdapter<MediaCapabilitiesInfo, void>>(
resolver)); resolver));
return promise; return promise;
......
...@@ -22,7 +22,7 @@ class MediaCapabilities final ...@@ -22,7 +22,7 @@ class MediaCapabilities final
public: public:
MediaCapabilities(); MediaCapabilities();
ScriptPromise query(ScriptState*, const MediaConfiguration&); ScriptPromise decodingInfo(ScriptState*, const MediaConfiguration&);
DECLARE_VIRTUAL_TRACE(); DECLARE_VIRTUAL_TRACE();
}; };
......
...@@ -8,5 +8,5 @@ ...@@ -8,5 +8,5 @@
Exposed=Window, Exposed=Window,
RuntimeEnabled=MediaCapabilities RuntimeEnabled=MediaCapabilities
] interface MediaCapabilities { ] interface MediaCapabilities {
[CallWith=ScriptState] Promise<MediaDecodingAbility> query(MediaConfiguration configuration); [CallWith=ScriptState] Promise<MediaCapabilitiesInfo> decodingInfo(MediaConfiguration configuration);
}; };
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "modules/media_capabilities/MediaCapabilitiesInfo.h"
namespace blink {
// static
MediaCapabilitiesInfo* MediaCapabilitiesInfo::Take(
ScriptPromiseResolver*,
std::unique_ptr<WebMediaCapabilitiesInfo> web_media_capabilities_info) {
DCHECK(web_media_capabilities_info);
return new MediaCapabilitiesInfo(std::move(web_media_capabilities_info));
}
bool MediaCapabilitiesInfo::supported() const {
return web_media_capabilities_info_->supported;
}
bool MediaCapabilitiesInfo::smooth() const {
return web_media_capabilities_info_->smooth;
}
bool MediaCapabilitiesInfo::powerEfficient() const {
return web_media_capabilities_info_->power_efficient;
}
DEFINE_TRACE(MediaCapabilitiesInfo) {}
MediaCapabilitiesInfo::MediaCapabilitiesInfo(
std::unique_ptr<WebMediaCapabilitiesInfo> web_media_capabilities_info)
: web_media_capabilities_info_(std::move(web_media_capabilities_info)) {}
} // namespace blink
...@@ -2,28 +2,28 @@ ...@@ -2,28 +2,28 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#ifndef MediaDecodingAbility_h #ifndef MediaCapabilitiesInfo_h
#define MediaDecodingAbility_h #define MediaCapabilitiesInfo_h
#include <memory> #include <memory>
#include "bindings/core/v8/ScriptWrappable.h" #include "bindings/core/v8/ScriptWrappable.h"
#include "public/platform/modules/media_capabilities/WebMediaDecodingAbility.h" #include "public/platform/modules/media_capabilities/WebMediaCapabilitiesInfo.h"
namespace blink { namespace blink {
class ScriptPromiseResolver; class ScriptPromiseResolver;
// Implementation of the MediaDecodingAbility interface. // Implementation of the MediaCapabilitiesInfo interface.
class MediaDecodingAbility final class MediaCapabilitiesInfo final
: public GarbageCollectedFinalized<MediaDecodingAbility>, : public GarbageCollectedFinalized<MediaCapabilitiesInfo>,
public ScriptWrappable { public ScriptWrappable {
DEFINE_WRAPPERTYPEINFO(); DEFINE_WRAPPERTYPEINFO();
public: public:
using WebType = std::unique_ptr<WebMediaDecodingAbility>; using WebType = std::unique_ptr<WebMediaCapabilitiesInfo>;
static MediaDecodingAbility* Take(ScriptPromiseResolver*, static MediaCapabilitiesInfo* Take(ScriptPromiseResolver*,
std::unique_ptr<WebMediaDecodingAbility>); std::unique_ptr<WebMediaCapabilitiesInfo>);
bool supported() const; bool supported() const;
bool smooth() const; bool smooth() const;
...@@ -32,12 +32,12 @@ class MediaDecodingAbility final ...@@ -32,12 +32,12 @@ class MediaDecodingAbility final
DECLARE_VIRTUAL_TRACE(); DECLARE_VIRTUAL_TRACE();
private: private:
MediaDecodingAbility() = delete; MediaCapabilitiesInfo() = delete;
explicit MediaDecodingAbility(std::unique_ptr<WebMediaDecodingAbility>); explicit MediaCapabilitiesInfo(std::unique_ptr<WebMediaCapabilitiesInfo>);
std::unique_ptr<WebMediaDecodingAbility> web_media_decoding_ability_; std::unique_ptr<WebMediaCapabilitiesInfo> web_media_capabilities_info_;
}; };
} // namespace blink } // namespace blink
#endif // MediaDecodingAbility_h #endif // MediaCapabilitiesInfo_h
...@@ -2,12 +2,12 @@ ...@@ -2,12 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// https://wicg.github.io/media-capabilities/#mediadecodingability // https://wicg.github.io/media-capabilities/#mediacapabilitiesinfo
[ [
Exposed=Window, Exposed=Window,
RuntimeEnabled=MediaCapabilities RuntimeEnabled=MediaCapabilities
] interface MediaDecodingAbility { ] interface MediaCapabilitiesInfo {
readonly attribute boolean supported; readonly attribute boolean supported;
readonly attribute boolean smooth; readonly attribute boolean smooth;
readonly attribute boolean powerEfficient; readonly attribute boolean powerEfficient;
......
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "modules/media_capabilities/MediaDecodingAbility.h"
namespace blink {
// static
MediaDecodingAbility* MediaDecodingAbility::Take(
ScriptPromiseResolver*,
std::unique_ptr<WebMediaDecodingAbility> web_media_decoding_ability) {
DCHECK(web_media_decoding_ability);
return new MediaDecodingAbility(std::move(web_media_decoding_ability));
}
bool MediaDecodingAbility::supported() const {
return web_media_decoding_ability_->supported;
}
bool MediaDecodingAbility::smooth() const {
return web_media_decoding_ability_->smooth;
}
bool MediaDecodingAbility::powerEfficient() const {
return web_media_decoding_ability_->power_efficient;
}
DEFINE_TRACE(MediaDecodingAbility) {}
MediaDecodingAbility::MediaDecodingAbility(
std::unique_ptr<WebMediaDecodingAbility> web_media_decoding_ability)
: web_media_decoding_ability_(std::move(web_media_decoding_ability)) {}
} // namespace blink
...@@ -151,7 +151,7 @@ modules_idl_files = ...@@ -151,7 +151,7 @@ modules_idl_files =
"indexeddb/IDBVersionChangeEvent.idl", "indexeddb/IDBVersionChangeEvent.idl",
"installedapp/RelatedApplication.idl", "installedapp/RelatedApplication.idl",
"media_capabilities/MediaCapabilities.idl", "media_capabilities/MediaCapabilities.idl",
"media_capabilities/MediaDecodingAbility.idl", "media_capabilities/MediaCapabilitiesInfo.idl",
"mediacapturefromelement/CanvasCaptureMediaStreamTrack.idl", "mediacapturefromelement/CanvasCaptureMediaStreamTrack.idl",
"mediarecorder/BlobEvent.idl", "mediarecorder/BlobEvent.idl",
"mediarecorder/MediaRecorder.idl", "mediarecorder/MediaRecorder.idl",
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
#include <memory> #include <memory>
#include "public/platform/modules/media_capabilities/WebMediaDecodingAbility.h" #include "public/platform/modules/media_capabilities/WebMediaCapabilitiesInfo.h"
namespace blink { namespace blink {
...@@ -18,7 +18,8 @@ class WebMediaCapabilitiesClient { ...@@ -18,7 +18,8 @@ class WebMediaCapabilitiesClient {
public: public:
virtual ~WebMediaCapabilitiesClient() = default; virtual ~WebMediaCapabilitiesClient() = default;
virtual void Query(const WebMediaConfiguration&, virtual void DecodingInfo(
const WebMediaConfiguration&,
std::unique_ptr<WebMediaCapabilitiesQueryCallbacks>) = 0; std::unique_ptr<WebMediaCapabilitiesQueryCallbacks>) = 0;
}; };
......
...@@ -2,24 +2,24 @@ ...@@ -2,24 +2,24 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#ifndef WebMediaDecodingAbility_h #ifndef WebMediaCapabilitiesInfo_h
#define WebMediaDecodingAbility_h #define WebMediaCapabilitiesInfo_h
#include "public/platform/WebCallbacks.h" #include "public/platform/WebCallbacks.h"
namespace blink { namespace blink {
// Represents a MediaDecodingAbility dictionary to be used outside of Blink. // Represents a MediaCapabilitiesInfo dictionary to be used outside of Blink.
// This is set by consumers and send back to Blink. // This is set by consumers and sent back to Blink.
struct WebMediaDecodingAbility { struct WebMediaCapabilitiesInfo {
bool supported = false; bool supported = false;
bool smooth = false; bool smooth = false;
bool power_efficient = false; bool power_efficient = false;
}; };
using WebMediaCapabilitiesQueryCallbacks = using WebMediaCapabilitiesQueryCallbacks =
WebCallbacks<std::unique_ptr<WebMediaDecodingAbility>, void>; WebCallbacks<std::unique_ptr<WebMediaCapabilitiesInfo>, void>;
} // namespace blink } // namespace blink
#endif // WebMediaDecodingAbility_h #endif // WebMediaCapabilitiesInfo_h
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