88 lines
2.7 KiB
HTML
88 lines
2.7 KiB
HTML
<!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)
|
|
})
|
|
})
|
|
})
|
|
})
|
|
}
|
|
|
|
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
|
|
)
|
|
})
|
|
})
|
|
})
|
|
}
|
|
|
|
testStorage(function (
|
|
syncForSet, localForSet,
|
|
syncForRemove, localForRemove,
|
|
syncForClear, localForClear
|
|
) {
|
|
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
|
|
}
|
|
}
|
|
})
|
|
|
|
var sendMessage = `require('electron').ipcRenderer.send('answer', ${message})`
|
|
window.chrome.devtools.inspectedWindow.eval(sendMessage, function () {})
|
|
})
|
|
</script>
|
|
</head>
|
|
<body>
|
|
a custom devtools extension
|
|
</body>
|
|
</html>
|