12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- var name = 'pb-window-cache';
- function testMatch(win) {
- return new Promise(function(resolve, reject) {
- win.caches.match('http://foo.com').then(function(response) {
- ok(false, 'caches.match() should not return success');
- reject();
- }).catch(function(err) {
- is('SecurityError', err.name, 'caches.match() should throw SecurityError');
- resolve();
- });
- });
- }
- function testHas(win) {
- return new Promise(function(resolve, reject) {
- win.caches.has(name).then(function(result) {
- ok(false, 'caches.has() should not return success');
- reject();
- }).catch(function(err) {
- is('SecurityError', err.name, 'caches.has() should throw SecurityError');
- resolve();
- });
- });
- }
- function testOpen(win) {
- return new Promise(function(resolve, reject) {
- win.caches.open(name).then(function(c) {
- ok(false, 'caches.open() should not return success');
- reject();
- }).catch(function(err) {
- is('SecurityError', err.name, 'caches.open() should throw SecurityError');
- resolve();
- });
- });
- }
- function testDelete(win) {
- return new Promise(function(resolve, reject) {
- win.caches.delete(name).then(function(result) {
- ok(false, 'caches.delete() should not return success');
- reject();
- }).catch(function(err) {
- is('SecurityError', err.name, 'caches.delete() should throw SecurityError');
- resolve();
- });
- });
- }
- function testKeys(win) {
- return new Promise(function(resolve, reject) {
- win.caches.keys().then(function(names) {
- ok(false, 'caches.keys() should not return success');
- reject();
- }).catch(function(err) {
- is('SecurityError', err.name, 'caches.keys() should throw SecurityError');
- resolve();
- });
- });
- }
- function test() {
- waitForExplicitFinish();
- SpecialPowers.pushPrefEnv({'set': [['dom.caches.enabled', true],
- ['dom.caches.testing.enabled', true]]},
- function() {
- var privateWin = OpenBrowserWindow({private: true});
- privateWin.addEventListener('load', function() {
- Promise.all([
- testMatch(privateWin),
- testHas(privateWin),
- testOpen(privateWin),
- testDelete(privateWin),
- testKeys(privateWin)
- ]).then(function() {
- BrowserTestUtils.closeWindow(privateWin).then(finish);
- });
- });
- });
- }
|