browser_privatebrowsing_cookieacceptdialog.js
Go to the documentation of this file.
1 /* ***** BEGIN LICENSE BLOCK *****
2  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
3  *
4  * The contents of this file are subject to the Mozilla Public License Version
5  * 1.1 (the "License"); you may not use this file except in compliance with
6  * the License. You may obtain a copy of the License at
7  * http://www.mozilla.org/MPL/
8  *
9  * Software distributed under the License is distributed on an "AS IS" basis,
10  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11  * for the specific language governing rights and limitations under the
12  * License.
13  *
14  * The Original Code is Private Browsing Tests.
15  *
16  * The Initial Developer of the Original Code is
17  * Ehsan Akhgari.
18  * Portions created by the Initial Developer are Copyright (C) 2009
19  * the Initial Developer. All Rights Reserved.
20  *
21  * Contributor(s):
22  * Ehsan Akhgari <ehsan.akhgari@gmail.com> (Original Author)
23  *
24  * Alternatively, the contents of this file may be used under the terms of
25  * either of the GNU General Public License Version 2 or later (the "GPL"),
26  * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27  * in which case the provisions of the GPL or the LGPL are applicable instead
28  * of those above. If you wish to allow use of your version of this file only
29  * under the terms of either the GPL or the LGPL, and not to allow others to
30  * use your version of this file under the terms of the MPL, indicate your
31  * decision by deleting the provisions above and replace them with the notice
32  * and other provisions required by the GPL or the LGPL. If you do not delete
33  * the provisions above, a recipient may use your version of this file under
34  * the terms of any one of the MPL, the GPL or the LGPL.
35  *
36  * ***** END LICENSE BLOCK ***** */
37 
38 // This test makes sure that private browsing mode disables the "remember"
39 // option in the cookie accept dialog.
40 
41 function test() {
42  // initialization
43  let pb = Cc["@mozilla.org/privatebrowsing;1"].
44  getService(Ci.nsIPrivateBrowsingService);
45  let ww = Cc["@mozilla.org/embedcomp/window-watcher;1"].
46  getService(Ci.nsIWindowWatcher);
47  let cp = Cc["@mozilla.org/embedcomp/cookieprompt-service;1"].
48  getService(Ci.nsICookiePromptService);
49 
51 
52  function checkRememberOption(expectedDisabled, callback) {
53  let observer = {
54  observe: function(aSubject, aTopic, aData) {
55  if (aTopic === "domwindowopened") {
56  ww.unregisterNotification(this);
57  let win = aSubject.QueryInterface(Ci.nsIDOMWindow);
58  win.addEventListener("load", function onLoad(event) {
59  win.removeEventListener("load", onLoad, false);
60 
61  executeSoon(function() {
62  let doc = win.document;
63  let remember = doc.getElementById("persistDomainAcceptance");
64  ok(remember, "The remember checkbox should exist");
65 
66  if (expectedDisabled)
67  is(remember.getAttribute("disabled"), "true",
68  "The checkbox should be disabled");
69  else
70  ok(!remember.hasAttribute("disabled"),
71  "The checkbox should not be disabled");
72 
73  win.close();
74  callback();
75  });
76  }, false);
77  }
78  }
79  };
80  ww.registerNotification(observer);
81 
82  let remember = {};
83  const time = (new Date("Jan 1, 2030")).getTime() / 1000;
84  let cookie = {
85  name: "foo",
86  value: "bar",
87  isDomain: true,
88  host: "mozilla.org",
89  path: "/baz",
90  isSecure: false,
91  expires: time,
92  status: 0,
93  policy: 0,
94  isSession: false,
95  expiry: time,
96  isHttpOnly: true,
97  QueryInterface: function(iid) {
98  const validIIDs = [Components.interfaces.nsISupports,
99  Components.interfaces.nsICookie,
100  Components.interfaces.nsICookie2];
101  for (var i = 0; i < validIIDs.length; ++i)
102  if (iid == validIIDs[i])
103  return this;
104  throw Components.results.NS_ERROR_NO_INTERFACE;
105  }
106  };
107  cp.cookieDialog(window, cookie, "mozilla.org", 10, false, remember);
108  }
109 
110  checkRememberOption(false, function() {
111  pb.privateBrowsingEnabled = true;
112  checkRememberOption(true, function() {
113  pb.privateBrowsingEnabled = false;
114  checkRememberOption(false, finish);
115  });
116  });
117 }
const Cc
function doc() browser.contentDocument
var event
sbOSDControlService prototype QueryInterface
getService(Ci.sbIFaceplateManager)
let window
Lastfm onLoad
Definition: mini.js:36
waitForExplicitFinish()
grep callback
countRef value
Definition: FeedWriter.js:1423
const Ci
_getSelectedPageStyle s i
let observer
_updateTextAndScrollDataForFrame aData
sbDeviceFirmwareAutoCheckForUpdate prototype observe