Bug 1286530 - Clean AvailableIn, CheckAnyPermissions and CheckAllPermissions from WebIDL r=bz,fabrice

MozReview-Commit-ID: 6EQfBM09xUE
This commit is contained in:
Alexandre Lissy
2016-04-21 15:48:59 +02:00
parent 1e73a4d7da
commit e4fd2dab03
367 changed files with 1284 additions and 2109 deletions

View File

@@ -34,4 +34,6 @@ FINAL_LIBRARY = 'xul'
MOCHITEST_MANIFESTS += ['test/mochitest.ini']
MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini']
XPCSHELL_TESTS_MANIFESTS += ['test/xpcshell.ini']

View File

@@ -0,0 +1,7 @@
[DEFAULT]
run-if = buildapp == 'b2g' || buildapp == 'mulet'
support-files =
file_empty.html
system_message_chrome_script.js
[test_alarm_permitted_app.html]

View File

@@ -1,21 +1,14 @@
[DEFAULT]
run-if = buildapp == 'b2g' || buildapp == 'mulet'
support-files =
file_empty.html
system_message_chrome_script.js
[test_alarm_add_data.html]
skip-if = ((buildapp == 'b2g') && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_alarm_add_date.html]
skip-if = ((buildapp == 'b2g') && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_alarm_add_respectTimezone.html]
skip-if = ((buildapp == 'b2g') && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_alarm_non_permitted_app.html]
[test_alarm_permitted_app.html]
[test_alarm_remove.html]
skip-if = ((buildapp == 'b2g') && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug1015540.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug1037079.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug1090896.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage

View File

@@ -2,8 +2,8 @@
<html>
<head>
<title>Test Permitted Application for Alarm API</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" />
</head>
<body>
<p id="display"></p>
@@ -16,8 +16,6 @@
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({"set": [["dom.mozAlarms.enabled", true]]}, function() {
SpecialPowers.addPermission("alarms", true, document);
// mozAlarms is installed on all platforms except Android for the moment.
if (navigator.appVersion.indexOf("Android") != -1) {
try {

View File

@@ -118,8 +118,6 @@
#endif
#include "mozilla/dom/ContentChild.h"
#include "mozilla/dom/FeatureList.h"
#ifdef MOZ_EME
#include "mozilla/EMEUtils.h"
#include "mozilla/DetailedPromise.h"
@@ -1792,11 +1790,7 @@ Navigator::HasFeature(const nsAString& aName, ErrorResult& aRv)
return p.forget();
}
if (IsFeatureDetectible(featureName)) {
p->MaybeResolve(true);
} else {
p->MaybeResolve(JS::UndefinedHandleValue);
}
return p.forget();
}

View File

@@ -5,6 +5,7 @@ support-files =
file_bug945152.jar
file_bug945152_worker.js
file_bug1008126_worker.js
mozbrowser_api_utils.js
[test_anonymousContent_xul_window.xul]
[test_bug715041.xul]
@@ -12,6 +13,8 @@ support-files =
[test_domrequesthelper.xul]
[test_navigator_resolve_identity_xrays.xul]
support-files = file_navigator_resolve_identity_xrays.xul
[test_navigator_resolve_identity.html]
support-files = file_navigator_resolve_identity.html
[test_sendQueryContentAndSelectionSetEvent.html]
[test_bug1016960.html]
[test_copypaste.xul]
@@ -23,3 +26,6 @@ skip-if = buildapp == 'mulet'
[test_bug1008126.html]
[test_sandboxed_blob_uri.html]
[test_websocket_frame.html]
[test_getFeature_with_perm.html]
[test_hasFeature.html]
[test_mozbrowser_apis_allowed.html]

View File

@@ -0,0 +1,36 @@
<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=985827
-->
<head>
<meta charset="utf-8">
<title>Test for Bug 985827</title>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
<script type="application/javascript">
function test() {
var is = parent.is;
// Test WebIDL NavigatorProperty objects
var x = navigator.mozContacts;
is(typeof x, "object", "Should have a mozContacts object");
delete navigator.mozContacts;
var y = navigator.mozContacts;
is(x, y, "Should have gotten the same mozContacts object again");
}
test();
</script>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=985827">Mozilla Bug 985827</a>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">
</pre>
</body>
</html>

View File

@@ -677,14 +677,11 @@ skip-if = (toolkit == 'android') || e10s # Android: Bug 775227, e10s: Bug 122647
skip-if = e10s || os != 'linux' || buildapp != 'browser' # Already tests multiprocess
[test_getAttribute_after_createAttribute.html]
[test_getElementById.html]
[test_getFeature_with_perm.html]
[test_getFeature_without_perm.html]
[test_getTranslationNodes.html]
[test_getTranslationNodes_limit.html]
[test_gsp-qualified.html]
[test_gsp-quirks.html]
[test_gsp-standards.html]
[test_hasFeature.html]
[test_history_document_open.html]
[test_history_state_null.html]
[test_html_colors_quirks.html]
@@ -719,7 +716,6 @@ skip-if = (os != 'b2g' && os != 'android') # meta-viewport tag support is mob
skip-if = (os != 'b2g' && os != 'android') # meta-viewport tag support is mobile-only
[test_meta_viewport7.html]
skip-if = (os != 'b2g' && os != 'android') # meta-viewport tag support is mobile-only
[test_mozbrowser_apis_allowed.html]
[test_mozbrowser_apis_blocked.html]
[test_mozfiledataurl.html]
skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT
@@ -729,7 +725,6 @@ skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' #TIME
skip-if = buildapp == 'b2g' # b2g(bug 901385, showmodaldialog) b2g-debug(bug 901385, showmodaldialog) b2g-desktop(bug 901385, showmodaldialog)
[test_named_frames.html]
[test_navigator_hardwareConcurrency.html]
[test_navigator_resolve_identity.html]
[test_navigator_language.html]
[test_navigatorPrefOverride.html]
[test_noAudioNotification.html]

View File

@@ -20,12 +20,12 @@ const METHODS = {
getCanGoBack: {},
getCanGoForward: {},
getContentDimensions: {},
setInputMethodActive: { alwaysFails: true }, // needs input-manage
setNFCFocus: { alwaysFails: true }, // needs nfc-manager
setInputMethodActive: {},
setNFCFocus: {},
findAll: {},
findNext: {},
clearMatch: {},
executeScript: { alwaysFails: true }, // needs browser:universalxss
executeScript: {},
getWebManifest: {},
mute: {},
unmute: {},
@@ -39,7 +39,7 @@ const ATTRIBUTES = [
];
function once(target, eventName, useCapture = false) {
info("Waiting for event: '" + eventName + "' on " + target + ".");
info("Waiting for event: '" + JSON.stringify(eventName) + "' on " + target + ".");
return new Promise(resolve => {
for (let [add, remove] of [
@@ -47,11 +47,13 @@ function once(target, eventName, useCapture = false) {
["addMessageListener", "removeMessageListener"],
]) {
if ((add in target) && (remove in target)) {
target[add](eventName, function onEvent(...aArgs) {
info("Got event: '" + eventName + "' on " + target + ".");
target[remove](eventName, onEvent, useCapture);
eventName.forEach(evName => {
target[add](evName, function onEvent(...aArgs) {
info("Got event: '" + evName + "' on " + target + ".");
target[remove](evName, onEvent, useCapture);
resolve(aArgs);
}, useCapture);
});
break;
}
}
@@ -64,7 +66,7 @@ function* loadFrame(attributes = {}) {
for (let key in attributes) {
iframe.setAttribute(key, attributes[key]);
}
let loaded = once(iframe, "load");
let loaded = once(iframe, [ "load", "mozbrowserloadend" ]);
document.body.appendChild(iframe);
yield loaded;
return iframe;

View File

@@ -6,8 +6,8 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=979109
<head>
<meta charset="utf-8">
<title>Test for Bug 979109</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=983502">Mozilla Bug 983502</a>
@@ -114,9 +114,6 @@ function runNextTest() {
info("About to run " + tests.length + " tests");
SpecialPowers.pushPermissions([
{type: "feature-detection", allow: 1, context: document}
], function() {
ok('getFeature' in navigator, "navigator.getFeature should exist");
ok('hasFeature' in navigator, "navigator.hasFeature should exist");
// B2G specific manifest features.
@@ -130,7 +127,6 @@ SpecialPowers.pushPermissions([
}
runNextTest();
ok(true, "Test DONE");
});
SimpleTest.waitForExplicitFinish();

View File

@@ -1,21 +0,0 @@
<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=979109
-->
<head>
<meta charset="utf-8">
<title>Test for Bug 979109</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=983502">Mozilla Bug 983502</a>
<script type="application/javascript">
is("getFeature" in navigator, false, "getFeature should not exist without permission");
</script>
</body>
</html>

View File

@@ -6,8 +6,8 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1009645
<head>
<meta charset="utf-8">
<title>Test for Bug 1009645</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1009645">Mozilla Bug 1009645</a>
@@ -27,9 +27,9 @@ function testAPIs() {
var APIEndPoints = [
{ name: "MozMobileNetworkInfo", enabled: pref("dom.mobileconnection.enabled") },
// { name: "Navigator.mozBluetooth", enabled: b2gOnly }, // conditional on MOZ_B2G_BT, tricky to test
{ name: "Navigator.mozContacts", enabled: pref("dom.mozContacts.enabled") },
// Bug 1266035 { name: "Navigator.mozContacts", enabled: pref("dom.mozContacts.enabled") },
{ name: "Navigator.getDeviceStorage", enabled: pref("device.storage.enabled") },
{ name: "Navigator.addIdleObserver", enabled: true },
// Bug 1266035 { name: "Navigator.addIdleObserver", enabled: true },
{ name: "Navigator.mozNetworkStats", enabled: pref("dom.mozNetworkStats.enabled") },
{ name: "Navigator.push", enabled: pref("services.push.enabled") },
// { name: "Navigator.mozTime", enabled: b2gOnly }, // conditional on MOZ_TIME_MANAGER, tricky to test

View File

@@ -2,10 +2,10 @@
<html>
<head>
<title>Verify mozbrowser APIs are allowed with browser permission</title>
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="text/javascript" src="/tests/SimpleTest/SpawnTask.js"></script>
<script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SpawnTask.js"></script>
<script type="text/javascript" src="mozbrowser_api_utils.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" />
</head>
<body>
@@ -18,18 +18,12 @@
});
});
add_task(function*() {
yield new Promise(resolve => {
SpecialPowers.pushPermissions([
{ "type": "browser", "allow": 1, "context": document }
], resolve);
});
});
add_task(function*() {
// Create <iframe mozbrowser>
let frame = yield loadFrame({
mozbrowser: "true"
mozbrowser: "true",
// FIXME: Bug 1270790
remote: true
});
// Verify that mozbrowser APIs are accessible

View File

@@ -6,32 +6,18 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=985827
<head>
<meta charset="utf-8">
<title>Test for Bug 985827</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
<script type="application/javascript">
/** Test for Bug 985827 **/
function test() {
var is = parent.is;
// Test WebIDL NavigatorProperty objects
var x = navigator.mozContacts;
is(typeof x, "object", "Should have a mozContacts object");
delete navigator.mozContacts;
var y = navigator.mozContacts;
is(x, y, "Should have gotten the same mozContacts object again");
}
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPermissions([
{type: "contacts-read", allow: true, context: document},
{type: "contacts-write", allow: true, context: document},
{type: "contacts-create", allow: true, context: document},
], function() {
addEventListener('load', function() {
var iframe = document.createElement("iframe");
iframe.src = "data:text/html,<script>(" + escape(test.toString()) + ")();</scr" + "ipt>";
var dir = "chrome://mochitests/content/chrome/dom/base/test/";
iframe.src = dir + "file_navigator_resolve_identity.html";
document.body.appendChild(iframe);
iframe.onload = function() { SimpleTest.finish(); };
});

View File

@@ -28,27 +28,11 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=985827
addLoadEvent(function() {
var iframe = document.getElementById("t");
Services.perms.addFromPrincipal(iframe.contentDocument.nodePrincipal,
"contacts-read",
Services.perms.ALLOW_ACTION);
Services.perms.addFromPrincipal(iframe.contentDocument.nodePrincipal,
"contacts-write",
Services.perms.ALLOW_ACTION);
Services.perms.addFromPrincipal(iframe.contentDocument.nodePrincipal,
"contacts-create",
Services.perms.ALLOW_ACTION);
var dir = "chrome://mochitests/content/chrome/dom/base/test/";
iframe.src = dir + "file_navigator_resolve_identity_xrays.xul";
iframe.onload = function() { finish(); };
function finish() {
Services.perms.removeFromPrincipal(document.nodePrincipal,
"contacts-read");
Services.perms.removeFromPrincipal(document.nodePrincipal,
"contacts-write");
Services.perms.removeFromPrincipal(document.nodePrincipal,
"contacts-create");
SimpleTest.finish();
}
});

View File

@@ -2502,32 +2502,6 @@ ConvertJSValueToByteString(JSContext* cx, JS::Handle<JS::Value> v,
return true;
}
bool
IsInPrivilegedApp(JSContext* aCx, JSObject* aObj)
{
if (!NS_IsMainThread()) {
return GetWorkerPrivateFromContext(aCx)->IsInPrivilegedApp();
}
nsIPrincipal* principal = nsContentUtils::ObjectPrincipal(aObj);
uint16_t appStatus = principal->GetAppStatus();
return (appStatus == nsIPrincipal::APP_STATUS_CERTIFIED ||
appStatus == nsIPrincipal::APP_STATUS_PRIVILEGED) ||
Preferences::GetBool("dom.ignore_webidl_scope_checks", false);
}
bool
IsInCertifiedApp(JSContext* aCx, JSObject* aObj)
{
if (!NS_IsMainThread()) {
return GetWorkerPrivateFromContext(aCx)->IsInCertifiedApp();
}
nsIPrincipal* principal = nsContentUtils::ObjectPrincipal(aObj);
return principal->GetAppStatus() == nsIPrincipal::APP_STATUS_CERTIFIED ||
Preferences::GetBool("dom.ignore_webidl_scope_checks", false);
}
void
FinalizeGlobal(JSFreeOp* aFreeOp, JSObject* aObj)
{
@@ -2562,50 +2536,6 @@ EnumerateGlobal(JSContext* aCx, JS::Handle<JSObject*> aObj)
return JS_EnumerateStandardClasses(aCx, aObj);
}
bool
CheckAnyPermissions(JSContext* aCx, JSObject* aObj, const char* const aPermissions[])
{
JS::Rooted<JSObject*> rootedObj(aCx, aObj);
nsPIDOMWindowInner* window = xpc::WindowGlobalOrNull(rootedObj)->AsInner();
if (!window) {
return false;
}
nsCOMPtr<nsIPermissionManager> permMgr = services::GetPermissionManager();
NS_ENSURE_TRUE(permMgr, false);
do {
uint32_t permission = nsIPermissionManager::DENY_ACTION;
permMgr->TestPermissionFromWindow(window, *aPermissions, &permission);
if (permission == nsIPermissionManager::ALLOW_ACTION) {
return true;
}
} while (*(++aPermissions));
return false;
}
bool
CheckAllPermissions(JSContext* aCx, JSObject* aObj, const char* const aPermissions[])
{
JS::Rooted<JSObject*> rootedObj(aCx, aObj);
nsPIDOMWindowInner* window = xpc::WindowGlobalOrNull(rootedObj)->AsInner();
if (!window) {
return false;
}
nsCOMPtr<nsIPermissionManager> permMgr = services::GetPermissionManager();
NS_ENSURE_TRUE(permMgr, false);
do {
uint32_t permission = nsIPermissionManager::DENY_ACTION;
permMgr->TestPermissionFromWindow(window, *aPermissions, &permission);
if (permission != nsIPermissionManager::ALLOW_ACTION) {
return false;
}
} while (*(++aPermissions));
return true;
}
bool
IsNonExposedGlobal(JSContext* aCx, JSObject* aGlobal,
uint32_t aNonExposedGlobals)

View File

@@ -2992,20 +2992,6 @@ public:
}
};
/*
* Helper function for testing whether the given object comes from a
* privileged app.
*/
bool
IsInPrivilegedApp(JSContext* aCx, JSObject* aObj);
/*
* Helper function for testing whether the given object comes from a
* certified app.
*/
bool
IsInCertifiedApp(JSContext* aCx, JSObject* aObj);
void
FinalizeGlobal(JSFreeOp* aFop, JSObject* aObj);

View File

@@ -1869,18 +1869,6 @@ def isChromeOnly(m):
return m.getExtendedAttribute("ChromeOnly")
def getAvailableInTestFunc(obj):
availableIn = obj.getExtendedAttribute("AvailableIn")
if availableIn is None:
return None
assert isinstance(availableIn, list) and len(availableIn) == 1
if availableIn[0] == "PrivilegedApps":
return "IsInPrivilegedApp"
if availableIn[0] == "CertifiedApps":
return "IsInCertifiedApp"
raise TypeError("Unknown AvailableIn value '%s'" % availableIn[0])
class MemberCondition:
"""
An object representing the condition for a member to actually be
@@ -1890,21 +1878,14 @@ class MemberCondition:
pref: The name of the preference.
func: The name of the function.
secureContext: A bool indicating whether a secure context is required.
available: A string indicating where we should be available.
checkAnyPermissions: An integer index for the anypermissions_* to use.
checkAllPermissions: An integer index for the allpermissions_* to use.
nonExposedGlobals: A set of names of globals. Can be empty, in which case
it's treated the same way as None.
"""
def __init__(self, pref=None, func=None, secureContext=False, available=None,
checkAnyPermissions=None, checkAllPermissions=None,
def __init__(self, pref=None, func=None, secureContext=False,
nonExposedGlobals=None):
assert pref is None or isinstance(pref, str)
assert func is None or isinstance(func, str)
assert isinstance(secureContext, bool)
assert available is None or isinstance(available, str)
assert checkAnyPermissions is None or isinstance(checkAnyPermissions, int)
assert checkAllPermissions is None or isinstance(checkAllPermissions, int)
assert nonExposedGlobals is None or isinstance(nonExposedGlobals, set)
self.pref = pref
self.secureContext = secureContext
@@ -1914,15 +1895,6 @@ class MemberCondition:
return "nullptr"
return "&" + val
self.func = toFuncPtr(func)
self.available = toFuncPtr(available)
if checkAnyPermissions is None:
self.checkAnyPermissions = "nullptr"
else:
self.checkAnyPermissions = "anypermissions_%i" % checkAnyPermissions
if checkAllPermissions is None:
self.checkAllPermissions = "nullptr"
else:
self.checkAllPermissions = "allpermissions_%i" % checkAllPermissions
if nonExposedGlobals:
# Nonempty set
@@ -1935,9 +1907,6 @@ class MemberCondition:
def __eq__(self, other):
return (self.pref == other.pref and self.func == other.func and
self.secureContext == other.secureContext and
self.available == other.available and
self.checkAnyPermissions == other.checkAnyPermissions and
self.checkAllPermissions == other.checkAllPermissions and
self.nonExposedGlobals == other.nonExposedGlobals)
def __ne__(self, other):
@@ -1947,9 +1916,6 @@ class MemberCondition:
return (self.pref is not None or
self.secureContext or
self.func != "nullptr" or
self.available != "nullptr" or
self.checkAnyPermissions != "nullptr" or
self.checkAllPermissions != "nullptr" or
self.nonExposedGlobals != "0")
@@ -2019,9 +1985,6 @@ class PropertyDefiner:
PropertyDefiner.getStringAttr(interfaceMember,
"Func"),
interfaceMember.getExtendedAttribute("SecureContext") is not None,
getAvailableInTestFunc(interfaceMember),
descriptor.checkAnyPermissionsIndicesForMembers.get(interfaceMember.identifier.name),
descriptor.checkAllPermissionsIndicesForMembers.get(interfaceMember.identifier.name),
nonExposureSet)
def generatePrefableArray(self, array, name, specFormatter, specTerminator,
@@ -2065,7 +2028,7 @@ class PropertyDefiner:
disablersTemplate = dedent(
"""
static PrefableDisablers %s_disablers%d = {
true, %s, %s, %s, %s, %s, %s
true, %s, %s, %s
};
""")
prefableWithDisablersTemplate = ' { &%s_disablers%d, &%s_specs[%d] }'
@@ -2087,10 +2050,7 @@ class PropertyDefiner:
(name, len(specs),
toStringBool(condition.secureContext),
condition.nonExposedGlobals,
condition.func,
condition.available,
condition.checkAnyPermissions,
condition.checkAllPermissions))
condition.func))
else:
prefableSpecs.append(prefableWithoutDisablersTemplate %
(name, len(specs)))
@@ -3334,15 +3294,6 @@ class CGConstructorEnabled(CGAbstractMethod):
body.append(exposedInWorkerCheck)
conditions = getConditionList(iface, "aCx", "aObj")
availableIn = getAvailableInTestFunc(iface)
if availableIn:
conditions.append(CGGeneric("%s(aCx, aObj)" % availableIn))
checkAnyPermissions = self.descriptor.checkAnyPermissionsIndex
if checkAnyPermissions is not None:
conditions.append(CGGeneric("CheckAnyPermissions(aCx, aObj, anypermissions_%i)" % checkAnyPermissions))
checkAllPermissions = self.descriptor.checkAllPermissionsIndex
if checkAllPermissions is not None:
conditions.append(CGGeneric("CheckAllPermissions(aCx, aObj, allpermissions_%i)" % checkAllPermissions))
# We should really have some conditions
assert len(body) or len(conditions)
@@ -12013,17 +11964,6 @@ class CGDescriptor(CGThing):
if descriptor.concrete and descriptor.wrapperCache:
cgThings.append(CGClassObjectMovedHook(descriptor))
for name in ["anypermissions", "allpermissions"]:
permissions = getattr(descriptor, name)
if len(permissions):
for (k, v) in sorted(permissions.items()):
perms = CGList((CGGeneric('"%s",' % p) for p in k), joiner="\n")
perms.append(CGGeneric("nullptr"))
cgThings.append(CGWrapper(CGIndenter(perms),
pre="static const char* const %s_%i[] = {\n" % (name, v),
post="\n};\n",
defineOnly=True))
# Generate the _ClearCachedFooValue methods before the property arrays that use them.
if descriptor.interface.isJSImplemented():
for m in clearableCachedAttrs(descriptor):
@@ -16409,40 +16349,6 @@ class GlobalGenRoots():
# Done.
return curr
@staticmethod
def FeatureList(config):
things = set()
for d in config.getDescriptors():
if not d.interface.isExternal() and d.featureDetectibleThings is not None:
things.update(d.featureDetectibleThings)
things = CGList((CGGeneric(declare='"%s",' % t) for t in sorted(things)), joiner="\n")
things.append(CGGeneric(declare="nullptr"))
things = CGWrapper(CGIndenter(things),
pre="static const char* const FeatureList[] = {\n",
post="\n};\n")
helper_pre = "bool IsFeatureDetectible(const nsAString& aFeature) {\n"
helper = CGWrapper(CGIndenter(things),
pre=helper_pre,
post=dedent("""
const char* const* feature = FeatureList;
while (*feature) {
if (aFeature.EqualsASCII(*feature)) {
return true;
}
++feature;
}
return false;
}
"""))
curr = CGNamespace.build(['mozilla', 'dom'], helper)
curr = CGHeaders([], [], [], [], ["nsString.h"], [], 'FeatureList', curr)
curr = CGIncludeGuard('FeatureList', curr)
return curr
# Code generator for simple events
class CGEventGetter(CGNativeMember):

View File

@@ -508,64 +508,11 @@ class Descriptor(DescriptorProvider):
self._binaryNames.setdefault('__stringifier', 'Stringify')
if not self.interface.isExternal():
self.anypermissions = dict()
self.allpermissions = dict()
# Adds a permission list to this descriptor and returns the index to use.
def addPermissions(ifaceOrMember, attribute):
if attribute == "CheckAllPermissions":
permissions = self.allpermissions
else:
permissions = self.anypermissions
checkPermissions = ifaceOrMember.getExtendedAttribute(attribute)
if checkPermissions is None:
return None
# It's a list of whitespace-separated strings
assert(len(checkPermissions) is 1)
assert(checkPermissions[0] is not None)
checkPermissions = checkPermissions[0]
permissionsList = checkPermissions.split()
if len(permissionsList) == 0:
raise TypeError("Need at least one permission name for %s" % attribute)
permissionsList = tuple(sorted(set(permissionsList)))
return permissions.setdefault(permissionsList, len(permissions))
self.checkAnyPermissionsIndex = addPermissions(self.interface, "CheckAnyPermissions")
self.checkAnyPermissionsIndicesForMembers = dict()
self.checkAllPermissionsIndex = addPermissions(self.interface, "CheckAllPermissions")
self.checkAllPermissionsIndicesForMembers = dict()
for m in self.interface.members:
permissionsIndex = addPermissions(m, "CheckAnyPermissions")
if permissionsIndex is not None:
self.checkAnyPermissionsIndicesForMembers[m.identifier.name] = permissionsIndex
allpermissionsIndex = addPermissions(m, "CheckAllPermissions")
if allpermissionsIndex is not None:
self.checkAllPermissionsIndicesForMembers[m.identifier.name] = allpermissionsIndex
def isTestInterface(iface):
return (iface.identifier.name in ["TestInterface",
"TestJSImplInterface",
"TestRenamedInterface"])
self.featureDetectibleThings = set()
if not isTestInterface(self.interface):
if (self.interface.getExtendedAttribute("CheckAnyPermissions") or
self.interface.getExtendedAttribute("CheckAllPermissions") or
self.interface.getExtendedAttribute("AvailableIn") == "PrivilegedApps"):
iface = self.interface.identifier.name
self.featureDetectibleThings.add(iface)
for m in self.interface.members:
self.featureDetectibleThings.add("%s.%s" % (iface, m.identifier.name))
for m in self.interface.members:
if (m.getExtendedAttribute("CheckAnyPermissions") or
m.getExtendedAttribute("CheckAllPermissions") or
m.getExtendedAttribute("AvailableIn") == "PrivilegedApps"):
self.featureDetectibleThings.add("%s.%s" % (self.interface.identifier.name, m.identifier.name))
for member in self.interface.members:
if not member.isAttr() and not member.isMethod():
continue

View File

@@ -74,18 +74,6 @@ typedef bool
JS::Handle<JSObject*> obj,
JS::AutoIdVector& props);
// Returns true if aObj's global has any of the permissions named in
// aPermissions set to nsIPermissionManager::ALLOW_ACTION. aPermissions must be
// null-terminated.
bool
CheckAnyPermissions(JSContext* aCx, JSObject* aObj, const char* const aPermissions[]);
// Returns true if aObj's global has all of the permissions named in
// aPermissions set to nsIPermissionManager::ALLOW_ACTION. aPermissions must be
// null-terminated.
bool
CheckAllPermissions(JSContext* aCx, JSObject* aObj, const char* const aPermissions[]);
// Returns true if the given global is of a type whose bit is set in
// aNonExposedGlobals.
bool
@@ -138,20 +126,6 @@ struct PrefableDisablers {
!enabledFunc(cx, js::GetGlobalForObjectCrossCompartment(obj))) {
return false;
}
if (availableFunc &&
!availableFunc(cx, js::GetGlobalForObjectCrossCompartment(obj))) {
return false;
}
if (checkAnyPermissions &&
!CheckAnyPermissions(cx, js::GetGlobalForObjectCrossCompartment(obj),
checkAnyPermissions)) {
return false;
}
if (checkAllPermissions &&
!CheckAllPermissions(cx, js::GetGlobalForObjectCrossCompartment(obj),
checkAllPermissions)) {
return false;
}
return true;
}
@@ -167,16 +141,8 @@ struct PrefableDisablers {
// A function pointer to a function that can say the property is disabled
// even if "enabled" is set to true. If the pointer is null the value of
// "enabled" is used as-is unless availableFunc overrides.
// "enabled" is used as-is.
const PropertyEnabled enabledFunc;
// A function pointer to a function that can be used to disable a
// property even if "enabled" is true and enabledFunc allowed. This
// is basically a hack to avoid having to codegen PropertyEnabled
// implementations in case when we need to do two separate checks.
const PropertyEnabled availableFunc;
const char* const* const checkAnyPermissions;
const char* const* const checkAllPermissions;
};
template<typename T>

View File

@@ -127,7 +127,6 @@ class WebIDLCodegenManager(LoggingMixin):
# Global parser derived declaration files.
GLOBAL_DECLARE_FILES = {
'FeatureList.h',
'GeneratedAtomList.h',
'GeneratedEventList.h',
'PrototypeList.h',

View File

@@ -1261,10 +1261,7 @@ class IDLInterfaceOrNamespace(IDLObjectWithScope, IDLExposureMixins):
member.getExtendedAttribute("ChromeOnly") or
member.getExtendedAttribute("Pref") or
member.getExtendedAttribute("Func") or
member.getExtendedAttribute("SecureContext") or
member.getExtendedAttribute("AvailableIn") or
member.getExtendedAttribute("CheckAnyPermissions") or
member.getExtendedAttribute("CheckAllPermissions")):
member.getExtendedAttribute("SecureContext")):
raise WebIDLError("[Alias] must not be used on a "
"conditionally exposed operation",
[member.location])
@@ -1296,14 +1293,6 @@ class IDLInterfaceOrNamespace(IDLObjectWithScope, IDLExposureMixins):
self.parentScope.primaryGlobalName,
[self.location])
for attribute in ["CheckAnyPermissions", "CheckAllPermissions"]:
if (self.getExtendedAttribute(attribute) and
self._exposureGlobalNames != set([self.parentScope.primaryGlobalName])):
raise WebIDLError("[%s] used on an interface that is "
"not %s-only" %
(attribute, self.parentScope.primaryGlobalName),
[self.location])
# Conditional exposure makes no sense for interfaces with no
# interface object, unless they're navigator properties.
if (self.isExposedConditionally() and
@@ -1720,10 +1709,7 @@ class IDLInterface(IDLInterfaceOrNamespace):
identifier == "JSImplementation" or
identifier == "HeaderFile" or
identifier == "NavigatorProperty" or
identifier == "AvailableIn" or
identifier == "Func" or
identifier == "CheckAnyPermissions" or
identifier == "CheckAllPermissions" or
identifier == "Deprecated"):
# Known extended attributes that take a string value
if not attr.hasValue():
@@ -3550,14 +3536,6 @@ class IDLInterfaceMember(IDLObjectWithIdentifier, IDLExposureMixins):
"%s-only" % self._globalScope.primaryGlobalName,
[self.location])
for attribute in ["CheckAnyPermissions", "CheckAllPermissions"]:
if (self.getExtendedAttribute(attribute) and
self.exposureSet != set([self._globalScope.primaryGlobalName])):
raise WebIDLError("[%s] used on an interface member that is "
"not %s-only" %
(attribute, self.parentScope.primaryGlobalName),
[self.location])
if self.isAttr() or self.isMethod():
if self.affects == "Everything" and self.dependsOn != "Everything":
raise WebIDLError("Interface member is flagged as affecting "
@@ -3974,10 +3952,7 @@ class IDLConst(IDLInterfaceMember):
elif (identifier == "Pref" or
identifier == "ChromeOnly" or
identifier == "Func" or
identifier == "SecureContext" or
identifier == "AvailableIn" or
identifier == "CheckAnyPermissions" or
identifier == "CheckAllPermissions"):
identifier == "SecureContext"):
# Known attributes that we don't need to do anything with here
pass
else:
@@ -4317,11 +4292,8 @@ class IDLAttribute(IDLInterfaceMember):
identifier == "Func" or
identifier == "SecureContext" or
identifier == "Frozen" or
identifier == "AvailableIn" or
identifier == "NewObject" or
identifier == "UnsafeInPrerendering" or
identifier == "CheckAnyPermissions" or
identifier == "CheckAllPermissions" or
identifier == "BinaryName"):
# Known attributes that we don't need to do anything with here
pass
@@ -5043,9 +5015,6 @@ class IDLMethod(IDLInterfaceMember, IDLScope):
identifier == "Deprecated" or
identifier == "Func" or
identifier == "SecureContext" or
identifier == "AvailableIn" or
identifier == "CheckAnyPermissions" or
identifier == "CheckAllPermissions" or
identifier == "BinaryName" or
identifier == "StaticClassOverride"):
# Known attributes that we don't need to do anything with here

View File

@@ -11,7 +11,7 @@ typedef CustomEventInit TestDictionaryTypedef;
interface TestExternalInterface;
[AvailableIn=PrivilegedApps, Pref="xyz"]
[Pref="xyz"]
interface TestRenamedInterface {
};
@@ -135,7 +135,6 @@ interface OnlyForUseInConstructor {
Constructor(ArrayBuffer arrayBuf),
Constructor(Uint8Array typedArr),
// Constructor(long arg1, long arg2, (TestInterface or OnlyForUseInConstructor) arg3),
AvailableIn=CertifiedApps,
NamedConstructor=Test,
NamedConstructor=Test(DOMString str),
NamedConstructor=Test2(DictForConstructor dict, any any1, object obj1,
@@ -887,14 +886,6 @@ interface TestInterface {
void prefable19();
[Pref="abc.def", Func="TestFuncControlledMember", ChromeOnly]
void prefable20();
[Func="TestFuncControlledMember", AvailableIn=CertifiedApps]
void prefable21();
[Func="TestFuncControlledMember", AvailableIn=CertifiedApps]
void prefable22();
[Pref="abc.def", Func="TestFuncControlledMember", AvailableIn=CertifiedApps]
void prefable23();
[Pref="abc.def", Func="TestFuncControlledMember", AvailableIn=PrivilegedApps]
void prefable24();
// Conditionally exposed methods/attributes involving [SecureContext]
[SecureContext]

View File

@@ -733,14 +733,6 @@ interface TestJSImplInterface {
void prefable19();
[Pref="abc.def", Func="TestFuncControlledMember", ChromeOnly]
void prefable20();
[Func="TestFuncControlledMember", AvailableIn=CertifiedApps]
void prefable21();
[Func="TestFuncControlledMember", AvailableIn=CertifiedApps]
void prefable22();
[Pref="abc.def", Func="TestFuncControlledMember", AvailableIn=CertifiedApps]
void prefable23();
[Pref="abc.def", Func="TestFuncControlledMember", AvailableIn=PrivilegedApps]
void prefable24();
// Conditionally exposed methods/attributes involving [SecureContext]
[SecureContext]

View File

@@ -1,13 +1,15 @@
[DEFAULT]
skip-if = buildapp == 'b2g'
support-files =
file_bug707564.html
file_bug707564-2.html
!/dom/bindings/test/file_bug707564.html
!/dom/bindings/test/file_bug775543.html
!/dom/bindings/test/file_document_location_set_via_xray.html
!/dom/bindings/test/file_dom_xrays.html
!/dom/bindings/test/file_proxies_via_xray.html
[test_bug707564-chrome.html]
[test_bug707564.html]
[test_bug775543.html]
[test_document_location_set_via_xray.html]
[test_dom_xrays.html]

View File

@@ -6,8 +6,8 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=707564
<head>
<meta charset="utf-8">
<title>Test for Bug 707564</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
<script type="application/javascript">
/** Test for Bug 707564 **/

View File

@@ -1,8 +1,6 @@
[DEFAULT]
support-files =
file_InstanceOf.html
file_bug707564.html
file_bug707564-2.html
file_bug775543.html
file_document_location_set_via_xray.html
file_dom_xrays.html
@@ -14,7 +12,6 @@ support-files =
[test_ByteString.html]
[test_InstanceOf.html]
[test_bug560072.html]
[test_bug707564.html]
[test_bug742191.html]
[test_bug759621.html]
[test_bug773326.html]

View File

@@ -1,66 +0,0 @@
<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=707564
-->
<head>
<meta charset="utf-8">
<title>Test for Bug 707564</title>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=707564">Mozilla Bug 707564</a>
<p id="display"></p>
<div id="content" style="display: none">
<iframe id="t1" src="http://example.org/tests/dom/bindings/test/file_bug707564.html"></iframe>
<iframe id="t2"></iframe>
</div>
<pre id="test">
<script type="application/javascript">
/** Test for Bug 775543 **/
function test()
{
var nav = document.getElementById("t1").contentWindow.navigator;
is(nav.foopy, undefined, "We should have an Xray now");
is(nav.wrappedJSObject.foopy, 5, "We should have the right navigator object");
var props = Object.getOwnPropertyNames(Object.getPrototypeOf(nav));
isnot(props.indexOf("mozContacts"), -1,
"Should enumerate a mozContacts property on navigator xray");
var nav = document.getElementById("t2").contentWindow.navigator;
is(nav.foopy, undefined, "We should have an Xray now again");
is(nav.wrappedJSObject.foopy, 5, "We should have the right navigator object again");
var found = false;
for (var name in nav) {
if (name == "mozContacts") {
found = true;
}
}
ok(found, "Should enumerate a mozContacts property on navigator xray via for...in");
SimpleTest.finish();
}
onload = test;
onload = function() {
var iframe1 = document.getElementById("t1");
SpecialPowers.pushPermissions([
{type: "contacts-read", allow: true, context: iframe1.contentDocument},
{type: "contacts-write", allow: true, context: iframe1.contentDocument},
{type: "contacts-create", allow: true, context: iframe1.contentDocument},
], function() {
iframe1.src = "http://example.org/tests/dom/bindings/test/file_bug707564.html";
iframe1.onload = function() {
var iframe2 = document.getElementById("t2");
iframe2.src = "http://example.org/tests/dom/bindings/test/file_bug707564.html";
iframe2.onload = test;
};
});
};
</script>
</pre>
</body>
</html>

View File

@@ -1,8 +1,8 @@
<!DOCTYPE HTML>
<html>
<head>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<iframe></iframe>
@@ -15,13 +15,8 @@ function run_tests() {
}
SimpleTest.waitForExplicitFinish();
onload = function() {
SpecialPowers.pushPermissions([
{type: "contacts-read", allow: true, context: document},
{type: "contacts-write", allow: true, context: document},
{type: "contacts-create", allow: true, context: document},
], run_tests);
};
addEventListener('load', run_tests);
</script>
</pre>

View File

@@ -109,6 +109,7 @@ const browserElementTestHelpers = {
// Some basically-empty pages from different domains you can load.
'emptyPage1': 'http://example.com' + _getPath() + '/file_empty.html',
'fileEmptyPage1': 'file_empty.html',
'emptyPage2': 'http://example.org' + _getPath() + '/file_empty.html',
'emptyPage3': 'http://test1.example.org' + _getPath() + '/file_empty.html',
'focusPage': 'http://example.org' + _getPath() + '/file_focus.html',

View File

@@ -2,9 +2,8 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
var fileURL = 'http://example.org/tests/dom/browser-element/mochitest/file_browserElement_ActiveStateChange.html';
var fileURL = 'chrome://mochitests/content/chrome/dom/browser-element/mochitest/file_browserElement_ActiveStateChange.html';
var generator = runTests();
var testFrame;
var ac;
@@ -78,7 +77,7 @@ function setupTestFrame() {
testFrame.removeEventListener('mozbrowserloadend', loadend);
ok("allowedAudioChannels" in testFrame, "allowedAudioChannels exist");
var channels = testFrame.allowedAudioChannels;
is(channels.length, 1, "1 audio channel by default");
is(channels.length, 9, "9 audio channel by default");
ac = channels[0];

View File

@@ -7,13 +7,12 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
function noaudio() {
info("Test : no-audio");
var iframe = document.createElement('iframe');
iframe.setAttribute('mozbrowser', 'true');
iframe.src = 'http://example.org/tests/dom/browser-element/mochitest/file_empty.html';
iframe.src = 'chrome://mochitests/content/chrome/dom/browser-element/mochitest/file_empty.html';
function noaudio_loadend() {
ok("mute" in iframe, "iframe.mute exists");
@@ -24,7 +23,7 @@ function noaudio() {
ok("allowedAudioChannels" in iframe, "allowedAudioChannels exist");
var channels = iframe.allowedAudioChannels;
is(channels.length, 1, "1 audio channel by default");
is(channels.length, 9, "9 audio channel by default");
var ac = channels[0];
@@ -146,7 +145,7 @@ function audio() {
info("Test : audio");
var iframe = document.createElement('iframe');
iframe.setAttribute('mozbrowser', 'true');
iframe.src = 'http://example.org/tests/dom/browser-element/mochitest/iframe_file_audio.html';
iframe.src = 'chrome://mochitests/content/chrome/dom/browser-element/mochitest/iframe_file_audio.html';
function audio_loadend() {
ok("mute" in iframe, "iframe.mute exists");
@@ -157,7 +156,7 @@ function audio() {
ok("allowedAudioChannels" in iframe, "allowedAudioChannels exist");
var channels = iframe.allowedAudioChannels;
is(channels.length, 1, "1 audio channel by default");
is(channels.length, 9, "9 audio channel by default");
var ac = channels[0];

View File

@@ -2,9 +2,8 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
var fileURL = 'http://example.org/tests/dom/browser-element/mochitest/file_browserElement_AudioChannelMutedByDefault.html';
var fileURL = 'chrome://mochitests/content/chrome/dom/browser-element/mochitest/file_browserElement_AudioChannelMutedByDefault.html';
var testFrame;
var ac;
@@ -78,7 +77,7 @@ function setupTestFrame() {
testFrame.removeEventListener('mozbrowserloadend', loadend);
ok("allowedAudioChannels" in testFrame, "allowedAudioChannels exist");
var channels = testFrame.allowedAudioChannels;
is(channels.length, 1, "1 audio channel by default");
is(channels.length, 9, "9 audio channel by default");
ac = channels[0];
ok(ac instanceof BrowserElementAudioChannel, "Correct class");

View File

@@ -2,9 +2,8 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
var fileURL = 'http://example.org/tests/dom/browser-element/mochitest/file_browserElement_AudioChannelSeeking.html';
var fileURL = 'chrome://mochitests/content/chrome/dom/browser-element/mochitest/file_browserElement_AudioChannelSeeking.html';
var generator = runTests();
var testFrame;
var ac;
@@ -104,7 +103,7 @@ function setupTestFrame() {
testFrame.removeEventListener('mozbrowserloadend', loadend);
ok("allowedAudioChannels" in testFrame, "allowedAudioChannels exist");
var channels = testFrame.allowedAudioChannels;
is(channels.length, 1, "1 audio channel by default");
is(channels.length, 9, "9 audio channel by default");
ac = channels[0];
ok(ac instanceof BrowserElementAudioChannel, "Correct class");

View File

@@ -7,7 +7,6 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
function runTests() {
var iframe = document.createElement('iframe');
@@ -22,6 +21,7 @@ function runTests() {
} else if (/DONE/.exec(message)) {
ok(true, "Messaging from app complete");
iframe.removeEventListener('mozbrowsershowmodalprompt', listener);
SimpleTest.finish();
}
}
@@ -34,7 +34,7 @@ function runTests() {
ok("allowedAudioChannels" in iframe, "allowedAudioChannels exist");
var channels = iframe.allowedAudioChannels;
is(channels.length, 1, "1 audio channel by default");
is(channels.length, 9, "9 audio channel by default");
var ac = channels[0];
@@ -51,7 +51,6 @@ function runTests() {
ac.onactivestatechanged = function() {
ok(true, "activestatechanged event received.");
ac.onactivestatechanged = null;
SimpleTest.finish();
}
}
@@ -59,15 +58,7 @@ function runTests() {
iframe.addEventListener('mozbrowsershowmodalprompt', listener, false);
document.body.appendChild(iframe);
var context = { 'url': 'http://example.org',
'appId': SpecialPowers.Ci.nsIScriptSecurityManager.NO_APP_ID,
'isInIsolatedMozBrowserElement': true };
SpecialPowers.pushPermissions([
{'type': 'browser', 'allow': 1, 'context': context},
{'type': 'embed-apps', 'allow': 1, 'context': context}
], function() {
iframe.src = 'http://example.org/tests/dom/browser-element/mochitest/file_browserElement_AudioChannel_nested.html';
});
iframe.src = 'chrome://mochitests/content/chrome/dom/browser-element/mochitest/file_browserElement_AudioChannel_nested.html';
}
addEventListener('testready', function() {

View File

@@ -8,7 +8,6 @@ const { Services } = SpecialPowers.Cu.import('resource://gre/modules/Services.js
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
/**
* Content script passed to the child iframe
@@ -65,7 +64,7 @@ function runTest() {
});
// Load a simple page to get the process started.
iframe.src = browserElementTestHelpers.emptyPage1;
iframe.src = browserElementTestHelpers.fileEmptyPage1;
}
addEventListener('testready', function() {

View File

@@ -7,7 +7,6 @@
"use strict";
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
var iframe;
function addOneShotIframeEventListener(event, fn) {

View File

@@ -7,7 +7,6 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
var iframe;
var numPendingTests = 0;

View File

@@ -7,7 +7,6 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
function runTest() {
var iframe1 = document.createElement('iframe');

View File

@@ -6,7 +6,6 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
var iframe;

View File

@@ -7,7 +7,6 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
function runTest() {

View File

@@ -6,7 +6,6 @@
"use strict";
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
var resizeContent = function() {
var innerBox = content.document.getElementById('abox');

View File

@@ -6,7 +6,6 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
function runTest() {
var iframe1 = document.createElement('iframe');

View File

@@ -6,7 +6,6 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
function runTest() {
var dppxPref = 'layout.css.devPixelsPerPx';

View File

@@ -6,7 +6,6 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
function runTest() {
var iframe = document.createElement('iframe');

View File

@@ -2,9 +2,8 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
var fileURL = 'http://example.org/tests/dom/browser-element/mochitest/file_browserElement_NoAudioTrack.html';
var fileURL = 'chrome://mochitests/content/chrome/dom/browser-element/mochitest/file_browserElement_NoAudioTrack.html';
var generator = runTests();
var testFrame;
@@ -67,7 +66,7 @@ function setupTestFrame() {
testFrame.removeEventListener('mozbrowserloadend', loadend);
ok("allowedAudioChannels" in testFrame, "allowedAudioChannels exist");
var channels = testFrame.allowedAudioChannels;
is(channels.length, 1, "1 audio channel by default");
is(channels.length, 9, "9 audio channel by default");
var ac = channels[0];
ok(ac instanceof BrowserElementAudioChannel, "Correct class");

View File

@@ -20,7 +20,6 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
function runTest() {
// We're going to open a remote frame if OOP off by default. If OOP is on by

View File

@@ -7,7 +7,6 @@
"use strict";
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
var iframe;
function addOneShotIframeEventListener(event, fn) {
@@ -22,6 +21,8 @@ function addOneShotIframeEventListener(event, fn) {
function runTest() {
iframe = document.createElement('iframe');
iframe.setAttribute('mozbrowser', 'true');
// FIXME: Bug 1270790
iframe.setAttribute('remote', 'true');
addOneShotIframeEventListener('mozbrowserloadend', function() {
SimpleTest.executeSoon(test2);

View File

@@ -8,7 +8,6 @@
SimpleTest.waitForExplicitFinish();
SimpleTest.requestFlakyTimeout("untriaged");
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
var iframe;
var gotConfirmRepost = false;

View File

@@ -6,7 +6,6 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
function runTest() {
var iframe = document.createElement("iframe");
@@ -79,21 +78,7 @@ function runTest() {
}
});
iframe.src = "data:text/html,<html><body>" +
"<button>send[Mouse|Touch]Event</button>" +
"</body><script>" +
"function changeHash(e) {" +
" document.location.hash = e.type;" +
"};" +
"window.addEventListener('mousedown', changeHash);" +
"window.addEventListener('mousemove', changeHash);" +
"window.addEventListener('mouseup', changeHash);" +
"window.addEventListener('click', changeHash, true);" +
"window.addEventListener('touchstart', changeHash);" +
"window.addEventListener('touchmove', changeHash);" +
"window.addEventListener('touchend', changeHash);" +
"window.addEventListener('touchcancel', changeHash);" +
"</script></html>";
iframe.src = "file_browserElement_SendEvent.html";
}

View File

@@ -7,7 +7,6 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
// We'll need to get the appId from the current document,
// it's either SpecialPowers.Ci.nsIScriptSecurityManager.NO_APP_ID when
@@ -67,9 +66,7 @@ function createFrames() {
// Create an input field to receive string from input method iframes.
gInputFrame = document.createElement('iframe');
gInputFrame.setAttribute('mozbrowser', 'true');
gInputFrame.src =
'data:text/html,<input autofocus value="hello" />' +
'<p>This is targetted mozbrowser frame.</p>';
gInputFrame.src = 'file_browserElement_SetInputMethodActive.html';
document.body.appendChild(gInputFrame);
gInputFrame.addEventListener('mozbrowserloadend', countLoadend);
@@ -79,9 +76,9 @@ function createFrames() {
if (currentAppManifestURL) {
frame.setAttribute('mozapp', currentAppManifestURL);
}
frame.addEventListener('mozbrowserloadend', countLoadend);
frame.src = 'file_empty.html#' + i;
document.body.appendChild(frame);
frame.addEventListener('mozbrowserloadend', countLoadend);
}
}

View File

@@ -6,7 +6,6 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
function hasSetNFCFocus() {
return new Promise((resolve, reject) => {
@@ -22,9 +21,7 @@ function hasSetNFCFocus() {
}
function runTest() {
SpecialPowers.pushPermissions(
[{ 'type': 'nfc-manager', 'allow': 1, 'context': document }],
() => hasSetNFCFocus().then(SimpleTest.finish));
hasSetNFCFocus().then(SimpleTest.finish);
}
addEventListener('testready', runTest);

View File

@@ -7,7 +7,6 @@
SimpleTest.waitForExplicitFinish();
SimpleTest.requestFlakyTimeout("untriaged");
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
var iframeScript = function() {
content.document.addEventListener("visibilitychange", function() {

View File

@@ -12,18 +12,10 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
var iframe;
function runTest() {
var principal = SpecialPowers.wrap(document).nodePrincipal;
SpecialPowers.addPermission("browser", true, {url: SpecialPowers.wrap(principal.URI).spec,
originAttributes: {
appId: principal.appId,
inIsolatedMozBrowser: true
}});
iframe = document.createElement('iframe');
iframe.setAttribute('mozbrowser', 'true');
@@ -75,13 +67,6 @@ function finish() {
// expected, but if we don't remove our listener, then we'll end up causing
// the /next/ test to fail!
iframe.removeEventListener('mozbrowsershowmodalprompt', checkMessage);
var principal = SpecialPowers.wrap(document).nodePrincipal;
SpecialPowers.removePermission("browser", {url: SpecialPowers.wrap(principal.URI).spec,
originAttributes: {
appId: principal.appId,
inIsolatedMozBrowser: true
}});
SimpleTest.finish();
}

View File

@@ -8,16 +8,8 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
function runTest() {
var principal = SpecialPowers.wrap(document).nodePrincipal;
SpecialPowers.addPermission("browser", true, {url: SpecialPowers.wrap(principal.URI).spec,
originAttributes: {
appId: principal.appId,
inIsolatedMozBrowser: true
}});
var iframe = document.createElement('iframe');
iframe.setAttribute('mozbrowser', 'true');
@@ -57,13 +49,6 @@ function runTest() {
}
function finish() {
var principal = SpecialPowers.wrap(document).nodePrincipal;
SpecialPowers.removePermission("browser", {url: SpecialPowers.wrap(principal.URI).spec,
originAttributes: {
appId: principal.appId,
inIsolatedMozBrowser: true
}});
SimpleTest.finish();
}

View File

@@ -12,7 +12,6 @@
SimpleTest.waitForExplicitFinish();
SimpleTest.requestFlakyTimeout("untriaged");
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
var iframe;
var stopped = false;
@@ -21,7 +20,8 @@ var imgSrc = 'http://test/tests/dom/browser-element/mochitest/file_bug709759.sjs
function runTest() {
iframe = document.createElement('iframe');
iframe.setAttribute('mozbrowser', 'true');
// FIXME: Bug 1270790
iframe.setAttribute('remote', 'true');
iframe.addEventListener('mozbrowserloadend', loadend);
iframe.src = 'data:text/html,<html>' +
'<body><img src="' + imgSrc + '" /></body></html>';

View File

@@ -6,7 +6,6 @@
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
var iframe1 = null;
function runTest() {

View File

@@ -33,23 +33,12 @@ function runTest() {
iframe.setAttribute('mozbrowser', 'true');
iframe.height = '1000px';
var step1, stepfinish;
// The innermost page we load will fire an alert when it successfully loads.
iframe.addEventListener('mozbrowsershowmodalprompt', function(e) {
switch (e.detail.message) {
case 'step 1':
// Make the page wait for us to unblock it (which we do after we finish
// taking the screenshot).
e.preventDefault();
iframe.getScreenshot(1000, 1000).onsuccess = function(sshot) {
var fr = new FileReader();
fr.onloadend = function() {
if (initialScreenshotArrayBuffer == null)
initialScreenshotArrayBuffer = fr.result;
e.detail.unblock();
};
fr.readAsArrayBuffer(sshot.target.result);
};
step1 = SpecialPowers.snapshotWindow(iframe.contentWindow);
break;
case 'step 2':
ok(false, 'cross origin page loaded');
@@ -57,16 +46,9 @@ function runTest() {
case 'finish':
// The page has now attempted to load the X-Frame-Options page; take
// another screenshot.
iframe.getScreenshot(1000, 1000).onsuccess = function(sshot) {
var fr = new FileReader();
fr.onloadend = function() {
ok(arrayBuffersEqual(fr.result, initialScreenshotArrayBuffer),
"Screenshots should be identical");
stepfinish = SpecialPowers.snapshotWindow(iframe.contentWindow);
ok(step1.toDataURL() == stepfinish.toDataURL(), "Screenshots should be identical");
SimpleTest.finish();
};
fr.readAsArrayBuffer(sshot.target.result);
};
break;
}
});

View File

@@ -36,34 +36,18 @@ function runTest() {
// frames.
iframe.height = '1000px';
var step1, stepfinish;
iframe.addEventListener('mozbrowsershowmodalprompt', function(e) {
switch (e.detail.message) {
case 'step 1':
// Make the page wait for us to unblock it (which we do after we finish
// taking the screenshot).
e.preventDefault();
iframe.getScreenshot(1000, 1000).onsuccess = function(sshot) {
var fr = new FileReader();
fr.onloadend = function() {
initialScreenshotArrayBuffer = fr.result;
e.detail.unblock();
}
fr.readAsArrayBuffer(sshot.target.result);
};
step1 = SpecialPowers.snapshotWindow(iframe.contentWindow);
break;
case 'step 2':
// The page has now attempted to load the X-Frame-Options page; take
// another screenshot.
iframe.getScreenshot(1000, 1000).onsuccess = function(sshot) {
var fr = new FileReader();
fr.onloadend = function() {
ok(arrayBuffersEqual(fr.result, initialScreenshotArrayBuffer),
"Screenshots should be identical");
stepfinish = SpecialPowers.snapshotWindow(iframe.contentWindow);
ok(step1.toDataURL() == stepfinish.toDataURL(), "Screenshots should be identical");
SimpleTest.finish();
}
fr.readAsArrayBuffer(sshot.target.result);
};
break;
}
});

View File

@@ -6,7 +6,6 @@
'use strict';
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
// request to load a manifest from a page that doesn't have a manifest.
// The expected result to be null.

View File

@@ -1,12 +1,101 @@
[DEFAULT]
skip-if = (buildapp != 'b2g' && buildapp != 'mulet') || (buildapp == 'b2g' && (toolkit != 'gonk' || debug))
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) || e10s
support-files =
audio.ogg
async.js
browserElementTestHelpers.js
browserElement_ActiveStateChange.js
browserElement_AudioChannelSeeking.js
browserElement_AudioChannelMutedByDefault.js
browserElement_AudioPlayback.js
browserElement_AudioChannel.js
browserElement_AudioChannel_nested.js
browserElement_BackForward.js
browserElement_BadScreenshot.js
browserElement_DocumentFirstPaint.js
browserElement_DOMRequestError.js
browserElement_ExecuteScript.js
browserElement_Find.js
browserElement_GetContentDimensions.js
browserElement_GetScreenshot.js
browserElement_GetScreenshotDppx.js
browserElement_getWebManifest.js
browserElement_MultipleAudioChannels.js
browserElement_NextPaint.js
browserElement_NoAudioTrack.js
browserElement_PurgeHistory.js
browserElement_ReloadPostRequest.js
browserElement_SendEvent.js
browserElement_SetInputMethodActive.js
browserElement_SetNFCFocus.js
browserElement_SetVisible.js
browserElement_SetVisibleFrames.js
browserElement_SetVisibleFrames2.js
browserElement_Stop.js
browserElement_VisibilityChange.js
file_audio.html
file_browserElement_ActiveStateChange.html
file_browserElement_AudioChannelSeeking.html
file_browserElement_AudioChannel_nested.html
file_browserElement_AudioChannelMutedByDefault.html
file_browserElement_ExecuteScript.html
file_browserElement_MultipleAudioChannels.html
file_browserElement_NextPaint.html
file_browserElement_NoAudioTrack.html
file_browserElement_SendEvent.html
file_browserElement_SetInputMethodActive.html
file_browserElement_SetVisibleFrames2_Outer.html
file_browserElement_SetVisibleFrames_Inner.html
file_browserElement_SetVisibleFrames_Outer.html
file_bug709759.sjs
file_empty.html
file_post_request.html
file_web_manifest.html
file_web_manifest.json
file_illegal_web_manifest.html
iframe_file_audio.html
multipleAudioChannels_manifest.webapp
multipleAudioChannels_manifest.webapp^headers^
[test_browserElement_MultipleAudioChannels.html]
tags = audiochannel
skip-if = (buildapp != 'b2g' && buildapp != 'mulet') || (buildapp == 'b2g' && (toolkit != 'gonk' || debug))
[test_browserElement_inproc_ActiveStateChange.html]
tags = audiochannel
[test_browserElement_inproc_AudioChannelMutedByDefault.html]
tags = audiochannel
skip-if = toolkit == 'android'
[test_browserElement_inproc_AudioChannelSeeking.html]
tags = audiochannel
[test_browserElement_inproc_AudioPlayback.html]
[test_browserElement_inproc_AudioChannel.html]
tags = audiochannel
[test_browserElement_inproc_AudioChannel_nested.html]
tags = audiochannel
[test_browserElement_inproc_BackForward.html]
[test_browserElement_inproc_BadScreenshot.html]
[test_browserElement_inproc_DocumentFirstPaint.html]
[test_browserElement_inproc_DOMRequestError.html]
[test_browserElement_inproc_ExecuteScript.html]
[test_browserElement_inproc_Find.html]
[test_browserElement_inproc_GetContentDimensions.html]
[test_browserElement_inproc_GetScreenshot.html]
[test_browserElement_inproc_GetScreenshotDppx.html]
[test_browserElement_inproc_getWebManifest.html]
[test_browserElement_inproc_NextPaint.html]
[test_browserElement_inproc_NoAudioTrack.html]
tags = audiochannel
[test_browserElement_inproc_PurgeHistory.html]
[test_browserElement_inproc_ReloadPostRequest.html]
disabled = no modal prompt on POST reload for chrome window
[test_browserElement_inproc_SendEvent.html]
# The setInputMethodActive() tests will timed out on Android
[test_browserElement_inproc_SetInputMethodActive.html]
skip-if = (os == "android")
[test_browserElement_inproc_SetNFCFocus.html]
[test_browserElement_inproc_SetVisible.html]
[test_browserElement_inproc_SetVisibleFrames.html]
[test_browserElement_inproc_SetVisibleFrames2.html]
[test_browserElement_inproc_Stop.html]
[test_browserElement_inproc_VisibilityChange.html]

View File

@@ -1,6 +1,6 @@
<html>
<body>
<audio src="http://mochi.test:8888/tests/dom/browser-element/mochitest/audio.ogg" id="audio" />
<audio src="chrome://mochitests/content/chrome/dom/browser-element/mochitest/audio.ogg" id="audio" />
<script>
var audio = document.getElementById('audio');
audio.play();

View File

@@ -31,7 +31,7 @@
ok("allowedAudioChannels" in iframe, "allowedAudioChannels exist");
var channels = iframe.allowedAudioChannels;
is(channels.length, 1, "1 audio channel by default");
is(channels.length, 9, "9 audio channel by default");
var ac = channels[0];
@@ -43,7 +43,7 @@
ok("isActive" in ac, "ac.isActive exists");
ac.onactivestatechanged = function() {
ok("activestatechanged event received.");
ok(true, "activestatechanged event received.");
ac.getVolume().onsuccess = function(e) {
ok(e.target.result, 1, "Default volume is 1");
@@ -54,7 +54,7 @@
});
document.body.appendChild(iframe);
iframe.src = 'http://example.org/tests/dom/browser-element/mochitest/file_audio.html';
iframe.src = 'chrome://mochitests/content/chrome/dom/browser-element/mochitest/file_audio.html';
});
</script>
</head>

View File

@@ -0,0 +1,15 @@
<html><body>
<button>send[Mouse|Touch]Event</button>
</body><script>
function changeHash(e) {
document.location.hash = e.type;
};
window.addEventListener('mousedown', changeHash);
window.addEventListener('mousemove', changeHash);
window.addEventListener('mouseup', changeHash);
window.addEventListener('click', changeHash, true);
window.addEventListener('touchstart', changeHash);
window.addEventListener('touchmove', changeHash);
window.addEventListener('touchend', changeHash);
window.addEventListener('touchcancel', changeHash);
</script></html>

View File

@@ -0,0 +1,2 @@
<input autofocus value="hello" />
<p>This is targetted mozbrowser frame.</p>

View File

@@ -1,6 +1,7 @@
<!doctype html>
<meta charset=utf-8>
<head>
<link rel="manifest" href="file://this_is_not_allowed!">
<!-- FIXME: we should keep file:// here ... -->
<link rel="manifest" href="sshfs://this_is_not_allowed!">
</head>
<h1>Support Page for Web Manifest Tests</h1>

View File

@@ -14,12 +14,14 @@ support-files =
[test_browserElement_oop_AudioChannelSeeking.html]
tags = audiochannel
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_Viewmode.html]
[test_browserElement_oop_ThemeColor.html]
[test_browserElement_inproc_ErrorSecurity.html]
skip-if = toolkit=='gonk'
[test_browserElement_inproc_OpenMixedProcess.html]
skip-if = toolkit=='gonk' || (toolkit == 'gonk' && !debug)
# skip-if = toolkit=='gonk' || (toolkit == 'gonk' && !debug)
disabled = disabled for bug 1266035
[test_browserElement_oop_Alert.html]
[test_browserElement_oop_AlertInFrame.html]
[test_browserElement_oop_AllowEmbedAppsInNestedOOIframe.html]
@@ -27,13 +29,16 @@ skip-if = toolkit == 'gonk' || buildapp != 'b2g'
[test_browserElement_oop_AppFramePermission.html]
skip-if = (toolkit == 'gonk' && !debug) || buildapp != 'b2g'
[test_browserElement_oop_AppWindowNamespace.html]
skip-if = (toolkit == 'gonk' && !debug)
skip-if = true ### Bug 1255339: blacklist because no more mozApps
[test_browserElement_oop_AudioChannelMutedByDefault.html]
tags = audiochannel
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_Auth.html]
skip-if = (toolkit == 'gonk' && !debug)
[test_browserElement_oop_BackForward.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_BadScreenshot.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_BrowserWindowNamespace.html]
skip-if = (toolkit == 'gonk' && !debug)
[test_browserElement_oop_BrowserWindowResize.html]
@@ -41,30 +46,39 @@ skip-if = (toolkit == 'gonk' && !debug)
[test_browserElement_oop_CookiesNotThirdParty.html]
[test_browserElement_oop_CopyPaste.html]
[test_browserElement_oop_DOMRequestError.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_DataURI.html]
[test_browserElement_oop_DisallowEmbedAppsInOOP.html]
skip-if = buildapp != 'b2g'
[test_browserElement_oop_DocumentFirstPaint.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_Download.html]
disabled = bug 1022281
[test_browserElement_oop_ErrorSecurity.html]
skip-if = (toolkit == 'gonk' && !debug)
[test_browserElement_oop_ExecuteScript.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_Find.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_FirstPaint.html]
[test_browserElement_oop_ForwardName.html]
[test_browserElement_oop_FrameWrongURI.html]
skip-if = (toolkit == 'gonk' && !debug)
[test_browserElement_oop_GetScreenshot.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_GetScreenshotDppx.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_Iconchange.html]
[test_browserElement_oop_LoadEvents.html]
[test_browserElement_oop_Manifestchange.html]
[test_browserElement_oop_Metachange.html]
[test_browserElement_oop_NoAudioTrack.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_AudioPlayback.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_OpenMixedProcess.html]
skip-if = (toolkit == 'gonk' && !debug)
# skip-if = (toolkit == 'gonk' && !debug)
disabled = disabled for bug 1266035
[test_browserElement_oop_OpenNamed.html]
skip-if = (toolkit == 'gonk' && !debug)
[test_browserElement_oop_OpenWindow.html]
@@ -77,7 +91,8 @@ skip-if = (toolkit == 'gonk' && !debug)
skip-if = (toolkit == 'gonk' && !debug)
[test_browserElement_oop_Opensearch.html]
[test_browserElement_oop_OpenTab.html]
skip-if = (toolkit == 'gonk') # Disabled on emulator. See bug 1144015 comment 8
# skip-if = (toolkit == 'gonk') # Disabled on emulator. See bug 1144015 comment 8
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_PrivateBrowsing.html]
[test_browserElement_oop_PromptCheck.html]
[test_browserElement_oop_PromptConfirm.html]
@@ -86,30 +101,42 @@ skip-if = (toolkit == 'gonk') # Disabled on emulator. See bug 1144015 comment 8
[test_browserElement_oop_Proxy.html]
skip-if = (toolkit == 'gonk')
[test_browserElement_oop_PurgeHistory.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_Reload.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_ReloadPostRequest.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_RemoveBrowserElement.html]
[test_browserElement_oop_ScrollEvent.html]
[test_browserElement_oop_SecurityChange.html]
skip-if = toolkit == 'android' || (toolkit == 'gonk' && !debug) #TIMED_OUT, bug 766586
[test_browserElement_oop_SendEvent.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_SetInputMethodActive.html]
skip-if = (os == "android")
# skip-if = (os == "android")
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_SetVisible.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_SetVisibleFrames.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_SetVisibleFrames2.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_Stop.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_TargetBlank.html]
skip-if = (toolkit == 'gonk' && !debug)
[test_browserElement_oop_TargetTop.html]
[test_browserElement_oop_Titlechange.html]
[test_browserElement_oop_TopBarrier.html]
[test_browserElement_oop_VisibilityChange.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_XFrameOptions.html]
[test_browserElement_oop_XFrameOptionsAllowFrom.html]
disabled = Disabling some OOP tests for WebIDL scope changes
# bug 1189592
skip-if = asan
[test_browserElement_oop_XFrameOptionsDeny.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_XFrameOptionsSameOrigin.html]
# Disabled until bug 930449 makes it stop timing out
[test_browserElement_oop_ContextmenuEvents.html]
@@ -122,13 +149,19 @@ disabled = bug 924771
[test_browserElement_oop_ExposableURI.html]
disabled = bug 924771
[test_browserElement_oop_GetContentDimensions.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_AudioChannel.html]
tags = audiochannel
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_AudioChannel_nested.html]
tags = audiochannel
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_SetNFCFocus.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_getWebManifest.html]
disabled = Disabling some OOP tests for WebIDL scope changes
[test_browserElement_oop_OpenWindowEmpty.html]
skip-if = (toolkit == 'gonk') # Test doesn't work on B2G emulator
[test_browserElement_oop_ActiveStateChange.html]
tags = audiochannel
disabled = Disabling some OOP tests for WebIDL scope changes

View File

@@ -5,18 +5,12 @@ support-files =
../../../dom/media/test/short-video.ogv
async.js
browserElementTestHelpers.js
browserElement_ActiveStateChange.js
browserElement_Alert.js
browserElement_AlertInFrame.js
browserElement_AllowEmbedAppsInNestedOOIframe.js
browserElement_AppFramePermission.js
browserElement_AppWindowNamespace.js
browserElement_AudioChannelSeeking.js
browserElement_AudioChannelMutedByDefault.js
browserElement_AudioPlayback.js
browserElement_Auth.js
browserElement_BackForward.js
browserElement_BadScreenshot.js
browserElement_Viewmode.js
browserElement_ThemeColor.js
browserElement_BrowserWindowNamespace.js
@@ -27,27 +21,19 @@ support-files =
browserElement_ContextmenuEvents.js
browserElement_CookiesNotThirdParty.js
browserElement_CopyPaste.js
browserElement_DOMRequestError.js
browserElement_DataURI.js
browserElement_DisallowEmbedAppsInOOP.js
browserElement_DocumentFirstPaint.js
browserElement_Download.js
browserElement_ErrorSecurity.js
browserElement_ExecuteScript.js
browserElement_ExposableURI.js
browserElement_Find.js
browserElement_FirstPaint.js
browserElement_ForwardName.js
browserElement_FrameWrongURI.js
browserElement_GetScreenshot.js
browserElement_GetScreenshotDppx.js
browserElement_getWebManifest.js
browserElement_Iconchange.js
browserElement_LoadEvents.js
browserElement_Manifestchange.js
browserElement_Metachange.js
browserElement_NextPaint.js
browserElement_NoAudioTrack.js
browserElement_OpenNamed.js
browserElement_OpenTab.js
browserElement_OpenWindow.js
@@ -60,40 +46,23 @@ support-files =
browserElement_PromptCheck.js
browserElement_PromptConfirm.js
browserElement_Proxy.js
browserElement_PurgeHistory.js
browserElement_Reload.js
browserElement_ReloadPostRequest.js
browserElement_RemoveBrowserElement.js
browserElement_ScrollEvent.js
browserElement_SecurityChange.js
browserElement_SendEvent.js
browserElement_SetInputMethodActive.js
browserElement_SetNFCFocus.js
browserElement_SetVisible.js
browserElement_SetVisibleFrames.js
browserElement_SetVisibleFrames2.js
browserElement_Stop.js
browserElement_TargetBlank.js
browserElement_TargetTop.js
browserElement_Titlechange.js
browserElement_TopBarrier.js
browserElement_VisibilityChange.js
browserElement_XFrameOptions.js
browserElement_XFrameOptionsAllowFrom.js
browserElement_XFrameOptionsDeny.js
browserElement_XFrameOptionsSameOrigin.js
browserElement_GetContentDimensions.js
browserElement_AudioChannel.js
browserElement_AudioChannel_nested.js
file_browserElement_ActiveStateChange.html
file_browserElement_AlertInFrame.html
file_browserElement_AlertInFrame_Inner.html
file_browserElement_AllowEmbedAppsInNestedOOIframe.html
file_browserElement_AppFramePermission.html
file_browserElement_AppWindowNamespace.html
file_browserElement_AudioChannelSeeking.html
file_browserElement_AudioChannel_nested.html
file_browserElement_AudioChannelMutedByDefault.html
file_browserElement_Viewmode.html
file_browserElement_ThemeColor.html
file_browserElement_BrowserWindowNamespace.html
@@ -101,13 +70,11 @@ support-files =
file_browserElement_CloseFromOpener.html
file_browserElement_CookiesNotThirdParty.html
file_browserElement_DisallowEmbedAppsInOOP.html
file_browserElement_ExecuteScript.html
file_browserElement_ForwardName.html
file_browserElement_FrameWrongURI.html
file_browserElement_LoadEvents.html
file_browserElement_Metachange.sjs
file_browserElement_NextPaint.html
file_browserElement_NoAudioTrack.html
file_browserElement_Open1.html
file_browserElement_Open2.html
file_browserElement_OpenNamed.html
@@ -118,9 +85,6 @@ support-files =
file_browserElement_OpenWindowRejected.html
file_browserElement_PrivateBrowsing.html
file_browserElement_SecurityChange.html
file_browserElement_SetVisibleFrames2_Outer.html
file_browserElement_SetVisibleFrames_Inner.html
file_browserElement_SetVisibleFrames_Outer.html
file_browserElement_TargetBlank.html
file_browserElement_TargetTop.html
file_browserElement_XFrameOptions.sjs
@@ -128,7 +92,6 @@ support-files =
file_browserElement_XFrameOptionsAllowFrom.sjs
file_browserElement_XFrameOptionsDeny.html
file_browserElement_XFrameOptionsSameOrigin.html
file_bug709759.sjs
file_bug741717.sjs
file_download_bin.sjs
file_empty.html
@@ -136,7 +99,6 @@ support-files =
file_focus.html
file_http_401_response.sjs
file_http_407_response.sjs
file_post_request.html
file_wyciwyg.html
file_audio.html
iframe_file_audio.html
@@ -148,35 +110,26 @@ support-files =
# Note: browserElementTestHelpers.js looks at the test's filename to determine
# whether the test should be OOP. "_oop_" signals OOP, "_inproc_" signals in
# process. Default is OOP.
[test_browserElement_inproc_getWebManifest.html]
[test_browserElement_NoAttr.html]
[test_browserElement_NoPref.html]
[test_browserElement_NoPermission.html]
[test_browserElement_inproc_Alert.html]
[test_browserElement_inproc_AudioChannelSeeking.html]
tags = audiochannel
[test_browserElement_inproc_Viewmode.html]
[test_browserElement_inproc_ThemeColor.html]
skip-if = buildapp == 'b2g'
[test_browserElement_inproc_AlertInFrame.html]
[test_browserElement_inproc_AppFramePermission.html]
skip-if = buildapp != 'mulet'
skip-if = true ### Bug 1255339: blacklist because no more mozApps
[test_browserElement_inproc_AppWindowNamespace.html]
skip-if = toolkit == 'android' || buildapp == 'b2g' # android(TIMED_OUT, bug 783509) androidx86(TIMED_OUT, bug 783509)
[test_browserElement_inproc_AudioChannelMutedByDefault.html]
tags = audiochannel
skip-if = toolkit == 'android'
[test_browserElement_inproc_AudioPlayback.html]
skip-if = true # android(TIMED_OUT, bug 783509) androidx86(TIMED_OUT, bug 783509) ### Bug 1255339: blacklist because no more mozApps
[test_browserElement_inproc_Auth.html]
skip-if = buildapp == 'b2g'
[test_browserElement_inproc_BackForward.html]
[test_browserElement_inproc_BadScreenshot.html]
[test_browserElement_inproc_BrowserWindowNamespace.html]
skip-if = buildapp == 'b2g'
[test_browserElement_inproc_BrowserWindowResize.html]
[test_browserElement_inproc_Close.html]
[test_browserElement_inproc_CloseApp.html]
skip-if = toolkit == 'android' || buildapp == 'b2g' # android(FAILS, bug 796982) androidx86(FAILS, bug 796982)
skip-if = true # android(FAILS, bug 796982) androidx86(FAILS, bug 796982) ### Bug 1255339: blacklist because no more mozApps
[test_browserElement_inproc_CloseFromOpener.html]
skip-if = buildapp == 'b2g'
[test_browserElement_inproc_ContextmenuEvents.html]
@@ -184,29 +137,20 @@ skip-if = buildapp == 'b2g'
[test_browserElement_inproc_CopyPaste.html]
subsuite = clipboard
skip-if = (os == "android") # Disabled on Android, see bug 1230421
[test_browserElement_inproc_DOMRequestError.html]
[test_browserElement_inproc_DataURI.html]
[test_browserElement_inproc_DisallowEmbedAppsInOOP.html]
skip-if = buildapp != 'mulet'
[test_browserElement_inproc_DocumentFirstPaint.html]
skip-if = true ### Bug 1255339: blacklist because no more mozApps
[test_browserElement_inproc_Download.html]
disabled = bug 1022281
[test_browserElement_inproc_ExecuteScript.html]
[test_browserElement_inproc_ExposableURI.html]
[test_browserElement_inproc_Find.html]
[test_browserElement_inproc_FirstPaint.html]
[test_browserElement_inproc_ForwardName.html]
[test_browserElement_inproc_FrameWrongURI.html]
skip-if = (toolkit == 'gonk' && !debug)
[test_browserElement_inproc_GetScreenshot.html]
[test_browserElement_inproc_GetScreenshotDppx.html]
[test_browserElement_inproc_Iconchange.html]
[test_browserElement_inproc_LoadEvents.html]
[test_browserElement_inproc_Manifestchange.html]
[test_browserElement_inproc_Metachange.html]
[test_browserElement_inproc_NextPaint.html]
[test_browserElement_inproc_NoAudioTrack.html]
tags = audiochannel
[test_browserElement_inproc_OpenNamed.html]
skip-if = (toolkit == 'gonk' && !debug)
[test_browserElement_inproc_OpenTab.html]
@@ -227,41 +171,23 @@ skip-if = (toolkit == 'gonk' && !debug)
# need to fix either bug 1094055 or bug 1020135.
[test_browserElement_inproc_Proxy.html]
skip-if = toolkit == 'gonk' || buildapp == 'mulet'
[test_browserElement_inproc_PurgeHistory.html]
[test_browserElement_inproc_ReloadPostRequest.html]
[test_browserElement_inproc_RemoveBrowserElement.html]
[test_browserElement_inproc_ScrollEvent.html]
[test_browserElement_inproc_SecurityChange.html]
skip-if = toolkit == 'android' || (toolkit == 'gonk' && !debug) # android(TIMED_OUT, bug 766586) androidx86(TIMED_OUT, bug 766586)
[test_browserElement_inproc_SendEvent.html]
# The setInputMethodActive() tests will timed out on Android
[test_browserElement_inproc_SetInputMethodActive.html]
skip-if = (os == "android")
[test_browserElement_inproc_SetVisible.html]
[test_browserElement_inproc_SetVisibleFrames.html]
[test_browserElement_inproc_SetVisibleFrames2.html]
[test_browserElement_inproc_Stop.html]
[test_browserElement_inproc_TargetBlank.html]
skip-if = (toolkit == 'gonk' && !debug)
[test_browserElement_inproc_TargetTop.html]
[test_browserElement_inproc_Titlechange.html]
[test_browserElement_inproc_TopBarrier.html]
[test_browserElement_inproc_VisibilityChange.html]
[test_browserElement_inproc_XFrameOptions.html]
[test_browserElement_inproc_XFrameOptionsAllowFrom.html]
[test_browserElement_inproc_XFrameOptionsDeny.html]
[test_browserElement_inproc_XFrameOptionsSameOrigin.html]
[test_browserElement_oop_NextPaint.html]
# Disabled due to https://bugzilla.mozilla.org/show_bug.cgi?id=774100
disabled = temp disabling some OOP tests for WebIDL scope changes
[test_browserElement_inproc_Reload.html]
disabled = bug 774100
[test_browserElement_inproc_GetContentDimensions.html]
[test_browserElement_inproc_AudioChannel.html]
tags = audiochannel
[test_browserElement_inproc_AudioChannel_nested.html]
tags = audiochannel
[test_browserElement_inproc_SetNFCFocus.html]
[test_browserElement_inproc_OpenWindowEmpty.html]
skip-if = (toolkit == 'gonk') # Test doesn't work on B2G emulator
[test_browserElement_inproc_ActiveStateChange.html]
tags = audiochannel

View File

@@ -0,0 +1,19 @@
[DEFAULT]
# Good luck running these tests on anything but desktop Linux.
run-if = os == 'linux' && buildapp == 'browser' && !e10s
support-files =
file_Audio.html
file_MultipleFrames.html
file_NestedFramesOuter.html
file_WebGLContextLost.html
silence.ogg
!/dom/browser-element/mochitest/browserElementTestHelpers.js
!/dom/browser-element/mochitest/file_empty.html
[test_Activity.html]
[test_Audio.html]
[test_Background.html]
[test_Keyboard.html]
[test_MultipleFrames.html]
[test_NestedFrames.html]
[test_Visibility.html]

View File

@@ -2,11 +2,7 @@
# Good luck running these tests on anything but desktop Linux.
run-if = os == 'linux' && buildapp == 'browser' && !e10s
support-files =
file_Audio.html
file_HighPriority.html
file_MultipleFrames.html
file_NestedFramesOuter.html
file_WebGLContextLost.html
silence.ogg
!/dom/browser-element/mochitest/browserElementTestHelpers.js
!/dom/browser-element/mochitest/file_empty.html
@@ -16,17 +12,12 @@ support-files =
# much sense.
[test_Simple.html]
[test_Visibility.html]
[test_HighPriority.html]
[test_Background.html]
[test_BackgroundLRU.html]
[test_Activity.html]
[test_Audio.html]
[test_Keyboard.html]
skip-if = true ### Bug 1255339: blacklist because no more mozApps
[test_MultipleActivities.html]
[test_MultipleFrames.html]
skip-if = true ### Bug 1255339: blacklist because no more mozApps
[test_Preallocated.html]
disabled = bug 968604, bug 987164
[test_NestedFrames.html]
[test_WebGLContextLost.html]
disabled = bug 865844

View File

@@ -5,9 +5,9 @@ Test that calling setVisible("false") on an iframe that has an open activity
causes its priority to change.
-->
<head>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="../browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
@@ -16,7 +16,6 @@ causes its priority to change.
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
browserElementTestHelpers.enableProcessPriorityManager();
function runTest() {

View File

@@ -4,9 +4,9 @@
Test that frames playing audio get BACKGROUND_PERCEIVABLE priority.
-->
<head>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="../browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
@@ -15,7 +15,6 @@ Test that frames playing audio get BACKGROUND_PERCEIVABLE priority.
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
browserElementTestHelpers.enableProcessPriorityManager();
function runTest() {

View File

@@ -5,9 +5,9 @@ Test that calling setVisible('false') on an iframe causes its visibility to
change.
-->
<head>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="../browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
@@ -16,7 +16,6 @@ change.
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
browserElementTestHelpers.enableProcessPriorityManager();
function runTest() {

View File

@@ -5,9 +5,9 @@ Test that frames with mozapptype=inputmethod gets the keyboard-specific
priority level when in the foreground.
-->
<head>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="../browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
@@ -16,7 +16,6 @@ priority level when in the foreground.
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
browserElementTestHelpers.enableProcessPriorityManager();
function runTest() {

View File

@@ -5,9 +5,9 @@ Test that when we remove one of a process's frames from the DOM, the process's
priority is recomputed.
-->
<head>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="../browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
@@ -16,7 +16,6 @@ priority is recomputed.
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
browserElementTestHelpers.enableProcessPriorityManager();
function runTest() {

View File

@@ -5,9 +5,9 @@ Test changing the visibility of an <iframe mozbrowser> changes the visibility
(and thus the priority) of any <iframe mozbrowser>s it contains.
-->
<head>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="../browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
@@ -16,26 +16,8 @@ Test changing the visibility of an <iframe mozbrowser> changes the visibility
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
browserElementTestHelpers.enableProcessPriorityManager();
// Give our origin permission to open browsers, and remove it when the test is complete.
var principal = SpecialPowers.wrap(document).nodePrincipal;
SpecialPowers.addPermission("browser", true, {url: SpecialPowers.wrap(principal.URI).spec,
originAttributes: {
appId: principal.appId,
inIsolatedMozBrowser: true
}});
addEventListener('unload', function() {
var principal = SpecialPowers.wrap(document).nodePrincipal;
SpecialPowers.removePermission("browser", {url: SpecialPowers.wrap(principal.URI).spec,
originAttributes: {
appId: principal.appId,
inIsolatedMozBrowser: true
}});
});
function runTest() {
// Set up the following hierarchy of frames:
//

View File

@@ -31,12 +31,23 @@ browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
browserElementTestHelpers.enableProcessPriorityManager();
var allCompleted = 0;
var allExpected = 2;
function finish() {
allCompleted++;
if (allCompleted === allExpected) {
SimpleTest.finish();
}
}
function runTest() {
var iframeLoaded = false;
var iframe = document.createElement('iframe');
iframe.setAttribute('mozbrowser', true);
iframe.src = browserElementTestHelpers.emptyPage1;
expectProcessCreated('FOREGROUND').then(SimpleTest.finish);
iframe.addEventListener('mozbrowserloadend', finish);
expectProcessCreated('FOREGROUND').then(finish);
document.body.appendChild(iframe);
}

View File

@@ -4,9 +4,9 @@
Test that setVisible() changes a process's priority.
-->
<head>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="../browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
@@ -15,7 +15,6 @@ Test that setVisible() changes a process's priority.
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
browserElementTestHelpers.enableProcessPriorityManager();
function runTest() {

View File

@@ -2,9 +2,9 @@
<html>
<head>
<title>Test ActiveStateChangeOnChangingMutedOrVolume</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<script type="application/javascript;version=1.7" src="browserElement_ActiveStateChange.js">

View File

@@ -2,9 +2,9 @@
<html>
<head>
<title>Test of browser element audioChannel.</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<script type="application/javascript;version=1.7" src="browserElement_AudioChannel.js">

View File

@@ -2,9 +2,9 @@
<html>
<head>
<title>Bug 1235535 - Audio Channel Muted-By-Default.</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<script type="application/javascript;version=1.7" src="browserElement_AudioChannelMutedByDefault.js">

View File

@@ -2,9 +2,9 @@
<html>
<head>
<title>Bug 1225425 - Do not unregister the AudioChannelAgent during seeking</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<script type="application/javascript;version=1.7" src="browserElement_AudioChannelSeeking.js">

View File

@@ -2,9 +2,9 @@
<html>
<head>
<title>Test of browser element audioChannel in nested mozbrowser iframes.</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<script type="application/javascript;version=1.7" src="browserElement_AudioChannel_nested.js">

View File

@@ -5,9 +5,9 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1180824
-->
<head>
<title>Test for Bug 1180824</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1180824">Mozilla Bug 1180824</a>

View File

@@ -2,9 +2,9 @@
<html>
<head>
<title>Test of browser element.</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<script type="application/javascript;version=1.7" src="browserElement_BackForward.js">

View File

@@ -2,9 +2,9 @@
<html>
<head>
<title>Test for Bug 800170</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<script type="application/javascript;version=1.7" src="browserElement_BadScreenshot.js">

View File

@@ -5,9 +5,9 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=787519
-->
<head>
<title>Test for Bug 787519</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=787519">Mozilla Bug 787519</a>

View File

@@ -2,9 +2,9 @@
<html>
<head>
<title>Test for Bug 829486</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<script type="application/javascript;version=1.7" src="browserElement_DocumentFirstPaint.js">

View File

@@ -5,9 +5,9 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1174733
-->
<head>
<title>Test for Bug 1163961</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1174733">Mozilla Bug 1174733</a>

View File

@@ -5,9 +5,9 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1163961
-->
<head>
<title>Test for Bug 1163961</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1163961">Mozilla Bug 1163961</a>

View File

@@ -2,9 +2,9 @@
<html>
<head>
<title>Test of browser element.</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<script type="application/javascript;version=1.7" src="browserElement_GetContentDimensions.js">

View File

@@ -5,9 +5,9 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=753595
-->
<head>
<title>Test for Bug 753595</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=753595">Mozilla Bug 753595</a>

View File

@@ -5,9 +5,9 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=959066
-->
<head>
<title>Test for Bug 959066</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=959066">Mozilla Bug 959066</a>

View File

@@ -2,9 +2,9 @@
<html>
<head>
<title>Test for Bug 808231</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<script type="application/javascript;version=1.7" src="browserElement_NextPaint.js">

View File

@@ -2,9 +2,9 @@
<html>
<head>
<title>Bug 1227051 - No audio track video shouldn't register the AudioChannelAgent</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<script type="application/javascript;version=1.7" src="browserElement_NoAudioTrack.js">

View File

@@ -2,9 +2,9 @@
<html>
<head>
<title>Test of browser element.</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<script type="application/javascript;version=1.7" src="browserElement_PurgeHistory.js">

View File

@@ -5,9 +5,9 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=774809
-->
<head>
<title>Test for Bug 774809</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=774809">Mozilla Bug 774809</a>

View File

@@ -2,9 +2,9 @@
<html>
<head>
<title>Test for Bug 905573</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<script type="application/javascript;version=1.7" src="browserElement_SetInputMethodActive.js">

View File

@@ -2,9 +2,9 @@
<html>
<head>
<title>Test for Bug 1188639</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<script type="application/javascript;version=1.7" src="browserElement_SetNFCFocus.js">

View File

@@ -5,9 +5,9 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=702880
-->
<head>
<title>Test for Bug 702880</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="browserElementTestHelpers.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=753595">Mozilla Bug 702880</a>

Some files were not shown because too many files have changed in this diff Show More