Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(113)

Side by Side Diff: LayoutTests/storage/indexeddb/resources/request-event-propagation.js

Issue 243523003: Fire window.onerror for uncaught IndexedDB errors (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased and linkage fix Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 if (this.importScripts) { 1 if (this.importScripts) {
2 importScripts('../../../resources/js-test.js'); 2 importScripts('../../../resources/js-test.js');
3 importScripts('shared.js'); 3 importScripts('shared.js');
4 } 4 }
5 5
6 description("Test event propogation on IDBRequest."); 6 description("Test event propogation on IDBRequest.");
7 7
8 indexedDBTest(prepareDatabase, startTest); 8 indexedDBTest(prepareDatabase, startTest);
9 function prepareDatabase() 9 function prepareDatabase()
10 { 10 {
11 db = event.target.result; 11 db = event.target.result;
12 event.target.transaction.onabort = unexpectedAbortCallback; 12 event.target.transaction.onabort = unexpectedAbortCallback;
13 13
14 store = evalAndLog("store = db.createObjectStore('storeName', null)"); 14 store = evalAndLog("store = db.createObjectStore('storeName', null)");
15 request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')"); 15 request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
16 request.onerror = unexpectedErrorCallback; 16 request.onerror = unexpectedErrorCallback;
17 } 17 }
18 18
19 function startTest() 19 function startTest()
20 { 20 {
21 debug("Verify that handler fires and that not preventing default will result in an abort"); 21 debug("Verify that handler fires and that not preventing default will result in an abort");
22 trans = evalAndLog("trans = db.transaction(['storeName'], 'readwrite')"); 22 trans = evalAndLog("trans = db.transaction(['storeName'], 'readwrite')");
23 evalAndLog("trans.onabort = transactionAborted"); 23 evalAndLog("trans.onabort = transactionAborted");
24 evalAndLog("trans.oncomplete = unexpectedCompleteCallback"); 24 evalAndLog("trans.oncomplete = unexpectedCompleteCallback");
25 evalAndLog("trans.onerror = allowDefault"); 25 evalAndLog("trans.onerror = allowDefault");
26 store = evalAndLog("store = trans.objectStore('storeName')"); 26 store = evalAndLog("store = trans.objectStore('storeName')");
27 request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')"); 27 request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
28 expectError();
28 request.onsuccess = unexpectedSuccessCallback; 29 request.onsuccess = unexpectedSuccessCallback;
29 handlerFired = false; 30 handlerFired = false;
30 } 31 }
31 32
32 function allowDefault() 33 function allowDefault()
33 { 34 {
34 testPassed("Event handler fired"); 35 testPassed("Event handler fired");
35 debug("Doing nothing to prevent the default action..."); 36 debug("Doing nothing to prevent the default action...");
36 handlerFired = true; 37 handlerFired = true;
37 } 38 }
38 39
39 function transactionAborted() 40 function transactionAborted()
40 { 41 {
41 shouldBeTrue("handlerFired"); 42 shouldBeTrue("handlerFired");
43
42 debug(""); 44 debug("");
43 debug("Verifing error"); 45 debug("Verifing error");
44 trans = evalAndLog("trans = db.transaction(['storeName'], 'readwrite')"); 46 trans = evalAndLog("trans = db.transaction(['storeName'], 'readwrite')");
45 evalAndLog("trans.onabort = transactionAborted2"); 47 evalAndLog("trans.onabort = transactionAborted2");
46 evalAndLog("trans.oncomplete = unexpectedAbortCallback"); 48 evalAndLog("trans.oncomplete = unexpectedAbortCallback");
47 evalAndLog("trans.addEventListener('error', errorCaptureCallback, true)"); 49 evalAndLog("trans.addEventListener('error', errorCaptureCallback, true)");
48 evalAndLog("trans.addEventListener('error', errorBubbleCallback, false)"); 50 evalAndLog("trans.addEventListener('error', errorBubbleCallback, false)");
49 evalAndLog("trans.addEventListener('success', unexpectedSuccessCallback, tru e)"); 51 evalAndLog("trans.addEventListener('success', unexpectedSuccessCallback, tru e)");
50 evalAndLog("trans.addEventListener('success', unexpectedSuccessCallback, fal se)"); 52 evalAndLog("trans.addEventListener('success', unexpectedSuccessCallback, fal se)");
51 evalAndLog("db.addEventListener('error', dbErrorCaptureCallback, true)"); 53 evalAndLog("db.addEventListener('error', dbErrorCaptureCallback, true)");
52 evalAndLog("db.addEventListener('error', dbErrorBubbleCallback, false)"); 54 evalAndLog("db.addEventListener('error', dbErrorBubbleCallback, false)");
53 evalAndLog("db.addEventListener('success', unexpectedSuccessCallback, true)" ); 55 evalAndLog("db.addEventListener('success', unexpectedSuccessCallback, true)" );
54 evalAndLog("db.addEventListener('success', unexpectedSuccessCallback, false) "); 56 evalAndLog("db.addEventListener('success', unexpectedSuccessCallback, false) ");
55 store = evalAndLog("store = trans.objectStore('storeName')"); 57 store = evalAndLog("store = trans.objectStore('storeName')");
56 request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')"); 58 request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
59 expectError();
57 request.onsuccess = unexpectedSuccessCallback; 60 request.onsuccess = unexpectedSuccessCallback;
58 request.onerror = errorFiredCallback; 61 request.onerror = errorFiredCallback;
59 dbCaptureFired = false; 62 dbCaptureFired = false;
60 captureFired = false; 63 captureFired = false;
61 requestFired = false; 64 requestFired = false;
62 bubbleFired = false; 65 bubbleFired = false;
63 dbBubbleFired = false; 66 dbBubbleFired = false;
64 } 67 }
65 68
66 function dbErrorCaptureCallback() 69 function dbErrorCaptureCallback()
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 138
136 function transactionAborted2() 139 function transactionAborted2()
137 { 140 {
138 debug(""); 141 debug("");
139 debug("Transaction aborted"); 142 debug("Transaction aborted");
140 shouldBeTrue("dbCaptureFired"); 143 shouldBeTrue("dbCaptureFired");
141 shouldBeTrue("captureFired"); 144 shouldBeTrue("captureFired");
142 shouldBeTrue("requestFired"); 145 shouldBeTrue("requestFired");
143 shouldBeTrue("bubbleFired"); 146 shouldBeTrue("bubbleFired");
144 shouldBeTrue("dbBubbleFired"); 147 shouldBeTrue("dbBubbleFired");
148
145 debug(""); 149 debug("");
146 debug("Verifing success."); 150 debug("Verifing success.");
147 trans = evalAndLog("trans = db.transaction(['storeName'], 'readwrite')"); 151 trans = evalAndLog("trans = db.transaction(['storeName'], 'readwrite')");
148 evalAndLog("trans.oncomplete = transactionComplete"); 152 evalAndLog("trans.oncomplete = transactionComplete");
149 evalAndLog("trans.onabort = unexpectedAbortCallback"); 153 evalAndLog("trans.onabort = unexpectedAbortCallback");
150 evalAndLog("trans.addEventListener('success', successCaptureCallback, true)" ); 154 evalAndLog("trans.addEventListener('success', successCaptureCallback, true)" );
151 evalAndLog("trans.addEventListener('success', successBubbleCallback, false)" ); 155 evalAndLog("trans.addEventListener('success', successBubbleCallback, false)" );
152 evalAndLog("trans.addEventListener('error', unexpectedErrorCallback, true)") ; 156 evalAndLog("trans.addEventListener('error', unexpectedErrorCallback, true)") ;
153 evalAndLog("trans.addEventListener('error', unexpectedErrorCallback, false)" ); 157 evalAndLog("trans.addEventListener('error', unexpectedErrorCallback, false)" );
154 evalAndLog("db.removeEventListener('error', dbErrorCaptureCallback, true)"); 158 evalAndLog("db.removeEventListener('error', dbErrorCaptureCallback, true)");
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 shouldBeTrue("dbCaptureFired"); 239 shouldBeTrue("dbCaptureFired");
236 shouldBeTrue("captureFired"); 240 shouldBeTrue("captureFired");
237 shouldBeTrue("requestFired"); 241 shouldBeTrue("requestFired");
238 shouldBeFalse("bubbleFired"); 242 shouldBeFalse("bubbleFired");
239 shouldBeFalse("dbBubbleFired"); 243 shouldBeFalse("dbBubbleFired");
240 debug(""); 244 debug("");
241 245
242 finishJSTest(); 246 finishJSTest();
243 return; 247 return;
244 } 248 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698