Commit 7a7f4e60 authored by Tim Taubert's avatar Tim Taubert
Browse files

Bug 673729 - When a stacked group's expand button is clicked the group starts to zoom; r=dietrich

parent b1d98d23
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1656,11 +1656,12 @@ GroupItem.prototype = Utils.extend(new Item(), new Subscribable(), {
    container.mousedown(function(e) {
      let target = e.target;
      // only set the last mouse down target if it is a left click, not on the
      // close button, not on the new tab button, not on the title bar and its
      // element
      // close button, not on the expand button, not on the title bar and its
      // elements
      if (Utils.isLeftClick(e) &&
          self.$closeButton[0] != target &&
          self.$titlebar[0] != target &&
          self.$expander[0] != target &&
          !self.$titlebar.contains(target) &&
          !self.$appTabTray.contains(target)) {
        lastMouseDownTarget = target;
+1 −0
Original line number Diff line number Diff line
@@ -150,6 +150,7 @@ _BROWSER_FILES = \
                 browser_tabview_bug663421.js \
                 browser_tabview_bug665502.js \
                 browser_tabview_bug669694.js \
                 browser_tabview_bug673729.js \
                 browser_tabview_click_group.js \
                 browser_tabview_dragdrop.js \
                 browser_tabview_exit_button.js \
+42 −0
Original line number Diff line number Diff line
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

function test() {
  waitForExplicitFinish();

  newWindowWithTabView(function (win) {
    let cw = win.TabView.getContentWindow();

    // turn off zoom animations
    cw.gPrefBranch.setBoolPref("animate_zoom", false);

    registerCleanupFunction(function () {
      cw.gPrefBranch.clearUserPref("animate_zoom");
      win.close();
    });

    let group = cw.GroupItems.groupItems[0];
    group.setSize(100, 100, true);

    while (!group.isStacked())
      win.gBrowser.addTab();

    waitForFocus(function () {
      whenGroupIsExpanded(group, function () {
        ok(win.TabView.isVisible(), "tabview is visible");
        finish();
      });

      let expander = group.$expander[0];
      EventUtils.synthesizeMouseAtCenter(expander, {}, cw);
    }, cw);
  });
}

// ----------
function whenGroupIsExpanded(group, callback) {
  group.addSubscriber("expanded", function onExpanded() {
    group.removeSubscriber("expanded", onExpanded);
    executeSoon(callback);
  });
}