OLD | NEW |
1 var jsTestIsAsync = true; | 1 var jsTestIsAsync = true; |
2 if (self.importScripts && !self.postMessage) { | 2 if (self.importScripts && !self.postMessage) { |
3 // Shared worker. Make postMessage send to the newest client, which in | 3 // Shared worker. Make postMessage send to the newest client, which in |
4 // our tests is the only client. | 4 // our tests is the only client. |
5 | 5 |
6 // Store messages for sending until we have somewhere to send them. | 6 // Store messages for sending until we have somewhere to send them. |
7 self.postMessage = function(message) | 7 self.postMessage = function(message) |
8 { | 8 { |
9 if (typeof self.pendingMessages === "undefined") | 9 if (typeof self.pendingMessages === "undefined") |
10 self.pendingMessages = []; | 10 self.pendingMessages = []; |
11 self.pendingMessages.push(message); | 11 self.pendingMessages.push(message); |
12 }; | 12 }; |
13 self.onconnect = function(event) | 13 self.onconnect = function(event) |
14 { | 14 { |
15 self.postMessage = function(message) | 15 self.postMessage = function(message) |
16 { | 16 { |
17 event.ports[0].postMessage(message); | 17 event.ports[0].postMessage(message); |
18 }; | 18 }; |
19 // Offload any stored messages now that someone has connected to us. | 19 // Offload any stored messages now that someone has connected to us. |
20 if (typeof self.pendingMessages === "undefined") | 20 if (typeof self.pendingMessages === "undefined") |
21 return; | 21 return; |
22 while (self.pendingMessages.length) | 22 while (self.pendingMessages.length) |
23 event.ports[0].postMessage(self.pendingMessages.shift()); | 23 event.ports[0].postMessage(self.pendingMessages.shift()); |
24 }; | 24 }; |
25 } | 25 } |
26 | 26 |
27 function removeVendorPrefixes() | |
28 { | |
29 indexedDB = evalAndLog("indexedDB = self.indexedDB || self.webkitIndexedDB |
| self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB;"); | |
30 debug(""); | |
31 } | |
32 | |
33 function unexpectedSuccessCallback() | 27 function unexpectedSuccessCallback() |
34 { | 28 { |
35 testFailed("Success function called unexpectedly."); | 29 testFailed("Success function called unexpectedly."); |
36 finishJSTest(); | 30 finishJSTest(); |
37 } | 31 } |
38 | 32 |
39 function unexpectedErrorCallback(event) | 33 function unexpectedErrorCallback(event) |
40 { | 34 { |
41 testFailed("Error function called unexpectedly: (" + event.target.error.name
+ ") " + event.target.error.message); | 35 testFailed("Error function called unexpectedly: (" + event.target.error.name
+ ") " + event.target.error.message); |
42 finishJSTest(); | 36 finishJSTest(); |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 ABORT_ERR: 20, | 158 ABORT_ERR: 20, |
165 URL_MISMATCH_ERR: 21, | 159 URL_MISMATCH_ERR: 21, |
166 QUOTA_EXCEEDED_ERR: 22, | 160 QUOTA_EXCEEDED_ERR: 22, |
167 TIMEOUT_ERR: 23, | 161 TIMEOUT_ERR: 23, |
168 INVALID_NODE_TYPE_ERR: 24, | 162 INVALID_NODE_TYPE_ERR: 24, |
169 DATA_CLONE_ERR: 25 | 163 DATA_CLONE_ERR: 25 |
170 }; | 164 }; |
171 } | 165 } |
172 | 166 |
173 function indexedDBTest(upgradeCallback, optionalOpenCallback, optionalParameters
) { | 167 function indexedDBTest(upgradeCallback, optionalOpenCallback, optionalParameters
) { |
174 removeVendorPrefixes(); | |
175 if (optionalParameters && 'suffix' in optionalParameters) { | 168 if (optionalParameters && 'suffix' in optionalParameters) { |
176 setDBNameFromPath(optionalParameters['suffix']); | 169 setDBNameFromPath(optionalParameters['suffix']); |
177 } else { | 170 } else { |
178 setDBNameFromPath(); | 171 setDBNameFromPath(); |
179 } | 172 } |
180 var deleteRequest = evalAndLog("indexedDB.deleteDatabase(dbname)"); | 173 var deleteRequest = evalAndLog("indexedDB.deleteDatabase(dbname)"); |
181 deleteRequest.onerror = unexpectedErrorCallback; | 174 deleteRequest.onerror = unexpectedErrorCallback; |
182 deleteRequest.onblocked = unexpectedBlockedCallback; | 175 deleteRequest.onblocked = unexpectedBlockedCallback; |
183 deleteRequest.onsuccess = function() { | 176 deleteRequest.onsuccess = function() { |
184 self.openRequest = null; | 177 self.openRequest = null; |
(...skipping 23 matching lines...) Expand all Loading... |
208 | 201 |
209 requests.forEach(function(req) { | 202 requests.forEach(function(req) { |
210 req.onsuccess = function() { | 203 req.onsuccess = function() { |
211 --count; | 204 --count; |
212 if (!count) | 205 if (!count) |
213 callback(requests); | 206 callback(requests); |
214 }; | 207 }; |
215 req.onerror = unexpectedErrorCallback; | 208 req.onerror = unexpectedErrorCallback; |
216 }); | 209 }); |
217 } | 210 } |
OLD | NEW |