browser/base/content/test/general/browser_tab_drag_drop_perwindow.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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 file,
     3  * You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 function test() {
     6   //initialization
     7   waitForExplicitFinish();
     9   let scriptLoader = Cc["@mozilla.org/moz/jssubscript-loader;1"].
    10                      getService(Ci.mozIJSSubScriptLoader);
    11   let ChromeUtils = {};
    12   scriptLoader.loadSubScript("chrome://mochikit/content/tests/SimpleTest/ChromeUtils.js", ChromeUtils);
    14   function testOnWindow(aIsPrivate, aCallback) {
    15     whenNewWindowLoaded({private: aIsPrivate}, function(win) {
    16       executeSoon(function() aCallback(win));
    17     });
    18   }
    20   testOnWindow(false, function(aNormalWindow) {
    21     testOnWindow(true, function(aPrivateWindow) {
    22       // Open a tab in each window
    23       let normalTab = aNormalWindow.gBrowser.addTab("about:blank", {skipAnimation: true});
    24       let privateTab = aPrivateWindow.gBrowser.addTab("about:blank", {skipAnimation: true});
    26       let effect = ChromeUtils.synthesizeDrop(normalTab, privateTab,
    27         [[{type: TAB_DROP_TYPE, data: normalTab}]],
    28         null, aNormalWindow, aPrivateWindow);
    29       is(effect, "none", "Should not be able to drag a normal tab to a private window");
    31       effect = ChromeUtils.synthesizeDrop(privateTab, normalTab,
    32         [[{type: TAB_DROP_TYPE, data: privateTab}]],
    33         null, aPrivateWindow, aNormalWindow);
    34       is(effect, "none", "Should not be able to drag a private tab to a normal window");
    36       aNormalWindow.gBrowser.swapBrowsersAndCloseOther(normalTab, privateTab);
    37       is(aNormalWindow.gBrowser.tabs.length, 2, "Prevent moving a normal tab to a private tabbrowser");
    38       is(aPrivateWindow.gBrowser.tabs.length, 2, "Prevent accepting a normal tab in a private tabbrowser");
    40       aPrivateWindow.gBrowser.swapBrowsersAndCloseOther(privateTab, normalTab);
    41       is(aPrivateWindow.gBrowser.tabs.length, 2, "Prevent moving a private tab to a normal tabbrowser");
    42       is(aNormalWindow.gBrowser.tabs.length, 2, "Prevent accepting a private tab in a normal tabbrowser");
    44       aNormalWindow.close();
    45       aPrivateWindow.close();
    46       finish();
    47     });
    48   });
    49 }

mercurial