summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/zoom/browser_sitespecific_background_pref.js
blob: 7bf909c4b7d8ccb9cdae951a8937787eb1c326bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function test() {
  waitForExplicitFinish();

  (async function() {
    let testPage =
      "http://example.org/browser/browser/base/content/test/zoom/zoom_test.html";
    let tab1 = BrowserTestUtils.addTab(gBrowser);
    await FullZoomHelper.selectTabAndWaitForLocationChange(tab1);
    await FullZoomHelper.load(tab1, testPage);

    let tab2 = BrowserTestUtils.addTab(gBrowser);
    await FullZoomHelper.load(tab2, testPage);

    await FullZoom.enlarge();
    let tab1Zoom = ZoomManager.getZoomForBrowser(tab1.linkedBrowser);

    await FullZoomHelper.selectTabAndWaitForLocationChange(tab2);
    let tab2Zoom = ZoomManager.getZoomForBrowser(tab2.linkedBrowser);
    is(tab2Zoom, tab1Zoom, "Zoom should affect background tabs");

    Services.prefs.setBoolPref("browser.zoom.updateBackgroundTabs", false);
    await FullZoom.reset();
    gBrowser.selectedTab = tab1;
    tab1Zoom = ZoomManager.getZoomForBrowser(tab1.linkedBrowser);
    tab2Zoom = ZoomManager.getZoomForBrowser(tab2.linkedBrowser);
    isnot(tab1Zoom, tab2Zoom, "Zoom should not affect background tabs");

    if (Services.prefs.prefHasUserValue("browser.zoom.updateBackgroundTabs")) {
      Services.prefs.clearUserPref("browser.zoom.updateBackgroundTabs");
    }
    await FullZoomHelper.removeTabAndWaitForLocationChange(tab1);
    await FullZoomHelper.removeTabAndWaitForLocationChange(tab2);
  })().then(finish, FullZoomHelper.failAndContinue(finish));
}