mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-07 08:18:41 +09:00
Move WebExtensions enabled Add-ons Manager
This commit is contained in:
parent
d7d16e7fbb
commit
358cd0404a
1100 changed files with 133 additions and 106 deletions
|
|
@ -1,127 +0,0 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/publicdomain/zero/1.0/
|
||||
*/
|
||||
|
||||
registerCleanupFunction(() => {
|
||||
Services.prefs.clearUserPref("extensions.webapi.testing");
|
||||
});
|
||||
|
||||
function check_frame_availability(browser) {
|
||||
return ContentTask.spawn(browser, null, function*() {
|
||||
let frame = content.document.getElementById("frame");
|
||||
return frame.contentWindow.document.getElementById("result").textContent == "true";
|
||||
});
|
||||
}
|
||||
|
||||
function check_availability(browser) {
|
||||
return ContentTask.spawn(browser, null, function*() {
|
||||
return content.document.getElementById("result").textContent == "true";
|
||||
});
|
||||
}
|
||||
|
||||
// Test that initially the API isn't available in the test domain
|
||||
add_task(function* test_not_available() {
|
||||
yield BrowserTestUtils.withNewTab(`${SECURE_TESTROOT}webapi_checkavailable.html`,
|
||||
function* test_not_available(browser) {
|
||||
let available = yield check_availability(browser);
|
||||
ok(!available, "API should not be available.");
|
||||
})
|
||||
});
|
||||
|
||||
// Test that with testing on the API is available in the test domain
|
||||
add_task(function* test_available() {
|
||||
Services.prefs.setBoolPref("extensions.webapi.testing", true);
|
||||
|
||||
yield BrowserTestUtils.withNewTab(`${SECURE_TESTROOT}webapi_checkavailable.html`,
|
||||
function* test_not_available(browser) {
|
||||
let available = yield check_availability(browser);
|
||||
ok(available, "API should be available.");
|
||||
})
|
||||
});
|
||||
|
||||
// Test that the API is not available in a bad domain
|
||||
add_task(function* test_bad_domain() {
|
||||
yield BrowserTestUtils.withNewTab(`${SECURE_TESTROOT2}webapi_checkavailable.html`,
|
||||
function* test_not_available(browser) {
|
||||
let available = yield check_availability(browser);
|
||||
ok(!available, "API should not be available.");
|
||||
})
|
||||
});
|
||||
|
||||
// Test that the API is only available in https sites
|
||||
add_task(function* test_not_available_http() {
|
||||
yield BrowserTestUtils.withNewTab(`${TESTROOT}webapi_checkavailable.html`,
|
||||
function* test_not_available(browser) {
|
||||
let available = yield check_availability(browser);
|
||||
ok(!available, "API should not be available.");
|
||||
})
|
||||
});
|
||||
|
||||
// Test that the API is available when in a frame of the test domain
|
||||
add_task(function* test_available_framed() {
|
||||
yield BrowserTestUtils.withNewTab(`${SECURE_TESTROOT}webapi_checkframed.html`,
|
||||
function* test_available(browser) {
|
||||
let available = yield check_frame_availability(browser);
|
||||
ok(available, "API should be available.");
|
||||
})
|
||||
});
|
||||
|
||||
// Test that if the external frame is http then the inner frame doesn't have
|
||||
// the API
|
||||
add_task(function* test_not_available_http_framed() {
|
||||
yield BrowserTestUtils.withNewTab(`${TESTROOT}webapi_checkframed.html`,
|
||||
function* test_not_available(browser) {
|
||||
let available = yield check_frame_availability(browser);
|
||||
ok(!available, "API should not be available.");
|
||||
})
|
||||
});
|
||||
|
||||
// Test that if the external frame is a bad domain then the inner frame doesn't
|
||||
// have the API
|
||||
add_task(function* test_not_available_framed() {
|
||||
yield BrowserTestUtils.withNewTab(`${SECURE_TESTROOT2}webapi_checkframed.html`,
|
||||
function* test_not_available(browser) {
|
||||
let available = yield check_frame_availability(browser);
|
||||
ok(!available, "API should not be available.");
|
||||
})
|
||||
});
|
||||
|
||||
// Test that a window navigated to a bad domain doesn't allow access to the API
|
||||
add_task(function* test_navigated_window() {
|
||||
yield BrowserTestUtils.withNewTab(`${SECURE_TESTROOT2}webapi_checknavigatedwindow.html`,
|
||||
function* test_available(browser) {
|
||||
let tabPromise = BrowserTestUtils.waitForNewTab(gBrowser);
|
||||
|
||||
yield ContentTask.spawn(browser, null, function*() {
|
||||
yield content.wrappedJSObject.openWindow();
|
||||
});
|
||||
|
||||
// Should be a new tab open
|
||||
let tab = yield tabPromise;
|
||||
let loadPromise = BrowserTestUtils.browserLoaded(gBrowser.getBrowserForTab(tab));
|
||||
|
||||
ContentTask.spawn(browser, null, function*() {
|
||||
content.wrappedJSObject.navigate();
|
||||
});
|
||||
|
||||
yield loadPromise;
|
||||
|
||||
let available = yield ContentTask.spawn(browser, null, function*() {
|
||||
return content.wrappedJSObject.check();
|
||||
});
|
||||
|
||||
ok(!available, "API should not be available.");
|
||||
|
||||
gBrowser.removeTab(tab);
|
||||
})
|
||||
});
|
||||
|
||||
// Check that if a page is embedded in a chrome content UI that it can still
|
||||
// access the API.
|
||||
add_task(function* test_chrome_frame() {
|
||||
yield BrowserTestUtils.withNewTab(`${CHROMEROOT}webapi_checkchromeframe.xul`,
|
||||
function* test_available(browser) {
|
||||
let available = yield check_frame_availability(browser);
|
||||
ok(available, "API should be available.");
|
||||
})
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue