Files
palemoon27/toolkit/devtools/server/tests/browser/storage-dynamic-windows.html
T
roytam1 8e0043d5bc import changes from `dev' branch of rmottola/Arctic-Fox:
- Bug 1149416 - Don't make free-nonheap-object warning an error on a CLOSED TREE . r=glandium (e968f5f2ac)
- Bug 1145781 - Fix hazard on a CLOSED TREE. (c6a424b4e9)
- Bug 1187982 - Fix building clang-plugin with clang 3.5; r=mystor (0e1ba88dfd)
- spacing (38d98645d8)
- Run clang-format on clang-plugin.cpp, no bug (cce9551ab2)
- Bug 1156802 - Part 1: Add an analysis which prohibits explicit move constructors, r=ehsan (1ba4769e7b)
- Bug 1178806. IndexedDB autoincrement overflow should be throwing ConstraintError per spec. r=bent (1820974774)
- Bug 1149815 - Guard against using deleted IDBObjectStore and IDBIndex objects, r=janv. (c63293e770)
- Bug 1149815 - Don't assume that index creation always succeeds, r=janv. (e123630c3d)
- Bug 1149815 - Properly handle IDBDatabase.close() called during a versionchange transaction, r=janv. (e1a00a34e7)
- Bug 1149815 - Fix IndexedDB tests to expect InvalidStateError rather than TransactionInactiveError when touching a deleted IDBObjectStore or IDBIndex object, r=janv. (2fde727baa)
- Bug 1168166 - Ignore failed IndexedDB optimization if disk is too full, r=janv. (0bd7dd94db)
- Bug 1168606 - Part 1: Extract Cursor response data population into shared function. r=bent (b42b353eec)
- Bug 1168606 - Part 2: Convert DelayedDeleteRunnable into reusable DelayedActionRunnable class. r=bent (db6a8969a9)
- Bug 1170746 - Getting mutable files over a cursor crashes the browser; r=bent (70225fd031)
- Bug 1168606 - Part 3: Allow multiple ObjectStoreCursorResponses in a CursorResponse. r=khuey (744c1798d4)
- Bug 1179025 - Protect against using cursors on a deleted objectStore/index, r=janv. (c82d018719)
- Bug 1168606 - Part 4: Allow current key to be provided with PBackgroundIDBCursor::Continue. r=khuey (a7faf38498)
- Bug 1168606 - Part 5: Send two records with every ObjectStoreCursorResponse. r=khuey (50a8955f62)
- Bug 1156802 - Part 2: Remove all explicit move constructors, r=ehsan (07144b7b8f)
- Bug 1201309 - Make MOZ_INHERIT_TYPE_ANNOTATIONS_FROM_TEMPLATE_ARGS work with MOZ_NON_MEMMOVABLE. r=ehsan f=mystor (6cd540cd1b)
- partial of Bug 1076787 - Add expectation data for running web-platform-tests on debug builds (848508f9dd)
- Bug 1149815 - Enable wpt tests that now pass, r=janv. (757331780f)
- Bug 1201190 - Part 1: Add an analysis to prevent a type from being allocated in a temporary, r=ehsan (f67cfef0ce)
- spaces (1f29d5c9bb)
2022-02-10 10:47:32 +08:00

92 lines
3.1 KiB
HTML

<!DOCTYPE HTML>
<html>
<!--
Bug 965872 - Storage inspector actor with cookies, local storage and session storage.
-->
<head>
<meta charset="utf-8">
<title>Storage inspector test for listing hosts and storages</title>
</head>
<body>
<iframe src="http://sectest1.example.org/browser/toolkit/devtools/server/tests/browser/storage-unsecured-iframe.html"></iframe>
<script type="application/javascript;version=1.7">
var partialHostname = location.hostname.match(/^[^.]+(\..*)$/)[1];
var cookieExpiresTime1 = 2000000000000;
var cookieExpiresTime2 = 2000000001000;
// Setting up some cookies to eat.
document.cookie = "c1=foobar; expires=" +
new Date(cookieExpiresTime1).toGMTString() + "; path=/browser";
document.cookie = "cs2=sessionCookie; path=/; domain=" + partialHostname;
document.cookie = "c3=foobar-2; expires=" +
new Date(cookieExpiresTime2).toGMTString() + "; path=/";
// ... and some local storage items ..
localStorage.setItem("ls1", "foobar");
localStorage.setItem("ls2", "foobar-2");
// ... and finally some session storage items too
sessionStorage.setItem("ss1", "foobar-3");
function success(event) {
setupIDB.next(event);
}
window.idbGenerator = function*(callback) {
let request = indexedDB.open("idb1", 1);
request.onupgradeneeded = success;
request.onsuccess = success;
request.onerror = function(e) {
throw new Error("error opening db connection");
};
let event = yield undefined;
let db = event.target.result;
let store1 = db.createObjectStore("obj1", { keyPath: "id" });
store1.createIndex("name", "name", { unique: false });
store1.createIndex("email", "email", { unique: true });
let store2 = db.createObjectStore("obj2", { keyPath: "id2" });
store1.add({id: 1, name: "foo", email: "foo@bar.com"}).onsuccess = success;
yield undefined;
store1.add({id: 2, name: "foo2", email: "foo2@bar.com"}).onsuccess = success;
yield undefined;
store1.add({id: 3, name: "foo2", email: "foo3@bar.com"}).onsuccess = success;
yield undefined;
store2.add({id2: 1, name: "foo", email: "foo@bar.com", extra: "baz"}).onsuccess = success;
yield undefined;
yield undefined;
db.close();
request = indexedDB.open("idb2", 1);
request.onupgradeneeded = success;
request.onsuccess = success;
event = yield undefined;
let db2 = event.target.result;
let store3 = db2.createObjectStore("obj3", { keyPath: "id3" });
store3.createIndex("name2", "name2", { unique: true });
yield undefined;
db2.close();
console.log("added cookies and stuff from main page");
callback();
}
function successClear(event) {
clearIterator.next(event);
}
window.clear = function*(callback) {
document.cookie = "c1=; expires=Thu, 01 Jan 1970 00:00:00 GMT";
document.cookie = "c3=; expires=Thu, 01 Jan 1970 00:00:00 GMT";
document.cookie = "cs2=; expires=Thu, 01 Jan 1970 00:00:00 GMT";
localStorage.clear();
indexedDB.deleteDatabase("idb1").onsuccess = successClear;
yield undefined;
indexedDB.deleteDatabase("idb2").onsuccess = successClear;
yield undefined;
console.log("removed cookies and stuff from main page");
callback();
}
</script>
</body>
</html>