- add sources.
[platform/framework/web/crosswalk.git] / src / content / test / data / indexeddb / delete_over_quota.html
1 <!DOCTYPE html>
2 <html>
3 <!--
4   Copyright (c) 2013 The Chromium Authors. All rights reserved.
5   Use of this source code is governed by a BSD-style license that can be
6   found in the LICENSE file.
7 -->
8 <head>
9 <title>IDB test that origins over quota aren't trapped</title>
10 <script type="text/javascript" src="common.js"></script>
11 </head>
12 <script>
13   function test() {
14     // This file runs after fill_up_5k puts this origin over quota.
15     request = indexedDB.open("fill_up_5k.html");
16     request.onblocked = unexpectedBlockedCallback;
17     request.onupgradeneeded = unexpectedUpgradeNeededCallback;
18     request.onsuccess = onOpen;
19     request.onerror = unexpectedErrorCallback;
20   }
21
22   function onOpen() {
23     db = event.target.result;
24     shouldBe("db.objectStoreNames.length", "1");
25     trans = db.transaction(db.objectStoreNames, "readwrite");
26     trans.objectStore(db.objectStoreNames[0]).put("dogs", "cats");
27     trans.oncomplete = unexpectedCompleteCallback;
28     trans.onabort = function() {
29       shouldBeEqualToString("trans.error.name", "QuotaExceededError");
30       testOnlyDeleteTransaction();
31     }
32   }
33
34   function testOnlyDeleteTransaction() {
35     trans = db.transaction(db.objectStoreNames, "readwrite");
36     request = trans.objectStore(db.objectStoreNames[0]).openCursor();
37     request.onerror = unexpectedErrorCallback;
38     request.onsuccess = function() {
39       cursor = request.result;
40       shouldBeTrue("cursor != null");
41       cursor.delete();
42     }
43     trans.onabort = unexpectedAbortCallback;
44     trans.oncomplete = testReadOnlyTransaction;
45   }
46
47   function testReadOnlyTransaction() {
48     trans = db.transaction(db.objectStoreNames, "readonly");
49     trans.objectStore(db.objectStoreNames[0]).get("cats").onerror =
50         unexpectedErrorCallback;
51     trans.onabort = unexpectedAbortCallback;
52     trans.oncomplete = done;
53   }
54
55 </script>
56 <body onLoad="test()">
57 <div id="status">Starting...</div>
58 </body>
59 </html>