Changeset 135868 in webkit


Ignore:
Timestamp:
Nov 27, 2012 9:45:23 AM (11 years ago)
Author:
dgrogan@chromium.org
Message:

IndexedDB: Make test resilient to different event ordering
https://bugs.webkit.org/show_bug.cgi?id=103344

Reviewed by Tony Chang.

This test was failing in multi-process chromium because the blocked
event can arrive before the versionchange event.

  • storage/indexeddb/pending-version-change-on-exit.html:
Location:
trunk/LayoutTests
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r135866 r135868  
     12012-11-27  David Grogan  <dgrogan@chromium.org>
     2
     3        IndexedDB: Make test resilient to different event ordering
     4        https://bugs.webkit.org/show_bug.cgi?id=103344
     5
     6        Reviewed by Tony Chang.
     7
     8        This test was failing in multi-process chromium because the blocked
     9        event can arrive before the versionchange event.
     10
     11        * storage/indexeddb/pending-version-change-on-exit.html:
     12
    1132012-11-27  Min Qin  <qinmin@chromium.org>
    214
  • trunk/LayoutTests/storage/indexeddb/pending-version-change-on-exit.html

    r135333 r135868  
    1313  finishJSTest();
    1414} else {
     15  evalAndLog("workerGotBlocked = false");
    1516  evalAndLog("gotVersionChangeEvent = false");
    1617  indexedDBTest(prepareDatabase, startTheWorker);
     
    2223  preamble();
    2324  db = event.target.result;
    24   db.onversionchange = function(e) {
    25     evalAndLog("gotVersionChangeEvent = true");
    26     debug("Got a version change event, e.oldVersion = " + e.oldVersion +
    27           " e.newVersion = " + e.newVersion);
    28   };
     25  db.onversionchange = onVersionChange;
    2926}
    3027
    31 function startTheWorker() {
     28function startTheWorker()
     29{
    3230  var worker = startWorker("resources/pending-version-change-on-exit.js?" + encodeURIComponent(dbname));
    3331  realFinishJSTest = finishJSTest;
     
    3735  };
    3836  finishJSTest = function() {
    39     shouldBeTrue("gotVersionChangeEvent");
    40     if (gotVersionChangeEvent)
    41       self.location = self.location + "?second";
    42     else
    43       realFinishJSTest();
     37    workerGotBlocked = true;
     38    maybeReload();
    4439  }
    4540}
     41
     42function onVersionChange(e)
     43{
     44  gotVersionChangeEvent = true;
     45  maybeReload();
     46};
     47
     48function maybeReload()
     49{
     50  if (gotVersionChangeEvent && workerGotBlocked)
     51    self.location = self.location + "?second";
     52};
     53
    4654</script>
    4755<script src="../../fast/js/resources/js-test-post.js"></script>
Note: See TracChangeset for help on using the changeset viewer.