diff --git a/xpfe/communicator/resources/content/utilityOverlay.js b/xpfe/communicator/resources/content/utilityOverlay.js index 0031bfdf0b14..3b534a08f08a 100644 --- a/xpfe/communicator/resources/content/utilityOverlay.js +++ b/xpfe/communicator/resources/content/utilityOverlay.js @@ -226,6 +226,17 @@ function goHelpMenu( url ) window.openDialog( getBrowserURL(), "_blank", "chrome,all,dialog=no", url ); } +function getTopWin() +{ + var windowManager = Components.classes['@mozilla.org/appshell/window-mediator;1'].getService(); + var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator); + var topWindowOfType = windowManagerInterface.getMostRecentWindow( "navigator:browser" ); + + if (topWindowOfType) { + return topWindowOfType; + } + return null; +} function openTopWin( url ) { @@ -248,20 +259,14 @@ function openTopWin( url ) url = "about:blank"; } - var windowManager = Components.classes['@mozilla.org/appshell/window-mediator;1'].getService(); - var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator); - - var topWindowOfType = windowManagerInterface.getMostRecentWindow( "navigator:browser" ); + var topWindowOfType = getTopWin(); if ( topWindowOfType ) { topWindowOfType.focus(); topWindowOfType.loadURI(url); return topWindowOfType; } - else - { - return window.openDialog( getBrowserURL(), "_blank", "chrome,all,dialog=no", url ); - } + return window.openDialog( getBrowserURL(), "_blank", "chrome,all,dialog=no", url ); } function goAboutDialog() diff --git a/xpfe/components/bookmarks/resources/bookmarks.xml b/xpfe/components/bookmarks/resources/bookmarks.xml index f34f7154c0df..79cdebb95a70 100644 --- a/xpfe/components/bookmarks/resources/bookmarks.xml +++ b/xpfe/components/bookmarks/resources/bookmarks.xml @@ -1872,9 +1872,14 @@ else urlValue = "about:blank"; - w = openTopWin(urlValue); - if (groupTarget) + if (groupTarget) { + w = getTopWin(); + w.focus(); w.OpenBookmarkGroupFromResource(this.currentRes, this.db, this.rdf); + } + else { + openTopWin(urlValue); + } } if (aEvent) aEvent.preventBubble();