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

Side by Side Diff: third_party/WebKit/LayoutTests/imported/web-platform-tests/webstorage/eventTestHarness.js

Issue 1984133002: Move web-platform-tests to wpt (part 2 of 2) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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
OLDNEW
(Empty)
1 iframe = document.createElement("IFRAME");
2 iframe.src = "about:blank";
3 document.body.appendChild(iframe);
4 iframe.contentWindow.document.body.textContent = "Nothing to see here.";
5
6 storageEventList = new Array();
7 iframe.contentWindow.onstorage = function(e) {
8 window.parent.storageEventList.push(e);
9 };
10
11 function runAfterNStorageEvents(callback, expectedNumEvents)
12 {
13 countStorageEvents(callback, expectedNumEvents, 0)
14 }
15
16 function countStorageEvents(callback, expectedNumEvents, times)
17 {
18 function onTimeout()
19 {
20 var currentCount = storageEventList.length;
21 if (currentCount == expectedNumEvents) {
22 callback();
23 } else if (currentCount > expectedNumEvents) {
24 msg = "got at least " + currentCount + ", expected only " + expected NumEvents + " events";
25 callback(msg);
26 } else if (times > 50) {
27 msg = "Timeout: only got " + currentCount + ", expected " + expected NumEvents + " events";
28 callback(msg);
29 } else {
30 countStorageEvents(callback, expectedNumEvents, times+1);
31 }
32 }
33 setTimeout(onTimeout, 20);
34 }
35
36 function clearStorage(storageName, callback)
37 {
38 if (window[storageName].length === 0) {
39 storageEventList = [];
40 setTimeout(callback, 0);
41 } else {
42 window[storageName].clear();
43 runAfterNStorageEvents(function() {
44 storageEventList = [];
45 callback();
46 }, 1);
47 }
48 }
49
50 function testStorages(testCallback)
51 {
52 testCallback("sessionStorage");
53 var hit = false;
54 add_result_callback(function() {
55 if (!hit) {
56 hit = true;
57 testCallback("localStorage");
58 }
59 });
60 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698