Merge backout of 7856366bcd76.
authorPeter Van der Beken <peterv@propagandism.org>
Thu, 03 Dec 2009 12:27:22 +0100
changeset 35439 7179b9b6c0104e197ed3aed13adcfc35e19220f4
parent 35437 68a9b171da30b3bca13adfe5bb15107a559fadc6 (current diff)
parent 35438 0af1f99d2cb05b4412464758b7f3b16ca0586ceb (diff)
child 35440 c65fc47cb7e0d8e45bf5d513f8d440ab2d044bd1
push id10596
push userpvanderbeken@mozilla.com
push dateThu, 03 Dec 2009 11:27:44 +0000
treeherdermozilla-central@7179b9b6c010 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
milestone1.9.3a1pre
Merge backout of 7856366bcd76.
browser/components/sessionstore/test/browser/browser_524745.js
--- a/browser/components/sessionstore/src/nsSessionStore.js
+++ b/browser/components/sessionstore/src/nsSessionStore.js
@@ -1770,20 +1770,17 @@ SessionStoreService.prototype = {
         total.unshift(lastClosedWindowsCopy.shift())
       } while (total[0].isPopup)
     }
 #endif
 
     if (activeWindow) {
       this.activeWindowSSiCache = activeWindow.__SSi || "";
     }
-    ix = windows.indexOf(this.activeWindowSSiCache);
-    // We don't want to restore focus to a minimized window.
-    if (ix != -1 && total[ix].sizemode == "minimized")
-      ix = -1;
+    ix = this.activeWindowSSiCache ? windows.indexOf(this.activeWindowSSiCache) : -1;
 
     return { windows: total, selectedWindow: ix + 1, _closedWindows: lastClosedWindowsCopy };
   },
 
   /**
    * serialize session data for a window 
    * @param aWindow
    *        Window reference
--- a/browser/components/sessionstore/test/browser/Makefile.in
+++ b/browser/components/sessionstore/test/browser/Makefile.in
@@ -103,14 +103,13 @@ include $(topsrcdir)/config/rules.mk
 	browser_485563.js \
 	browser_490040.js \
 	browser_491168.js \
 	browser_491577.js \
 	browser_493467.js \
 	browser_495495.js \
 	browser_514751.js \
 	browser_522545.js \
-	browser_524745.js \
 	browser_526613.js \
 	$(NULL)
 
 libs:: $(_BROWSER_TEST_FILES)
 	$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/testing/mochitest/browser/$(relativesrcdir)
deleted file mode 100644
--- a/browser/components/sessionstore/test/browser/browser_524745.js
+++ /dev/null
@@ -1,96 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is sessionstore test code.
- *
- * The Initial Developer of the Original Code is
- * Mozilla Corporation.
- * Portions created by the Initial Developer are Copyright (C) 2009
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Paul O’Shannessy <paul@oshannessy.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-function browserWindowsCount() {
-  let count = 0;
-  let e = Cc["@mozilla.org/appshell/window-mediator;1"]
-            .getService(Ci.nsIWindowMediator)
-            .getEnumerator("navigator:browser");
-  while (e.hasMoreElements()) {
-    if (!e.getNext().closed)
-      ++count;
-  }
-  return count;
-}
-
-function test() {
-  /** Test for Bug 524745 **/
-  is(browserWindowsCount(), 1, "Only one browser window should be open initially");
-
-  let ss = Cc["@mozilla.org/browser/sessionstore;1"].
-           getService(Ci.nsISessionStore);
-  let ww = Cc["@mozilla.org/embedcomp/window-watcher;1"].
-           getService(Ci.nsIWindowWatcher);
-  let uniqKey = "bug524745";
-  let uniqVal = Date.now();
-
-  waitForExplicitFinish();
-
-  let window_B = openDialog(location, "_blank", "chrome,all,dialog=no");
-  window_B.addEventListener("load", function(aEvent) {
-    window_B.removeEventListener("load", arguments.callee, false);
-
-      waitForFocus(function() {
-        // Add identifying information to window_B
-        ss.setWindowValue(window_B, uniqKey, uniqVal);
-        let state = JSON.parse(ss.getBrowserState());
-        let selectedWindow = state.windows[state.selectedWindow - 1];
-        is(selectedWindow.extData && selectedWindow.extData[uniqKey], uniqVal,
-           "selectedWindow is window_B");
-
-        // Now minimize window_B. The selected window shouldn't have the secret data
-        window_B.minimize();
-        state = JSON.parse(ss.getBrowserState());
-        selectedWindow = state.windows[state.selectedWindow - 1];
-        ok(!selectedWindow.extData || !selectedWindow.extData[uniqKey],
-           "selectedWindow is not window_B after minimizing it");
-
-        // Now minimize the last open window (assumes no other tests left windows open)
-        window.minimize();
-        state = JSON.parse(ss.getBrowserState());
-        is(state.selectedWindow, 0,
-           "selectedWindow should be 0 when all windows are minimized");
-
-        // Cleanup
-        window.restore();
-        window_B.close();
-        is(browserWindowsCount(), 1,
-           "Only one browser window should be open eventually");
-        finish();
-      }, window_B);
-  }, false);
-}