|
1 /* Any copyright is dedicated to the Public Domain. |
|
2 http://creativecommons.org/publicdomain/zero/1.0/ */ |
|
3 |
|
4 function test() { |
|
5 let enableSearch = function (aCW, aCallback) { |
|
6 if (aCW.Search.isEnabled()) { |
|
7 aCallback(); |
|
8 return; |
|
9 } |
|
10 |
|
11 aCW.addEventListener("tabviewsearchenabled", function onSearchEnabled() { |
|
12 aCW.removeEventListener("tabviewsearchenabled", onSearchEnabled, false); |
|
13 executeSoon(aCallback); |
|
14 }, false); |
|
15 |
|
16 aCW.Search.ensureShown(); |
|
17 }; |
|
18 |
|
19 let getSearchboxValue = function (aCW) { |
|
20 return aCW.iQ("#searchbox").val(); |
|
21 }; |
|
22 |
|
23 let prepareSearchbox = function (aCW, aCallback) { |
|
24 ok(!aCW.Search.isEnabled(), "search is disabled"); |
|
25 |
|
26 executeSoon(function() { |
|
27 enableSearch(aCW, function() { |
|
28 aCW.iQ("#searchbox").val("moz"); |
|
29 aCallback(); |
|
30 }); |
|
31 }); |
|
32 }; |
|
33 |
|
34 let searchAndSwitchPBMode = function (aWindow, aCallback) { |
|
35 showTabView(function() { |
|
36 let cw = aWindow.TabView.getContentWindow(); |
|
37 |
|
38 prepareSearchbox(cw, function() { |
|
39 testOnWindow(!PrivateBrowsingUtils.isWindowPrivate(aWindow), function(win) { |
|
40 showTabView(function() { |
|
41 let contentWindow = win.TabView.getContentWindow(); |
|
42 ok(!contentWindow.Search.isEnabled(), "search is disabled"); |
|
43 is(getSearchboxValue(contentWindow), "", "search box is empty"); |
|
44 aWindow.TabView.hide(); |
|
45 win.close(); |
|
46 hideTabView(function() { |
|
47 aWindow.close(); |
|
48 aCallback(); |
|
49 }, aWindow); |
|
50 }, win); |
|
51 }); |
|
52 }); |
|
53 }, aWindow); |
|
54 }; |
|
55 |
|
56 let testOnWindow = function(aIsPrivate, aCallback) { |
|
57 let win = OpenBrowserWindow({private: aIsPrivate}); |
|
58 win.addEventListener("load", function onLoad() { |
|
59 win.removeEventListener("load", onLoad, false); |
|
60 executeSoon(function() { aCallback(win) }); |
|
61 }, false); |
|
62 } |
|
63 |
|
64 waitForExplicitFinish(); |
|
65 |
|
66 testOnWindow(false, function(win) { |
|
67 searchAndSwitchPBMode(win, function() { |
|
68 testOnWindow(true, function(win) { |
|
69 searchAndSwitchPBMode(win, function() { |
|
70 finish(); |
|
71 }); |
|
72 }); |
|
73 }); |
|
74 }); |
|
75 } |