mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-11 12:25:53 +00:00
Fixed Browser preview in Composer, b=59497, r=brade, sr=kin, a=asa
This commit is contained in:
parent
91d9335dba
commit
b3f48bc599
@ -1584,7 +1584,40 @@ var nsPreviewCommand =
|
||||
|
||||
// Check if we saved again just in case?
|
||||
if (DocumentHasBeenSaved())
|
||||
window.openDialog(getBrowserURL(), "EditorPreview", "chrome,all,dialog=no", window._content.location);
|
||||
{
|
||||
var browser;
|
||||
try {
|
||||
// Find a browser with this URL
|
||||
var windowManager = Components.classes["@mozilla.org/rdf/datasource;1?name=window-mediator"].getService();
|
||||
var windowManagerInterface = windowManager.QueryInterface(Components.interfaces.nsIWindowMediator);
|
||||
var enumerator = windowManagerInterface.getEnumerator("navigator:browser");
|
||||
|
||||
while ( enumerator.hasMoreElements() )
|
||||
{
|
||||
browser = windowManagerInterface.convertISupportsToDOMWindow( enumerator.getNext() );
|
||||
if ( browser && (window._content.location.href == browser._content.location.href))
|
||||
break;
|
||||
|
||||
browser = null;
|
||||
}
|
||||
}
|
||||
catch (ex) {}
|
||||
|
||||
// If none found, open a new browser
|
||||
if (!browser)
|
||||
browser = window.openDialog(getBrowserURL(), "_blank", "chrome,all,dialog=no", window._content.location);
|
||||
|
||||
try {
|
||||
if (browser)
|
||||
{
|
||||
// Be sure browser contains real source content, not cached
|
||||
// setTimeout is needed because the "browser" created by openDialog
|
||||
// needs time to finish else BrowserReloadSkipCache doesn't exist
|
||||
setTimeout( function(browser) { browser.BrowserReloadSkipCache(); }, 0, browser );
|
||||
browser.focus();
|
||||
}
|
||||
} catch (ex) {}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user