|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 function run_test() { |
|
6 let loadContext = { get usePrivateBrowsing() { return gInPrivateBrowsing; } }; |
|
7 |
|
8 ContentPrefTest.deleteDatabase(); |
|
9 var cp = new ContentPrefInstance(loadContext); |
|
10 do_check_neq(cp, null, "Retrieving the content prefs service failed"); |
|
11 |
|
12 try { |
|
13 const uri1 = ContentPrefTest.getURI("http://www.example.com/"); |
|
14 const uri2 = ContentPrefTest.getURI("http://www.anotherexample.com/"); |
|
15 const pref_name = "browser.content.full-zoom"; |
|
16 const zoomA = 1.5, zoomA_new = 0.8, zoomB = 1.3; |
|
17 // save Zoom-A |
|
18 cp.setPref(uri1, pref_name, zoomA); |
|
19 // make sure Zoom-A is retrievable |
|
20 do_check_eq(cp.getPref(uri1, pref_name), zoomA); |
|
21 // enter private browsing mode |
|
22 enterPBMode(); |
|
23 // make sure Zoom-A is retrievable |
|
24 do_check_eq(cp.getPref(uri1, pref_name), zoomA); |
|
25 // save Zoom-B |
|
26 cp.setPref(uri2, pref_name, zoomB); |
|
27 // make sure Zoom-B is retrievable |
|
28 do_check_eq(cp.getPref(uri2, pref_name), zoomB); |
|
29 // update Zoom-A |
|
30 cp.setPref(uri1, pref_name, zoomA_new); |
|
31 // make sure Zoom-A has changed |
|
32 do_check_eq(cp.getPref(uri1, pref_name), zoomA_new); |
|
33 // exit private browsing mode |
|
34 exitPBMode(); |
|
35 // make sure Zoom-A change has not persisted |
|
36 do_check_eq(cp.getPref(uri1, pref_name), zoomA); |
|
37 // make sure Zoom-B change has not persisted |
|
38 do_check_eq(cp.hasPref(uri2, pref_name), false); |
|
39 } catch (e) { |
|
40 do_throw("Unexpected exception: " + e); |
|
41 } |
|
42 } |