mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-15 22:35:43 +00:00
Bug 1334111 - Test for EME persistentState being rejected in Private Browsing mode. r=Gijs
MozReview-Commit-ID: Hyy9yDuIToX --HG-- extra : rebase_source : 268f9e0eee2a84ee6988ef35afe2eecf57d377d6
This commit is contained in:
parent
7442ac32b0
commit
abe687ad09
@ -94,6 +94,7 @@ tags = blocklist
|
||||
skip-if = !e10s
|
||||
tags = blocklist
|
||||
[browser_enable_DRM_prompt.js]
|
||||
[browser_private_browsing_eme_persistent_state.js]
|
||||
[browser_globalplugin_crashinfobar.js]
|
||||
skip-if = !crashreporter
|
||||
[browser_pluginCrashCommentAndURL.js]
|
||||
|
@ -0,0 +1,44 @@
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
/*
|
||||
* This test ensures that navigator.requestMediaKeySystemAccess() requests
|
||||
* to run EME with persistent state are rejected in private browsing windows.
|
||||
* Bug 1334111.
|
||||
*/
|
||||
|
||||
const TEST_URL =
|
||||
getRootDirectory(gTestPath).replace("chrome://mochitests/content",
|
||||
"https://example.com") + "empty_file.html";
|
||||
|
||||
async function isEmePersistentStateSupported(mode) {
|
||||
let win = await BrowserTestUtils.openNewBrowserWindow(mode);
|
||||
let tab = await BrowserTestUtils.openNewForegroundTab(win.gBrowser, TEST_URL);
|
||||
let persistentStateSupported = await ContentTask.spawn(tab.linkedBrowser, {}, async function() {
|
||||
try {
|
||||
let config = [{
|
||||
initDataTypes: ["webm"],
|
||||
videoCapabilities: [{contentType: 'video/webm; codecs="vp9"'}],
|
||||
persistentState: "required",
|
||||
}];
|
||||
await content.navigator.requestMediaKeySystemAccess("org.w3.clearkey", config);
|
||||
} catch (ex) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
await BrowserTestUtils.closeWindow(win);
|
||||
|
||||
return persistentStateSupported;
|
||||
}
|
||||
|
||||
add_task(async function test() {
|
||||
is(await isEmePersistentStateSupported({private: true}),
|
||||
false,
|
||||
"EME persistentState should *NOT* be supported in private browsing window.");
|
||||
is(await isEmePersistentStateSupported({private: false}),
|
||||
true,
|
||||
"EME persistentState *SHOULD* be supported in non private browsing window.");
|
||||
});
|
Loading…
Reference in New Issue
Block a user