dom/indexedDB/test/browser_forgetThisSite.js

Wed, 31 Dec 2014 06:55:50 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:55:50 +0100
changeset 2
7e26c7da4463
permissions
-rw-r--r--

Added tag UPSTREAM_283F7C6 for changeset ca08bd8f51b2

     1 /**
     2  * Any copyright is dedicated to the Public Domain.
     3  * http://creativecommons.org/publicdomain/zero/1.0/
     4  */
     6 Components.utils.import("resource://gre/modules/ForgetAboutSite.jsm");
     8 const domains = [
     9   "mochi.test:8888",
    10   "www.example.com"
    11 ];
    13 const addPath = "/browser/dom/indexedDB/test/browser_forgetThisSiteAdd.html";
    14 const getPath = "/browser/dom/indexedDB/test/browser_forgetThisSiteGet.html";
    16 const testPageURL1 = "http://" + domains[0] + addPath;
    17 const testPageURL2 = "http://" + domains[1] + addPath;
    18 const testPageURL3 = "http://" + domains[0] + getPath;
    19 const testPageURL4 = "http://" + domains[1] + getPath;
    21 function test()
    22 {
    23   requestLongerTimeout(2);
    24   waitForExplicitFinish();
    25   // Avoids the prompt
    26   setPermission(testPageURL1, "indexedDB", "unknown");
    27   setPermission(testPageURL2, "indexedDB", "unknown");
    28   executeSoon(test1);
    29 }
    31 function test1()
    32 {
    33   // Set database version for domain 1
    34   gBrowser.selectedTab = gBrowser.addTab();
    35   gBrowser.selectedBrowser.addEventListener("load", function () {
    36     gBrowser.selectedBrowser.removeEventListener("load", arguments.callee, true);
    38     setFinishedCallback(function(result, exception) {
    39       ok(result == 11, "Set version on database in " + testPageURL1);
    40       ok(!exception, "No exception");
    41       gBrowser.removeCurrentTab();
    43       executeSoon(test2);
    44     });
    45   }, true);
    46   content.location = testPageURL1;
    47 }
    49 function test2()
    50 {
    51   // Set database version for domain 2
    52   gBrowser.selectedTab = gBrowser.addTab();
    53   gBrowser.selectedBrowser.addEventListener("load", function () {
    54     gBrowser.selectedBrowser.removeEventListener("load", arguments.callee, true);
    56     setFinishedCallback(function(result, exception) {
    57       ok(result == 11, "Set version on database in " + testPageURL2);
    58       ok(!exception, "No exception");
    59       gBrowser.removeCurrentTab();
    61       executeSoon(test3);
    62     });
    63   }, true);
    64   content.location = testPageURL2;
    65 }
    67 function test3()
    68 {
    69   // Remove database from domain 2
    70   ForgetAboutSite.removeDataFromDomain(domains[1]);
    71   setPermission(testPageURL4, "indexedDB", "unknown");
    72   executeSoon(test4);
    73 }
    75 function test4()
    76 {
    77   // Get database version for domain 1
    78   gBrowser.selectedTab = gBrowser.addTab();
    79   gBrowser.selectedBrowser.addEventListener("load", function () {
    80     gBrowser.selectedBrowser.removeEventListener("load", arguments.callee, true);
    82     setFinishedCallback(function(result, exception) {
    83       ok(result == 11, "Got correct version on database in " + testPageURL3);
    84       ok(!exception, "No exception");
    85       gBrowser.removeCurrentTab();
    87       executeSoon(test5);
    88     });
    89   }, true);
    90   content.location = testPageURL3;
    91 }
    93 function test5()
    94 {
    95   // Get database version for domain 2
    96   gBrowser.selectedTab = gBrowser.addTab();
    97   gBrowser.selectedBrowser.addEventListener("load", function () {
    98     gBrowser.selectedBrowser.removeEventListener("load", arguments.callee, true);
   100     setFinishedCallback(function(result, exception) {
   101       ok(result == 1, "Got correct version on database in " + testPageURL4);
   102       ok(!exception, "No exception");
   103       gBrowser.removeCurrentTab();
   105       executeSoon(finish);
   106     });
   107   }, true);
   108   content.location = testPageURL4;
   109 }

mercurial