From faef117a38be867a59a29d0e7261e2e9d4165572 Mon Sep 17 00:00:00 2001 From: "blakeross%telocity.com" Date: Sat, 6 Apr 2002 00:36:35 +0000 Subject: [PATCH] kill browser-2.js --- browser/base/resources/content/browser-2.js | 349 -------------------- browser/base/resources/content/browser.js | 313 ++++++++++++++++++ browser/base/resources/content/browser.xul | 1 - browser/base/resources/jar.mn | 1 - 4 files changed, 313 insertions(+), 351 deletions(-) delete mode 100644 browser/base/resources/content/browser-2.js diff --git a/browser/base/resources/content/browser-2.js b/browser/base/resources/content/browser-2.js deleted file mode 100644 index ee015c61eb9e..000000000000 --- a/browser/base/resources/content/browser-2.js +++ /dev/null @@ -1,349 +0,0 @@ -/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: NPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Netscape 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/NPL/ - * - * 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 mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Blake Ross - * Peter Annema - * Samir Gehani - * - * 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 NPL, 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 NPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -const nsIWebNavigation = Components.interfaces.nsIWebNavigation; -var gPrintSettings = null; -var gChromeState = null; // chrome state before we went into print preview -var gOldCloseHandler = null; // close handler before we went into print preview - -function getWebNavigation() -{ - try { - return getBrowser().webNavigation; - } catch (e) { - return null; - } -} - -function BrowserReloadWithFlags(reloadFlags) -{ - /* First, we'll try to use the session history object to reload so - * that framesets are handled properly. If we're in a special - * window (such as view-source) that has no session history, fall - * back on using the web navigation's reload method. - */ - - var webNav = getWebNavigation(); - try { - var sh = webNav.sessionHistory; - if (sh) - webNav = sh.QueryInterface(Components.interfaces.nsIWebNavigation); - } catch (e) { - } - - try { - webNav.reload(reloadFlags); - } catch (e) { - } -} - -function toggleAffectedChrome(aHide) -{ - // chrome to toggle includes: - // (*) menubar - // (*) navigation bar - // (*) personal toolbar - // (*) tab browser ``strip'' - - if (!gChromeState) - gChromeState = new Object; - var chrome = new Array; - var i = 0; - chrome[i++] = document.getElementById("main-menubar"); - chrome[i++] = document.getElementById("nav-bar"); - chrome[i++] = document.getElementById("LocationToolbar"); - chrome[i++] = document.getElementById("PersonalToolbar"); - chrome[i++] = document.getElementById("status-bar"); - - // now that we've figured out which elements we're interested, toggle 'em - for (i = 0; i < chrome.length; ++i) - { - if (aHide) - chrome[i].hidden = true; - else - chrome[i].hidden = false; - } - - // now deal with the tab browser ``strip'' - var theTabbrowser = document.getElementById("content"); - if (aHide) // normal mode -> print preview - { - gChromeState.hadTabStrip = theTabbrowser.getStripVisibility(); - theTabbrowser.setStripVisibilityTo(false); - } - else // print preview -> normal mode - { - // tabs were showing before entering print preview - if (gChromeState.hadTabStrip) - { - theTabbrowser.setStripVisibilityTo(true); - gChromeState.hadTabStrip = false; // reset - } - } -} - -function showPrintPreviewToolbar() -{ - toggleAffectedChrome(true); - const kXULNS = - "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; - - var printPreviewTB = document.createElementNS(kXULNS, "toolbar"); - printPreviewTB.setAttribute("printpreview", true); - printPreviewTB.setAttribute("id", "print-preview-toolbar"); - var navTB = document.getElementById("nav-bar"); - navTB.parentNode.appendChild(printPreviewTB); -} - -function BrowserExitPrintPreview() -{ - // exit print preview galley mode in content area - var ifreq = _content.QueryInterface( - Components.interfaces.nsIInterfaceRequestor); - var webBrowserPrint = ifreq.getInterface( - Components.interfaces.nsIWebBrowserPrint); - webBrowserPrint.exitPrintPreview(); - _content.focus(); - - // remove the print preview toolbar - var navTB = document.getElementById("nav-bar"); - var printPreviewTB = document.getElementById("print-preview-toolbar"); - navTB.parentNode.removeChild(printPreviewTB); - - // restore chrome to original state - toggleAffectedChrome(false); - - // restore old onclose handler if we found one before previewing - var mainWin = document.getElementById("main-window"); - mainWin.setAttribute("onclose", gOldCloseHandler); -} - -function GetPrintSettings(webBrowserPrint) -{ - var prevPS = gPrintSettings; - - try { - if (gPrintSettings == null) { - var useGlobalPrintSettings = true; - var pref = Components.classes["@mozilla.org/preferences-service;1"] - .getService(Components.interfaces.nsIPrefBranch); - if (pref) { - useGlobalPrintSettings = pref.getBoolPref("print.use_global_printsettings", false); - } - - if (useGlobalPrintSettings) { - gPrintSettings = webBrowserPrint.globalPrintSettings; - } else { - gPrintSettings = webBrowserPrint.newPrintSettings; - } - } - } catch (e) { - dump("GetPrintSettings "+e); - } - - return gPrintSettings; -} - -function BrowserPrintPreview() -{ - var mainWin = document.getElementById("main-window"); - - // save previous close handler to restoreon exiting print preview mode - if (mainWin.hasAttribute("onclose")) - gOldCloseHandler = mainWin.getAttribute("onclose"); - else - gOldCloseHandler = null; - mainWin.setAttribute("onclose", "BrowserExitPrintPreview(); return false;"); - - try { - var ifreq = _content.QueryInterface( - Components.interfaces.nsIInterfaceRequestor); - var webBrowserPrint = ifreq.getInterface( - Components.interfaces.nsIWebBrowserPrint); - if (webBrowserPrint) { - gPrintSettings = GetPrintSettings(webBrowserPrint); - webBrowserPrint.printPreview(gPrintSettings); - } - // show the toolbar after we go into print preview mode so - // that we can initialize the toolbar with total num pages - showPrintPreviewToolbar(); - - _content.focus(); - } catch (e) { - // Pressing cancel is expressed as an NS_ERROR_ABORT return value, - // causing an exception to be thrown which we catch here. - // Unfortunately this will also consume helpful failures, so add a - // dump(e); // if you need to debug - } -} - - -function BrowserPrintSetup() -{ - - try { - var ifreq = _content.QueryInterface(Components.interfaces.nsIInterfaceRequestor); - var webBrowserPrint = ifreq.getInterface(Components.interfaces.nsIWebBrowserPrint); - if (webBrowserPrint) { - gPrintSettings = GetPrintSettings(webBrowserPrint); - } - - goPageSetup(gPrintSettings); // from utilityOverlay.js - - if (webBrowserPrint) { - if (webBrowserPrint.doingPrintPreview) { - webBrowserPrint.printPreview(gPrintSettings); - } - } - - } catch (e) { - dump("BrowserPrintSetup "+e); - } -} - -function BrowserPrint() -{ - try { - var ifreq = _content.QueryInterface(Components.interfaces.nsIInterfaceRequestor); - var webBrowserPrint = ifreq.getInterface(Components.interfaces.nsIWebBrowserPrint); - if (webBrowserPrint) { - gPrintSettings = GetPrintSettings(webBrowserPrint); - webBrowserPrint.print(gPrintSettings, null); - } - } catch (e) { - // Pressing cancel is expressed as an NS_ERROR_ABORT return value, - // causing an exception to be thrown which we catch here. - // Unfortunately this will also consume helpful failures, so add a - // dump(e); // if you need to debug - } -} - -function BrowserSetDefaultCharacterSet(aCharset) -{ - // no longer needed; set when setting Force; see bug 79608 -} - -function BrowserSetForcedCharacterSet(aCharset) -{ - var docCharset = getBrowser().docShell.QueryInterface( - Components.interfaces.nsIDocCharset); - docCharset.charset = aCharset; - BrowserReloadWithFlags(nsIWebNavigation.LOAD_FLAGS_CHARSET_CHANGE); -} - -function BrowserSetForcedDetector() -{ - getBrowser().documentCharsetInfo.forcedDetector = true; -} - -function BrowserFind() -{ - var focusedWindow = document.commandDispatcher.focusedWindow; - if (!focusedWindow || focusedWindow == window) - focusedWindow = window._content; - - findInPage(getBrowser(), window._content, focusedWindow) -} - -function BrowserFindAgain() -{ - var focusedWindow = document.commandDispatcher.focusedWindow; - if (!focusedWindow || focusedWindow == window) - focusedWindow = window._content; - - findAgainInPage(getBrowser(), window._content, focusedWindow) -} - -function BrowserCanFindAgain() -{ - return canFindAgainInPage(); -} - -function getMarkupDocumentViewer() -{ - return getBrowser().markupDocumentViewer; -} - -/** - * Content area tooltip. - * XXX - this must move into XBL binding/equiv! Do not want to pollute - * navigator.js with functionality that can be encapsulated into - * browser widget. TEMPORARY! - * - * NOTE: Any changes to this routine need to be mirrored in ChromeListener::FindTitleText() - * (located in mozilla/embedding/browser/webBrowser/nsDocShellTreeOwner.cpp) - * which performs the same function, but for embedded clients that - * don't use a XUL/JS layer. It is important that the logic of - * these two routines be kept more or less in sync. - * (pinkerton) - **/ -function FillInHTMLTooltip(tipElement) -{ - var retVal = false; - if (tipElement.namespaceURI == "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul") - return retVal; - - const XLinkNS = "http://www.w3.org/1999/xlink"; - - - var titleText = null; - var XLinkTitleText = null; - - while (!titleText && !XLinkTitleText && tipElement) { - if (tipElement.nodeType == Node.ELEMENT_NODE) { - titleText = tipElement.getAttribute("title"); - XLinkTitleText = tipElement.getAttributeNS(XLinkNS, "title"); - } - tipElement = tipElement.parentNode; - } - - var texts = [titleText, XLinkTitleText]; - var tipNode = document.getElementById("aHTMLTooltip"); - - for (var i = 0; i < texts.length; ++i) { - var t = texts[i]; - if (t && t.search(/\S/) >= 0) { - tipNode.setAttribute("label", t); - retVal = true; - } - } - - return retVal; -} diff --git a/browser/base/resources/content/browser.js b/browser/base/resources/content/browser.js index a603cf23e15c..0e89259f0c89 100644 --- a/browser/base/resources/content/browser.js +++ b/browser/base/resources/content/browser.js @@ -22,6 +22,8 @@ * Contributor(s): * Blake Ross * Peter Annema + * Samir Gehani + * * * 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 @@ -1862,3 +1864,314 @@ function OpenBrowserWindow() } } +const nsIWebNavigation = Components.interfaces.nsIWebNavigation; +var gPrintSettings = null; +var gChromeState = null; // chrome state before we went into print preview +var gOldCloseHandler = null; // close handler before we went into print preview + +function getWebNavigation() +{ + try { + return getBrowser().webNavigation; + } catch (e) { + return null; + } +} + +function BrowserReloadWithFlags(reloadFlags) +{ + /* First, we'll try to use the session history object to reload so + * that framesets are handled properly. If we're in a special + * window (such as view-source) that has no session history, fall + * back on using the web navigation's reload method. + */ + + var webNav = getWebNavigation(); + try { + var sh = webNav.sessionHistory; + if (sh) + webNav = sh.QueryInterface(Components.interfaces.nsIWebNavigation); + } catch (e) { + } + + try { + webNav.reload(reloadFlags); + } catch (e) { + } +} + +function toggleAffectedChrome(aHide) +{ + // chrome to toggle includes: + // (*) menubar + // (*) navigation bar + // (*) personal toolbar + // (*) tab browser ``strip'' + + if (!gChromeState) + gChromeState = new Object; + var chrome = new Array; + var i = 0; + chrome[i++] = document.getElementById("main-menubar"); + chrome[i++] = document.getElementById("nav-bar"); + chrome[i++] = document.getElementById("LocationToolbar"); + chrome[i++] = document.getElementById("PersonalToolbar"); + chrome[i++] = document.getElementById("status-bar"); + + // now that we've figured out which elements we're interested, toggle 'em + for (i = 0; i < chrome.length; ++i) + { + if (aHide) + chrome[i].hidden = true; + else + chrome[i].hidden = false; + } + + // now deal with the tab browser ``strip'' + var theTabbrowser = document.getElementById("content"); + if (aHide) // normal mode -> print preview + { + gChromeState.hadTabStrip = theTabbrowser.getStripVisibility(); + theTabbrowser.setStripVisibilityTo(false); + } + else // print preview -> normal mode + { + // tabs were showing before entering print preview + if (gChromeState.hadTabStrip) + { + theTabbrowser.setStripVisibilityTo(true); + gChromeState.hadTabStrip = false; // reset + } + } +} + +function showPrintPreviewToolbar() +{ + toggleAffectedChrome(true); + const kXULNS = + "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + + var printPreviewTB = document.createElementNS(kXULNS, "toolbar"); + printPreviewTB.setAttribute("printpreview", true); + printPreviewTB.setAttribute("id", "print-preview-toolbar"); + var navTB = document.getElementById("nav-bar"); + navTB.parentNode.appendChild(printPreviewTB); +} + +function BrowserExitPrintPreview() +{ + // exit print preview galley mode in content area + var ifreq = _content.QueryInterface( + Components.interfaces.nsIInterfaceRequestor); + var webBrowserPrint = ifreq.getInterface( + Components.interfaces.nsIWebBrowserPrint); + webBrowserPrint.exitPrintPreview(); + _content.focus(); + + // remove the print preview toolbar + var navTB = document.getElementById("nav-bar"); + var printPreviewTB = document.getElementById("print-preview-toolbar"); + navTB.parentNode.removeChild(printPreviewTB); + + // restore chrome to original state + toggleAffectedChrome(false); + + // restore old onclose handler if we found one before previewing + var mainWin = document.getElementById("main-window"); + mainWin.setAttribute("onclose", gOldCloseHandler); +} + +function GetPrintSettings(webBrowserPrint) +{ + var prevPS = gPrintSettings; + + try { + if (gPrintSettings == null) { + var useGlobalPrintSettings = true; + var pref = Components.classes["@mozilla.org/preferences-service;1"] + .getService(Components.interfaces.nsIPrefBranch); + if (pref) { + useGlobalPrintSettings = pref.getBoolPref("print.use_global_printsettings", false); + } + + if (useGlobalPrintSettings) { + gPrintSettings = webBrowserPrint.globalPrintSettings; + } else { + gPrintSettings = webBrowserPrint.newPrintSettings; + } + } + } catch (e) { + dump("GetPrintSettings "+e); + } + + return gPrintSettings; +} + +function BrowserPrintPreview() +{ + var mainWin = document.getElementById("main-window"); + + // save previous close handler to restoreon exiting print preview mode + if (mainWin.hasAttribute("onclose")) + gOldCloseHandler = mainWin.getAttribute("onclose"); + else + gOldCloseHandler = null; + mainWin.setAttribute("onclose", "BrowserExitPrintPreview(); return false;"); + + try { + var ifreq = _content.QueryInterface( + Components.interfaces.nsIInterfaceRequestor); + var webBrowserPrint = ifreq.getInterface( + Components.interfaces.nsIWebBrowserPrint); + if (webBrowserPrint) { + gPrintSettings = GetPrintSettings(webBrowserPrint); + webBrowserPrint.printPreview(gPrintSettings); + } + // show the toolbar after we go into print preview mode so + // that we can initialize the toolbar with total num pages + showPrintPreviewToolbar(); + + _content.focus(); + } catch (e) { + // Pressing cancel is expressed as an NS_ERROR_ABORT return value, + // causing an exception to be thrown which we catch here. + // Unfortunately this will also consume helpful failures, so add a + // dump(e); // if you need to debug + } +} + + +function BrowserPrintSetup() +{ + + try { + var ifreq = _content.QueryInterface(Components.interfaces.nsIInterfaceRequestor); + var webBrowserPrint = ifreq.getInterface(Components.interfaces.nsIWebBrowserPrint); + if (webBrowserPrint) { + gPrintSettings = GetPrintSettings(webBrowserPrint); + } + + goPageSetup(gPrintSettings); // from utilityOverlay.js + + if (webBrowserPrint) { + if (webBrowserPrint.doingPrintPreview) { + webBrowserPrint.printPreview(gPrintSettings); + } + } + + } catch (e) { + dump("BrowserPrintSetup "+e); + } +} + +function BrowserPrint() +{ + try { + var ifreq = _content.QueryInterface(Components.interfaces.nsIInterfaceRequestor); + var webBrowserPrint = ifreq.getInterface(Components.interfaces.nsIWebBrowserPrint); + if (webBrowserPrint) { + gPrintSettings = GetPrintSettings(webBrowserPrint); + webBrowserPrint.print(gPrintSettings, null); + } + } catch (e) { + // Pressing cancel is expressed as an NS_ERROR_ABORT return value, + // causing an exception to be thrown which we catch here. + // Unfortunately this will also consume helpful failures, so add a + // dump(e); // if you need to debug + } +} + +function BrowserSetDefaultCharacterSet(aCharset) +{ + // no longer needed; set when setting Force; see bug 79608 +} + +function BrowserSetForcedCharacterSet(aCharset) +{ + var docCharset = getBrowser().docShell.QueryInterface( + Components.interfaces.nsIDocCharset); + docCharset.charset = aCharset; + BrowserReloadWithFlags(nsIWebNavigation.LOAD_FLAGS_CHARSET_CHANGE); +} + +function BrowserSetForcedDetector() +{ + getBrowser().documentCharsetInfo.forcedDetector = true; +} + +function BrowserFind() +{ + var focusedWindow = document.commandDispatcher.focusedWindow; + if (!focusedWindow || focusedWindow == window) + focusedWindow = window._content; + + findInPage(getBrowser(), window._content, focusedWindow) +} + +function BrowserFindAgain() +{ + var focusedWindow = document.commandDispatcher.focusedWindow; + if (!focusedWindow || focusedWindow == window) + focusedWindow = window._content; + + findAgainInPage(getBrowser(), window._content, focusedWindow) +} + +function BrowserCanFindAgain() +{ + return canFindAgainInPage(); +} + +function getMarkupDocumentViewer() +{ + return getBrowser().markupDocumentViewer; +} + +/** + * Content area tooltip. + * XXX - this must move into XBL binding/equiv! Do not want to pollute + * navigator.js with functionality that can be encapsulated into + * browser widget. TEMPORARY! + * + * NOTE: Any changes to this routine need to be mirrored in ChromeListener::FindTitleText() + * (located in mozilla/embedding/browser/webBrowser/nsDocShellTreeOwner.cpp) + * which performs the same function, but for embedded clients that + * don't use a XUL/JS layer. It is important that the logic of + * these two routines be kept more or less in sync. + * (pinkerton) + **/ +function FillInHTMLTooltip(tipElement) +{ + var retVal = false; + if (tipElement.namespaceURI == "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul") + return retVal; + + const XLinkNS = "http://www.w3.org/1999/xlink"; + + + var titleText = null; + var XLinkTitleText = null; + + while (!titleText && !XLinkTitleText && tipElement) { + if (tipElement.nodeType == Node.ELEMENT_NODE) { + titleText = tipElement.getAttribute("title"); + XLinkTitleText = tipElement.getAttributeNS(XLinkNS, "title"); + } + tipElement = tipElement.parentNode; + } + + var texts = [titleText, XLinkTitleText]; + var tipNode = document.getElementById("aHTMLTooltip"); + + for (var i = 0; i < texts.length; ++i) { + var t = texts[i]; + if (t && t.search(/\S/) >= 0) { + tipNode.setAttribute("label", t); + retVal = true; + } + } + + return retVal; +} + + diff --git a/browser/base/resources/content/browser.xul b/browser/base/resources/content/browser.xul index cf20bbf5e168..daaaf6bcf637 100644 --- a/browser/base/resources/content/browser.xul +++ b/browser/base/resources/content/browser.xul @@ -71,7 +71,6 @@ Contributor(s): ______________________________________. -->