diff options
Diffstat (limited to 'browser/modules/test/browser_taskbar_preview.js')
-rw-r--r-- | browser/modules/test/browser_taskbar_preview.js | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/browser/modules/test/browser_taskbar_preview.js b/browser/modules/test/browser_taskbar_preview.js deleted file mode 100644 index ad5ec020d..000000000 --- a/browser/modules/test/browser_taskbar_preview.js +++ /dev/null @@ -1,139 +0,0 @@ -function test() { - var isWin7OrHigher = false; - try { - let version = Cc["@mozilla.org/system-info;1"] - .getService(Ci.nsIPropertyBag2) - .getProperty("version"); - isWin7OrHigher = (parseFloat(version) >= 6.1); - } catch (ex) { } - - is(!!Win7Features, isWin7OrHigher, "Win7Features available when it should be"); - if (!isWin7OrHigher) - return; - - const ENABLE_PREF_NAME = "browser.taskbar.previews.enable"; - - let temp = {}; - Cu.import("resource:///modules/WindowsPreviewPerTab.jsm", temp); - let AeroPeek = temp.AeroPeek; - - waitForExplicitFinish(); - - gPrefService.setBoolPref(ENABLE_PREF_NAME, true); - - is(1, AeroPeek.windows.length, "Got the expected number of windows"); - - checkPreviews(1, "Browser starts with one preview"); - - gBrowser.addTab(); - gBrowser.addTab(); - gBrowser.addTab(); - - checkPreviews(4, "Correct number of previews after adding"); - - for each (let preview in AeroPeek.previews) - ok(preview.visible, "Preview is shown as expected"); - - gPrefService.setBoolPref(ENABLE_PREF_NAME, false); - checkPreviews(4, "Previews are unchanged when disabling"); - - for each (let preview in AeroPeek.previews) - ok(!preview.visible, "Preview is not shown as expected after disabling"); - - gPrefService.setBoolPref(ENABLE_PREF_NAME, true); - checkPreviews(4, "Previews are unchanged when re-enabling"); - for each (let preview in AeroPeek.previews) - ok(preview.visible, "Preview is shown as expected after re-enabling"); - - [1,2,3,4].forEach(function (idx) { - gBrowser.selectedTab = gBrowser.tabs[idx]; - ok(checkSelectedTab(), "Current tab is correctly selected"); - }); - - let currentSelectedTab = gBrowser.selectedTab; - for each (let idx in [1,2,3,4]) { - let preview = getPreviewForTab(gBrowser.tabs[0]); - let canvas = createThumbnailSurface(preview); - let ctx = canvas.getContext("2d"); - preview.controller.drawThumbnail(ctx, canvas.width, canvas.height); - ok(currentSelectedTab.selected, "Drawing thumbnail does not change selection"); - canvas = getCanvas(preview.controller.width, preview.controller.height); - ctx = canvas.getContext("2d"); - preview.controller.drawPreview(ctx); - ok(currentSelectedTab.selected, "Drawing preview does not change selection"); - } - - // Close #4 - getPreviewForTab(gBrowser.selectedTab).controller.onClose(); - checkPreviews(3, "Expected number of previews after closing selected tab via controller"); - ok(gBrowser.tabs.length == 3, "Successfully closed a tab"); - - // Select #1 - ok(getPreviewForTab(gBrowser.tabs[0]).controller.onActivate(), "Activation was accepted"); - ok(gBrowser.tabs[0].selected, "Correct tab was selected"); - checkSelectedTab(); - - // Remove #3 (non active) - gBrowser.removeTab(gBrowser.tabContainer.lastChild); - checkPreviews(2, "Expected number of previews after closing unselected via browser"); - - // Remove #1 (active) - gBrowser.removeTab(gBrowser.tabContainer.firstChild); - checkPreviews(1, "Expected number of previews after closing selected tab via browser"); - - // Add a new tab - gBrowser.addTab(); - checkPreviews(2); - // Check default selection - checkSelectedTab(); - - // Change selection - gBrowser.selectedTab = gBrowser.tabs[0]; - checkSelectedTab(); - // Close nonselected tab via controller - getPreviewForTab(gBrowser.tabs[1]).controller.onClose(); - checkPreviews(1); - - if (gPrefService.prefHasUserValue(ENABLE_PREF_NAME)) - gPrefService.clearUserPref(ENABLE_PREF_NAME); - - finish(); - - function checkPreviews(aPreviews, msg) { - let nPreviews = AeroPeek.previews.length; - is(aPreviews, gBrowser.tabs.length, "Browser has expected number of tabs"); - is(nPreviews, gBrowser.tabs.length, "Browser has one preview per tab"); - is(nPreviews, aPreviews, msg || "Got expected number of previews"); - } - - function getPreviewForTab(tab) - window.gTaskbarTabGroup.previewFromTab(tab); - - function checkSelectedTab() - getPreviewForTab(gBrowser.selectedTab).active; - - function isTabSelected(idx) - gBrowser.tabs[idx].selected; - - function createThumbnailSurface(p) { - let thumbnailWidth = 200, - thumbnailHeight = 120; - let ratio = p.controller.thumbnailAspectRatio; - - if (thumbnailWidth/thumbnailHeight > ratio) - thumbnailWidth = thumbnailHeight * ratio; - else - thumbnailHeight = thumbnailWidth / ratio; - - return getCanvas(thumbnailWidth, thumbnailHeight); - } - - function getCanvas(width, height) { - let win = window.QueryInterface(Ci.nsIDOMWindow); - let doc = win.document; - let canvas = doc.createElementNS("http://www.w3.org/1999/xhtml", "canvas"); - canvas.width = width; - canvas.height = height; - return canvas; - } -} |