mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-03-02 22:37:50 +00:00
Bug 1768195 - Add an origin trial for OffscreenCanvas. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D145728
This commit is contained in:
parent
456d6d3458
commit
46b13a06fc
@ -290,11 +290,15 @@ bool HasDrawWindowPrivilege(JSContext* aCx, JSObject* /* unused */) {
|
||||
nsGkAtoms::all_urlsPermission);
|
||||
}
|
||||
|
||||
bool IsOffscreenCanvasEnabled(JSContext* aCx, JSObject* /* unused */) {
|
||||
bool IsOffscreenCanvasEnabled(JSContext* aCx, JSObject* aObj) {
|
||||
if (StaticPrefs::gfx_offscreencanvas_enabled()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (OriginTrials::IsEnabled(aCx, aObj, OriginTrial::OffscreenCanvas)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!StaticPrefs::gfx_offscreencanvas_domain_enabled()) {
|
||||
return false;
|
||||
}
|
||||
|
@ -173,6 +173,8 @@ static int32_t PrefState(OriginTrial aTrial) {
|
||||
switch (aTrial) {
|
||||
case OriginTrial::TestTrial:
|
||||
return StaticPrefs::dom_origin_trials_test_trial_state();
|
||||
case OriginTrial::OffscreenCanvas:
|
||||
return StaticPrefs::dom_origin_trials_offscreen_canvas_state();
|
||||
case OriginTrial::MAX:
|
||||
MOZ_ASSERT_UNREACHABLE("Unknown trial!");
|
||||
break;
|
||||
|
@ -9,16 +9,18 @@ use std::ffi::c_void;
|
||||
pub enum OriginTrial {
|
||||
// NOTE(emilio): 0 is reserved for WebIDL usage.
|
||||
TestTrial = 1,
|
||||
OffscreenCanvas = 2,
|
||||
|
||||
MAX,
|
||||
}
|
||||
|
||||
impl OriginTrial {
|
||||
fn from_str(s: &str) -> Option<Self> {
|
||||
return Some(match s {
|
||||
Some(match s {
|
||||
"TestTrial" => Self::TestTrial,
|
||||
"OffscreenCanvas" => Self::OffscreenCanvas,
|
||||
_ => return None,
|
||||
});
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,13 @@
|
||||
<!doctype html>
|
||||
<!-- Created with: mktoken --origin 'https://example.com' --feature TestTrial --expiry 'Wed, 01 Jan 3000 01:00:00 +0100' --sign test-keys/test-ecdsa.pkcs8 -->
|
||||
<meta http-equiv="origin-trial" content="AyGdETIKWLLqe+chG57f74gZcjYSfbdYAapEq7DA49E6CmaYaPmaoXh/4tAe5XJJJdwwpFVal7hz/irC+Wvp1HgAAABLeyJvcmlnaW4iOiJodHRwczovL2V4YW1wbGUuY29tIiwiZmVhdHVyZSI6IlRlc3RUcmlhbCIsImV4cGlyeSI6MzI1MDM2ODAwMDB9">
|
||||
<!-- Created with: mktoken --origin 'https://example.com' --feature OffscreenCanvas --expiry 'Wed, 01 Jan 3000 01:00:00 +0100' --sign test-keys/test-ecdsa.pkcs8 -->
|
||||
<meta http-equiv="origin-trial" content="Ay92n3CdO5VIYbmQB7t7r7e4c34nT1k9zbX5ON2JthrXaOFxLn5NieN7ITlKhPbmPSLA4qoS+TBdshqEUwmVaIwAAABReyJvcmlnaW4iOiJodHRwczovL2V4YW1wbGUuY29tIiwiZmVhdHVyZSI6Ik9mZnNjcmVlbkNhbnZhcyIsImV4cGlyeSI6MzI1MDM2ODAwMDB9">
|
||||
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<script src="common.js"></script>
|
||||
<script>
|
||||
assertTestTrialActive(true);
|
||||
add_task(function() {
|
||||
ok(!!self.OffscreenCanvas, "OffscreenCanvas trial works.");
|
||||
});
|
||||
</script>
|
||||
|
@ -2856,6 +2856,13 @@
|
||||
value: 0
|
||||
mirror: always
|
||||
|
||||
# Origin trial state for OffscreenCanvas.
|
||||
# 0: normal, 1: always-enabled, 2: always-disabled
|
||||
- name: dom.origin-trials.offscreen-canvas.state
|
||||
type: RelaxedAtomicInt32
|
||||
value: 0
|
||||
mirror: always
|
||||
|
||||
# Is support for Window.paintWorklet enabled?
|
||||
- name: dom.paintWorklet.enabled
|
||||
type: bool
|
||||
|
Loading…
x
Reference in New Issue
Block a user