electron/spec/fixtures/devtools-extensions/foo/index.html

99 lines
3.1 KiB
HTML
Raw Normal View History

2016-05-17 21:52:45 +00:00
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
function testStorageClear (callback) {
chrome.storage.sync.clear(function () {
chrome.storage.sync.get(null, function (syncItems) {
chrome.storage.local.clear(function () {
chrome.storage.local.get(null, function(localItems) {
callback(syncItems, localItems)
})
})
})
})
}
function testStorageRemove (callback) {
chrome.storage.sync.remove('bar', function () {
chrome.storage.sync.get({foo: 'baz'}, function (syncItems) {
chrome.storage.local.remove(['hello'], function () {
chrome.storage.local.get(null, function(localItems) {
callback(syncItems, localItems)
})
})
})
2016-06-09 21:14:20 +00:00
})
}
function testStorageSet (callback) {
chrome.storage.sync.set({foo: 'bar', bar: 'foo'}, function () {
chrome.storage.sync.get({foo: 'baz', bar: 'fooo'}, function (syncItems) {
chrome.storage.local.set({hello: 'world', world: 'hello'}, function () {
chrome.storage.local.get(null, function(localItems) {
callback(syncItems, localItems)
})
})
})
})
}
function testStorage (callback) {
testStorageSet(function (syncForSet, localForSet) {
testStorageRemove(function (syncForRemove, localForRemove) {
testStorageClear(function (syncForClear, localForClear) {
callback(
syncForSet, localForSet,
syncForRemove, localForRemove,
syncForClear, localForClear
)
})
})
})
}
function reportCoverage () {
var message = JSON.stringify({
pid: chrome.runtime.id,
coverage: window.__coverage__
})
var coverageMessage = `require('electron').ipcRenderer.send('report-coverage', ${message})`
window.chrome.devtools.inspectedWindow.eval(coverageMessage, function () {})
}
testStorage(function (
syncForSet, localForSet,
syncForRemove, localForRemove,
syncForClear, localForClear
) {
2016-06-09 21:14:20 +00:00
var message = JSON.stringify({
runtimeId: chrome.runtime.id,
tabId: chrome.devtools.inspectedWindow.tabId,
i18nString: chrome.i18n.getMessage('foo', ['bar', 'baz']),
storageItems: {
local: {
set: localForSet,
remove: localForRemove,
clear: localForClear
},
sync: {
set: syncForSet,
remove: syncForRemove,
clear: syncForClear
}
}
2016-06-09 21:14:20 +00:00
})
reportCoverage()
2016-06-09 21:14:20 +00:00
var sendMessage = `require('electron').ipcRenderer.send('answer', ${message})`
window.chrome.devtools.inspectedWindow.eval(sendMessage, function () {})
2016-06-06 21:36:01 +00:00
})
2016-05-17 21:52:45 +00:00
</script>
</head>
<body>
a custom devtools extension
</body>
</html>