зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1408250 - Don't expose PaymentRequest API in non-e10s. r=baku
1. PaymentRequest::PrefEnabled() returns false under non-e10s situation. 2. Add a new mochitest test_block_none10s.html to expect to get ReferenceError in non-e10s mode.
This commit is contained in:
Родитель
ec610d5b7e
Коммит
8eaa630afe
|
@ -51,7 +51,8 @@ NS_IMPL_RELEASE_INHERITED(PaymentRequest, DOMEventTargetHelper)
|
|||
bool
|
||||
PaymentRequest::PrefEnabled(JSContext* aCx, JSObject* aObj)
|
||||
{
|
||||
return Preferences::GetBool("dom.payments.request.enabled");
|
||||
return XRE_IsContentProcess() &&
|
||||
Preferences::GetBool("dom.payments.request.enabled");
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
|
|
@ -14,6 +14,8 @@ support-files =
|
|||
[test_abortPayment.html]
|
||||
run-if = nightly_build # Bug 1390018: Depends on the Nightly-only UI service
|
||||
[test_basiccard.html]
|
||||
[test_block_none10s.html]
|
||||
skip-if = e10s # Bug 1408250: Don't expose PaymentRequest Constructor in non-e10s
|
||||
[test_canMakePayment.html]
|
||||
run-if = nightly_build # Bug 1390737: Depends on the Nightly-only UI service
|
||||
[test_constructor.html]
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Test for Bug 1408250</title>
|
||||
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
|
||||
<meta content="utf-8" http-equiv="encoding">
|
||||
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
||||
function testInNone10s() {
|
||||
return new Promise((resolve,reject) => {
|
||||
const supportedInstruments = [{
|
||||
supportedMethods: "basic-card",
|
||||
}];
|
||||
const details = {
|
||||
id: "simple details",
|
||||
total: {
|
||||
label: "Donation",
|
||||
amount: { currency: "USD", value: "55.00" }
|
||||
},
|
||||
};
|
||||
try {
|
||||
const payRequest = new PaymentRequest(supportedInstruments, details);
|
||||
ok(false, "Unexpected, new PaymentRequest() can not be used in non-e10s.");
|
||||
} catch (err) {
|
||||
ok(err.name, "ReferenceError",
|
||||
"Expected ReferenceError when calling new PaymentRequest()");
|
||||
}
|
||||
resolve();
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function runTests() {
|
||||
testInNone10s()
|
||||
.then(SimpleTest.finish)
|
||||
.catch( e => {
|
||||
ok(false, "Unexpected error: " + e.name);
|
||||
SimpleTest.finish();
|
||||
});
|
||||
}
|
||||
|
||||
window.addEventListener('load', function() {
|
||||
SpecialPowers.pushPrefEnv({
|
||||
'set': [
|
||||
['dom.payments.request.enabled', true],
|
||||
]
|
||||
}, runTests);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1408250">Mozilla Bug 1408250</a>
|
||||
</body>
|
||||
</html>
|
Загрузка…
Ссылка в новой задаче