--- a/intl/locale/src/langGroups.properties
+++ b/intl/locale/src/langGroups.properties
@@ -40,17 +40,17 @@
# ***** END LICENSE BLOCK *****
#
# References: http://www.omniglot.com/writing/atoz.htm
# http://www.loc.gov/standards/iso639-2/englangn.html
# http://www.ethnologue.com
# http://www.worldlanguage.com/Languages/
# http://www.rosettaproject.org/
# http://www.sweb.cz/ls78/diacritics.htm
-# see also xpfe/global/resources/locale/en-US/languageNames.properties
+# see also toolkit/locales/en-US/chrome/global/languageNames.properties
# and bug 178491
#
#ab=x-cyrillic
# Strictly speaking, Avestan did not use Arabic script but Aramaic
# (arc)/Avestan script.)
#ae=ar
af=x-western
--- a/layout/xul/base/src/nsTextBoxFrame.cpp
+++ b/layout/xul/base/src/nsTextBoxFrame.cpp
@@ -775,18 +775,16 @@ nsTextBoxFrame::CalculateTitleForWidth(n
void
nsTextBoxFrame::UpdateAccessTitle()
{
/*
* Note that if you change appending access key label spec,
* you need to maintain same logic in following methods. See bug 324159.
* toolkit/content/commonDialog.js (setLabelForNode)
* toolkit/content/widgets/text.xml (formatAccessKey)
- * xpfe/global/resources/content/commonDialog.js (setLabelForNode)
- * xpfe/global/resources/content/bindings/text.xml (formatAccessKey)
*/
PRInt32 menuAccessKey;
nsMenuBarListener::GetMenuAccessKey(&menuAccessKey);
if (!menuAccessKey || mAccessKey.IsEmpty())
return;
if (!AlwaysAppendAccessKey() &&
FindInReadable(mAccessKey, mTitle, nsCaseInsensitiveStringComparator()))
--- a/toolkit/toolkit-makefiles.sh
+++ b/toolkit/toolkit-makefiles.sh
@@ -601,29 +601,16 @@ MAKEFILES_xpfe="
xpfe/components/build/Makefile
xpfe/components/xremote/Makefile
xpfe/components/xremote/public/Makefile
xpfe/components/xremote/src/Makefile
xpfe/appshell/Makefile
xpfe/appshell/src/Makefile
xpfe/appshell/public/Makefile
xpfe/bootstrap/appleevents/Makefile
- xpfe/global/Makefile
- xpfe/global/buildconfig.html
- xpfe/global/resources/Makefile
- xpfe/global/resources/content/Makefile
- xpfe/global/resources/content/os2/Makefile
- xpfe/global/resources/content/unix/Makefile
- xpfe/global/resources/locale/Makefile
- xpfe/global/resources/locale/en-US/Makefile
- xpfe/global/resources/locale/en-US/mac/Makefile
- xpfe/global/resources/locale/en-US/os2/Makefile
- xpfe/global/resources/locale/en-US/unix/Makefile
- xpfe/global/resources/locale/en-US/win/Makefile
- xpfe/communicator/Makefile
extensions/spellcheck/Makefile
extensions/spellcheck/hunspell/Makefile
extensions/spellcheck/idl/Makefile
extensions/spellcheck/locales/Makefile
extensions/spellcheck/src/Makefile
"
MAKEFILES_embedding="
--- a/tools/relic/relic
+++ b/tools/relic/relic
@@ -183,17 +183,16 @@ log = logging.getLogger("relic")
"LICENSE",
"js2/COPYING",
"security/svrcore/LICENSE",
"extensions/xmlterm/doc/MPL",
"gfx/cairo/cairo/COPYING-LGPL-2.1",
"gfx/cairo/cairo/COPYING-MPL-1.1",
# Files containing global licensing information
- "xpfe/global/resources/content/license.html",
"toolkit/content/license.html",
# Ben Bucksch - files are tri-licensed with an extra clause.
"netwerk/streamconv/converters/mozTXTToHTMLConv.cpp",
"netwerk/streamconv/converters/mozTXTToHTMLConv.h",
"netwerk/streamconv/public/mozITXTToHTMLConv.idl",
# GPLed build tools
--- a/xpfe/Makefile.in
+++ b/xpfe/Makefile.in
@@ -45,20 +45,16 @@ include $(DEPTH)/config/autoconf.mk
MODULE = browser
PACKAGE_FILE = xpfe.pkg
PACKAGE_VARS = USE_SHORT_LIBNAME
ifndef MOZ_SUNBIRD
DIRS += browser
endif
-ifndef MOZ_XUL_APP
-DIRS += global communicator
-endif
-
# Because of our great use of encapsulation, there are
# some header file in xpfe/components that are required
# by layout and the dom. This MOZ_XPFE_COMPONENTS, if
# unset, allows us to only export - not build - this
# stuff.
ifdef MOZ_XPFE_COMPONENTS
DIRS += components
endif
deleted file mode 100644
--- a/xpfe/communicator/Makefile.in
+++ /dev/null
@@ -1,47 +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 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):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either of 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 *****
-
-DEPTH = ../..
-topsrcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-DEFINES += -DMOZ_APP_VERSION=$(MOZ_APP_VERSION)
-
-include $(topsrcdir)/config/rules.mk
deleted file mode 100644
--- a/xpfe/communicator/jar.mn
+++ /dev/null
@@ -1,52 +0,0 @@
-comm.jar:
-#ifdef MOZ_XUL_APP
-% content communicator-platform %content/communicator-platform/ platform xpcnativewrappers=yes
-% content communicator-region %content/communicator-region/ xpcnativewrappers=yes
-% content communicator %content/communicator/ xpcnativewrappers=yes
-#else
-* content/communicator-platform/contents.rdf (resources/content/contents-platform.rdf)
-* content/communicator-region/contents.rdf (resources/content/contents-region.rdf)
-* content/communicator/contents.rdf (resources/content/contents.rdf)
-#endif
- content/communicator/communicator.css (resources/content/communicator.css)
- content/communicator/utilityOverlay.xul (resources/content/utilityOverlay.xul)
- content/communicator/utilityOverlay.js (resources/content/utilityOverlay.js)
- content/communicator/openLocation.js (resources/content/openLocation.js)
- content/communicator/openLocation.xul (resources/content/openLocation.xul)
- content/communicator/tasksOverlay.js (resources/content/tasksOverlay.js)
- content/communicator/tasksOverlay.xul (resources/content/tasksOverlay.xul)
- content/communicator/editorBindings.xul (resources/content/editorBindings.xul)
-#ifdef XP_MACOSX
- content/communicator/platformBrowserBindings.xul (resources/content/mac/platformBrowserBindings.xul)
- content/communicator/platformEditorBindings.xul (resources/content/mac/platformEditorBindings.xul)
- content/communicator/platformCommunicatorOverlay.xul (resources/content/mac/platformCommunicatorOverlay.xul)
-#else
-#ifdef XP_WIN32
- content/communicator/platformBrowserBindings.xul (resources/content/win/platformBrowserBindings.xul)
- content/communicator/platformEditorBindings.xul (resources/content/win/platformEditorBindings.xul)
- content/communicator/platformCommunicatorOverlay.xul (resources/content/win/platformCommunicatorOverlay.xul)
-#else
-#ifdef XP_OS2
- content/communicator/platformBrowserBindings.xul (resources/content/win/platformBrowserBindings.xul)
- content/communicator/platformEditorBindings.xul (resources/content/win/platformEditorBindings.xul)
- content/communicator/platformCommunicatorOverlay.xul (resources/content/win/platformCommunicatorOverlay.xul)
-#else
- content/communicator/platformBrowserBindings.xul (resources/content/unix/platformBrowserBindings.xul)
- content/communicator/platformEditorBindings.xul (resources/content/unix/platformEditorBindings.xul)
- content/communicator/platformCommunicatorOverlay.xul (resources/content/unix/platformCommunicatorOverlay.xul)
-#endif
-#endif
-#endif
- content/communicator/builtinURLs.js (resources/content/builtinURLs.js)
- content/communicator/contentAreaUtils.js (resources/content/contentAreaUtils.js)
- content/communicator/contentAreaDD.js (resources/content/contentAreaDD.js)
- content/communicator/contentAreaClick.js (resources/content/contentAreaClick.js)
- content/communicator/contentAreaContextOverlay.xul (resources/content/contentAreaContextOverlay.xul)
- content/communicator/nsContextMenu.js (resources/content/nsContextMenu.js)
- content/communicator/viewZoomOverlay.xul (resources/content/viewZoomOverlay.xul)
- content/communicator/viewZoomOverlay.js (resources/content/viewZoomOverlay.js)
- content/communicator/askViewZoom.xul (resources/content/askViewZoom.xul)
- content/communicator/askViewZoom.js (resources/content/askViewZoom.js)
- content/communicator/findUtils.js (resources/content/findUtils.js)
- content/communicator/printPreviewBindings.xml (resources/content/printPreviewBindings.xml)
- content/communicator/printing.js (resources/content/printing.js)
deleted file mode 100644
--- a/xpfe/communicator/resources/content/aboutPopups.xul
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.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 mozilla.org code.
- -
- - The Initial Developer of the Original Code is
- - Netscape Communications Corporation.
- - Portions created by the Initial Developer are Copyright (C) 2002
- - the Initial Developer. All Rights Reserved.
- -
- - 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 LGPL or the GPL. 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 ***** -->
-
-<?xml-stylesheet href="chrome://communicator/skin/" type="text/css"?>
-<?xml-stylesheet href="chrome://navigator/skin/navigator.css" type="text/css"?>
-
-<!DOCTYPE dialog [
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
- %brandDTD;
- <!ENTITY % aboutPopupsDTD SYSTEM "chrome://communicator/locale/aboutPopups.dtd" >
- %aboutPopupsDTD;
-]>
-
-<dialog id="aboutPopups"
- buttonpack="center"
- buttons="accept,cancel,help"
- buttonlabelaccept="&acceptButton.label;"
- buttonlabelcancel="&cancelButton.label;"
- title="&windowtitle.label;"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- style="width: 30em;"
- onload="init();"
- ondialogaccept="return onAccept();"
- ondialoghelp="return doHelpButton();">
-
- <script type="application/x-javascript" src="chrome://help/content/contextHelp.js"/>
- <script type="application/x-javascript" src="chrome://communicator/content/utilityOverlay.js"/>
-
- <script type="application/x-javascript">
- <![CDATA[
-
- var enableBlock = true;
-
- function init() {
- if (!window.arguments[0])
- document.getElementById("popupDesc").hidden = true;
- else
- document.getElementById("popupDescAlt").hidden = true;
- }
-
- function onAccept() {
- var pref;
- try {
- var prefService = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefService);
- pref = prefService.getBranch(null);
- }
- catch(ex) { }
-
- goPreferences("securityItem", "chrome://cookie/content/pref-popups.xul", "popupspref");
- }
-
- function doHelpButton() {
- openHelp("pop_up_blocking");
- return true;
- }
-
- ]]>
- </script>
-
- <description id="popupDesc">&popupDesc.label;</description>
- <description id="popupDescAlt">&popupDescAlt.label;</description>
- <vbox align="center">
- <image id="popupImage"/>
- </vbox>
- <description>&popupNote1.label;</description>
- <separator class="thin"/>
- <description>&popupNote2.label;</description>
-</dialog>
deleted file mode 100644
--- a/xpfe/communicator/resources/content/askViewZoom.js
+++ /dev/null
@@ -1,77 +0,0 @@
-/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-
- * ***** 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 this file as it was released upon September 7, 2000.
- *
- * The Initial Developer of the Original Code is
- * Peter Annema.
- * Portions created by the Initial Developer are Copyright (C) 2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Peter Annema <disttsc@bart.nl> (Original Author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of 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 ***** */
-
-var dialog;
-var args;
-
-function onLoad() {
- args = window.arguments[0];
- args.zoomOK = false;
-
- dialog = {};
- dialog.OKButton = document.documentElement.getButton("accept");
-
- dialog.input = document.getElementById("zoomValue");
- dialog.input.value = args.value;
- dialog.input.select();
- dialog.input.focus();
-
- moveToAlertPosition();
- doEnabling();
-}
-
-function onAccept() {
- var zoom = parseFloat(dialog.input.value);
- if (!isNaN(zoom) && zoom >= args.zoomMin && zoom <= args.zoomMax) {
- args.value = zoom;
- args.zoomOK = true;
- }
- return args.zoomOK;
-}
-
-function doEnabling() {
- var enable = false;
- if (dialog.input.value) {
- var zoom = parseFloat(dialog.input.value);
- if (!isNaN(zoom) && zoom >= args.zoomMin && zoom <= args.zoomMax)
- enable = true;
- }
-
- dialog.OKButton.disabled = !enable;
-}
deleted file mode 100644
--- a/xpfe/communicator/resources/content/askViewZoom.xul
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.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 this file as it was released on September 7, 2000.
- -
- - The Initial Developer of the Original Code is
- - Peter Annema.
- - Portions created by the Initial Developer are Copyright (C) 2000
- - the Initial Developer. All Rights Reserved.
- -
- - Contributor(s):
- - Peter Annema <disttsc@bart.nl> (Original Author)
- -
- - Alternatively, the contents of this file may be used under the terms of
- - either of 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 ***** -->
-
-<?xml-stylesheet href="chrome://navigator/skin/navigator.css" type="text/css"?>
-
-<!DOCTYPE dialog SYSTEM "chrome://communicator/locale/askViewZoom.dtd">
-
-<dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- id="askViewZoom"
- title="&askViewZoom.title;"
- ondialogaccept="return onAccept();"
- onload="onLoad();">
-
- <script type="application/x-javascript" src="chrome://communicator/content/askViewZoom.js"/>
-
- <hbox>
- <label value="&selectZoom.label;"/>
- </hbox>
-
- <hbox>
- <textbox id="zoomValue" oninput="doEnabling();"/>
- </hbox>
-
-</dialog>
deleted file mode 100644
--- a/xpfe/communicator/resources/content/browserBindings.xul
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?>
-<?xul-overlay href="chrome://communicator/content/platformCommunicatorOverlay.xul"?>
-
-<window id="browserBindings"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-</window>
deleted file mode 100644
--- a/xpfe/communicator/resources/content/builtinURLs.js
+++ /dev/null
@@ -1,167 +0,0 @@
-// the rdf service
-var gRDFService;
-var gTitleArc;
-var gContentArc;
-var gBuiltinUrlsDataSource;
-var gDataSourceState;
-var gDataSourceLoaded;
-var gSinkObserverRegistered;
-
-var SinkObserver =
-{
- onBeginLoad: function( aSink) {
- gDataSourceState = (gDataSourceState | 1);
- debug_dump("\n-> SinkObserver:onBeginLoad: " + aSink + ", gDataSourceState=" + gDataSourceState + "\n");
- },
-
- onInterrupt: function( aSink) {
- gDataSourceState = (gDataSourceState | 2);
- debug_dump("\n-> SinkObserver:onInterrupt: " + aSink + ", gDataSourceState=" + gDataSourceState + "\n");
- },
-
- onResume: function( aSink) {
- gDataSourceState = (gDataSourceState & ~2);
- debug_dump("\n-> SinkObserver:onResume: " + aSink + ", gDataSourceState=" + gDataSourceState + "\n");
- },
-
- onEndLoad: function( aSink) {
- gDataSourceState = (gDataSourceState | 4);
- gDataSourceLoaded = (gDataSourceState == 5);
-
- debug_dump("\n-> onEndLoad: " + aSink + ", gDataSourceState=" + gDataSourceState + ", gDataSourceLoaded=" + gDataSourceLoaded + "\n");
-
- if (!gDataSourceLoaded) {
- debug_dump("\n-> builtin URLs not loaded!\n");
- return;
- }
-
- gBuiltinUrlsDataSource = aSink.QueryInterface(Components.interfaces.nsIRDFDataSource);
-
- debug_dump("Got gBuiltinUrlsDataSource " + gBuiltinUrlsDataSource + " with gTitleArc " + gTitleArc + " and gContentArc " + gContentArc + "\n");
- },
-
- onError: function( aSink, aStatus, aErrMsg) {
- gDataSourceState = (gDataSourceState | 8);
- debug_dump("\n-> SinkObserver:onError: " + aSink + ", status=" + aStatus +
- ", errMsg=" + aErrMsg + ", gDataSourceState=" + gDataSourceState + "\n");
- }
-};
-
-function debug_dump(msg)
-{
-}
-
-/*
-function debug_dump(msg)
-{
- dump(msg);
-}
-*/
-
-function loadDS()
-{
- debug_dump("\n-->loadDS() called for " + window.document + " <--\n");
- if (gBuiltinUrlsDataSource && gDataSourceLoaded) {
- debug_dump("\n-->loadDS(): gBuiltinUrlsDataSource=" + gBuiltinUrlsDataSource + ", gDataSourceLoaded=" + gDataSourceLoaded + ", returning! <--\n");
- return;
- }
-
- if (gSinkObserverRegistered)
- {
- debug_dump("Already registered SinkObserver in loadDS()\n");
- return;
- }
-
- // initialize
- gRDFService = Components.classes['@mozilla.org/rdf/rdf-service;1'].getService();
- gRDFService = gRDFService.QueryInterface(Components.interfaces.nsIRDFService);
-
- if (!gRDFService) {
- debug_dump("\n-->loadDS(): gRDFService service is null!\n");
- return;
- }
-
- gTitleArc = gRDFService.GetResource("http://home.netscape.com/NC-rdf#title");
- gContentArc = gRDFService.GetResource("http://home.netscape.com/NC-rdf#content");
-
- var ds_uri = "chrome://global-region/locale/builtinURLs.rdf";
- var url_ds = gRDFService.GetDataSource(ds_uri); // return nsIRDFDataSource
- if (!url_ds) {
- debug_dump("\n >>Can't get " + ds_uri + "<-\n");
- return;
- }
-
- if (url_ds.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource).loaded)
- {
- ds_uri = "chrome://global-region/locale/builtinURLs.rdf";
- gBuiltinUrlsDataSource = gRDFService.GetDataSource(ds_uri); // return nsIRDFDataSource
- gDataSourceLoaded = (gBuiltinUrlsDataSource != null);
- }
- else
- {
- var rdfXMLSink = url_ds.QueryInterface( Components.interfaces.nsIRDFXMLSink );
- if (rdfXMLSink) {
- gBuiltinUrlsDataSource = null;
- gDataSourceState = 0x0; // init.
- gDataSourceLoaded = false;
- gSinkObserverRegistered = true;
-
- rdfXMLSink.addXMLSinkObserver(SinkObserver);
- }
- else
- {
- debug_dump("rdfXMLSink is null\n");
- }
- }
-}
-
-function xlateURL(key)
-{
- debug_dump("\n>> xlateURL(" + key + "): gBuiltinUrlsDataSource=" + gBuiltinUrlsDataSource + ", gDataSourceLoaded=" + gDataSourceLoaded + "\n");
-
- if (!gBuiltinUrlsDataSource || !gDataSourceLoaded) {
- throw("urn translation data source not loaded");
- }
- // get data
- var srcNode = gRDFService.GetResource(key);
- var titleTarget = gBuiltinUrlsDataSource.GetTarget(srcNode, gTitleArc, true);
- if (titleTarget) {
- titleTarget =
- titleTarget.QueryInterface(Components.interfaces.nsIRDFLiteral);
- debug_dump("\n-> " + key + "::title=" + titleTarget.Value);
- }
- else {
- debug_dump("\n title target=" + titleTarget + "\n");
- }
-
- var contentTarget = gBuiltinUrlsDataSource.GetTarget(srcNode, gContentArc, true);
- if (contentTarget) {
- contentTarget =
- contentTarget.QueryInterface(Components.interfaces.nsIRDFLiteral);
- debug_dump("\n-> " + key + "::content=" + contentTarget.Value + "\n");
- return contentTarget.Value;
- }
- else {
- debug_dump("\n content target=" + contentTarget + "\n");
- throw("urn not found in datasource");
- }
-
- // not reached
- return "";
-}
-
-function loadXURL(key)
-{
- debug_dump("loadXURL call with " + key + "\n");
-
- var url = xlateURL(key);
- //check to see if this is a browser window before opening.
- var winType = document.documentElement.getAttribute("windowtype");
-
- if (window.content && winType == "navigator:browser")
- window.content.location.href = url;
- else
- window.open(url); // on mac, there maybe no open windows: see bug 83329
-}
-
-loadDS();
deleted file mode 100644
--- a/xpfe/communicator/resources/content/communicator.css
+++ /dev/null
@@ -1,84 +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 mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 2002
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Samir Gehani <sgehani@netscape.com>
- * Karsten Düsterloh <mnyromyr@tprac.de>
- *
- * 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 ***** */
-
-@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
-
-/* ::::: print preview toolbar ::::: */
-
-toolbar[printpreview="true"] {
- -moz-binding: url("chrome://communicator/content/printPreviewBindings.xml#printpreviewtoolbar");
-}
-
-
-/* With the move to the new toolkit, SeaMonkey needs to overwrite certain bindings
- * if it wants to keep its distinctive likeness. The now hidden new toolkit bindings
- * will stay accessible via a set xpfe="false" attribute, though, where necessary.
- */
-
-/******* toolkit access layer *******/
-/* These rules' content needs to be a verbatim copy of those in toolkit's xul.css! */
-toolbox[xpfe="false"] {
- -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbox");
- -moz-box-orient: vertical;
-}
-
-toolbar[xpfe="false"] {
- -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbar");
-}
-
-menubar[xpfe="false"] {
- -moz-binding: url("chrome://global/content/bindings/toolbar.xml#menubar");
-}
-
-/******* SeaMonkey XPFE *******/
-/* These bindings reflect SeaMonkey XPFE, modulo new toolkit features. */
-toolbox {
- -moz-binding: url("chrome://communicator/content/bindings/toolbar.xml#grippytoolbox");
-}
-
-toolbar {
- -moz-binding: url("chrome://communicator/content/bindings/toolbar.xml#grippytoolbar");
-}
-
-toolbargrippy {
- -moz-binding: url("chrome://communicator/content/bindings/toolbar.xml#toolbargrippy");
-}
-
-menubar {
- -moz-binding: url("chrome://communicator/content/bindings/toolbar.xml#grippymenubar");
-}
\ No newline at end of file
deleted file mode 100644
--- a/xpfe/communicator/resources/content/contentAreaClick.js
+++ /dev/null
@@ -1,436 +0,0 @@
-/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** 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 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):
- * Alec Flett <alecf@netscape.com>
- * Ben Goodger <ben@netscape.com>
- * Mike Pinkerton <pinkerton@netscape.com>
- * Blake Ross <blakeross@telocity.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of 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 ***** */
-
-/*
- * - [ Dependencies ] ---------------------------------------------------------
- * utilityOverlay.js:
- * - gatherTextUnder
- * - startScrolling
- */
-
- var pref = null;
- pref = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefBranch);
-
- // Prefill a single text field
- function prefillTextBox(target) {
- // obtain values to be used for prefilling
- var walletService = Components.classes["@mozilla.org/wallet/wallet-service;1"].getService(Components.interfaces.nsIWalletService);
- var value = walletService.WALLET_PrefillOneElement(window.content, target);
- if (value) {
-
- // result is a linear sequence of values, each preceded by a separator character
- // convert linear sequence of values into an array of values
- var separator = value[0];
- var valueList = value.substring(1, value.length).split(separator);
-
- target.value = valueList[0];
-/*
- * Following code is a replacement for above line. In the case of multiple values, it
- * presents the user with a dialog containing a list from which he can select the value
- * he wants. However it is being commented out for now because of several problems, namely
- *
- * 1. There is no easy way to put localizable strings for the title and message of
- * the dialog without introducing a .properties file which currently doesn't exist
- * 2. Using blank title and messages as shown below have a problem because a zero-length
- * title is being displayed as some garbage characters (which is why the code below
- * has a title of " " instead of ""). This is a separate bug which will have to be
- * investigated further.
- * 3. The current wallet tables present alternate values for items such as shipping
- * address -- namely billing address and home address. Up until now, these alternate
- * values have never been a problem because the preferred value is always first and is
- * all the user sees when doing a prefill. However now he will be presented with a
- * list showing all these values and asking him to pick one, even though the wallet
- * code was clearly able to determine that he meant shipping address and not billing
- * address.
- * 4. There is a relatively long delay before the dialog come up whereas values are
- * filled in quickly when no dialog is involved.
- *
- * Once this feature is checked in, a separate bug will be opened asking that the above
- * problems be examined and this dialog turned on
-
- if (valueList.length == 1) {
- // only one value, use it for prefilling
- target.value = valueList[0];
- } else {
-
- // more than one value, have user select the one he wants
- var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService();
- promptService = promptService.QueryInterface(Components.interfaces.nsIPromptService);
- var position = {};
- var title = " ";
- var message = "";
- var ok =
- promptService.select
- (window, title, message, valueList.length, valueList, position)
- if (ok) {
- target.value = valueList[position.value];
- }
- }
-
- * End of commented out code
- */
- }
- }
-
- function hrefAndLinkNodeForClickEvent(event)
- {
- var target = event.target;
- var href = "";
- var linkNode = null;
-
- var isKeyPress = (event.type == "keypress");
-
- if ( target instanceof HTMLAnchorElement ||
- target instanceof HTMLAreaElement ||
- target instanceof HTMLLinkElement ) {
- if (target.hasAttribute("href"))
- linkNode = target;
- }
- else if ( target instanceof HTMLInputElement
- && (event.target.type == "text") // text field
- && !isKeyPress // not a key event
- && event.detail == 2 // double click
- && event.button == 0 // left mouse button
- && event.target.value.length == 0 // no text has been entered
- && "@mozilla.org/wallet/wallet-service;1" in Components.classes // wallet is available
- ) {
- prefillTextBox(target); // prefill the empty text field if possible
- }
- else {
- linkNode = event.originalTarget;
- while (linkNode && !(linkNode instanceof HTMLAnchorElement))
- linkNode = linkNode.parentNode;
- // <a> cannot be nested. So if we find an anchor without an
- // href, there is no useful <a> around the target
- if (linkNode && !linkNode.hasAttribute("href"))
- linkNode = null;
- }
-
- if (linkNode) {
- href = linkNode.href;
- } else {
- // Try simple XLink
- linkNode = target;
- while (linkNode) {
- if (linkNode.nodeType == Node.ELEMENT_NODE) {
- href = linkNode.getAttributeNS("http://www.w3.org/1999/xlink", "href");
- break;
- }
- linkNode = linkNode.parentNode;
- }
- if (href) {
- href = makeURLAbsolute(linkNode.baseURI, href);
- }
- }
-
- return href ? {href: href, linkNode: linkNode} : null;
- }
-
- // Called whenever the user clicks in the content area,
- // except when left-clicking on links (special case)
- // should always return true for click to go through
- function contentAreaClick(event)
- {
- if (!event.isTrusted || event.getPreventDefault()) {
- return true;
- }
-
- var isKeyPress = (event.type == "keypress");
- var ceParams = hrefAndLinkNodeForClickEvent(event);
- if (ceParams) {
- var href = ceParams.href;
- if (isKeyPress) {
- openNewTabWith(href, true, event.shiftKey);
- event.stopPropagation();
- }
- else {
- handleLinkClick(event, href, ceParams.linkNode);
- // if in mailnews block the link left click if we determine
- // that this URL is phishy (i.e. a potential email scam)
- if ("gMessengerBundle" in this && !event.button)
- return !isPhishingURL(ceParams.linkNode, false, href);
- }
- return true;
- }
-
- if (pref && !isKeyPress && event.button == 1 &&
- pref.getBoolPref("middlemouse.contentLoadURL")) {
- if (middleMousePaste(event)) {
- event.stopPropagation();
- }
- }
- return true;
- }
-
- function contentAreaMouseDown(event)
- {
- if (event.button == 1 && (event.target != event.currentTarget)
- && !hrefAndLinkNodeForClickEvent(event)
- && !isAutoscrollBlocker(event.originalTarget)) {
- startScrolling(event);
- return false;
- }
- return true;
- }
-
- function isAutoscrollBlocker(node)
- {
- if (!pref)
- return false;
-
- if (pref.getBoolPref("middlemouse.contentLoadURL"))
- return true;
-
- if (!pref.getBoolPref("middlemouse.paste"))
- return false;
-
- if (node.ownerDocument.designMode == "on")
- return true;
-
- while (node) {
- if (node instanceof HTMLTextAreaElement ||
- (node instanceof HTMLInputElement &&
- (node.type == "text" || node.type == "password")))
- return true;
-
- node = node.parentNode;
- }
- return false;
- }
-
- function openNewTabOrWindow(event, href, sendReferrer)
- {
- // should we open it in a new tab?
- if (pref && pref.getBoolPref("browser.tabs.opentabfor.middleclick")) {
- openNewTabWith(href, sendReferrer, event.shiftKey);
- event.stopPropagation();
- return true;
- }
-
- // should we open it in a new window?
- if (pref && pref.getBoolPref("middlemouse.openNewWindow")) {
- openNewWindowWith(href, sendReferrer);
- event.stopPropagation();
- return true;
- }
-
- // let someone else deal with it
- return false;
- }
-
- function handleLinkClick(event, href, linkNode)
- {
- // Make sure we are allowed to open this URL
- urlSecurityCheck(href, document);
-
- switch (event.button) {
- case 0: // if left button clicked
- if (event.metaKey || event.ctrlKey) { // and meta or ctrl are down
- if (openNewTabOrWindow(event, href, true))
- return true;
- }
- var saveModifier = true;
- if (pref) {
- try {
- saveModifier = pref.getBoolPref("ui.key.saveLink.shift");
- }
- catch(ex) {
- }
- }
- saveModifier = saveModifier ? event.shiftKey : event.altKey;
-
- if (saveModifier) { // if saveModifier is down
- saveURL(href, linkNode ? gatherTextUnder(linkNode) : "",
- "SaveLinkTitle", false, getReferrer(document));
- return true;
- }
- if (event.altKey) // if alt is down
- return true; // do nothing
- return false;
- case 1: // if middle button clicked
- if (openNewTabOrWindow(event, href, true))
- return true;
- break;
- }
- return false;
- }
-
- function middleMousePaste( event )
- {
- var url = readFromClipboard();
- if (!url)
- return false;
- addToUrlbarHistory(url);
- url = getShortcutOrURI(url);
-
- // On ctrl-middleclick, open in new window or tab. Do not send referrer.
- if (event.ctrlKey) {
- // fix up our pasted URI in case it is malformed.
- const nsIURIFixup = Components.interfaces.nsIURIFixup;
- if (!gURIFixup)
- gURIFixup = Components.classes["@mozilla.org/docshell/urifixup;1"]
- .getService(nsIURIFixup);
-
- url = gURIFixup.createFixupURI(url, nsIURIFixup.FIXUP_FLAGS_MAKE_ALTERNATE_URI).spec;
-
- return openNewTabOrWindow(event, url, false);
- }
-
- // If ctrl wasn't down, then just load the url in the targeted win/tab.
- var browser = getBrowser();
- var tab = event.originalTarget;
- if (tab.localName == "tab" &&
- tab.parentNode == browser.mTabContainer) {
- tab.linkedBrowser.userTypedValue = url;
- if (tab == browser.mCurrentTab && url != "about:blank") {
- gURLBar.value = url;
- }
- tab.linkedBrowser.loadURI(url);
- if (event.shiftKey != (pref && pref.getBoolPref("browser.tabs.loadInBackground")))
- browser.selectedTab = tab;
- }
- else if (event.target == browser) {
- tab = browser.addTab(url);
- if (event.shiftKey != (pref && pref.getBoolPref("browser.tabs.loadInBackground")))
- browser.selectedTab = tab;
- }
- else {
- if (url != "about:blank") {
- gURLBar.value = url;
- }
- loadURI(url);
- }
-
- event.stopPropagation();
- return true;
- }
-
- function addToUrlbarHistory(aUrlToAdd)
- {
- // Remove leading and trailing spaces first
- aUrlToAdd = aUrlToAdd.replace(/^\s+/, '').replace(/\s+$/, '');
-
- if (!aUrlToAdd)
- return;
- if (aUrlToAdd.search(/[\x00-\x1F]/) != -1) // don't store bad URLs
- return;
-
- if (!gRDF)
- gRDF = Components.classes["@mozilla.org/rdf/rdf-service;1"]
- .getService(Components.interfaces.nsIRDFService);
-
- if (!gGlobalHistory)
- gGlobalHistory = Components.classes["@mozilla.org/browser/global-history;2"]
- .getService(Components.interfaces.nsIBrowserHistory);
-
- if (!gURIFixup)
- gURIFixup = Components.classes["@mozilla.org/docshell/urifixup;1"]
- .getService(Components.interfaces.nsIURIFixup);
- if (!gLocalStore)
- gLocalStore = gRDF.GetDataSource("rdf:local-store");
-
- if (!gRDFC)
- gRDFC = Components.classes["@mozilla.org/rdf/container-utils;1"]
- .getService(Components.interfaces.nsIRDFContainerUtils);
-
- var entries = gRDFC.MakeSeq(gLocalStore, gRDF.GetResource("nc:urlbar-history"));
- if (!entries)
- return;
- var elements = entries.GetElements();
- if (!elements)
- return;
- var index = 0;
-
- var urlToCompare = aUrlToAdd.toUpperCase();
- while(elements.hasMoreElements()) {
- var entry = elements.getNext();
- if (!entry) continue;
-
- index ++;
- try {
- entry = entry.QueryInterface(Components.interfaces.nsIRDFLiteral);
- } catch(ex) {
- // XXXbar not an nsIRDFLiteral for some reason. see 90337.
- continue;
- }
-
- if (urlToCompare == entry.Value.toUpperCase()) {
- // URL already present in the database
- // Remove it from its current position.
- // It is inserted to the top after the while loop.
- entries.RemoveElementAt(index, true);
- break;
- }
- } // while
-
- // Otherwise, we've got a new URL in town. Add it!
-
- try {
- var url = getShortcutOrURI(aUrlToAdd);
- var fixedUpURI = gURIFixup.createFixupURI(url, 0);
- if (!fixedUpURI.schemeIs("data"))
- gGlobalHistory.markPageAsTyped(fixedUpURI);
- }
- catch(ex) {
- }
-
- // Put the value as it was typed by the user in to RDF
- // Insert it to the beginning of the list.
- var entryToAdd = gRDF.GetLiteral(aUrlToAdd);
- entries.InsertElementAt(entryToAdd, 1, true);
-
- // Remove any expired history items so that we don't let
- // this grow without bound.
- for (index = entries.GetCount(); index > MAX_URLBAR_HISTORY_ITEMS; --index) {
- entries.RemoveElementAt(index, true);
- } // for
- }
-
- function makeURLAbsolute(base, url)
- {
- // Construct nsIURL.
- var ioService = Components.classes["@mozilla.org/network/io-service;1"]
- .getService(Components.interfaces.nsIIOService);
- var baseURI = ioService.newURI(base, null, null);
-
- return ioService.newURI(baseURI.resolve(url), null, null).spec;
- }
deleted file mode 100644
--- a/xpfe/communicator/resources/content/contentAreaContextOverlay.xul
+++ /dev/null
@@ -1,265 +0,0 @@
-<?xml version="1.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 Mozilla Communicator client code, released
- - March 31, 1998.
- -
- - The Initial Developer of the Original Code is
- - Netscape Communications Corporation.
- - Portions created by the Initial Developer are Copyright (C) 1998-1999
- - the Initial Developer. All Rights Reserved.
- -
- - Contributor(s):
- - Blake Ross <blakeross@telocity.com>
- -
- - Alternatively, the contents of this file may be used under the terms of
- - either of 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 ***** -->
-<!DOCTYPE overlay SYSTEM "chrome://communicator/locale/contentAreaCommands.dtd" >
-<overlay id="contentAreaContextOverlay"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
- <!-- Context menu -->
- <!-- XXX: Replace strres.js when nsContextMenu.js is converted -->
- <script type="application/x-javascript" src="chrome://global/content/strres.js"/>
- <script type="application/x-javascript">
- // Global variable that holds the nsContextMenu instance.
- var gContextMenu = null;
-
- // Global variable that caches the default search engine info
- var gDefaultEngine = null;
- </script>
- <script type="application/x-javascript" src="chrome://communicator/content/nsContextMenu.js"/>
- <script type="application/x-javascript" src="chrome://communicator/content/contentAreaUtils.js"/>
-
- <popupset id="contentAreaContextSet">
- <!-- This is a generic context menu for a content area. It contains
- each and every possible menu choice. The appropriate items are
- hidden/shown upon display, based on what the user has clicked-on.
- -->
- <popup id="contentAreaContextMenu"
- onpopupshowing="if (event.target != this) return true; gContextMenu = new nsContextMenu( this ); return gContextMenu.shouldDisplay;"
- onpopuphiding="if (event.target == this) gContextMenu = null;">
- <menuitem id="popupwindow-reject"
- label="&popupWindowRejectCmd.label;"
- accesskey="&popupWindowRejectCmd.accesskey;"
- oncommand="gContextMenu.rejectPopupWindows(event.shiftKey);"/>
- <menuitem id="popupwindow-allow"
- label="&popupWindowAllowCmd.label;"
- accesskey="&popupWindowAllowCmd.accesskey;"
- oncommand="gContextMenu.allowPopupWindows();"/>
- <menuseparator id="context-sep-popup"/>
-
- <menuitem id="context-openlink"
- label="&openLinkCmd.label;"
- accesskey="&openLinkCmd.accesskey;"
- oncommand="gContextMenu.openLink();"/>
- <menuitem id="context-openlinkintab"
- label="&openLinkCmdInTab.label;"
- accesskey="&openLinkCmdInTab.accesskey;"
- oncommand="gContextMenu.openLinkInTab(event.shiftKey);"/>
- <menuseparator id="context-sep-open"/>
- <menuitem id="context-bookmarklink"
- label="&bookmarkLinkCmd.label;"
- accesskey="&bookmarkLinkCmd.accesskey;"
- oncommand="BookmarksUtils.addBookmark(gContextMenu.linkURL(),
- gContextMenu.linkText(),
- undefined, false);"/>
- <menuitem id="context-savelink"
- valueSaveAs="&saveLinkAsCmd.label;"
- valueSave="&saveLinkCmd.label;"
- accesskey="&saveLinkCmd.accesskey;"
- oncommand="gContextMenu.saveLink();"/>
- <menuitem id="context-copyemail"
- label="©EmailCmd.label;"
- accesskey="©EmailCmd.accesskey;"
- oncommand="gContextMenu.copyEmail();"/>
- <menuitem id="context-copylink"
- label="©LinkCmd.label;"
- accesskey="©LinkCmd.accesskey;"
- command="cmd_copyLink"/>
- <menuseparator id="context-sep-copylink"/>
- <menuitem id="context-fitimage"
- type="checkbox"
- label="&fitImageCmd.label;"
- accesskey="&fitImageCmd.accesskey;"
- oncommand="gContextMenu.toggleImageSize();"/>
- <menuitem id="context-reloadimage"
- label="&reloadImageCmd.label;"
- accesskey="&reloadImageCmd.accesskey;"
- oncommand="gContextMenu.reloadImage();"/>
- <menuitem id="context-viewimage"
- label="&viewImageCmd.label;"
- accesskey="&viewImageCmd.accesskey;"
- oncommand="gContextMenu.viewImage();"/>
- <menuitem id="context-copyimage"
- label="©ImageCmd.label;"
- accesskey="©ImageCmd.accesskey;"
- command="cmd_copyImage"/>
- <menuseparator id="context-sep-copyimage"/>
- <menuitem id="context-saveimage"
- valueSaveAs="&saveImageAsCmd.label;"
- valueSave="&saveImageCmd.label;"
- accesskey="&saveImageCmd.accesskey;"
- oncommand="gContextMenu.saveImage();"/>
- <menuitem id="context-setWallpaper"
- label="&setWallpaperCmd.label;"
- accesskey="&setWallpaperCmd.accesskey;"
- oncommand="gContextMenu.setWallpaper();"/>
- <menuseparator id="context-sep-image"/>
- <menuitem id="context-back"
- label="&goBackCmd.label;"
- accesskey="&goBackCmd.accesskey;"
- oncommand="BrowserBack()"/>
- <menuitem id="context-forward"
- label="&goForwardCmd.label;"
- accesskey="&goForwardCmd.accesskey;"
- oncommand="BrowserForward()"/>
- <menuitem id="context-reload"
- label="&reloadCmd.label;"
- accesskey="&reloadCmd.accesskey;"
- oncommand="BrowserReload();"/>
- <menuitem id="context-stop"
- label="&stopCmd.label;"
- accesskey="&stopCmd.accesskey;"
- disabled="true"
- oncommand="BrowserStop();"/>
- <menuseparator id="context-sep-stop"/>
- <menuitem id="context-bookmarkpage"
- label="&bookmarkPageCmd.label;"
- accesskey="&bookmarkPageCmd.accesskey;"
- oncommand="gContextMenu.addBookmark();"/>
- <menuitem id="context-savepage"
- valueSaveAs="&savePageAsCmd.label;"
- valueSave="&savePageCmd.label;"
- accesskey="&savePageCmd.accesskey;"
- oncommand="saveDocument(window.content.document);"/>
- <menuseparator id="context-sep-viewbgimage"/>
- <menuitem id="context-viewbgimage"
- label="&viewBGImageCmd.label;"
- accesskey="&viewBGImageCmd.accesskey;"
- oncommand="gContextMenu.viewBGImage();"/>
- <menuitem id="context-undo"
- label="&undoCmd.label;"
- accesskey="&undoCmd.accesskey;"
- command="cmd_undo"/>
- <menuitem id="context-redo"
- label="&redoCmd.label;"
- accesskey="&redoCmd.accesskey;"
- command="cmd_redo"/>
- <menuseparator id="context-sep-undo"/>
- <menuitem id="context-cut"
- label="&cutCmd.label;"
- accesskey="&cutCmd.accesskey;"
- command="cmd_cut"/>
- <menuitem id="context-copy"
- label="©Cmd.label;"
- accesskey="©Cmd.accesskey;"
- command="cmd_copy"/>
- <menuitem id="context-paste"
- label="&pasteCmd.label;"
- accesskey="&pasteCmd.accesskey;"
- command="cmd_paste"/>
- <menuitem id="context-delete"
- label="&deleteCmd.label;"
- accesskey="&deleteCmd.accesskey;"
- command="cmd_delete"/>
- <menuseparator id="context-sep-paste"/>
- <menuitem id="context-selectall"
- label="&selectAllCmd.label;"
- accesskey="&selectAllCmd.accesskey;"
- command="cmd_selectAll"/>
- <menuseparator id="context-sep-selectall"/>
- <menuitem id="context-searchselect"
- accesskey="&search.accesskey;"
- oncommand="OpenSearch('internet', gContextMenu.searchSelected(), true);"/>
- <menuseparator id="frame-sep"/>
- <menu id="frame" label="&thisFrameMenu.label;" accesskey="&thisFrameMenu.accesskey;">
- <menupopup id="frame_popup">
- <menuitem label="&showOnlyThisFrameCmd.label;"
- accesskey="&showOnlyThisFrameCmd.accesskey;"
- oncommand="gContextMenu.showOnlyThisFrame();"/>
- <menuitem label="&openFrameCmd.label;"
- accesskey="&openFrameCmd.accesskey;"
- oncommand="gContextMenu.openFrame();"/>
- <menuitem label="&openFrameCmdInTab.label;"
- accesskey="&openFrameCmdInTab.accesskey;"
- oncommand="gContextMenu.openFrameInTab(event.shiftKey);"/>
- <menuseparator/>
- <menuitem id="context-reload-frame"
- label="&reloadFrameCmd.label;"
- accesskey="&reloadFrameCmd.accesskey;"
- oncommand="gContextMenu.reloadFrame();"/>
- <menuseparator/>
- <menuitem label="&bookmarkFrameCmd.label;"
- accesskey="&bookmarkFrameCmd.accesskey;"
- oncommand="gContextMenu.addBookmarkForFrame();"/>
- <menuitem id="saveframeas"
- valueSaveAs="&saveFrameAsCmd.label;"
- valueSave="&saveFrameCmd.label;"
- accesskey="&saveFrameCmd.accesskey;"
- oncommand="saveDocument(gContextMenu.target.ownerDocument);"/>
- <menuseparator/>
- <menuitem label="&viewFrameSourceCmd.label;"
- accesskey="&viewFrameSourceCmd.accesskey;"
- oncommand="gContextMenu.viewFrameSource();"/>
- <menuitem label="&viewFrameInfoCmd.label;"
- accesskey="&viewFrameInfoCmd.accesskey;"
- oncommand="gContextMenu.viewFrameInfo();"/>
- </menupopup>
- </menu>
- <menuseparator id="context-sep-properties"/>
- <menuitem id="context-viewpartialsource-selection"
- label="&viewPartialSourceForSelectionCmd.label;"
- accesskey="&viewPartialSourceCmd.accesskey;"
- oncommand="gContextMenu.viewPartialSource('selection');"/>
- <menuitem id="context-viewpartialsource-mathml"
- label="&viewPartialSourceForMathMLCmd.label;"
- accesskey="&viewPartialSourceCmd.accesskey;"
- oncommand="gContextMenu.viewPartialSource('mathml');"/>
- <menuitem id="context-viewsource"
- label="&viewPageSourceCmd.label;"
- accesskey="&viewPageSourceCmd.accesskey;"
- observes="isImage"
- oncommand="BrowserViewSourceOfDocument(content.document);"/>
- <menuitem id="context-viewinfo"
- label="&viewPageInfoCmd.label;"
- accesskey="&viewPageInfoCmd.accesskey;"
- oncommand="gContextMenu.viewInfo();"/>
- <menuitem id="context-metadata"
- label="&metadataCmd.label;"
- accesskey="&metadataCmd.accesskey;"
- oncommand="gContextMenu.showMetadata();"/>
- <menuseparator hidden="true" id="context-sep-bidi"/>
- <menuitem hidden="true" id="context-bidi-text-direction-toggle"
- label="&bidiSwitchTextDirectionItem.label;"
- accesskey="&bidiSwitchTextDirectionItem.accesskey;"
- command="cmd_switchTextDirection"/>
- <menuitem hidden="true" id="context-bidi-page-direction-toggle"
- label="&bidiSwitchPageDirectionItem.label;"
- accesskey="&bidiSwitchPageDirectionItem.accesskey;"
- oncommand="SwitchDocumentDirection(window.content);"/>
- </popup>
- </popupset>
-</overlay>
deleted file mode 100644
--- a/xpfe/communicator/resources/content/contentAreaDD.js
+++ /dev/null
@@ -1,89 +0,0 @@
-/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** 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 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):
- * Alec Flett <alecf@netscape.com>
- * Ben Goodger <ben@netscape.com>
- * Mike Pinkerton <pinkerton@netscape.com>
- * Blake Ross <blakeross@telocity.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of 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 ***** */
-
-/*
- * Note that most of this routine has been moved into C++ in order to
- * be available for all <browser> tags as well as gecko embedding. See
- * mozilla/content/base/src/nsContentAreaDragDrop.cpp.
- *
- * Do not add any new fuctionality here other than what is needed for
- * a standalone product.
- */
-
-var contentAreaDNDObserver = {
- onDrop: function (aEvent, aXferData, aDragSession)
- {
- var url = transferUtils.retrieveURLFromData(aXferData.data, aXferData.flavour.contentType);
-
- // valid urls don't contain spaces ' '; if we have a space it
- // isn't a valid url, or if it's a javascript: or data: url,
- // bail out
- if (!url || !url.length || url.indexOf(" ", 0) != -1 ||
- /^\s*(javascript|data):/.test(url))
- return;
-
- switch (document.documentElement.getAttribute('windowtype')) {
- case "navigator:browser":
- // Perform a security check before loading the URI
- nsDragAndDrop.dragDropSecurityCheck(aEvent, aDragSession, url);
-
- loadURI(getShortcutOrURI(url));
- break;
- case "navigator:view-source":
- viewSource(url);
- break;
- }
-
- // keep the event from being handled by the dragDrop listeners
- // built-in to gecko if they happen to be above us.
- aEvent.preventDefault();
- },
-
- getSupportedFlavours: function ()
- {
- var flavourSet = new FlavourSet();
- flavourSet.appendFlavour("text/x-moz-url");
- flavourSet.appendFlavour("text/unicode");
- flavourSet.appendFlavour("application/x-moz-file", "nsIFile");
- return flavourSet;
- }
-
-};
deleted file mode 100644
--- a/xpfe/communicator/resources/content/contentAreaUtils.js
+++ /dev/null
@@ -1,989 +0,0 @@
-/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** 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 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):
- * Ben Goodger <ben@netscape.com> (Save File)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of 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 ***** */
-
-/**
- * Determine whether or not a given focused DOMWindow is in the content
- * area.
- **/
-function isContentFrame(aFocusedWindow)
-{
- if (!aFocusedWindow)
- return false;
-
- return (aFocusedWindow.top == window.content);
-}
-
-function urlSecurityCheck(url, doc)
-{
- // URL Loading Security Check
- var focusedWindow = doc.commandDispatcher.focusedWindow;
- var sourceURL = getContentFrameURI(focusedWindow);
- const nsIScriptSecurityManager = Components.interfaces.nsIScriptSecurityManager;
- var secMan = Components.classes["@mozilla.org/scriptsecuritymanager;1"]
- .getService(nsIScriptSecurityManager);
- try {
- secMan.checkLoadURIStr(sourceURL, url, nsIScriptSecurityManager.STANDARD);
- } catch (e) {
- throw "Load of " + url + " denied.";
- }
-}
-
-function getContentFrameURI(aFocusedWindow)
-{
- var contentFrame = isContentFrame(aFocusedWindow) ? aFocusedWindow : window.content;
- return contentFrame.location.href;
-}
-
-function getContentFrameDocument(aFocusedWindow)
-{
- var contentFrame = isContentFrame(aFocusedWindow) ?
- aFocusedWindow : window.content;
- return contentFrame.document;
-}
-
-function getReferrer(doc)
-{
- var focusedWindow = doc.commandDispatcher.focusedWindow;
- var sourceDocument = getContentFrameDocument(focusedWindow);
-
- try {
- return makeURI(sourceDocument.location.href, sourceDocument.characterSet);
- } catch (e) {
- return null;
- }
-}
-
-function openNewWindowWith(url, sendReferrer)
-{
- urlSecurityCheck(url, document);
-
- // if and only if the current window is a browser window and it has a document with a character
- // set, then extract the current charset menu setting from the current document and use it to
- // initialize the new browser window...
- var charsetArg = null;
- var wintype = document.documentElement.getAttribute('windowtype');
- if (wintype == "navigator:browser")
- charsetArg = "charset=" + window.content.document.characterSet;
-
- var referrer = sendReferrer ? getReferrer(document) : null;
- window.openDialog(getBrowserURL(), "_blank", "chrome,all,dialog=no", url, charsetArg, referrer);
-}
-
-function openTopBrowserWith(url)
-{
- urlSecurityCheck(url, document);
-
- var windowMediator = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);
- var browserWin = windowMediator.getMostRecentWindow("navigator:browser");
-
- // if there's an existing browser window, open this url in one
- if (browserWin) {
- browserWin.getBrowser().loadURI(url); // Just do a normal load.
- browserWin.content.focus();
- }
- else
- window.openDialog(getBrowserURL(), "_blank", "chrome,all,dialog=no", url, null, null);
-}
-
-function openNewTabWith(url, sendReferrer, reverseBackgroundPref)
-{
- var browser;
- try {
- // if we're running in a browser window, this should work
- //
- browser = getBrowser();
-
- } catch (ex if ex instanceof ReferenceError) {
-
- // must be running somewhere else (eg mailnews message pane); need to
- // find a browser window first
- //
- var windowMediator =
- Components.classes["@mozilla.org/appshell/window-mediator;1"]
- .getService(Components.interfaces.nsIWindowMediator);
-
- var browserWin = windowMediator.getMostRecentWindow("navigator:browser");
-
- // if there's no existing browser window, then, as long as
- // we are allowed to, open this url in one and return
- //
- if (!browserWin) {
- urlSecurityCheck(url, document);
- window.openDialog(getBrowserURL(), "_blank", "chrome,all,dialog=no",
- url, null, referrer);
- return;
- }
-
- // otherwise, get the existing browser object
- //
- browser = browserWin.getBrowser();
- }
-
- // Get the XUL document that the browser is actually contained in.
- // This is needed if we are trying to load a URL from a non-navigator
- // window such as the JS Console.
- var browserDocument = browser.ownerDocument;
-
- urlSecurityCheck(url, browserDocument);
-
- var referrer = sendReferrer ? getReferrer(browserDocument) : null;
-
- // As in openNewWindowWith(), we want to pass the charset of the
- // current document over to a new tab.
- var wintype = browserDocument.documentElement.getAttribute('windowtype');
- var originCharset;
- if (wintype == "navigator:browser") {
- originCharset = window.content.document.characterSet;
- }
-
- // open link in new tab
- var loadInBackground = false;
- if (pref) {
- loadInBackground = pref.getBoolPref("browser.tabs.loadInBackground");
- if (reverseBackgroundPref)
- loadInBackground = !loadInBackground;
- }
- browser.addTab(url, referrer, originCharset, !loadInBackground);
-}
-
-// Clientelle: (Make sure you don't break any of these)
-// - File -> Save Page/Frame As...
-// - Context -> Save Page/Frame As...
-// - Context -> Save Link As...
-// - Shift-Click Save Link As
-//
-// Try saving each of these types:
-// - A complete webpage using File->Save Page As, and Context->Save Page As
-// - A webpage as HTML only using the above methods
-// - A webpage as Text only using the above methods
-// - An image with an extension (e.g. .jpg) in its file name, using
-// Context->Save Image As...
-// - An image without an extension (e.g. a banner ad on cnn.com) using
-// the above method.
-// - A linked document using Save Link As...
-// - A linked document using shift-click Save Link As...
-//
-function saveURL(aURL, aFileName, aFilePickerTitleKey, aShouldBypassCache,
- aReferrer)
-{
- internalSave(aURL, null, aFileName, null, null, aShouldBypassCache,
- aFilePickerTitleKey, null, aReferrer);
-}
-
-// Just like saveURL, but will get some info off the image before
-// calling internalSave
-// Clientelle: (Make sure you don't break any of these)
-// - Context -> Save Image As...
-const imgICache = Components.interfaces.imgICache;
-const nsISupportsCString = Components.interfaces.nsISupportsCString;
-
-function saveImageURL(aURL, aFileName, aFilePickerTitleKey, aShouldBypassCache,
- aReferrer)
-{
- var contentType = null;
- var contentDisposition = null;
- if (!aShouldBypassCache) {
- try {
- var imageCache = Components.classes["@mozilla.org/image/cache;1"]
- .getService(imgICache);
- var props =
- imageCache.findEntryProperties(makeURI(aURL, getCharsetforSave(null)));
- if (props) {
- contentType = props.get("type", nsISupportsCString);
- contentDisposition = props.get("content-disposition",
- nsISupportsCString);
- }
- } catch (e) {
- // Failure to get type and content-disposition off the image is non-fatal
- }
- }
- internalSave(aURL, null, aFileName, contentDisposition, contentType,
- aShouldBypassCache, aFilePickerTitleKey, null, aReferrer);
-}
-
-function saveFrameDocument()
-{
- var focusedWindow = document.commandDispatcher.focusedWindow;
- if (isContentFrame(focusedWindow))
- saveDocument(focusedWindow.document);
-}
-
-function saveDocument(aDocument)
-{
- if (!aDocument) {
- throw "Must have a document when calling saveDocument";
- }
-
- // We want to use cached data because the document is currently visible.
- var dispHeader = null;
- try {
- dispHeader =
- aDocument.defaultView
- .QueryInterface(Components.interfaces.nsIInterfaceRequestor)
- .getInterface(Components.interfaces.nsIDOMWindowUtils)
- .getDocumentMetadata("content-disposition");
- } catch (ex) {
- // Failure to get a content-disposition is ok
- }
- internalSave(aDocument.location.href, aDocument, null, dispHeader,
- aDocument.contentType, false, null, null);
-}
-
-function DownloadListener(win, transfer) {
- function makeClosure(name) {
- return function() {
- transfer[name].apply(transfer, arguments);
- }
- }
-
- this.window = win;
-
- // Now... we need to forward all calls to our transfer
- for (var i in transfer) {
- if (i != "QueryInterface")
- this[i] = makeClosure(i);
- }
-}
-
-DownloadListener.prototype = {
- QueryInterface: function dl_qi(aIID)
- {
- if (aIID.equals(Components.interfaces.nsIInterfaceRequestor) ||
- aIID.equals(Components.interfaces.nsIWebProgressListener) ||
- aIID.equals(Components.interfaces.nsIWebProgressListener2) ||
- aIID.equals(Components.interfaces.nsISupports)) {
- return this;
- }
- throw Components.results.NS_ERROR_NO_INTERFACE;
- },
-
- getInterface: function dl_gi(aIID)
- {
- if (aIID.equals(Components.interfaces.nsIAuthPrompt) ||
- aIID.equals(Components.interfaces.nsIAuthPrompt2)) {
- var ww =
- Components.classes["@mozilla.org/embedcomp/window-watcher;1"]
- .getService(Components.interfaces.nsIPromptFactory);
- return ww.getPrompt(this.window, aIID);
- }
-
- throw Components.results.NS_ERROR_NO_INTERFACE;
- }
-}
-
-const SAVETYPE_COMPLETE_PAGE = 0x00;
-const SAVETYPE_TEXT_ONLY = 0x02;
-/**
- * internalSave: Used when saving a document or URL. This method:
- * - Determines a local target filename to use (unless parameter
- * aChosenData is non-null)
- * - Determines content-type if possible
- * - Prompts the user to confirm the destination filename and save mode
- * (content-type affects this)
- * - Creates a 'Persist' object (which will perform the saving in the
- * background) and then starts it.
- *
- * @param aURL The String representation of the URL of the document being saved
- * @param aDocument The document to be saved
- * @param aDefaultFileName The caller-provided suggested filename if we don't
- * find a better one
- * @param aContentDisposition The caller-provided content-disposition header
- * to use.
- * @param aContentType The caller-provided content-type to use
- * @param aShouldBypassCache If true, the document will always be refetched
- * from the server
- * @param aFilePickerTitleKey Alternate title for the file picker
- * @param aChosenData If non-null this contains an instance of object AutoChosen
- * (see below) which holds pre-determined data so that the user does not
- * need to be prompted for a target filename.
- * @param aReferrer the referrer URI object (not URL string) to use, or null
- if no referrer should be sent.
- */
-function internalSave(aURL, aDocument, aDefaultFileName, aContentDisposition,
- aContentType, aShouldBypassCache, aFilePickerTitleKey,
- aChosenData, aReferrer)
-{
- // Note: aDocument == null when this code is used by save-link-as...
- var saveMode = GetSaveModeForContentType(aContentType);
- var isDocument = aDocument != null && saveMode != SAVEMODE_FILEONLY;
- var saveAsType = SAVETYPE_COMPLETE_PAGE;
-
- var file, fileURL;
- // Find the URI object for aURL and the FileName/Extension to use when saving.
- // FileName/Extension will be ignored if aChosenData supplied.
- var fileInfo = new FileInfo(aDefaultFileName);
- if (aChosenData)
- file = aChosenData.file;
- else {
- var charset = null;
- if (aDocument)
- charset = aDocument.characterSet;
- else if (aReferrer)
- charset = aReferrer.originCharset;
- initFileInfo(fileInfo, aURL, charset, aDocument,
- aContentType, aContentDisposition);
- var fpParams = {
- fpTitleKey: aFilePickerTitleKey,
- isDocument: isDocument,
- fileInfo: fileInfo,
- contentType: aContentType,
- saveMode: saveMode,
- saveAsType: saveAsType,
- file: file,
- fileURL: fileURL
- };
- if (!poseFilePicker(fpParams))
- // If the method returned false this is because the user cancelled from
- // the save file picker dialog.
- return;
-
- saveAsType = fpParams.saveAsType;
- saveMode = fpParams.saveMode;
- file = fpParams.file;
- fileURL = fpParams.fileURL;
- }
-
- if (!fileURL)
- fileURL = makeFileURI(file);
-
- // XXX We depend on the following holding true in appendFiltersForContentType():
- // If we should save as a complete page, the saveAsType is SAVETYPE_COMPLETE_PAGE.
- // If we should save as text, the saveAsType is SAVETYPE_TEXT_ONLY.
- var useSaveDocument = isDocument &&
- (((saveMode & SAVEMODE_COMPLETE_DOM) && (saveAsType == SAVETYPE_COMPLETE_PAGE)) ||
- ((saveMode & SAVEMODE_COMPLETE_TEXT) && (saveAsType == SAVETYPE_TEXT_ONLY)));
-
- // If we're saving a document, and are saving either in complete mode or
- // as converted text, pass the document to the web browser persist component.
- // If we're just saving the HTML (second option in the list), send only the URI.
- var source = useSaveDocument ? aDocument : fileInfo.uri;
- var persistArgs = {
- source : source,
- contentType : (!aChosenData && useSaveDocument &&
- saveAsType == SAVETYPE_TEXT_ONLY) ?
- "text/plain" : null,
- target : fileURL,
- postData : isDocument ? getPostData() : null,
- bypassCache : aShouldBypassCache
- };
-
- var persist = makeWebBrowserPersist();
-
- // Calculate persist flags.
- const nsIWBP = Components.interfaces.nsIWebBrowserPersist;
- const flags = nsIWBP.PERSIST_FLAGS_REPLACE_EXISTING_FILES;
- if (aShouldBypassCache)
- persist.persistFlags = flags | nsIWBP.PERSIST_FLAGS_BYPASS_CACHE;
- else
- persist.persistFlags = flags | nsIWBP.PERSIST_FLAGS_FROM_CACHE;
-
- // Leave it to WebBrowserPersist to discover the encoding type (or lack thereof):
- persist.persistFlags |= nsIWBP.PERSIST_FLAGS_AUTODETECT_APPLY_CONVERSION;
-
- // Create download and initiate it (below)
- var tr = Components.classes["@mozilla.org/transfer;1"].createInstance(Components.interfaces.nsITransfer);
-
- if (useSaveDocument) {
- // Saving a Document, not a URI:
- var filesFolder = null;
- if (persistArgs.contentType != "text/plain") {
- // Create the local directory into which to save associated files.
- filesFolder = file.clone();
-
- var nameWithoutExtension = filesFolder.leafName.replace(/\.[^.]*$/, "");
- var filesFolderLeafName = getStringBundle().formatStringFromName("filesFolder",
- [nameWithoutExtension],
- 1);
-
- filesFolder.leafName = filesFolderLeafName;
- }
-
- var encodingFlags = 0;
- if (persistArgs.contentType == "text/plain") {
- encodingFlags |= nsIWBP.ENCODE_FLAGS_FORMATTED;
- encodingFlags |= nsIWBP.ENCODE_FLAGS_ABSOLUTE_LINKS;
- encodingFlags |= nsIWBP.ENCODE_FLAGS_NOFRAMES_CONTENT;
- }
- else {
- encodingFlags |= nsIWBP.ENCODE_FLAGS_ENCODE_BASIC_ENTITIES;
- }
-
- const kWrapColumn = 80;
- tr.init((aChosenData ? aChosenData.uri : fileInfo.uri),
- persistArgs.target, "", null, null, null, persist);
- persist.progressListener = new DownloadListener(window, tr);
- persist.saveDocument(persistArgs.source, persistArgs.target, filesFolder,
- persistArgs.contentType, encodingFlags, kWrapColumn);
- } else {
- tr.init((aChosenData ? aChosenData.uri : source),
- persistArgs.target, "", null, null, null, persist);
- persist.progressListener = new DownloadListener(window, tr);
- persist.saveURI((aChosenData ? aChosenData.uri : source),
- null, aReferrer, persistArgs.postData, null,
- persistArgs.target);
- }
-}
-
-/**
- * Structure for holding info about automatically supplied parameters for
- * internalSave(...). This allows parameters to be supplied so the user does not
- * need to be prompted for file info.
- * @param aFileAutoChosen This is an nsILocalFile object that has been
- * pre-determined as the filename for the target to save to
- * @param aUriAutoChosen This is the nsIURI object for the target
- */
-function AutoChosen(aFileAutoChosen, aUriAutoChosen) {
- this.file = aFileAutoChosen;
- this.uri = aUriAutoChosen;
-}
-
-/**
- * Structure for holding info about a URL and the target filename it should be
- * saved to. This structure is populated by initFileInfo(...).
- * @param aSuggestedFileName This is used by initFileInfo(...) when it
- * cannot 'discover' the filename from the url
- * @param aFileName The target filename
- * @param aFileBaseName The filename without the file extension
- * @param aFileExt The extension of the filename
- * @param aUri An nsIURI object for the url that is being saved
- */
-function FileInfo(aSuggestedFileName, aFileName, aFileBaseName, aFileExt, aUri) {
- this.suggestedFileName = aSuggestedFileName;
- this.fileName = aFileName;
- this.fileBaseName = aFileBaseName;
- this.fileExt = aFileExt;
- this.uri = aUri;
-}
-
-/**
- * Determine what the 'default' filename string is, its file extension and the
- * filename without the extension. This filename is used when prompting the user
- * for confirmation in the file picker dialog.
- * @param aFI A FileInfo structure into which we'll put the results of this method.
- * @param aURL The String representation of the URL of the document being saved
- * @param aURLCharset The charset of aURL.
- * @param aDocument The document to be saved
- * @param aContentType The content type we're saving, if it could be
- * determined by the caller.
- * @param aContentDisposition The content-disposition header for the object
- * we're saving, if it could be determined by the caller.
- */
-function initFileInfo(aFI, aURL, aURLCharset, aDocument,
- aContentType, aContentDisposition)
-{
- try {
- // Get an nsIURI object from aURL if possible:
- try {
- aFI.uri = makeURI(aURL, aURLCharset);
- // Assuming nsiUri is valid, calling QueryInterface(...) on it will
- // populate extra object fields (eg filename and file extension).
- var url = aFI.uri.QueryInterface(Components.interfaces.nsIURL);
- aFI.fileExt = url.fileExtension;
- } catch (e) {
- }
-
- // Get the default filename:
- aFI.fileName = getDefaultFileName((aFI.suggestedFileName || aFI.fileName),
- aFI.uri, aDocument, aContentDisposition);
- // If aFI.fileExt is still blank, consider: aFI.suggestedFileName is supplied
- // if saveURL(...) was the original caller (hence both aContentType and
- // aDocument are blank). If they were saving a link to a website then make
- // the extension .htm .
- if (!aFI.fileExt && !aDocument && !aContentType && (/^http(s?):\/\//i.test(aURL))) {
- aFI.fileExt = "htm";
- aFI.fileBaseName = aFI.fileName;
- } else {
- aFI.fileExt = getDefaultExtension(aFI.fileName, aFI.uri, aContentType);
- aFI.fileBaseName = getFileBaseName(aFI.fileName, aFI.fileExt);
- }
- } catch (e) {
- }
-}
-
-/**
- * Given the Filepicker Parameters (aFpP), show the file picker dialog,
- * prompting the user to confirm (or change) the fileName.
- * @param aFpP a structure (see definition in internalSave(...) method)
- * containing all the data used within this method.
- * @return true if the user confirmed a filename in the picker; false if they
- * dismissed the picker.
- */
-function poseFilePicker(aFpP)
-{
- const nsILocalFile = Components.interfaces.nsILocalFile;
- const kDownloadDirPref = "dir";
-
- var branch = getPrefsBrowserDownload("browser.download.");
- var dir = null;
-
- // Try and pull in download directory pref
- try {
- dir = branch.getComplexValue(kDownloadDirPref, nsILocalFile);
- } catch (e) {
- }
-
- var autoDownload = branch.getBoolPref("autoDownload");
- if (autoDownload && dir && dir.exists()) {
- dir.append(getNormalizedLeafName(aFpP.fileInfo.fileName, aFpP.fileInfo.fileExt));
- aFpP.file = uniqueFile(dir);
- return true;
- }
-
- // Show the file picker that allows the user to confirm the target filename:
- var fp = makeFilePicker();
- var titleKey = aFpP.fpTitleKey || "SaveLinkTitle";
- var bundle = getStringBundle();
- fp.init(window, bundle.GetStringFromName(titleKey),
- Components.interfaces.nsIFilePicker.modeSave);
-
- try {
- if (dir.exists())
- fp.displayDirectory = dir;
- } catch (e) {
- }
-
- fp.defaultExtension = aFpP.fileInfo.fileExt;
- fp.defaultString = getNormalizedLeafName(aFpP.fileInfo.fileName,
- aFpP.fileInfo.fileExt);
- appendFiltersForContentType(fp, aFpP.contentType, aFpP.fileInfo.fileExt,
- aFpP.saveMode);
-
- if (aFpP.isDocument) {
- try {
- fp.filterIndex = branch.getIntPref("save_converter_index");
- }
- catch (e) {
- }
- }
-
- if (fp.show() == Components.interfaces.nsIFilePicker.returnCancel || !fp.file)
- return false;
-
- if (aFpP.isDocument)
- branch.setIntPref("save_converter_index", fp.filterIndex);
-
- // Now that the user has had a chance to change the directory and/or filename,
- // re-read those values...
- if (branch.getBoolPref("lastLocation") || autoDownload) {
- var directory = fp.file.parent.QueryInterface(nsILocalFile);
- branch.setComplexValue(kDownloadDirPref, nsILocalFile, directory);
- }
- fp.file.leafName = validateFileName(fp.file.leafName);
-
- aFpP.saveAsType = fp.filterIndex;
- aFpP.file = fp.file;
- aFpP.fileURL = fp.fileURL;
- return true;
-}
-
-// Since we're automatically downloading, we don't get the file picker's
-// logic to check for existing files, so we need to do that here.
-//
-// Note - this code is identical to that in nsHelperAppDlg.js.
-// If you are updating this code, update that code too! We can't share code
-// here since that code is called in a js component.
-
-function uniqueFile(aLocalFile)
-{
- while (aLocalFile.exists()) {
- parts = /(-\d+)?(\.[^.]+)?$/.test(aLocalFile.leafName);
- aLocalFile.leafName = RegExp.leftContext + (RegExp.$1 - 1) + RegExp.$2;
- }
- return aLocalFile;
-}
-
-// We have no DOM, and can only save the URL as is.
-const SAVEMODE_FILEONLY = 0x00;
-// We have a DOM and can save as complete.
-const SAVEMODE_COMPLETE_DOM = 0x01;
-// We have a DOM which we can serialize as text.
-const SAVEMODE_COMPLETE_TEXT = 0x02;
-
-// If we are able to save a complete DOM, the 'save as complete' filter
-// must be the first filter appended. The 'save page only' counterpart
-// must be the second filter appended. And the 'save as complete text'
-// filter must be the third filter appended.
-function appendFiltersForContentType(aFilePicker, aContentType, aFileExtension, aSaveMode)
-{
- var bundle = getStringBundle();
- // The bundle name for saving only a specific content type.
- var bundleName;
- // The corresponding filter string for a specific content type.
- var filterString;
-
- // XXX all the cases that are handled explicitly here MUST be handled
- // in GetSaveModeForContentType to return a non-fileonly filter.
- switch (aContentType) {
- case "text/html":
- bundleName = "WebPageHTMLOnlyFilter";
- filterString = "*.htm; *.html";
- break;
-
- case "application/xhtml+xml":
- bundleName = "WebPageXHTMLOnlyFilter";
- filterString = "*.xht; *.xhtml";
- break;
-
- case "image/svg+xml":
- bundleName = "WebPageSVGOnlyFilter";
- filterString = "*.svg; *.svgz";
- break;
-
- case "text/xml":
- case "application/xml":
- bundleName = "WebPageXMLOnlyFilter";
- filterString = "*.xml";
- break;
-
- default:
- if (aSaveMode != SAVEMODE_FILEONLY) {
- throw "Invalid save mode for type '" + aContentType + "'";
- }
-
- var mimeInfo = getMIMEInfoForType(aContentType, aFileExtension);
- if (mimeInfo) {
-
- var extEnumerator = mimeInfo.getFileExtensions();
-
- var extString = "";
- while (extEnumerator.hasMore()) {
- var extension = extEnumerator.getNext();
- if (extString)
- extString += "; "; // If adding more than one extension,
- // separate by semi-colon
- extString += "*." + extension;
- }
-
- if (extString) {
- aFilePicker.appendFilter(mimeInfo.description, extString);
- }
- }
-
- break;
- }
-
- if (aSaveMode & SAVEMODE_COMPLETE_DOM) {
- aFilePicker.appendFilter(bundle.GetStringFromName("WebPageCompleteFilter"), filterString);
- // We should always offer a choice to save document only if
- // we allow saving as complete.
- aFilePicker.appendFilter(bundle.GetStringFromName(bundleName), filterString);
- }
-
- if (aSaveMode & SAVEMODE_COMPLETE_TEXT) {
- aFilePicker.appendFilters(Components.interfaces.nsIFilePicker.filterText);
- }
-
- // Always append the all files (*) filter
- aFilePicker.appendFilters(Components.interfaces.nsIFilePicker.filterAll);
-}
-
-function getPostData()
-{
- try {
- var sessionHistory = getWebNavigation().sessionHistory;
- return sessionHistory.getEntryAtIndex(sessionHistory.index, false)
- .QueryInterface(Components.interfaces.nsISHEntry)
- .postData;
- }
- catch (e) {
- }
- return null;
-}
-
-function getStringBundle()
-{
- const bundleURL = "chrome://communicator/locale/contentAreaCommands.properties";
-
- const sbsContractID = "@mozilla.org/intl/stringbundle;1";
- const sbsIID = Components.interfaces.nsIStringBundleService;
- const sbs = Components.classes[sbsContractID].getService(sbsIID);
-
- const lsContractID = "@mozilla.org/intl/nslocaleservice;1";
- const lsIID = Components.interfaces.nsILocaleService;
- const ls = Components.classes[lsContractID].getService(lsIID);
- var appLocale = ls.getApplicationLocale();
- return sbs.createBundle(bundleURL, appLocale);
-}
-
-// Get the preferences branch ("browser.download." for normal 'save' mode)...
-function getPrefsBrowserDownload(branch)
-{
- const prefSvcContractID = "@mozilla.org/preferences-service;1";
- const prefSvcIID = Components.interfaces.nsIPrefService;
- return Components.classes[prefSvcContractID].getService(prefSvcIID).getBranch(branch);
-}
-
-function makeWebBrowserPersist()
-{
- const persistContractID = "@mozilla.org/embedding/browser/nsWebBrowserPersist;1";
- const persistIID = Components.interfaces.nsIWebBrowserPersist;
- return Components.classes[persistContractID].createInstance(persistIID);
-}
-
-/**
- * Constructs a new URI, using nsIIOService.
- * @param aURL The URI spec.
- * @param aOriginCharset The charset of the URI.
- * @return an nsIURI object based on aURL.
- */
-function makeURI(aURL, aOriginCharset)
-{
- var ioService = Components.classes["@mozilla.org/network/io-service;1"]
- .getService(Components.interfaces.nsIIOService);
- return ioService.newURI(aURL, aOriginCharset, null);
-}
-
-function makeFileURI(aFile)
-{
- var ioService = Components.classes["@mozilla.org/network/io-service;1"]
- .getService(Components.interfaces.nsIIOService);
- return ioService.newFileURI(aFile);
-}
-
-function makeFilePicker()
-{
- const fpContractID = "@mozilla.org/filepicker;1";
- const fpIID = Components.interfaces.nsIFilePicker;
- return Components.classes[fpContractID].createInstance(fpIID);
-}
-
-function getMIMEService()
-{
- const mimeSvcContractID = "@mozilla.org/mime;1";
- const mimeSvcIID = Components.interfaces.nsIMIMEService;
- const mimeSvc = Components.classes[mimeSvcContractID].getService(mimeSvcIID);
- return mimeSvc;
-}
-
-// Given aFileName, find the fileName without the extension on the end.
-function getFileBaseName(aFileName, aFileExt)
-{
- // Remove the file extension from aFileName:
- return aFileName.replace(/\.[^.]*$/, "");
-}
-
-function getMIMETypeForURI(aURI)
-{
- try {
- return getMIMEService().getTypeFromURI(aURI);
- }
- catch (e) {
- }
- return null;
-}
-
-function getMIMEInfoForType(aMIMEType, aExtension)
-{
- if (aMIMEType || aExtension) {
- try {
- return getMIMEService().getFromTypeAndExtension(aMIMEType, aExtension);
- }
- catch (e) {
- }
- }
- return null;
-}
-
-function getDefaultFileName(aDefaultFileName, aURI, aDocument,
- aContentDisposition)
-{
- // 1) look for a filename in the content-disposition header, if any
- if (aContentDisposition) {
- const mhpContractID = "@mozilla.org/network/mime-hdrparam;1";
- const mhpIID = Components.interfaces.nsIMIMEHeaderParam;
- const mhp = Components.classes[mhpContractID].getService(mhpIID);
- var dummy = { value: null }; // Need an out param...
- var charset = getCharsetforSave(aDocument);
-
- var fileName = null;
- try {
- fileName = mhp.getParameter(aContentDisposition, "filename", charset,
- true, dummy);
- }
- catch (e) {
- try {
- fileName = mhp.getParameter(aContentDisposition, "name", charset, true,
- dummy);
- }
- catch (e) {
- }
- }
- if (fileName) {
- return fileName;
- }
- }
-
- try {
- var url = aURI.QueryInterface(Components.interfaces.nsIURL);
- if (url.fileName != "") {
- // 2) Use the actual file name, if present
- var textToSubURI = Components.classes["@mozilla.org/intl/texttosuburi;1"]
- .getService(Components.interfaces.nsITextToSubURI);
- return validateFileName(textToSubURI.unEscapeURIForUI(url.originCharset || "UTF-8", url.fileName));
- }
- } catch (e) {
- // This is something like a data: and so forth URI... no filename here.
- }
-
- if (aDocument) {
- var docTitle = GenerateValidFilename(aDocument.title, "");
-
- if (docTitle) {
- // 3) Use the document title
- return docTitle;
- }
- }
-
- if (aDefaultFileName)
- // 4) Use the caller-provided name, if any
- return validateFileName(aDefaultFileName);
-
- // 5) If this is a directory, use the last directory name
- var path = aURI.path.match(/\/([^\/]+)\/$/);
- if (path && path.length > 1) {
- return validateFileName(path[1]);
- }
-
- try {
- if (aURI.host)
- // 6) Use the host.
- return aURI.host;
- } catch (e) {
- // Some files have no information at all, like Javascript generated pages
- }
- try {
- // 7) Use the default file name
- return getStringBundle().GetStringFromName("DefaultSaveFileName");
- } catch (e) {
- //in case localized string cannot be found
- }
- // 8) If all else fails, use "index"
- return "index";
-}
-
-function getNormalizedLeafName(aFile, aDefaultExtension)
-{
- if (!aDefaultExtension)
- return aFile;
-
- // Remove trailing dots and spaces on windows
- if (/Win/.test(navigator.platform))
- aFile = aFile.replace(/[\s.]+$/, "");
-
- // Fix up the file name we're saving to to include the default extension
- var i = aFile.lastIndexOf(".");
- if (aFile.substr(i + 1) != aDefaultExtension)
- return aFile + "." + aDefaultExtension;
-
- return aFile;
-}
-
-function getDefaultExtension(aFilename, aURI, aContentType)
-{
- if (aContentType == "text/plain" || aContentType == "application/octet-stream" || aURI.scheme == "ftp")
- return ""; // temporary fix for bug 120327
-
- // First try the extension from the filename
- const stdURLContractID = "@mozilla.org/network/standard-url;1";
- const stdURLIID = Components.interfaces.nsIURL;
- var url = Components.classes[stdURLContractID].createInstance(stdURLIID);
- url.filePath = aFilename;
-
- var ext = url.fileExtension;
-
- // This mirrors some code in nsExternalHelperAppService::DoContent
- // Use the filename first and then the URI if that fails
-
- var mimeInfo = getMIMEInfoForType(aContentType, ext);
-
- if (ext && mimeInfo && mimeInfo.extensionExists(ext)) {
- return ext;
- }
-
- // Well, that failed. Now try the extension from the URI
- var urlext;
- try {
- url = aURI.QueryInterface(Components.interfaces.nsIURL);
- urlext = url.fileExtension;
- } catch (e) {
- }
-
- if (urlext && mimeInfo && mimeInfo.extensionExists(urlext)) {
- return urlext;
- }
- else {
- try {
- if (mimeInfo)
- return mimeInfo.primaryExtension;
- }
- catch (e) {
- }
- // Fall back on the extensions in the filename and URI for lack
- // of anything better.
- return ext || urlext;
- }
-}
-
-function GetSaveModeForContentType(aContentType)
-{
- var saveMode = SAVEMODE_FILEONLY;
- switch (aContentType) {
- case "text/html":
- case "application/xhtml+xml":
- case "image/svg+xml":
- saveMode |= SAVEMODE_COMPLETE_TEXT;
- // Fall through
- case "text/xml":
- case "application/xml":
- saveMode |= SAVEMODE_COMPLETE_DOM;
- break;
- }
-
- return saveMode;
-}
-
-function getCharsetforSave(aDocument)
-{
- if (aDocument)
- return aDocument.characterSet;
-
- if (document.commandDispatcher.focusedWindow)
- return document.commandDispatcher.focusedWindow.document.characterSet;
-
- return window.content.document.characterSet;
-}
deleted file mode 100644
--- a/xpfe/communicator/resources/content/contents-platform.rdf
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0"?>
-<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:chrome="http://www.mozilla.org/rdf/chrome#">
-
- <!-- list all the packages being supplied by this jar -->
- <RDF:Seq about="urn:mozilla:package:root">
- <RDF:li resource="urn:mozilla:package:communicator-platform"/>
- </RDF:Seq>
-
- <!-- package information -->
- <RDF:Description about="urn:mozilla:package:communicator-platform"
- chrome:displayName="Platform Specific Bindings"
- chrome:author="mozilla.org"
- chrome:name="communicator-platform"
-#expand chrome:localeVersion="__MOZILLA_LOCALE_VERSION__">
- </RDF:Description>
-</RDF:RDF>
deleted file mode 100644
--- a/xpfe/communicator/resources/content/contents-region.rdf
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0"?>
-<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:chrome="http://www.mozilla.org/rdf/chrome#">
-
- <!-- list all the packages being supplied by this jar -->
- <RDF:Seq about="urn:mozilla:package:root">
- <RDF:li resource="urn:mozilla:package:communicator-region"/>
- </RDF:Seq>
-
- <!-- package information -->
- <RDF:Description about="urn:mozilla:package:communicator-region"
- chrome:author="mozilla.org"
- chrome:name="communicator-region"
-#expand chrome:localeVersion="__MOZILLA_REGION_VERSION__">
- </RDF:Description>
-
-</RDF:RDF>
deleted file mode 100644
--- a/xpfe/communicator/resources/content/contents.rdf
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0"?>
-<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:chrome="http://www.mozilla.org/rdf/chrome#">
-
- <!-- list all the packages being supplied by this jar -->
- <RDF:Seq about="urn:mozilla:package:root">
- <RDF:li resource="urn:mozilla:package:communicator"/>
- </RDF:Seq>
-
- <!-- package information -->
- <RDF:Description about="urn:mozilla:package:communicator"
- chrome:displayName="Communicator Shared"
- chrome:author="mozilla.org"
- chrome:name="communicator"
- chrome:xpcNativeWrappers="true"
-#expand chrome:localeVersion="__MOZILLA_LOCALE_VERSION__"
-#expand chrome:skinVersion="__MOZILLA_SKIN_VERSION__">
- </RDF:Description>
-
- <!-- overlay information -->
- <RDF:Seq about="urn:mozilla:overlays">
- <RDF:li resource="chrome://communicator/content/contentAreaContextOverlay.xul"/>
- <RDF:li resource="chrome://communicator/content/pref/preftree.xul"/>
- <RDF:li resource="chrome://navigator/content/navigatorOverlay.xul"/>
- </RDF:Seq>
-
- <RDF:Seq about="chrome://communicator/content/contentAreaContextOverlay.xul">
- <RDF:li>chrome://communicator/content/permissions/imageContextOverlay.xul</RDF:li>
- </RDF:Seq>
-
- <RDF:Seq about="chrome://communicator/content/pref/preftree.xul">
- <RDF:li>chrome://communicator/content/pref/permissionsPrefsOverlay.xul</RDF:li>
- </RDF:Seq>
-
- <RDF:Seq about="chrome://navigator/content/navigatorOverlay.xul">
- <RDF:li>chrome://communicator/content/permissions/permissionsNavigatorOverlay.xul</RDF:li>
- </RDF:Seq>
-
-</RDF:RDF>
-
deleted file mode 100644
--- a/xpfe/communicator/resources/content/editorBindings.xul
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?>
-
-<window id="editorBindings"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-</window>
deleted file mode 100644
--- a/xpfe/communicator/resources/content/findUtils.js
+++ /dev/null
@@ -1,141 +0,0 @@
-/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** 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 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):
- * Simon Fraser <sfraser@netscape.com>
- * Dean Tessman <dean_tessman@hotmail.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of 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 ***** */
-
-var gPromptService;
-var gFindBundle;
-
-function nsFindInstData() {}
-nsFindInstData.prototype =
-{
- // set the next three attributes on your object to override the defaults
- browser : null,
-
- get rootSearchWindow() { return this._root || this.window.content; },
- set rootSearchWindow(val) { this._root = val; },
-
- get currentSearchWindow() {
- if (this._current)
- return this._current;
-
- var focusedWindow = this.window.document.commandDispatcher.focusedWindow;
- if (!focusedWindow || focusedWindow == this.window)
- focusedWindow = this.window.content;
-
- return focusedWindow;
- },
- set currentSearchWindow(val) { this._current = val; },
-
- get webBrowserFind() { return this.browser.webBrowserFind; },
-
- init : function() {
- var findInst = this.webBrowserFind;
- // set up the find to search the focussedWindow, bounded by the content window.
- var findInFrames = findInst.QueryInterface(Components.interfaces.nsIWebBrowserFindInFrames);
- findInFrames.rootSearchFrame = this.rootSearchWindow;
- findInFrames.currentSearchFrame = this.currentSearchWindow;
-
- // always search in frames for now. We could add a checkbox to the dialog for this.
- findInst.searchFrames = true;
- },
-
- window : window,
- _root : null,
- _current : null
-}
-
-// browser is the <browser> element
-// rootSearchWindow is the window to constrain the search to (normally window.content)
-// currentSearchWindow is the frame to start searching (can be, and normally, rootSearchWindow)
-function findInPage(findInstData)
-{
- // is the dialog up already?
- if ("findDialog" in window && window.findDialog)
- window.findDialog.focus();
- else
- {
- findInstData.init();
- window.findDialog = window.openDialog("chrome://global/content/finddialog.xul", "_blank", "chrome,resizable=no,dependent=yes", findInstData);
- }
-}
-
-function findAgainInPage(findInstData, reverse)
-{
- // get the find service, which stores global find state, and init the
- // nsIWebBrowser find with it. We don't assume that there was a previous
- // Find that set this up.
- var findService = Components.classes["@mozilla.org/find/find_service;1"]
- .getService(Components.interfaces.nsIFindService);
-
- var searchString = findService.searchString;
- if (searchString.length == 0) {
- // no previous find text
- findInPage(findInstData);
- return;
- }
-
- findInstData.init();
- var findInst = findInstData.webBrowserFind;
- findInst.searchString = searchString;
- findInst.matchCase = findService.matchCase;
- findInst.wrapFind = findService.wrapFind;
- findInst.entireWord = findService.entireWord;
- findInst.findBackwards = findService.findBackwards ^ reverse;
-
- var found = findInst.findNext();
- if (!found) {
- if (!gPromptService)
- gPromptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService()
- .QueryInterface(Components.interfaces.nsIPromptService);
- if (!gFindBundle)
- gFindBundle = document.getElementById("findBundle");
-
- gPromptService.alert(window, gFindBundle.getString("notFoundTitle"), gFindBundle.getString("notFoundWarning"));
- }
-
- // Reset to normal value, otherwise setting can get changed in find dialog
- findInst.findBackwards = findService.findBackwards;
-}
-
-function canFindAgainInPage()
-{
- var findService = Components.classes["@mozilla.org/find/find_service;1"]
- .getService(Components.interfaces.nsIFindService);
- return (findService.searchString.length > 0);
-}
-
deleted file mode 100644
--- a/xpfe/communicator/resources/content/mac/platformBrowserBindings.xul
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0"?>
-<!-- mac version of platformBrowserBindings.xul -->
-
-<keybinding id="platformBrowserBindings"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-<!-- Mac-specific key bindings -->
-<keyset id="editorKeySet" xulkey="meta">
-
-<!-- Mac bindings for home and end -->
-<key id="macHomekb" keycode="VK_HOME"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_scrollTop');
- controller.doCommand('cmd_scrollTop');"/>
-<key id="macEndkb" keycode="VK_END"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_scrollBottom');
- controller.doCommand('cmd_scrollBottom');"/>
-
-</keyset>
-<!-- End Mac-specific key bindings -->
-
-</keybinding>
-
deleted file mode 100644
--- a/xpfe/communicator/resources/content/mac/platformCommunicatorOverlay.xul
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0"?>
-<!-- mac version of platformCommunicatorOverlay.xul -->
-
-<!DOCTYPE overlay [
-
-<!ENTITY % platformCommunicatorDTD SYSTEM "chrome://communicator-platform/locale/platformCommunicatorOverlay.dtd">
-%platformCommunicatorDTD;
-<!ENTITY % utilityDTD SYSTEM "chrome://communicator/locale/utilityOverlay.dtd">
-%utilityDTD;
-
-]>
-
-<overlay id="platformCommunicatorOverlay"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
- <!-- close -->
- <menuitem id="menu_close" label="&closeCmd.label;" key="key_close" command="cmd_close"/>
- <key id="key_close" key="&closeCmd.key;" command="cmd_close" modifiers="accel"/>
- <key id="key_closeWindow" key="&closeCmd.key;" command="cmd_closeWindow" modifiers="accel,shift"/>
- <key id="key_gotoHistory" key="&historyCmd.key;" oncommand="toHistory();" modifiers="accel,shift"/>
-
- <menupopup id="menu_FilePopup">
- <!-- quit -->
- <menuseparator id="menu_FileQuitSeparator"/>
- <menuitem label="&quitApplicationCmd.label;" id="menu_FileQuitItem"
- key="key_quit" command="cmd_quit"/>
- </menupopup>
- <key id="key_quit" key="&quitApplicationCmd.key;" command="cmd_quit" modifiers="accel"/>
- <command id="cmd_quit" oncommand="goQuitApplication()"/>
-
- <!-- Edit Menu -->
- <menuitem id="menu_redo" label="&redoCmd.label;" key="key_redo" command="cmd_redo"/>
- <key id="key_redo" key="&redoCmd.key;" command="cmd_redo" modifiers="shift, accel"/>
- <!-- Select All Key -->
- <key id="key_selectAll" key="&selectAllCmd.key;" modifiers="accel"/>
-
- <!-- Delete Key -->
- <!-- not all Mac keyboards have a VK_DELETE key, so we use VK_BACK as
- the primary and provide VK_DELETE as a secondary key definition -->
- <key id="key_delete" keycode="VK_BACK" command="cmd_delete"/>
- <key id="key_delete2" keycode="VK_DELETE" command="cmd_delete"/>
-
- <!-- This adds the Print Setup item to both Browser and Composer's
- Print toolbar button popup
- -->
- <menupopup id="printMenu">
- <menuitem id="printSetupToolbar"
- insertafter="printMenuItemToolbar"
- label="&printSetupCmd.label;"
- accesskey="&printSetupCmd.accesskey;"
- command="cmd_printSetup"/>
- </menupopup>
-
- <!-- Find As You Type Keys -->
- <key id="key_findTypeText"
- key="&findTypeTextCmd.key;"/>
- <key id="key_findTypeLinks"
- key="&findTypeLinksCmd.key;"/>
-
- <menuitem id="printPreviewMenuItem" hidden="true"/>
- <menuitem id="printPreviewMenuItemToolbar" hidden="true"/>
- <menuitem id="printPreviewAddressBook" hidden="true"/>
- <menuitem id="threadPaneContext-printpreview" hidden="true"/>
- <menuitem id="messagePaneContext-printpreview" hidden="true"/>
-
- <!-- Tasks Commands -->
- <commandset id="tasksCommands">
- <command id="cmd_minimizeWindow" oncommand="window.minimize();"/>
- <command id="cmd_zoomWindow" oncommand="ZoomCurrentWindow();"/>
- </commandset>
-
- <!-- Tasks Keys -->
- <keyset id="tasksKeys">
- <key id="key_minimizeWindow"
- command="cmd_minimizeWindow"
- key="&minimizeWindowCmd.key;"
- modifiers="accel"/>
-
- <!-- Standard OS X shortcut for opening Help (Cmd+? on most locales), visible
- in the Help menu (if there's a Help viewer) -->
- <key id="key_openHelp"
- key="&openHelpFrontend.key;"
- modifiers="&openHelpFrontend.modifiers;"/>
-
- <!-- The Shift key is needed for the "?", thus we need openHelpCmd.key and
- openHelpCmd.modifiers for the mapping -->
- <key key="&openHelpCmd.key;"
- modifiers="&openHelpCmd.modifiers;"
- command="cmd_openHelp"/>
-
- <key keycode="&openHelp2Cmd.key;"
- command="cmd_openHelp"/>
- </keyset>
-
- <!-- Window menu -->
- <menupopup id="windowPopup">
- <menuitem command="cmd_minimizeWindow"
- label="&minimizeWindowCmd.label;"
- key="key_minimizeWindow"
- position="1"/>
- <menuitem command="cmd_zoomWindow"
- label="&zoomWindowCmd.label;"
- position="2"/>
- <menuseparator position="3"/>
- </menupopup>
-
-</overlay>
deleted file mode 100644
--- a/xpfe/communicator/resources/content/mac/platformEditorBindings.xul
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0"?>
-<!-- mac version of platformEditorBindings.xul -->
-
-<keybinding id="platformEditorBindings"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-<!-- Mac-specific key bindings -->
-<keyset id="editorKeySet" xulkey="meta">
-
-<!-- replace the Windows/Unix xul-Y Redo binding with xul-shift-Z -->
-<key id="noWinRedo" key="y" cancel="true" modifiers="accel"/>
-<key id="macRedokb" key="Z"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_redo');
- controller.doCommand('cmd_redo');" modifiers="accel, shift"/>
-
-<!-- Mac bindings for home and end -->
-<key id="macHomekb" keycode="VK_HOME"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_scrollTop');
- controller.doCommand('cmd_scrollTop');"/>
-<key id="macEndkb" keycode="VK_END"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_scrollBottom');
- controller.doCommand('cmd_scrollBottom');"/>
-
-<!-- Command-left/right arrow won't work on Macintosh non-Roman scripts systems since they are
- reserved for keyboard layout in the OS (source: Macintosh Human Interface Guidelines) -->
-
-<key id="key_leftcontrol" keycode="VK_LEFT"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_wordPrevious');
- controller.doCommand('cmd_wordPrevious');" modifiers="alt"/>
-<key id="key_rightcontrol" keycode="VK_RIGHT"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_wordNext');
- controller.doCommand('cmd_wordNext');" modifiers="alt"/>
-<key id="key_leftshiftcontrol" keycode="VK_LEFT"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_selectWordPrevious');
- controller.doCommand('cmd_selectWordPrevious');" modifiers="shift, alt"/>
-<key id="key_rightshiftcontrol" keycode="VK_RIGHT"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_selectWordNext');
- controller.doCommand('cmd_selectWordNext');" modifiers="shift, alt"/>
-
-</keyset>
-<!-- End Mac-specific key bindings -->
-
-</keybinding>
-
deleted file mode 100644
--- a/xpfe/communicator/resources/content/manifest.rdf
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0"?>
-<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:chrome="http://www.mozilla.org/rdf/chrome#">
-
- <!-- list all the packages being supplied by this jar -->
- <RDF:Seq about="urn:mozilla:package:root">
- <RDF:li resource="urn:mozilla:package:communicator"/>
- <RDF:li resource="urn:mozilla:package:editor"/>
- <RDF:li resource="urn:mozilla:package:navigator"/>
- </RDF:Seq>
-
- <!-- package information -->
- <RDF:Description about="urn:mozilla:package:communicator"
- chrome:displayName="Communicator Shared"
- chrome:author="mozilla.org"
- chrome:name="communicator">
- </RDF:Description>
- <RDF:Description about="urn:mozilla:package:editor"
- chrome:displayName="Editor"
- chrome:author="mozilla.org"
- chrome:name="editor">
- </RDF:Description>
- <RDF:Description about="urn:mozilla:package:navigator"
- chrome:displayName="Navigator"
- chrome:author="mozilla.org"
- chrome:name="navigator">
- </RDF:Description>
-
- <!-- overlay information -->
- <RDF:Seq about="urn:mozilla:overlays">
- <RDF:li resource="chrome://communicator/content/pref/preftree.xul"/>
- <RDF:li resource="chrome://communicator/content/pref/pref-appearance.xul"/>
- </RDF:Seq>
-
- <!-- editor preferences branches -->
- <RDF:Seq about="chrome://communicator/content/pref/preftree.xul">
- <RDF:li>chrome://editor/content/editorPrefsOverlay.xul</RDF:li>
- </RDF:Seq>
-
- <!-- editor startup pref -->
- <RDF:Seq about="chrome://communicator/content/pref/pref-appearance.xul">
- <RDF:li>chrome://editor/content/editorPrefsOverlay.xul</RDF:li>
- </RDF:Seq>
-
-</RDF:RDF>
-
deleted file mode 100644
--- a/xpfe/communicator/resources/content/nsContextMenu.js
+++ /dev/null
@@ -1,934 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* ***** 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 Mozilla Communicator client code, released
- * March 31, 1998.
- *
- * 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):
- * William A. ("PowerGUI") Law <law@netscape.com>
- * Blake Ross <blakeross@telocity.com>
- * Gervase Markham <gerv@gerv.net>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of 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 ***** */
-
-/*------------------------------ nsContextMenu ---------------------------------
-| This JavaScript "class" is used to implement the browser's content-area |
-| context menu. |
-| |
-| For usage, see references to this class in navigator.xul. |
-| |
-| Currently, this code is relatively useless for any other purpose. In the |
-| longer term, this code will be restructured to make it more reusable. |
-------------------------------------------------------------------------------*/
-
-function nsContextMenu( xulMenu ) {
- this.target = null;
- this.menu = null;
- this.popupURL = null;
- this.onTextInput = false;
- this.onImage = false;
- this.onLoadedImage = false;
- this.onLink = false;
- this.onMailtoLink = false;
- this.onSaveableLink = false;
- this.onMetaDataItem = false;
- this.onMathML = false;
- this.link = false;
- this.inFrame = false;
- this.hasBGImage = false;
- this.isTextSelected = false;
- this.inDirList = false;
- this.shouldDisplay = true;
- this.autoDownload = false;
-
- // Initialize new menu.
- this.initMenu( xulMenu );
-}
-
-// Prototype for nsContextMenu "class."
-nsContextMenu.prototype = {
- // onDestroy is a no-op at this point.
- onDestroy : function () {
- },
- // Initialize context menu.
- initMenu : function ( popup ) {
- // Save menu.
- this.menu = popup;
-
- const xulNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
- if ( document.popupNode.namespaceURI == xulNS ) {
- this.shouldDisplay = false;
- return;
- }
- // Get contextual info.
- this.setTarget( document.popupNode );
-
- this.isTextSelected = this.isTextSelection();
-
- this.initPopupURL();
-
- // Initialize (disable/remove) menu items.
- this.initItems();
- },
- initItems : function () {
- this.initOpenItems();
- this.initNavigationItems();
- this.initViewItems();
- this.initMiscItems();
- this.initSaveItems();
- this.initClipboardItems();
- this.initMetadataItems();
- },
- initOpenItems : function () {
- var showOpen = this.onSaveableLink || ( this.inDirList && this.onLink );
-
- this.showItem( "context-openlink", showOpen );
- this.showItem( "context-openlinkintab", showOpen );
-
- this.showItem( "context-sep-open", showOpen );
- },
- initNavigationItems : function () {
- // Back determined by canGoBack broadcaster.
- this.setItemAttrFromNode( "context-back", "disabled", "canGoBack" );
-
- // Forward determined by canGoForward broadcaster.
- this.setItemAttrFromNode( "context-forward", "disabled", "canGoForward" );
-
- var showNav = !( this.isTextSelected || this.onLink || this.onImage || this.onTextInput );
-
- this.showItem( "context-back", showNav );
- this.showItem( "context-forward", showNav );
-
- this.showItem( "context-reload", showNav );
-
- this.showItem( "context-stop", showNav );
- this.showItem( "context-sep-stop", showNav );
-
- // XXX: Stop is determined in navigator.js; the canStop broadcaster is broken
- //this.setItemAttrFromNode( "context-stop", "disabled", "canStop" );
- },
- initSaveItems : function () {
- var showSave = !( this.inDirList || this.isTextSelected || this.onTextInput || this.onStandaloneImage ||
- ( this.onLink && this.onImage ) );
- if (showSave)
- goSetMenuValue( "context-savepage", this.autoDownload ? "valueSave" : "valueSaveAs" );
- this.showItem( "context-savepage", showSave );
-
- // Save link depends on whether we're in a link.
- if (this.onSaveableLink)
- goSetMenuValue( "context-savelink", this.autoDownload ? "valueSave" : "valueSaveAs" );
- this.showItem( "context-savelink", this.onSaveableLink );
-
- // Save/Send image depends on whether there is one.
- showSave = this.onLoadedImage || this.onStandaloneImage;
- if (showSave)
- goSetMenuValue( "context-saveimage", this.autoDownload ? "valueSave" : "valueSaveAs" );
- this.showItem( "context-saveimage", showSave );
- this.showItem( "context-sendimage", showSave );
- },
- initViewItems : function () {
- // View source is always OK, unless in directory listing.
- this.showItem( "context-viewpartialsource-selection", this.isTextSelected && !this.onTextInput );
- this.showItem( "context-viewpartialsource-mathml", this.onMathML && !this.isTextSelected );
-
- var showView = !( this.inDirList || this.onImage || this.isTextSelected || this.onLink || this.onTextInput );
-
- this.showItem( "context-viewsource", showView );
- this.showItem( "context-viewinfo", showView );
-
- this.showItem( "context-sep-properties", !( this.inDirList || this.isTextSelected || this.onTextInput ) );
- // Set As Wallpaper depends on whether an image was clicked on, and only works on Windows.
- var isWin = navigator.appVersion.indexOf("Windows") != -1;
- this.showItem( "context-setWallpaper", isWin && (this.onLoadedImage || this.onStandaloneImage));
-
- this.showItem( "context-sep-image", this.onLoadedImage || this.onStandaloneImage);
-
- if( isWin && this.onLoadedImage )
- // Disable the Set As Wallpaper menu item if we're still trying to load the image
- this.setItemAttr( "context-setWallpaper", "disabled", (("complete" in this.target) && !this.target.complete) ? "true" : null );
-
- this.showItem( "context-fitimage", this.onStandaloneImage && content.document.imageResizingEnabled );
- if ( this.onStandaloneImage && content.document.imageResizingEnabled ) {
- this.setItemAttr( "context-fitimage", "disabled", content.document.imageIsOverflowing ? null : "true");
- this.setItemAttr( "context-fitimage", "checked", content.document.imageIsResized ? "true" : null);
- }
-
- this.showItem( "context-reloadimage", this.onImage);
-
- // View Image depends on whether an image was clicked on.
- this.showItem( "context-viewimage", this.onImage && !this.onStandaloneImage);
-
- // View background image depends on whether there is one.
- this.showItem( "context-viewbgimage", showView && !this.onStandaloneImage);
- this.showItem( "context-sep-viewbgimage", showView && !this.onStandaloneImage);
- this.setItemAttr( "context-viewbgimage", "disabled", this.hasBGImage ? null : "true");
- },
- initMiscItems : function () {
- // Use "Bookmark This Link" if on a link.
- this.showItem( "context-bookmarkpage", !( this.isTextSelected || this.onTextInput || this.onStandaloneImage ) );
- this.showItem( "context-bookmarklink", this.onLink && !this.onMailtoLink );
- this.showItem( "context-searchselect", this.isTextSelected && !this.onTextInput );
- this.showItem( "frame", this.inFrame );
- this.showItem( "frame-sep", this.inFrame );
- if (this.inFrame)
- goSetMenuValue( "saveframeas", this.autoDownload ? "valueSave" : "valueSaveAs" );
- var blocking = true;
- if (this.popupURL)
- try {
- const PM = Components.classes["@mozilla.org/PopupWindowManager;1"]
- .getService(Components.interfaces.nsIPopupWindowManager);
- blocking = PM.testPermission(this.popupURL) ==
- Components.interfaces.nsIPopupWindowManager.DENY_POPUP;
- } catch (e) {
- }
-
- this.showItem( "popupwindow-reject", this.popupURL && !blocking);
- this.showItem( "popupwindow-allow", this.popupURL && blocking);
- this.showItem( "context-sep-popup", this.popupURL);
-
- // BiDi UI
- this.showItem( "context-sep-bidi", gShowBiDi);
- this.showItem( "context-bidi-text-direction-toggle", this.onTextInput && gShowBiDi);
- this.showItem( "context-bidi-page-direction-toggle", !this.onTextInput && gShowBiDi);
- },
- initClipboardItems : function () {
-
- // Copy depends on whether there is selected text.
- // Enabling this context menu item is now done through the global
- // command updating system
- // this.setItemAttr( "context-copy", "disabled", !this.isTextSelected() );
-
- goUpdateGlobalEditMenuItems();
-
- this.showItem( "context-undo", this.onTextInput );
- this.showItem( "context-redo", this.onTextInput );
- this.showItem( "context-sep-undo", this.onTextInput );
- this.showItem( "context-cut", this.onTextInput );
- this.showItem( "context-copy", this.isTextSelected || this.onTextInput);
- this.showItem( "context-paste", this.onTextInput );
- this.showItem( "context-delete", this.onTextInput );
- this.showItem( "context-sep-paste", this.onTextInput );
- this.showItem( "context-selectall", true );
- this.showItem( "context-sep-selectall", this.isTextSelected && !this.onTextInput );
- // In a text area there will be nothing after select all, so we don't want a sep
- // Otherwise, if there's text selected then there are extra menu items
- // (search for selection and view selection source), so we do want a sep
-
- // XXX dr
- // ------
- // nsDocumentViewer.cpp has code to determine whether we're
- // on a link or an image. we really ought to be using that...
-
- // Copy email link depends on whether we're on an email link.
- this.showItem( "context-copyemail", this.onMailtoLink );
-
- // Copy link location depends on whether we're on a link.
- this.showItem( "context-copylink", this.onLink );
- this.showItem( "context-sep-copylink", this.onLink );
-
- // Copy image location depends on whether we're on an image.
- this.showItem( "context-copyimage", this.onImage );
- this.showItem( "context-sep-copyimage", this.onImage );
- },
- initMetadataItems : function () {
- // Show if user clicked on something which has metadata.
- this.showItem( "context-metadata", this.onMetaDataItem );
- },
- // Set various context menu attributes based on the state of the world.
- setTarget : function ( node ) {
- // Initialize contextual info.
- this.onImage = false;
- this.onLoadedImage = false;
- this.onStandaloneImage = false;
- this.onMetaDataItem = false;
- this.onTextInput = false;
- this.imageURL = "";
- this.onLink = false;
- this.onMathML = false;
- this.inFrame = false;
- this.hasBGImage = false;
- this.bgImageURL = "";
-
- // Remember the node that was clicked.
- this.target = node;
-
- this.autoDownload = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefBranch)
- .getBoolPref("browser.download.autoDownload");
-
- // See if the user clicked on an image.
- if ( this.target.nodeType == Node.ELEMENT_NODE ) {
- if ( this.target instanceof Components.interfaces.nsIImageLoadingContent && this.target.currentURI ) {
- this.onImage = true;
- var request = this.target.getRequest( Components.interfaces.nsIImageLoadingContent.CURRENT_REQUEST );
- if (request && (request.imageStatus & request.STATUS_SIZE_AVAILABLE))
- this.onLoadedImage = true;
- this.imageURL = this.target.currentURI.spec;
-
- if ( this.target.ownerDocument instanceof ImageDocument )
- this.onStandaloneImage = true;
- } else if ( this.target instanceof HTMLInputElement ) {
- this.onTextInput = this.isTargetATextBox(this.target);
- } else if ( this.target instanceof HTMLTextAreaElement ) {
- this.onTextInput = true;
- } else if ( this.target instanceof HTMLHtmlElement ) {
- // pages with multiple <body>s are lame. we'll teach them a lesson.
- var bodyElt = this.target.ownerDocument.getElementsByTagName("body")[0];
- if ( bodyElt ) {
- var computedURL = this.getComputedURL( bodyElt, "background-image" );
- if ( computedURL ) {
- this.hasBGImage = true;
- this.bgImageURL = this.makeURLAbsolute( bodyElt.baseURI,
- computedURL );
- }
- }
- } else if ( "HTTPIndex" in content &&
- content.HTTPIndex instanceof Components.interfaces.nsIHTTPIndex ) {
- this.inDirList = true;
- // Bubble outward till we get to an element with URL attribute
- // (which should be the href).
- var root = this.target;
- while ( root && !this.link ) {
- if ( root.tagName == "tree" ) {
- // Hit root of tree; must have clicked in empty space;
- // thus, no link.
- break;
- }
- if ( root.getAttribute( "URL" ) ) {
- // Build pseudo link object so link-related functions work.
- this.onLink = true;
- this.link = { href : root.getAttribute("URL"),
- getAttribute: function (attr) {
- if (attr == "title") {
- return root.firstChild.firstChild.getAttribute("label");
- } else {
- return "";
- }
- }
- };
- // If element is a directory, then you can't save it.
- if ( root.getAttribute( "container" ) == "true" ) {
- this.onSaveableLink = false;
- } else {
- this.onSaveableLink = true;
- }
- } else {
- root = root.parentNode;
- }
- }
- }
- }
-
- // We have meta data on images.
- this.onMetaDataItem = this.onImage;
-
- // See if the user clicked on MathML
- const NS_MathML = "http://www.w3.org/1998/Math/MathML";
- if ((this.target.nodeType == Node.TEXT_NODE &&
- this.target.parentNode.namespaceURI == NS_MathML)
- || (this.target.namespaceURI == NS_MathML))
- this.onMathML = true;
-
- // See if the user clicked in a frame.
- if ( this.target.ownerDocument != window.content.document ) {
- this.inFrame = true;
- }
-
- // Bubble out, looking for items of interest
- const XMLNS = "http://www.w3.org/XML/1998/namespace";
- var elem = this.target;
- while ( elem ) {
- if ( elem.nodeType == Node.ELEMENT_NODE ) {
- // Link?
- if ( !this.onLink &&
- ( (elem instanceof HTMLAnchorElement && elem.href) ||
- elem instanceof HTMLAreaElement ||
- elem instanceof HTMLLinkElement ||
- elem.getAttributeNS( "http://www.w3.org/1999/xlink", "type") == "simple" ) ) {
- // Clicked on a link.
- this.onLink = true;
- this.onMetaDataItem = true;
- // Remember corresponding element.
- this.link = elem;
- this.onMailtoLink = this.isLinkType( "mailto:", this.link );
- // Remember if it is saveable.
- this.onSaveableLink = this.isLinkSaveable( this.link );
- }
-
- // Text input?
- if ( !this.onTextInput ) {
- // Clicked on a link.
- this.onTextInput = this.isTargetATextBox(elem);
- }
-
- // Metadata item?
- if ( !this.onMetaDataItem ) {
- // We currently display metadata on anything which fits
- // the below test.
- if ( ( elem instanceof HTMLQuoteElement && elem.cite) ||
- ( elem instanceof HTMLTableElement && elem.summary) ||
- ( elem instanceof HTMLModElement &&
- ( elem.cite || elem.dateTime ) ) ||
- ( elem instanceof HTMLElement &&
- ( elem.title || elem.lang ) ) ||
- elem.getAttributeNS(XMLNS, "lang") ) {
- dump("On metadata item.\n");
- this.onMetaDataItem = true;
- }
- }
-
- // Background image? Don't bother if we've already found a
- // background image further down the hierarchy. Otherwise,
- // we look for the computed background-image style.
- if ( !this.hasBGImage ) {
- var bgImgUrl = this.getComputedURL( elem, "background-image" );
- if ( bgImgUrl ) {
- this.hasBGImage = true;
- this.bgImageURL = this.makeURLAbsolute( elem.baseURI,
- bgImgUrl );
- }
- }
- }
- elem = elem.parentNode;
- }
- },
- initPopupURL: function() {
- // quick check: if no opener, it can't be a popup
- if (!window.content.opener)
- return;
- try {
- var show = false;
- // is it a popup window?
- const CI = Components.interfaces;
- var xulwin = window
- .QueryInterface(CI.nsIInterfaceRequestor)
- .getInterface(CI.nsIWebNavigation)
- .QueryInterface(CI.nsIDocShellTreeItem)
- .treeOwner
- .QueryInterface(CI.nsIInterfaceRequestor)
- .getInterface(CI.nsIXULWindow);
- if (xulwin.contextFlags &
- CI.nsIWindowCreator2.PARENT_IS_LOADING_OR_RUNNING_TIMEOUT) {
- // do the pref settings allow site-by-site popup management?
- const PB = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(CI.nsIPrefBranch);
- show = !PB.getBoolPref("dom.disable_open_during_load");
- }
- if (show) {
- // initialize popupURL
- const IOS = Components.classes["@mozilla.org/network/io-service;1"]
- .getService(CI.nsIIOService);
- this.popupURL = IOS.newURI(window.content.opener.location.href, null, null);
-
- // but cancel if it's an unsuitable URL
- const PM = Components.classes["@mozilla.org/PopupWindowManager;1"]
- .getService(CI.nsIPopupWindowManager);
- }
- } catch(e) {
- }
- },
- // Returns the computed style attribute for the given element.
- getComputedStyle: function( elem, prop ) {
- return elem.ownerDocument.defaultView.getComputedStyle( elem, '' ).getPropertyValue( prop );
- },
- // Returns a "url"-type computed style attribute value, with the url() stripped.
- getComputedURL: function( elem, prop ) {
- var url = elem.ownerDocument.defaultView.getComputedStyle( elem, '' ).getPropertyCSSValue( prop );
- return ( url.primitiveType == CSSPrimitiveValue.CSS_URI ) ? url.getStringValue() : null;
- },
- // Returns true iff clicked on link is saveable.
- isLinkSaveable : function ( link ) {
- // We don't do the Right Thing for news/snews yet, so turn them off
- // until we do.
- return !(this.isLinkType( "mailto:" , link ) ||
- this.isLinkType( "javascript:" , link ) ||
- this.isLinkType( "news:", link ) ||
- this.isLinkType( "snews:", link ) );
- },
- // Returns true iff clicked on link is of type given.
- isLinkType : function ( linktype, link ) {
- try {
- // Test for missing protocol property.
- if ( !link.protocol ) {
- // We must resort to testing the URL string :-(.
- var protocol;
- if ( link.href ) {
- protocol = link.href.substr( 0, linktype.length );
- } else {
- protocol = link.getAttributeNS("http://www.w3.org/1999/xlink","href");
- if ( protocol ) {
- protocol = protocol.substr( 0, linktype.length );
- }
- }
- return protocol.toLowerCase() === linktype;
- } else {
- // Presume all but javascript: urls are saveable.
- return link.protocol.toLowerCase() === linktype;
- }
- } catch (e) {
- // something was wrong with the link,
- // so we won't be able to save it anyway
- return false;
- }
- },
- // Block popup windows
- rejectPopupWindows: function(andClose) {
- const PM = Components.classes["@mozilla.org/PopupWindowManager;1"]
- .getService(Components.interfaces.nsIPopupWindowManager);
- PM.add(this.popupURL, false);
- if (andClose) {
- const OS = Components.classes["@mozilla.org/observer-service;1"]
- .getService(Components.interfaces.nsIObserverService);
- OS.notifyObservers(window, "popup-perm-close", this.popupURL.spec);
- }
- },
- // Unblock popup windows
- allowPopupWindows: function() {
- const PM = Components.classes["@mozilla.org/PopupWindowManager;1"]
- .getService(Components.interfaces.nsIPopupWindowManager);
- PM.add(this.popupURL, true);
- },
- // Open linked-to URL in a new window.
- openLink : function () {
- // Determine linked-to URL.
- openNewWindowWith( this.linkURL(), true );
- },
- // Open linked-to URL in a new tab.
- openLinkInTab : function ( reverseBackgroundPref ) {
- // Determine linked-to URL.
- openNewTabWith( this.linkURL(), true, reverseBackgroundPref );
- },
- // Open frame in a new tab.
- openFrameInTab : function ( reverseBackgroundPref ) {
- // Determine linked-to URL.
- openNewTabWith( this.target.ownerDocument.location.href, true, reverseBackgroundPref );
- },
- // Reload clicked-in frame.
- reloadFrame : function () {
- this.target.ownerDocument.location.reload();
- },
- // Open clicked-in frame in its own window.
- openFrame : function () {
- openNewWindowWith( this.target.ownerDocument.location.href );
- },
- // Open clicked-in frame in the same window
- showOnlyThisFrame : function () {
- window.loadURI(this.target.ownerDocument.location.href);
- },
- // View Partial Source
- viewPartialSource : function ( context ) {
- var focusedWindow = document.commandDispatcher.focusedWindow;
- if (focusedWindow == window)
- focusedWindow = content;
- var docCharset = null;
- if (focusedWindow)
- docCharset = "charset=" + focusedWindow.document.characterSet;
-
- // "View Selection Source" and others such as "View MathML Source"
- // are mutually exclusive, with the precedence given to the selection
- // when there is one
- var reference = null;
- if (context == "selection")
- reference = focusedWindow.getSelection();
- else if (context == "mathml")
- reference = this.target;
- else
- throw "not reached";
-
- var docUrl = null; // unused (and play nice for fragments generated via XSLT too)
- window.openDialog("chrome://navigator/content/viewPartialSource.xul",
- "_blank", "scrollbars,resizable,chrome,dialog=no",
- docUrl, docCharset, reference, context);
- },
- // Open new "view source" window with the frame's URL.
- viewFrameSource : function () {
- BrowserViewSourceOfDocument(this.target.ownerDocument);
- },
- viewInfo : function () {
- BrowserPageInfo();
- },
- viewFrameInfo : function () {
- BrowserPageInfo(this.target.ownerDocument);
- },
- toggleImageSize : function () {
- content.document.toggleImageSize();
- },
- // Reload image
- reloadImage : function () {
- urlSecurityCheck( this.imageURL, document );
- if (this.target instanceof Components.interfaces.nsIImageLoadingContent)
- this.target.forceReload();
- },
- // Change current window to the URL of the image.
- viewImage : function () {
- urlSecurityCheck( this.imageURL, document );
- openTopWin( this.imageURL );
- },
- // Change current window to the URL of the background image.
- viewBGImage : function () {
- urlSecurityCheck( this.bgImageURL, document );
- openTopWin( this.bgImageURL );
- },
- setWallpaper: function() {
- // Confirm since it's annoying if you hit this accidentally.
- var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService(Components.interfaces.nsIPromptService);
- var gNavigatorBundle = document.getElementById("bundle_navigator");
- var promptTitle = gNavigatorBundle.getString("wallpaperConfirmTitle");
- var promptMsg = gNavigatorBundle.getString("wallpaperConfirmMsg");
- var promptConfirmButton = gNavigatorBundle.getString("wallpaperConfirmButton");
-
- var buttonPressed = promptService.confirmEx(window, promptTitle, promptMsg,
- (promptService.BUTTON_TITLE_IS_STRING * promptService.BUTTON_POS_0) +
- (promptService.BUTTON_TITLE_CANCEL * promptService.BUTTON_POS_1),
- promptConfirmButton, null, null, null, {value:0});
-
- if (buttonPressed != 0)
- return;
-
- var winhooks = Components.classes[ "@mozilla.org/winhooks;1" ].
- getService(Components.interfaces.nsIWindowsHooks);
-
- winhooks.setImageAsWallpaper(this.target, false);
- },
- // Save URL of clicked-on frame.
- saveFrame : function () {
- saveDocument( this.target.ownerDocument );
- },
- // Save URL of clicked-on link.
- saveLink : function () {
- saveURL( this.linkURL(), this.linkText(), null, true,
- getReferrer(document) );
- },
- // Save URL of clicked-on image.
- saveImage : function () {
- // Note: getReferrer wants our chrome document, not the actual
- // target document; it handles getting that itself.
- saveImageURL( this.imageURL, null, "SaveImageTitle", false,
- getReferrer(document) );
- },
- // Generate email address.
- getEmail : function () {
- // Get the comma-separated list of email addresses only.
- // There are other ways of embedding email addresses in a mailto:
- // link, but such complex parsing is beyond us.
- var addresses;
- try {
- // Let's try to unescape it using a character set
- var characterSet = this.target.ownerDocument.characterSet;
- const textToSubURI = Components.classes["@mozilla.org/intl/texttosuburi;1"]
- .getService(Components.interfaces.nsITextToSubURI);
- addresses = this.linkURL().match(/^mailto:([^?]+)/)[1];
- addresses = textToSubURI.unEscapeURIForUI(characterSet, addresses);
- }
- catch(ex) {
- // Do nothing.
- }
- return addresses;
- },
- // Copy email to clipboard
- copyEmail : function () {
- var clipboard = this.getService( "@mozilla.org/widget/clipboardhelper;1",
- Components.interfaces.nsIClipboardHelper );
- clipboard.copyString(this.getEmail());
- },
- addBookmark : function() {
- var docshell = document.getElementById( "content" ).webNavigation;
- BookmarksUtils.addBookmark( docshell.currentURI.spec,
- docshell.document.title,
- docshell.document.characterSet,
- false );
- },
- addBookmarkForFrame : function() {
- var doc = this.target.ownerDocument;
- var uri = doc.location.href;
- var title = doc.title;
- if ( !title )
- title = uri;
- BookmarksUtils.addBookmark( uri,
- title,
- doc.characterSet,
- false );
- },
- // Open Metadata window for node
- showMetadata : function () {
- window.openDialog( "chrome://navigator/content/metadata.xul",
- "_blank",
- "scrollbars,resizable,chrome,dialog=no",
- this.target);
- },
-
- ///////////////
- // Utilities //
- ///////////////
-
- // Create instance of component given contractId and iid (as string).
- createInstance : function ( contractId, iidName ) {
- var iid = Components.interfaces[ iidName ];
- return Components.classes[ contractId ].createInstance( iid );
- },
- // Get service given contractId and iid (as string).
- getService : function ( contractId, iidName ) {
- var iid = Components.interfaces[ iidName ];
- return Components.classes[ contractId ].getService( iid );
- },
- // Show/hide one item (specified via name or the item element itself).
- showItem : function ( itemOrId, show ) {
- var item = itemOrId.constructor == String ? document.getElementById(itemOrId) : itemOrId;
- if (item)
- item.hidden = !show;
- },
- // Set given attribute of specified context-menu item. If the
- // value is null, then it removes the attribute (which works
- // nicely for the disabled attribute).
- setItemAttr : function ( id, attr, val ) {
- var elem = document.getElementById( id );
- if ( elem ) {
- if ( val == null ) {
- // null indicates attr should be removed.
- elem.removeAttribute( attr );
- } else {
- // Set attr=val.
- elem.setAttribute( attr, val );
- }
- }
- },
- // Set context menu attribute according to like attribute of another node
- // (such as a broadcaster).
- setItemAttrFromNode : function ( item_id, attr, other_id ) {
- var elem = document.getElementById( other_id );
- if ( elem && elem.getAttribute( attr ) == "true" ) {
- this.setItemAttr( item_id, attr, "true" );
- } else {
- this.setItemAttr( item_id, attr, null );
- }
- },
- // Temporary workaround for DOM api not yet implemented by XUL nodes.
- cloneNode : function ( item ) {
- // Create another element like the one we're cloning.
- var node = document.createElement( item.tagName );
-
- // Copy attributes from argument item to the new one.
- var attrs = item.attributes;
- for ( var i = 0; i < attrs.length; i++ ) {
- var attr = attrs.item( i );
- node.setAttribute( attr.nodeName, attr.nodeValue );
- }
-
- // Voila!
- return node;
- },
- // Generate fully-qualified URL for clicked-on link.
- linkURL : function () {
- if (this.link.href) {
- return this.link.href;
- }
- var href = this.link.getAttributeNS("http://www.w3.org/1999/xlink","href");
- if (!href || !href.match(/\S/)) {
- throw "Empty href"; // Without this we try to save as the current doc, for example, HTML case also throws if empty
- }
- href = this.makeURLAbsolute(this.link.baseURI,href);
- return href;
- },
- // Get text of link.
- linkText : function () {
- var text = gatherTextUnder( this.link );
- if (!text || !text.match(/\S/)) {
- text = this.link.getAttribute("title");
- if (!text || !text.match(/\S/)) {
- text = this.link.getAttribute("alt");
- if (!text || !text.match(/\S/)) {
- if (this.link.href) {
- text = this.link.href;
- } else {
- text = getAttributeNS("http://www.w3.org/1999/xlink", "href");
- if (text && text.match(/\S/)) {
- text = this.makeURLAbsolute(this.link.baseURI, text);
- }
- }
- }
- }
- }
-
- return text;
- },
-
- //Get selected object and convert it to a string to get
- //selected text. Only use the first 15 chars.
- isTextSelection : function() {
- var result = false;
- var selection = this.searchSelected(16);
-
- var bundle = srGetStrBundle("chrome://communicator/locale/contentAreaCommands.properties");
-
- var searchSelectText;
- if (selection != "") {
- searchSelectText = selection.toString();
- if (searchSelectText.length > 15)
- searchSelectText = searchSelectText.substr(0,15) + "...";
- result = true;
-
- // format "Search for <selection>" string to show in menu
- searchSelectText = bundle.formatStringFromName("searchText",
- [searchSelectText], 1);
- this.setItemAttr("context-searchselect", "label", searchSelectText);
- }
- return result;
- },
-
- searchSelected : function( charlen ) {
- var focusedWindow = document.commandDispatcher.focusedWindow;
- var searchStr = focusedWindow.getSelection();
- searchStr = searchStr.toString();
- // searching for more than 150 chars makes no sense
- if (!charlen)
- charlen = 150;
- if (charlen < searchStr.length) {
- // only use the first charlen important chars. see bug 221361
- var pattern = new RegExp("^(?:\\s*.){0," + charlen + "}");
- pattern.test(searchStr);
- searchStr = RegExp.lastMatch;
- }
- searchStr = searchStr.replace(/^\s+/, "");
- searchStr = searchStr.replace(/\s+$/, "");
- searchStr = searchStr.replace(/\s+/g, " ");
- return searchStr;
- },
-
- // Convert relative URL to absolute, using document's <base>.
- makeURLAbsolute : function ( base, url ) {
- // Construct nsIURL.
- var ioService = Components.classes["@mozilla.org/network/io-service;1"]
- .getService(Components.interfaces.nsIIOService);
- var baseURI = ioService.newURI(base, null, null);
-
- return ioService.newURI(baseURI.resolve(url), null, null).spec;
- },
- toString : function () {
- return "contextMenu.target = " + this.target + "\n" +
- "contextMenu.onImage = " + this.onImage + "\n" +
- "contextMenu.onLink = " + this.onLink + "\n" +
- "contextMenu.link = " + this.link + "\n" +
- "contextMenu.inFrame = " + this.inFrame + "\n" +
- "contextMenu.hasBGImage = " + this.hasBGImage + "\n";
- },
- isTargetATextBox : function ( node )
- {
- if (node instanceof HTMLInputElement)
- return (node.type == "text" || node.type == "password")
-
- return (node instanceof HTMLTextAreaElement);
- },
-
- // Determines whether or not the separator with the specified ID should be
- // shown or not by determining if there are any non-hidden items between it
- // and the previous separator.
- shouldShowSeparator : function ( aSeparatorID )
- {
- var separator = document.getElementById(aSeparatorID);
- if (separator) {
- var sibling = separator.previousSibling;
- while (sibling && sibling.localName != "menuseparator") {
- if (sibling.getAttribute("hidden") != "true")
- return true;
- sibling = sibling.previousSibling;
- }
- }
- return false;
- }
-};
-
-/*************************************************************************
- *
- * nsDefaultEngine : nsIObserver
- *
- *************************************************************************/
-function nsDefaultEngine()
-{
- try
- {
- var pb = Components.classes["@mozilla.org/preferences-service;1"].
- getService(Components.interfaces.nsIPrefBranch);
- var pbi = pb.QueryInterface(
- Components.interfaces.nsIPrefBranch2);
- pbi.addObserver(this.domain, this, false);
-
- // reuse code by explicitly invoking initial |observe| call
- // to initialize the |icon| and |name| member variables
- this.observe(pb, "", this.domain);
- }
- catch (ex)
- {
- }
-}
-
-nsDefaultEngine.prototype =
-{
- name: "",
- icon: "",
- domain: "browser.search.defaultengine",
-
- // nsIObserver implementation
- observe: function(aPrefBranch, aTopic, aPrefName)
- {
- try
- {
- var rdf = Components.
- classes["@mozilla.org/rdf/rdf-service;1"].
- getService(Components.interfaces.nsIRDFService);
- var ds = rdf.GetDataSource("rdf:internetsearch");
- var defaultEngine = aPrefBranch.getCharPref(aPrefName);
- var res = rdf.GetResource(defaultEngine);
-
- // get engine ``pretty'' name
- const kNC_Name = rdf.GetResource(
- "http://home.netscape.com/NC-rdf#Name");
- var engineName = ds.GetTarget(res, kNC_Name, true);
- if (engineName)
- {
- this.name = engineName.QueryInterface(
- Components.interfaces.nsIRDFLiteral).Value;
- }
-
- // get URL to engine vendor icon
- const kNC_Icon = rdf.GetResource(
- "http://home.netscape.com/NC-rdf#Icon");
- var iconURL = ds.GetTarget(res, kNC_Icon, true);
- if (iconURL)
- {
- this.icon = iconURL.QueryInterface(
- Components.interfaces.nsIRDFLiteral).Value;
- }
- }
- catch (ex)
- {
- }
- }
-}
deleted file mode 100644
--- a/xpfe/communicator/resources/content/openLocation.js
+++ /dev/null
@@ -1,196 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * ***** 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 Mozilla Communicator client code, released
- * March 31, 1998.
- *
- * 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):
- * Michael Lowe <michael.lowe@bigfoot.com>
- * Blake Ross <blaker@netscape.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of 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 ***** */
-
-var browser;
-var dialog = {};
-var gNavigatorBundle;
-var pref = null;
-try {
- pref = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefBranch);
-} catch (ex) {
- // not critical, remain silent
-}
-
-function onLoad()
-{
- dialog.input = document.getElementById("dialog.input");
- dialog.open = document.documentElement.getButton("accept");
- dialog.openAppList = document.getElementById("openAppList");
- dialog.openTopWindow = document.getElementById("currentWindow");
- dialog.openEditWindow = document.getElementById("editWindow");
- dialog.bundle = document.getElementById("openLocationBundle");
- gNavigatorBundle = document.getElementById("navigatorBundle");
-
- if ("arguments" in window && window.arguments.length >= 1)
- browser = window.arguments[0];
-
- if (!browser) {
- // No browser supplied - we are calling from Composer
- dialog.openAppList.selectedItem = dialog.openEditWindow;
-
- // Change string to make more sense for Composer
- dialog.openTopWindow.setAttribute("label", dialog.bundle.getString("existingNavigatorWindow"));
-
- // Find most recent browser window
- var windowManager = Components.classes['@mozilla.org/appshell/window-mediator;1'].getService();
- var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator);
- if (windowManagerInterface)
- browser = windowManagerInterface.getMostRecentWindow( "navigator:browser" );
-
- // Disable "current browser" item if no browser is open
- if (!browser)
- dialog.openTopWindow.setAttribute("disabled", "true");
- }
- else {
- dialog.openAppList.selectedItem = dialog.openTopWindow;
- }
-
- if (pref) {
- try {
- var value = pref.getIntPref("general.open_location.last_window_choice");
- var element = dialog.openAppList.getElementsByAttribute("value", value)[0];
- if (element)
- dialog.openAppList.selectedItem = element;
- dialog.input.value = pref.getComplexValue("general.open_location.last_url",
- Components.interfaces.nsISupportsString).data;
- }
- catch(ex) {
- }
- if (dialog.input.value)
- dialog.input.select(); // XXX should probably be done automatically
- }
-
- doEnabling();
-}
-
-function doEnabling()
-{
- dialog.open.disabled = !dialog.input.value;
-}
-
-function open()
-{
- var url;
- if (browser)
- url = browser.getShortcutOrURI(dialog.input.value);
- else
- url = dialog.input.value;
-
- try {
- switch (dialog.openAppList.value) {
- case "0":
- browser.loadURI(url);
- break;
- case "1":
- window.opener.delayedOpenWindow(getBrowserURL(), "all,dialog=no", url);
- break;
- case "2":
- // editPage is in editorApplicationOverlay.js
- // 3rd param tells editPage to use "delayedOpenWindow"
- if ("editPage" in window.opener)
- window.opener.editPage(url, window.opener, true);
- break;
- case "3":
- if (browser.getBrowser && browser.getBrowser().localName == "tabbrowser")
- browser.delayedOpenTab(url);
- else
- browser.loadURI(url); // Just do a normal load.
- break;
- }
- }
- catch(exception) {
- }
-
- if (pref) {
- var str = Components.classes["@mozilla.org/supports-string;1"]
- .createInstance(Components.interfaces.nsISupportsString);
- str.data = dialog.input.value;
- pref.setComplexValue("general.open_location.last_url",
- Components.interfaces.nsISupportsString, str);
- pref.setIntPref("general.open_location.last_window_choice", dialog.openAppList.value);
- }
-
- // Delay closing slightly to avoid timing bug on Linux.
- window.close();
- return false;
-}
-
-function createInstance(contractid, iidName)
-{
- var iid = Components.interfaces[iidName];
- return Components.classes[contractid].createInstance(iid);
-}
-
-const nsIFilePicker = Components.interfaces.nsIFilePicker;
-function onChooseFile()
-{
- try {
- var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
- fp.init(window, dialog.bundle.getString("chooseFileDialogTitle"), nsIFilePicker.modeOpen);
- if (dialog.openAppList.value == "2") {
- // When loading into Composer, direct user to prefer HTML files and text files,
- // so we call separately to control the order of the filter list
- fp.appendFilters(nsIFilePicker.filterHTML | nsIFilePicker.filterText);
- fp.appendFilters(nsIFilePicker.filterText);
- fp.appendFilters(nsIFilePicker.filterAll);
- }
- else {
- fp.appendFilters(nsIFilePicker.filterHTML | nsIFilePicker.filterText |
- nsIFilePicker.filterAll | nsIFilePicker.filterImages | nsIFilePicker.filterXML);
- }
-
- if (fp.show() == nsIFilePicker.returnOK && fp.fileURL.spec && fp.fileURL.spec.length > 0)
- dialog.input.value = fp.fileURL.spec;
- }
- catch(ex) {
- }
- doEnabling();
-}
-
-function useUBHistoryItem(aMenuItem)
-{
- var urlbar = document.getElementById("dialog.input");
- urlbar.value = aMenuItem.getAttribute("label");
- urlbar.focus();
- doEnabling();
-}
-
deleted file mode 100644
--- a/xpfe/communicator/resources/content/openLocation.xul
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.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 Mozilla Communicator client code, released
- March 31, 1998.
-
- The Initial Developer of the Original Code is
- Netscape Communications Corporation.
- Portions created by the Initial Developer are Copyright (C) 1998-1999
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
- Ben Goodger <ben@netscape.com>
- Michael Lowe <michael.lowe@bigfoot.com>
-
- Alternatively, the contents of this file may be used under the terms of
- either of 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 ***** -->
-
-<?xml-stylesheet href="chrome://communicator/skin/" type="text/css"?>
-
-<!DOCTYPE dialog [
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
- %brandDTD;
- <!ENTITY % openDialogDTD SYSTEM "chrome://communicator/locale/openLocation.dtd" >
- %openDialogDTD;
-]>
-
-<dialog id="openLocation"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- title="&caption.label;"
- onload="onLoad()"
- ondialogaccept="open()"
- buttonlabelaccept="&open.label;"
- style="width: 40em;"
- persist="screenX screenY"
- screenX="24" screenY="24">
-
- <script type="application/x-javascript" src="chrome://global/content/globalOverlay.js"/>
- <script type="application/x-javascript" src="chrome://communicator/content/openLocation.js"/>
- <script type="application/x-javascript" src="chrome://communicator/content/utilityOverlay.js"/>
- <script type="application/x-javascript" src="chrome://navigator/content/sessionHistoryUI.js"/>
-
- <stringbundle id="openLocationBundle" src="chrome://communicator/locale/openLocation.properties"/>
- <stringbundle id="navigatorBundle" src="chrome://navigator/locale/navigator.properties"/>
-
- <hbox>
- <separator orient="vertical" class="thin"/>
- <vbox flex="1">
- <label value="&enter.label;" control="dialog.input" accesskey="&enter.accesskey;"/>
- <separator class="thin"/>
-
- <hbox align="center">
- <textbox id="dialog.input" flex="1" type="autocomplete"
- searchSessions="history" timeout="50" maxrows="6"
- disablehistory="false" class="uri-element"
- oninput="doEnabling();">
- <menupopup id="ubhist-popup" class="autocomplete-history-popup"
- popupalign="topleft" popupanchor="bottomleft"
- onpopupshowing="createUBHistoryMenu(event.target);"
- oncommand="useUBHistoryItem(event.target)"/>
- </textbox>
- <button label="&chooseFile.label;" accesskey="&chooseFile.accesskey;" oncommand="onChooseFile();"/>
- </hbox>
- <hbox align="center">
- <label value="&openWhere.label;" accesskey="&openWhere.accesskey;" control="openAppList"/>
- <menulist id="openAppList">
- <menupopup>
- <menuitem value="0" id="currentWindow" label="&topWindow.label;"/>
- <menuitem value="1" label="&newWindow.label;"/>
- <menuitem value="3" label="&newTab.label;"/>
- <menuseparator/>
- <menuitem value="2" id="editWindow" label="&editNewWindow.label;"/>
- </menupopup>
- </menulist>
- <spacer flex="1"/>
- </hbox>
- </vbox>
- </hbox>
-
-</dialog>
deleted file mode 100644
--- a/xpfe/communicator/resources/content/printPreviewBindings.xml
+++ /dev/null
@@ -1,454 +0,0 @@
-<?xml version="1.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 the print preview toolbar.
- -
- - The Initial Developer of the Original Code is
- - Netscape Communications Corporation.
- - Portions created by the Initial Developer are Copyright (C) 2002
- - the Initial Developer. All Rights Reserved.
- -
- - Contributor(s):
- - Samir Gehani <sgehani@netscape.com> (Original Author)
- - Rod Spears <rods@netscape.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 LGPL or the GPL. 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 ***** -->
-
-<!DOCTYPE bindings SYSTEM "chrome://communicator/locale/printPreview.dtd">
-
-<bindings id="printPreviewBindings"
- xmlns="http://www.mozilla.org/xbl"
- xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
- <binding id="printpreviewtoolbar"
- extends="chrome://global/content/bindings/toolbar.xml#toolbar">
- <resources>
- <stylesheet src="chrome://global/skin/printing.css"/>
- </resources>
-
- <content>
- <xul:button label="&print.label;" accesskey="&print.accesskey;"
- oncommand="PrintUtils.print();"/>
-
- <xul:button label="&pageSetup.label;" accesskey="&pageSetup.accesskey;"
- oncommand="this.parentNode.doPageSetup();"/>
-
- <xul:vbox align="center" pack="center">
- <xul:label value="&page.label;" accesskey="&page.accesskey;" control="pageNumber"/>
- </xul:vbox>
- <xul:toolbarbutton class="toolbarbutton-icon home-arrow"
- oncommand="parentNode.navigate(0, 0, 'home');" tooltiptext="&homearrow.tooltip;"/>
- <xul:toolbarbutton class="toolbarbutton-icon last-arrow"
- oncommand="parentNode.navigate(-1, 0, 0);" tooltiptext="&leftarrow.tooltip;"/>
- <xul:hbox align="center" pack="center">
- <xul:textbox id="pageNumber" size="3" value="1" lastvalid="1"
- onchange="navigate(0, this.value, 0);"/>
- <xul:label value="&of.label;"/>
- <xul:label value="1"/>
- </xul:hbox>
- <xul:toolbarbutton class="toolbarbutton-icon next-arrow"
- oncommand="parentNode.navigate(1, 0, 0);" tooltiptext="&rightarrow.tooltip;"/>
- <xul:toolbarbutton class="toolbarbutton-icon end-arrow"
- oncommand="parentNode.navigate(0, 0, 'end');" tooltiptext="&endarrow.tooltip;"/>
-
- <xul:toolbarseparator class="toolbarseparator-primary"/>
- <xul:vbox align="center" pack="center">
- <xul:label value="&scale.label;" accesskey="&scale.accesskey;" control="scale"/>
- </xul:vbox>
-
- <xul:hbox align="center" pack="center">
- <xul:menulist id="scale" crop="none"
- oncommand="parentNode.parentNode.scale(this.selectedItem.value);">
- <xul:menupopup>
- <xul:menuitem value="0.3" label="&p30.label;"/>
- <xul:menuitem value="0.4" label="&p40.label;"/>
- <xul:menuitem value="0.5" label="&p50.label;"/>
- <xul:menuitem value="0.6" label="&p60.label;"/>
- <xul:menuitem value="0.7" label="&p70.label;"/>
- <xul:menuitem value="0.8" label="&p80.label;"/>
- <xul:menuitem value="0.9" label="&p90.label;"/>
- <xul:menuitem value="1" label="&p100.label;"/>
- <xul:menuitem value="1.25" label="&p125.label;"/>
- <xul:menuitem value="1.5" label="&p150.label;"/>
- <xul:menuitem value="1.75" label="&p175.label;"/>
- <xul:menuitem value="2" label="&p200.label;"/>
- <xul:menuseparator/>
- <xul:menuitem flex="1" value="ShrinkToFit"
- label="&ShrinkToFit.label;"/>
- <xul:menuitem value="Custom" label="&Custom.label;"/>
- </xul:menupopup>
- </xul:menulist>
- </xul:hbox>
-
- <xul:toolbarseparator class="toolbarseparator-primary"/>
- <xul:hbox align="center" pack="center">
- <xul:toolbarbutton label="&portrait.label;" checked="true"
- accesskey="&portrait.accesskey;"
- type="radio" group="orient" class="toolbar-portrait-page"
- oncommand="parentNode.parentNode.orient('portrait');"/>
- <xul:toolbarbutton label="&landscape.label;"
- accesskey="&landscape.accesskey;"
- type="radio" group="orient" class="toolbar-landscape-page"
- oncommand="parentNode.parentNode.orient('landscape');"/>
- </xul:hbox>
-
- <xul:toolbarseparator class="toolbarseparator-primary"/>
- <xul:button label="&close.label;" accesskey="&close.accesskey;"
- oncommand="PrintUtils.exitPrintPreview();"/>
- <xul:data value="&customPrompt.title;"/>
- </content>
-
- <implementation>
- <field name="mDebug">
- false
- </field>
- <field name="mPrintButton">
- document.getAnonymousNodes(this)[0]
- </field>
- <field name="mPageTextBox">
- document.getAnonymousNodes(this)[5].firstChild
- </field>
- <field name="mTotalPages">
- document.getAnonymousNodes(this)[5].lastChild
- </field>
- <field name="mScaleLabel">
- document.getAnonymousNodes(this)[9].firstChild
- </field>
- <field name="mScaleCombobox">
- document.getAnonymousNodes(this)[10].firstChild
- </field>
- <field name="mOrientButtonsBox">
- document.getAnonymousNodes(this)[12]
- </field>
- <field name="mPortaitButton">
- this.mOrientButtonsBox.childNodes[0]
- </field>
- <field name="mLandscapeButton">
- this.mOrientButtonsBox.childNodes[1]
- </field>
- <field name="mCustomTitle">
- document.getAnonymousNodes(this)[15].firstChild
- </field>
- <field name="mPrintPreviewObs">
- </field>
- <field name="mWebProgress">
- </field>
-
- <constructor>
- <![CDATA[
- this._debug("constructor");
-
- var print = PrintUtils.getWebBrowserPrint();
- this.mTotalPages.value = print.printPreviewNumPages;
-
- this.updateToolbar();
-
- // Hide the ``Print...'' button when the underlying gfx code does not
- // support multiple devicecontext to be used concurrently
- // (e.g. printing and printpreview at the same time; required as
- // legacy support for unices.'s PostScript module
- // XXX the scaling widgets, and the orientation widgets on unices.
- var canPrint = true;
- try
- {
- var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
- canPrint = prefs.getBoolPref("print.whileInPrintPreview");
- if (!canPrint)
- {
- // Ask the printerfeatures database if this printer device
- // supports multiple device instances which can be used
- // concurrently
- var smdci = prefs.getBoolPref("print.tmp.printerfeatures." +
- print.currentPrintSettings.printerName +
- ".can_use_multiple_devicecontexts_concurrently");
-
- // We can print from print preview when we can use multiple
- // devicecontext instances in parallel (regardless what
- // "print.whileInPrintPreview" may say here...)
- if (smdci)
- {
- canPrint = true;
- }
- }
-
- } catch(e) {}
-
- if (!canPrint)
- {
- // hide print button
- this.mPrintButton.setAttribute("hidden", "true");
-
- // hide page setup button
- document.getAnonymousNodes(this)[1].setAttribute("hidden", "true");
-
- // hide scale widgets (indices: 8, 9, 10, 11)
- // hide orient widgets (indices: 12, 13)
- for (var i = 8; i <= 13; ++i)
- {
- document.getAnonymousNodes(this)[i].setAttribute("hidden", "true");
- }
- }
- ]]>
- </constructor>
-
- <method name="doPageSetup">
- <body>
- <![CDATA[
- var didOK = PrintUtils.showPageSetup();
- if (didOK) {
- // the changes that effect the UI
- this.updateToolbar();
-
- // Now do PrintPreview
- PrintUtils.printPreview();
- }
- ]]>
- </body>
- </method>
-
- <method name="navigate">
- <parameter name="aDirection"/>
- <parameter name="aPageNum"/>
- <parameter name="aHomeOrEnd"/>
- <body>
- <![CDATA[
- this._debug("navigate: " + aDirection + " " + aPageNum +
- " " + aHomeOrEnd);
-
- var print = PrintUtils.getWebBrowserPrint();
- var validInput = false;
- var total;
-
- // we use only one of aHomeOrEnd, aDirection, or aPageNum
- if (aHomeOrEnd)
- {
- var homeOrEnd;
- if (aHomeOrEnd == "home")
- {
- homeOrEnd = print.PRINTPREVIEW_HOME;
- this.mPageTextBox.value = 1;
- }
- else
- {
- homeOrEnd = print.PRINTPREVIEW_END;
- this.mPageTextBox.value = print.printPreviewNumPages;
- }
-
- print.printPreviewNavigate(homeOrEnd, 0);
- validInput = true;
- }
- else if (aDirection)
- {
- var textBoxStr = this.mPageTextBox.value;
- var newPageNum = parseInt(textBoxStr) + aDirection;
- total = print.printPreviewNumPages;
-
- // bounds check potentially user-entered number
- if (newPageNum > 0 && newPageNum <= total)
- {
- this.mPageTextBox.value = newPageNum;
- print.printPreviewNavigate(
- print.PRINTPREVIEW_GOTO_PAGENUM, newPageNum);
- validInput = true;
- }
- }
- else
- {
- total = print.printPreviewNumPages;
-
- // bounds check potentially user-entered number
- if (aPageNum > 0 && aPageNum <= total)
- {
- print.printPreviewNavigate(
- print.PRINTPREVIEW_GOTO_PAGENUM, aPageNum);
- validInput = true;
- }
- }
-
- if (validInput)
- {
- // store the valid page number for future use to replace
- // the textbox value if erroneous input made it in
- this.mPageTextBox.setAttribute(
- "lastvalid", this.mPageTextBox.value);
- }
- else
- {
- // restore last known valid value in place of erroneous input
- this.mPageTextBox.value =
- this.mPageTextBox.getAttribute("lastvalid");
- }
- ]]>
- </body>
- </method>
-
- <method name="promptForScaleValue">
- <parameter name="aValue"/>
- <body>
- <![CDATA[
- var value = Math.round(aValue);
- var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
- .getService(Components.interfaces.nsIPromptService);
- var result = {value:value};
- var confirmed = promptService.prompt(window, this.mCustomTitle,
- this.mScaleLabel.value, result,
- null, {value:value});
- this._debug("confirmed: " + confirmed);
- if (!confirmed || !result.value || result.value == "" || result.value == value) {
- return(-1);
- }
- return result.value;
- ]]>
- </body>
- </method>
-
- <method name="setScaleCombobox">
- <parameter name="aValue"/>
- <body>
- <![CDATA[
- var scaleValues = [0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.25, 1.5, 1.75, 2];
-
- aValue = new Number(aValue);
-
- for (var i = 0; i < scaleValues.length; i++) {
- if (aValue == scaleValues[i]) {
- this.mScaleCombobox.selectedIndex = i;
- return;
- }
- }
- this.mScaleCombobox.value = "Custom";
- ]]>
- </body>
- </method>
-
- <method name="scale">
- <parameter name="aValue"/>
- <body>
- <![CDATA[
- this._debug("scale: " + aValue);
-
- var settings = PrintUtils.getPrintSettings();
- if (aValue == "ShrinkToFit") {
- if (!settings.shrinkToFit) {
- settings.shrinkToFit = true;
- this.savePrintSettings(settings, settings.kInitSaveShrinkToFit | settings.kInitSaveScaling);
- PrintUtils.printPreview();
- }
- return;
- }
-
- if (aValue == "Custom") {
- aValue = this.promptForScaleValue(settings.scaling * 100.0);
- this._debug("promptForScaleValue "+aValue);
- if (aValue >= 10) {
- aValue /= 100;
- } else {
- this.mScaleCombobox.selectedIndex = this.mScaleCombobox.getAttribute('lastValidInx');
- return;
- }
- }
-
- this.setScaleCombobox(aValue);
- this.mScaleCombobox.setAttribute('lastValidInx', this.mScaleCombobox.selectedIndex);
-
- if (settings.scaling != aValue)
- {
- settings.shrinkToFit = false;
- settings.scaling = aValue;
- this.savePrintSettings(settings, settings.kInitSaveShrinkToFit | settings.kInitSaveScaling);
- PrintUtils.printPreview();
- }
- ]]>
- </body>
- </method>
-
- <method name="orient">
- <parameter name="aOrientation"/>
- <body>
- <![CDATA[
- this._debug("orient: " + aOrientation);
-
- const kIPrintSettings = Components.interfaces.nsIPrintSettings;
- var orientValue = (aOrientation == "portrait") ? kIPrintSettings.kPortraitOrientation :
- kIPrintSettings.kLandscapeOrientation;
- var settings = PrintUtils.getPrintSettings();
- if (settings.orientation != orientValue)
- {
- settings.orientation = orientValue;
- this.savePrintSettings(settings, settings.kInitSaveOrientation);
- PrintUtils.printPreview();
- }
- ]]>
- </body>
- </method>
-
- <method name="updateToolbar">
- <body>
- <![CDATA[
- var print = PrintUtils.getWebBrowserPrint();
- var settings = PrintUtils.getPrintSettings();
-
- var isPortrait = settings.orientation == Components.interfaces.nsIPrintSettings.kPortraitOrientation;
-
- this.mPortaitButton.checked = isPortrait;
- this.mLandscapeButton.checked = !isPortrait;
-
- if (settings.shrinkToFit) {
- this._debug("setting ShrinkToFit");
- this.mScaleCombobox.value = "ShrinkToFit";
- } else {
- this.setScaleCombobox(settings.scaling);
- }
-
- this.mTotalPages.value = print.printPreviewNumPages;
- this.mPageTextBox.value = 1;
- ]]>
- </body>
- </method>
-
- <method name="savePrintSettings">
- <parameter name="settings"/>
- <parameter name="flags"/>
- <body><![CDATA[
- var printService = Components.classes["@mozilla.org/gfx/printsettings-service;1"]
- .getService(Components.interfaces.nsIPrintSettingsService);
- printService.savePrintSettingsToPrefs(settings, true, flags);
- ]]></body>
- </method>
-
- <method name="_debug">
- <parameter name="aMsg"/>
- <body>
- <![CDATA[
- if (this.mDebug)
- dump("\t *** printPreviewBindings: " + aMsg + "\n");
- ]]>
- </body>
- </method>
- </implementation>
- </binding>
-
-</bindings>
deleted file mode 100644
--- a/xpfe/communicator/resources/content/printing.js
+++ /dev/null
@@ -1,318 +0,0 @@
-/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** 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 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 <blakeross@telocity.com>
- * Peter Annema <disttsc@bart.nl>
- * Samir Gehani <sgehani@netscape.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of 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 ***** */
-
-var gPrintSettingsAreGlobal = false;
-var gSavePrintSettings = false;
-
-var PrintUtils = {
-
- showPageSetup: function ()
- {
- try {
- var printSettings = this.getPrintSettings();
- var printingPromptService = Components.classes["@mozilla.org/embedcomp/printingprompt-service;1"]
- .getService(Components.interfaces.nsIPrintingPromptService);
- printingPromptService.showPageSetup(window, printSettings, null);
- if (gSavePrintSettings) {
- // Page Setup data is a "native" setting on the Mac
- var printService = Components.classes["@mozilla.org/gfx/printsettings-service;1"]
- .getService(Components.interfaces.nsIPrintSettingsService);
- printService.savePrintSettingsToPrefs(printSettings, true,
- printSettings.kInitSaveNativeData);
- }
-
- } catch (e) {
- dump("showPageSetup "+e+"\n");
- return false;
- }
- return true;
- },
-
- print: function ()
- {
- var webBrowserPrint = this.getWebBrowserPrint();
- var printSettings = this.getPrintSettings();
- try {
- webBrowserPrint.print(printSettings, null);
- if (gPrintSettingsAreGlobal && gSavePrintSettings) {
- var printService = Components.classes["@mozilla.org/gfx/printsettings-service;1"]
- .getService(Components.interfaces.nsIPrintSettingsService);
- printService.savePrintSettingsToPrefs(printSettings, true,
- printSettings.kInitSaveAll);
- printService.savePrintSettingsToPrefs(printSettings, false,
- printSettings.kInitSavePrinterName);
- }
- } 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("print: "+e+"\n"); // if you need to debug
- }
- },
-
- printPreview: function (aEnterPPCallback, aExitPPCallback)
- {
- // if we're already in PP mode, don't set the callbacks; chances
- // are they're null because someone is calling printPreview() to
- // get us to refresh the display.
- var pptoolbar = document.getElementById("print-preview-toolbar");
- if (!pptoolbar) {
- this._onEnterPP = aEnterPPCallback;
- this._onExitPP = aExitPPCallback;
- } else {
- // collapse the browser - it will be shown in
- // onEnterPrintPreview; this forces a reflow which fixes display
- // issues in bug 267422.
- var browser = getPPBrowser();
- if (browser)
- browser.collapsed = true;
- }
-
- this._webProgressPP = {};
- var ppParams = {};
- var notifyOnOpen = {};
- var webBrowserPrint = this.getWebBrowserPrint();
- var printSettings = this.getPrintSettings();
- // Here we get the PrintingPromptService so we can display the PP Progress from script
- // For the browser implemented via XUL with the PP toolbar we cannot let it be
- // automatically opened from the print engine because the XUL scrollbars in the PP window
- // will layout before the content window and a crash will occur.
- // Doing it all from script, means it lays out before hand and we can let printing do it's own thing
- var printingPromptService = Components.classes["@mozilla.org/embedcomp/printingprompt-service;1"]
- .getService(Components.interfaces.nsIPrintingPromptService);
- // just in case we are already printing,
- // an error code could be returned if the Progress Dialog is already displayed
- try {
- printingPromptService.showProgress(this, webBrowserPrint, printSettings, this._obsPP, false,
- this._webProgressPP, ppParams, notifyOnOpen);
- if (ppParams.value) {
- var webNav = getWebNavigation();
- ppParams.value.docTitle = webNav.document.title;
- ppParams.value.docURL = webNav.currentURI.spec;
- }
-
- // this tells us whether we should continue on with PP or
- // wait for the callback via the observer
- if (!notifyOnOpen.value.valueOf() || this._webProgressPP.value == null)
- this.enterPrintPreview();
- } catch (e) {
- this.enterPrintPreview();
- }
- },
-
- getWebBrowserPrint: function ()
- {
- return getEngineWebBrowserPrint();
- },
-
- ////////////////////////////////////////
- // "private" methods. Don't use them. //
- ////////////////////////////////////////
-
- setPrinterDefaultsForSelectedPrinter: function (aPrintService, aPrintSettings)
- {
- if (!aPrintSettings.printerName)
- aPrintSettings.printerName = aPrintService.defaultPrinterName;
-
- // First get any defaults from the printer
- aPrintService.initPrintSettingsFromPrinter(aPrintSettings.printerName, aPrintSettings);
- // now augment them with any values from last time
- aPrintService.initPrintSettingsFromPrefs(aPrintSettings, true, aPrintSettings.kInitSaveAll);
- },
-
- getPrintSettings: function ()
- {
- var pref = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefBranch);
- if (pref) {
- gPrintSettingsAreGlobal = pref.getBoolPref("print.use_global_printsettings", false);
- gSavePrintSettings = pref.getBoolPref("print.save_print_settings", false);
- }
-
- var printSettings;
- try {
- var printService = Components.classes["@mozilla.org/gfx/printsettings-service;1"]
- .getService(Components.interfaces.nsIPrintSettingsService);
- if (gPrintSettingsAreGlobal) {
- printSettings = printService.globalPrintSettings;
- this.setPrinterDefaultsForSelectedPrinter(printService, printSettings);
- } else {
- printSettings = printService.newPrintSettings;
- }
- } catch (e) {
- dump("getPrintSettings: "+e+"\n");
- }
- return printSettings;
- },
-
- _chromeState: {},
- _closeHandlerPP: null,
- _webProgressPP: null,
- _onEnterPP: null,
- _onExitPP: null,
-
- // This observer is called once the progress dialog has been "opened"
- _obsPP:
- {
- observe: function(aSubject, aTopic, aData)
- {
- // delay the print preview to show the content of the progress dialog
- setTimeout(function () { PrintUtils.enterPrintPreview(); }, 0);
- },
-
- QueryInterface : function(iid)
- {
- if (iid.equals(Components.interfaces.nsIObserver) ||
- iid.equals(Components.interfaces.nsISupportsWeakReference) ||
- iid.equals(Components.interfaces.nsISupports))
- return this;
- throw Components.results.NS_NOINTERFACE;
- }
- },
-
- enterPrintPreview: function ()
- {
- var webBrowserPrint = this.getWebBrowserPrint();
- var printSettings = this.getPrintSettings();
- try {
- webBrowserPrint.printPreview(printSettings, null, this._webProgressPP.value);
- } 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
- return;
- }
-
- var printPreviewTB = document.getElementById("print-preview-toolbar");
- if (printPreviewTB) {
- printPreviewTB.updateToolbar();
- var browser = getPPBrowser();
- if (browser)
- browser.collapsed = false;
- return;
- }
-
- // show the toolbar after we go into print preview mode so
- // that we can initialize the toolbar with total num pages
- const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
- printPreviewTB = document.createElementNS(XUL_NS, "toolbar");
- printPreviewTB.setAttribute("printpreview", true);
- printPreviewTB.setAttribute("id", "print-preview-toolbar");
-
- var navToolbox = getNavToolbox();
- navToolbox.parentNode.insertBefore(printPreviewTB, navToolbox);
-
- // copy the window close handler
- if (document.documentElement.hasAttribute("onclose"))
- this._closeHandlerPP = document.documentElement.getAttribute("onclose");
- else
- this._closeHandlerPP = null;
- document.documentElement.setAttribute("onclose", "PrintUtils.exitPrintPreview(); return false;");
-
- // disable chrome shortcuts...
- window.addEventListener("keypress", this.onKeyPressPP, true);
-
- // _content.focus();
- navToolbox.focus();
-
- // on Enter PP Call back
- if (this._onEnterPP) {
- this._onEnterPP();
- this._onEnterPP = null;
- }
- },
-
- exitPrintPreview: function ()
- {
- window.removeEventListener("keypress", this.onKeyPressPP, true);
-
- // restore the old close handler
- document.documentElement.setAttribute("onclose", this._closeHandlerPP);
- this._closeHandlerPP = null;
-
- var webBrowserPrint = this.getWebBrowserPrint();
- webBrowserPrint.exitPrintPreview();
-
- // remove the print preview toolbar
- var navToolbox = getNavToolbox();
- var printPreviewTB = document.getElementById("print-preview-toolbar");
- navToolbox.parentNode.removeChild(printPreviewTB);
-
- // _content.focus();
- navToolbox.focus();
-
- // on Exit PP Call back
- if (this._onExitPP) {
- this._onExitPP();
- this._onExitPP = null;
- }
- },
-
- onKeyPressPP: function (aEvent)
- {
- var closeKey;
- try {
- closeKey = document.getElementById("key_close")
- .getAttribute("key");
- closeKey = aEvent["DOM_VK_"+closeKey];
- } catch (e) {}
- var isModif = aEvent.ctrlKey || aEvent.metaKey;
- // ESC and Ctrl-W exits the PP
- if (aEvent.keyCode == aEvent.DOM_VK_ESCAPE || isModif &&
- (aEvent.charCode == closeKey || aEvent.charCode == closeKey + 32))
- PrintUtils.exitPrintPreview();
- // cancel shortkeys
- if (isModif) {
- aEvent.preventDefault();
- aEvent.stopPropagation();
- }
- }
-}
-
-function NSPrintSetup()
-{
- PrintUtils.showPageSetup();
-}
-
-function NSPrint()
-{
- PrintUtils.print();
-}
deleted file mode 100644
--- a/xpfe/communicator/resources/content/tasksOverlay.js
+++ /dev/null
@@ -1,260 +0,0 @@
-/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** 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 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):
- * Peter Annema <disttsc@bart.nl>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of 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 ***** */
-
-const nsIDOMWindowInternal = Components.interfaces.nsIDOMWindowInternal;
-const nsIWindowMediator = Components.interfaces.nsIWindowMediator;
-const nsIWindowDataSource = Components.interfaces.nsIWindowDataSource;
-
-function toNavigator()
-{
- if (!CycleWindow("navigator:browser"))
- OpenBrowserWindow();
-}
-
-function toDownloadManager()
-{
- var dlmgr = Components.classes['@mozilla.org/download-manager;1'].getService();
- dlmgr = dlmgr.QueryInterface(Components.interfaces.nsIDownloadManager);
-
- var windowMediator = Components.classes['@mozilla.org/appshell/window-mediator;1'].getService();
- windowMediator = windowMediator.QueryInterface(nsIWindowMediator);
-
- var dlmgrWindow = windowMediator.getMostRecentWindow("Download:Manager");
- if (dlmgrWindow) {
- dlmgrWindow.focus();
- }
- else {
- dlmgr.open(window, null);
- }
-}
-
-function toJavaScriptConsole()
-{
- toOpenWindowByType("global:console", "chrome://global/content/console.xul");
-}
-
-function javaItemEnabling()
-{
- var element = document.getElementById("java");
- if (navigator.javaEnabled())
- element.removeAttribute("disabled");
- else
- element.setAttribute("disabled", "true");
-}
-
-function toJavaConsole()
-{
- var jvmMgr = Components.classes['@mozilla.org/oji/jvm-mgr;1']
- .getService(Components.interfaces.nsIJVMManager)
- jvmMgr.showJavaConsole();
-}
-
-function toOpenWindow( aWindow )
-{
- try {
- // Try to focus the previously focused window e.g. message compose body
- aWindow.document.commandDispatcher.focusedWindow.focus();
- } catch (e) {
- // e.g. full-page plugin or non-XUL document; just raise the top window
- aWindow.focus();
- }
-}
-
-function toOpenWindowByType( inType, uri )
-{
- // Recently opened one.
- if (uri in window)
- return;
-
- var windowManager = Components.classes['@mozilla.org/appshell/window-mediator;1'].getService(nsIWindowMediator);
-
- var topWindow = windowManager.getMostRecentWindow( inType );
-
- if ( topWindow )
- toOpenWindow( topWindow );
- else
- {
- function newWindowLoaded(event) {
- delete window[uri];
- }
- window[uri] = window.openDialog(uri, "", "all,dialog=no");
- window[uri].addEventListener("load", newWindowLoaded, false);
- }
-}
-
-
-function OpenBrowserWindow()
-{
- var charsetArg = new String();
- var handler = Components.classes['@mozilla.org/commandlinehandler/general-startup;1?type=browser'];
- handler = handler.getService();
- handler = handler.QueryInterface(Components.interfaces.nsICmdLineHandler);
- var url = handler.chromeUrlForTask;
- var wintype = document.documentElement.getAttribute('windowtype');
- var windowMediator = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);
- var browserWin = windowMediator.getMostRecentWindow("navigator:browser");
-
- // if a browser window already exists then set startpage to null so
- // navigator.js can check pref for how new window should be opened
- var startpage = browserWin ? null : handler.defaultArgs;
-
- // if and only if the current window is a browser window and it has a document with a character
- // set, then extract the current charset menu setting from the current document and use it to
- // initialize the new browser window...
- if (window && (wintype == "navigator:browser") && window.content && window.content.document)
- {
- var DocCharset = window.content.document.characterSet;
- charsetArg = "charset="+DocCharset;
-
- //we should "inherit" the charset menu setting in a new window
- window.openDialog(url, "_blank", "chrome,all,dialog=no", startpage, charsetArg);
- }
- else // forget about the charset information.
- {
- window.openDialog(url, "_blank", "chrome,all,dialog=no", startpage);
- }
-}
-
-function CycleWindow( aType )
-{
- var windowManager = Components.classes['@mozilla.org/appshell/window-mediator;1'].getService();
- var windowManagerInterface = windowManager.QueryInterface(nsIWindowMediator);
-
- var topWindowOfType = windowManagerInterface.getMostRecentWindow( aType );
- var topWindow = windowManagerInterface.getMostRecentWindow( null );
-
- if ( topWindowOfType == null )
- return null;
-
- if ( topWindowOfType != topWindow ) {
- toOpenWindow(topWindowOfType);
- return topWindowOfType;
- }
-
- var enumerator = windowManagerInterface.getEnumerator( aType );
- var firstWindow = enumerator.getNext().QueryInterface(nsIDOMWindowInternal);
- var iWindow = firstWindow;
- while (iWindow != topWindow && enumerator.hasMoreElements())
- iWindow = enumerator.getNext().QueryInterface(nsIDOMWindowInternal);
-
- if (enumerator.hasMoreElements()) {
- iWindow = enumerator.getNext().QueryInterface(nsIDOMWindowInternal);
- toOpenWindow(iWindow);
- return iWindow;
- }
-
- if (firstWindow == topWindow) // Only one window
- return null;
-
- toOpenWindow(firstWindow);
- return firstWindow;
-}
-
-function ShowWindowFromResource( node )
-{
- var windowManagerDS = Components.classes['@mozilla.org/rdf/datasource;1?name=window-mediator'].getService(nsIWindowDataSource);
-
- var desiredWindow = null;
- var url = node.getAttribute('id');
- desiredWindow = windowManagerDS.getWindowForResource( url );
- if ( desiredWindow )
- {
- toOpenWindow(desiredWindow);
- }
-}
-
-function OpenTaskURL( inURL )
-{
-
- window.open( inURL );
-}
-
-function ShowUpdateFromResource( node )
-{
- var url = node.getAttribute('url');
- // hack until I get a new interface on xpiflash to do a
- // look up on the name/url pair.
- OpenTaskURL( "http://www.mozilla.org/binaries.html");
-}
-
-function checkFocusedWindow()
-{
- var windowManagerDS = Components.classes['@mozilla.org/rdf/datasource;1?name=window-mediator'].getService(nsIWindowDataSource);
-
- var sep = document.getElementById("sep-window-list");
- // Using double parens to avoid warning
- while ((sep = sep.nextSibling)) {
- var url = sep.getAttribute('id');
- var win = windowManagerDS.getWindowForResource(url);
- if (win == window) {
- sep.setAttribute("checked", "true");
- break;
- }
- }
-}
-
-function toProfileManager()
-{
- const wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
- .getService(Components.interfaces.nsIWindowMediator);
- var promgrWin = wm.getMostRecentWindow( "mozilla:profileSelection" );
- if (promgrWin) {
- promgrWin.focus();
- } else {
- var params = Components.classes["@mozilla.org/embedcomp/dialogparam;1"]
- .createInstance(Components.interfaces.nsIDialogParamBlock);
-
- params.SetNumberStrings(1);
- params.SetString(0, "menu");
- window.openDialog("chrome://communicator/content/profile/profileSelection.xul",
- "",
- "centerscreen,chrome,titlebar",
- params);
- }
- // Here, we don't care about the result code
- // that was returned in the param block.
-}
-
-// This function is used by mac's platformCommunicatorOverlay
-function ZoomCurrentWindow()
-{
- if (window.windowState == STATE_NORMAL)
- window.maximize();
- else
- window.restore();
-}
deleted file mode 100644
--- a/xpfe/communicator/resources/content/tasksOverlay.xul
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://communicator/skin/tasksOverlay.css" type="text/css"?>
-
-<!DOCTYPE overlay [
-<!ENTITY % tasksDTD SYSTEM "chrome://communicator/locale/tasksOverlay.dtd" >
-%tasksDTD;
-]>
-
-<overlay id="tasksOverlay"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-<script type="application/x-javascript" src="chrome://communicator/content/tasksOverlay.js"/>
-
-
-
-<keyset id="tasksKeys">
- <key id="key_navigator" key="&navigatorCmd.commandkey;" command="Tasks:Navigator" modifiers="accel"/>
-
-</keyset>
-<commandset id="tasksCommands">
- <command id="Tasks:Navigator" oncommand="toNavigator();"/>
-</commandset>
-
-
- <!-- Tasks Menu -->
- <menu id="tasksMenu" label="&tasksMenu.label;" accesskey="&tasksMenu.accesskey;">
- <menupopup id="taskPopup">
- <menuitem id="downloadmgr" label="&downloadManagerCmd.label;" accesskey="&downloadManagerCmd.accesskey;" oncommand="toDownloadManager();"/>
- <menuseparator/>
- <menu label="&webDevelopment.label;" accesskey="&webDevelopment.accesskey;">
- <menupopup id="toolsPopup" onpopupshowing="javaItemEnabling();">
- <menuitem label="&errorConsoleCmd.label;" accesskey="&errorConsoleCmd.accesskey;" oncommand="toJavaScriptConsole();"/>
- <menuitem id="java" label="&javaConsoleCmd.label;" accesskey="&javaConsoleCmd.accesskey;" oncommand="toJavaConsole()"/>
- </menupopup>
- </menu>
- <menuseparator id="sep_switchprofile"/>
- <menuitem id="cmd_switchprofile" label="&switchProfileCmd.label;" accesskey="&switchProfileCmd.accesskey;" oncommand="toProfileManager();"/>
- </menupopup>
- </menu>
-
- <menu id="windowMenu" label="&windowMenu.label;" accesskey="&windowMenu.accesskey;"
- datasources="rdf:window-mediator" ref="NC:WindowMediatorRoot"
- onpopupshowing="checkFocusedWindow();">
- <template>
- <rule>
- <menupopup>
- <menuitem uri="rdf:*" label="rdf:http://home.netscape.com/NC-rdf#KeyIndex rdf:http://home.netscape.com/NC-rdf#Name" type="radio"
- name="windowList" oncommand="ShowWindowFromResource(event.target)" accesskey="rdf:http://home.netscape.com/NC-rdf#KeyIndex"/>
- </menupopup>
- </rule>
- </template>
- <menupopup id="windowPopup">
- <menuitem label="&navigatorCmd.label;" accesskey="&navigatorCmd.accesskey;" key="key_navigator" command="Tasks:Navigator" id="tasksMenuNavigator" class="menuitem-iconic icon-navigator16"/>
-
- <!-- Overlays get stuffed in here. -->
- <menuseparator id="sep-window-list"/>
- </menupopup>
- </menu>
-
-
- <statusbarpanel id="component-bar" persist="collapsed">
- <toolbarbutton class="taskbutton" id="mini-nav" oncommand="toNavigator();"
- tooltiptext="&taskNavigator.tooltip;"/>
- </statusbarpanel>
-</overlay>
deleted file mode 100644
--- a/xpfe/communicator/resources/content/unix/platformBrowserBindings.xul
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0"?>
-<!-- unix version of platformBrowserBindings.xul -->
-<!-- This file is ONLY here to show bindings in the menus. -->
-<!-- The real bindings come from XBL, in platformHTMLBindings.xml -->
-<!-- See bugs 57078 and 71779. -->
-
-<keybinding id="platformBrowserBindings"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-<keyset id="globalKeySet">
-
-<key id="sparcCutKey" keycode="VK_F20"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_cut');
- controller.doCommand('cmd_cut');"/>
-<key id="sparcCopyKey" keycode="VK_F16"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_copy');
- controller.doCommand('cmd_copy');"/>
-<key id="sparcPasteKey" keycode="VK_F18"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_paste');
- controller.doCommand('cmd_paste');"/>
-</keyset>
-
-</keybinding>
-
deleted file mode 100644
--- a/xpfe/communicator/resources/content/unix/platformCommunicatorOverlay.xul
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0"?>
-<!-- unix version of platformCommunicatorOverlay.xul -->
-
-<!DOCTYPE overlay [
-
-<!ENTITY % platformCommunicatorDTD SYSTEM "chrome://communicator-platform/locale/platformCommunicatorOverlay.dtd">
-%platformCommunicatorDTD;
-<!ENTITY % utilityDTD SYSTEM "chrome://communicator/locale/utilityOverlay.dtd">
-%utilityDTD;
-
-]>
-
-<overlay id="platformCommunicatorOverlay"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
- <!-- close -->
- <menuitem id="menu_close" label="&closeCmd.label;" key="key_close" accesskey="&closeCmd.accesskey;" command="cmd_close"/>
- <key id="key_close" key="&closeCmd.key;" command="cmd_close" modifiers="accel"/>
- <key id="key_closeWindow" key="&closeCmd.key;" command="cmd_closeWindow" modifiers="accel,shift"/>
-
- <!-- quit -->
- <menupopup id="menu_FilePopup">
- <menuseparator id="menu_FileQuitSeparator"/>
- <menuitem label="&quitApplicationCmd.label;" id="menu_FileQuitItem"
- key="key_quit" accesskey="&quitApplicationCmd.accesskey;" command="cmd_quit"/>
- </menupopup>
- <key id="key_quit" key="&quitApplicationCmd.key;" command="cmd_quit" modifiers="accel"/>
- <command id="cmd_quit" oncommand="goQuitApplication()"/>
-
- <!-- Edit Menu -->
- <menuitem id="menu_redo" label="&redoCmd.label;" key="key_redo" accesskey="&redoCmd.accesskey;" command="cmd_redo"/>
- <!-- Select All Key -->
- <key id="key_selectAll" key="&selectAllCmd.key;" modifiers="alt"/>
-
- <!-- Delete Key -->
- <key id="key_delete" keycode="VK_DELETE" command="cmd_delete"/>
-
- <!-- Find As You Type Keys -->
- <key id="key_findTypeText"
- key="&findTypeTextCmd.key;"/>
- <key id="key_findTypeLinks"
- key="&findTypeLinksCmd.key;"/>
-
- <!-- Tasks Keys -->
- <keyset id="tasksKeys">
- <key id="key_openHelp"
- keycode="&openHelpCmd.key;"
- command="cmd_openHelp"/>
- </keyset>
-
-</overlay>
deleted file mode 100644
--- a/xpfe/communicator/resources/content/unix/platformEditorBindings.xul
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0"?>
-<!-- unix version of platformEditorBindings.xul -->
-<!-- This file is ONLY here to show bindings in the menus. -->
-<!-- The real bindings come from XBL, in platformHTMLBindings.xml -->
-<!-- See bugs 57078 and 71779. -->
-
-<keybinding id="platformEditorBindings"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-<!-- End Unix-specific keybindings -->
-
-</keybinding>
-
deleted file mode 100644
--- a/xpfe/communicator/resources/content/utilityOverlay.js
+++ /dev/null
@@ -1,705 +0,0 @@
-/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* ***** 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 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):
- * Alec Flett <alecf@netscape.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of 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 ***** */
-
-/**
- * Communicator Shared Utility Library
- * for shared application glue for the Communicator suite of applications
- **/
-
-/*
- Note: All Editor/Composer-related methods have been moved to editorApplicationOverlay.js,
- so app windows that require those must include editorNavigatorOverlay.xul
-*/
-
-/**
- * Go into online/offline mode
- **/
-
-const kIOServiceProgID = "@mozilla.org/network/io-service;1";
-const kObserverServiceProgID = "@mozilla.org/observer-service;1";
-const kProxyManual = ["network.proxy.ftp",
- "network.proxy.gopher",
- "network.proxy.http",
- "network.proxy.socks",
- "network.proxy.ssl"];
-var gShowBiDi = false;
-
-function toggleOfflineStatus()
-{
- var checkfunc;
- try {
- checkfunc = document.getElementById("offline-status").getAttribute('checkfunc');
- }
- catch (ex) {
- checkfunc = null;
- }
-
- var ioService = Components.classes[kIOServiceProgID]
- .getService(Components.interfaces.nsIIOService2);
- if (checkfunc) {
- if (!eval(checkfunc)) {
- // the pre-offline check function returned false, so don't go offline
- return;
- }
- }
- ioService.manageOfflineStatus = false;
- ioService.offline = !ioService.offline;
-}
-
-function setNetworkStatus(networkProxyType)
-{
- var prefService = Components.classes["@mozilla.org/preferences-service;1"];
- prefService = prefService.getService(Components.interfaces.nsIPrefService);
- var prefBranch = prefService.getBranch(null);
- try {
- prefBranch.setIntPref("network.proxy.type", networkProxyType);
- }
- catch (ex) {}
-}
-
-function InitProxyMenu()
-{
- var networkProxyNo = document.getElementById("network-proxy-no");
- var networkProxyManual = document.getElementById("network-proxy-manual");
- var networkProxyPac = document.getElementById("network-proxy-pac");
- var networkProxyWpad = document.getElementById("network-proxy-wpad");
- var prefService = Components.classes["@mozilla.org/preferences-service;1"];
- prefService = prefService.getService(Components.interfaces.nsIPrefService);
- var prefBranch = prefService.getBranch(null);
-
- var proxyLocked = prefBranch.prefIsLocked("network.proxy.type");
- if (proxyLocked) {
- networkProxyNo.setAttribute("disabled", "true");
- networkProxyWpad.setAttribute("disabled", "true");
- }
- else {
- networkProxyNo.removeAttribute("disabled");
- networkProxyWpad.removeAttribute("disabled");
- }
-
- // If no proxy is configured, disable the menuitems.
- // Checking for proxy manual settings.
- var proxyManuallyConfigured = false;
- for (var i = 0; i < kProxyManual.length; i++) {
- if (GetStringPref(kProxyManual[i]) != "") {
- proxyManuallyConfigured = true;
- break;
- }
- }
-
- if (proxyManuallyConfigured && !proxyLocked) {
- networkProxyManual.removeAttribute("disabled");
- }
- else {
- networkProxyManual.setAttribute("disabled", "true");
- }
-
- //Checking for proxy PAC settings.
- var proxyAutoConfigured = false;
- if (GetStringPref("network.proxy.autoconfig_url") != "")
- proxyAutoConfigured = true;
-
- if (proxyAutoConfigured && !proxyLocked) {
- networkProxyPac.removeAttribute("disabled");
- }
- else {
- networkProxyPac.setAttribute("disabled", "true");
- }
-
- var networkProxyType;
- try {
- networkProxyType = prefBranch.getIntPref("network.proxy.type");
- } catch(e) {}
-
- // The pref value 3 for network.proxy.type is unused to maintain
- // backwards compatibility. Treat 3 equally to 0. See bug 115720.
- var networkProxyStatus = [networkProxyNo, networkProxyManual, networkProxyPac,
- networkProxyNo, networkProxyWpad];
- networkProxyStatus[networkProxyType].setAttribute("checked", "true");
-}
-
-function setProxyTypeUI()
-{
- var panel = document.getElementById("offline-status");
- if (!panel)
- return;
-
- var prefService = Components.classes["@mozilla.org/preferences-service;1"];
- prefService = prefService.getService(Components.interfaces.nsIPrefService);
- var prefBranch = prefService.getBranch(null);
-
- try {
- var networkProxyType = prefBranch.getIntPref("network.proxy.type");
- } catch(e) {}
-
- var onlineTooltip = "onlineTooltip" + networkProxyType;
- var bundle = srGetStrBundle("chrome://communicator/locale/utilityOverlay.properties");
- panel.setAttribute("tooltiptext", bundle.GetStringFromName(onlineTooltip));
-}
-
-function GetStringPref(name)
-{
- try {
- return pref.getComplexValue(name, Components.interfaces.nsISupportsString).data;
- } catch (e) {}
- return "";
-}
-
-function setOfflineUI(offline)
-{
- var broadcaster = document.getElementById("Communicator:WorkMode");
- var panel = document.getElementById("offline-status");
- if (!broadcaster || !panel) return;
-
- //Checking for a preference "network.online", if it's locked, disabling
- // network icon and menu item
- var prefService = Components.classes["@mozilla.org/preferences-service;1"];
- prefService = prefService.getService(Components.interfaces.nsIPrefService);
- var prefBranch = prefService.getBranch(null);
-
- var offlineLocked = prefBranch.prefIsLocked("network.online");
-
- if (offlineLocked ) {
- broadcaster.setAttribute("disabled","true");
- }
-
- var bundle = srGetStrBundle("chrome://communicator/locale/utilityOverlay.properties");
-
- if (offline)
- {
- broadcaster.setAttribute("offline", "true");
- broadcaster.setAttribute("checked", "true");
- panel.removeAttribute("context");
- panel.setAttribute("tooltiptext", bundle.GetStringFromName("offlineTooltip"));
- }
- else
- {
- broadcaster.removeAttribute("offline");
- broadcaster.removeAttribute("checked");
- panel.setAttribute("context", "networkProperties");
- try {
- var networkProxyType = prefBranch.getIntPref("network.proxy.type");
- } catch(e) {}
- var onlineTooltip = "onlineTooltip" + networkProxyType;
- panel.setAttribute("tooltiptext", bundle.GetStringFromName(onlineTooltip));
- }
-}
-
-var goPrefWindow = 0;
-
-function getBrowserURL() {
-
- try {
- var prefs = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefBranch);
- var url = prefs.getCharPref("browser.chromeURL");
- if (url)
- return url;
- } catch(e) {
- }
- return "chrome://navigator/content/navigator.xul";
-}
-
-function goPreferences(containerID, paneURL, itemID)
-{
- var resizable;
- var pref = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefBranch);
- try {
- // We are resizable ONLY if in box debugging mode, because in
- // this special debug mode it is often impossible to see the
- // content of the debug panel in order to disable debug mode.
- resizable = pref.getBoolPref("xul.debug.box");
- }
- catch (e) {
- resizable = false;
- }
-
- //check for an existing pref window and focus it; it's not application modal
- const kWindowMediatorContractID = "@mozilla.org/appshell/window-mediator;1";
- const kWindowMediatorIID = Components.interfaces.nsIWindowMediator;
- const kWindowMediator = Components.classes[kWindowMediatorContractID].getService(kWindowMediatorIID);
- var lastPrefWindow = kWindowMediator.getMostRecentWindow("mozilla:preferences");
- if (lastPrefWindow)
- lastPrefWindow.focus();
- else {
- var resizability = resizable ? "yes" : "no";
- var features = "chrome,titlebar,resizable=" + resizability;
- openDialog("chrome://communicator/content/pref/pref.xul","PrefWindow",
- features, paneURL, containerID, itemID);
- }
-}
-
-function goToggleToolbar( id, elementID )
-{
- var toolbar = document.getElementById( id );
- var element = document.getElementById( elementID );
- if ( toolbar )
- {
- var attribValue = toolbar.getAttribute("hidden") ;
-
- if ( attribValue == "true" )
- {
- toolbar.setAttribute("hidden", "false" );
- if ( element )
- element.setAttribute("checked","true")
- }
- else
- {
- toolbar.setAttribute("hidden", true );
- if ( element )
- element.setAttribute("checked","false")
- }
- document.persist(id, 'hidden');
- document.persist(elementID, 'checked');
- }
-}
-
-
-function goClickThrobber( urlPref )
-{
- var url;
- try {
- var pref = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefBranch);
- url = pref.getComplexValue(urlPref, Components.interfaces.nsIPrefLocalizedString).data;
- }
-
- catch(e) {
- url = null;
- }
-
- if ( url )
- openTopWin(url);
-}
-
-
-//No longer needed. Rip this out since we are using openTopWin
-function goHelpMenu( url )
-{
- /* note that this chrome url should probably change to not have all of the navigator controls */
- /* also, do we want to limit the number of help windows that can be spawned? */
- 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 )
-{
- /* note that this chrome url should probably change to not have
- all of the navigator controls, but if we do this we need to have
- the option for chrome controls because goClickThrobber() needs to
- use this function with chrome controls */
- /* also, do we want to
- limit the number of help windows that can be spawned? */
- if ((url == null) || (url == "")) return null;
-
- // xlate the URL if necessary
- if (url.indexOf("urn:") == 0)
- {
- url = xlateURL(url); // does RDF urn expansion
- }
-
- // avoid loading "", since this loads a directory listing
- if (url == "") {
- url = "about:blank";
- }
-
- var topWindowOfType = getTopWin();
- if ( topWindowOfType )
- {
- topWindowOfType.focus();
- topWindowOfType.loadURI(url);
- return topWindowOfType;
- }
- return window.openDialog( getBrowserURL(), "_blank", "chrome,all,dialog=no", url );
-}
-
-function goAboutDialog()
-{
- var defaultAboutState = false;
- try {
- var pref = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefBranch);
- defaultAboutState = pref.getBoolPref("browser.show_about_as_stupid_modal_window");
- }
- catch(e) {
- defaultAboutState = false;
- }
- if( defaultAboutState )
- window.openDialog("chrome://global/content/about.xul", "About", "modal,chrome,resizable=yes,height=450,width=550");
- else
- window.openDialog( getBrowserURL(), "_blank", "chrome,all,dialog=no", 'about:' );
-}
-
-// update menu items that rely on focus
-function goUpdateGlobalEditMenuItems()
-{
- goUpdateCommand('cmd_undo');
- goUpdateCommand('cmd_redo');
- goUpdateCommand('cmd_cut');
- goUpdateCommand('cmd_copy');
- goUpdateCommand('cmd_paste');
- goUpdateCommand('cmd_selectAll');
- goUpdateCommand('cmd_delete');
- if (gShowBiDi)
- goUpdateCommand('cmd_switchTextDirection');
-}
-
-// update menu items that rely on the current selection
-function goUpdateSelectEditMenuItems()
-{
- goUpdateCommand('cmd_cut');
- goUpdateCommand('cmd_copy');
- goUpdateCommand('cmd_delete');
- goUpdateCommand('cmd_selectAll');
-}
-
-// update menu items that relate to undo/redo
-function goUpdateUndoEditMenuItems()
-{
- goUpdateCommand('cmd_undo');
- goUpdateCommand('cmd_redo');
-}
-
-// update menu items that depend on clipboard contents
-function goUpdatePasteMenuItems()
-{
- goUpdateCommand('cmd_paste');
-}
-
-// update Find As You Type menu items, they rely on focus
-function goUpdateFindTypeMenuItems()
-{
- goUpdateCommand('cmd_findTypeText');
- goUpdateCommand('cmd_findTypeLinks');
-}
-
-// function that extracts the filename from a url
-function extractFileNameFromUrl(urlstr) {
- if (!urlstr) return null;
-
- // For "http://foo/bar/cheese.jpg", return "cheese.jpg".
- // For "imap://user@host.com:143/fetch>UID>/INBOX>951?part=1.2&type=image/gif&filename=foo.jpeg", return "foo.jpeg".
- // The 2nd url (ie, "imap://...") is generated for inline images by MimeInlineImage_parse_begin() in mimeiimg.cpp.
- var lastSlash = urlstr.slice(urlstr.lastIndexOf( "/" )+1);
- if (lastSlash)
- {
- var nameIndex = lastSlash.lastIndexOf( "filename=" );
- if (nameIndex != -1)
- return (lastSlash.slice(nameIndex+9));
- else
- return lastSlash;
- }
- return null;
-}
-
-// Gather all descendent text under given document node.
-function gatherTextUnder ( root )
-{
- var text = "";
- var node = root.firstChild;
- var depth = 1;
- while ( node && depth > 0 ) {
- // See if this node is text.
- if ( node.nodeType == Node.TEXT_NODE ) {
- // Add this text to our collection.
- text += " " + node.data;
- } else if ( node instanceof HTMLImageElement ) {
- // If it has an alt= attribute, add that.
- var altText = node.getAttribute( "alt" );
- if ( altText && altText != "" ) {
- text += " " + altText;
- }
- }
- // Find next node to test.
- // First, see if this node has children.
- if ( node.hasChildNodes() ) {
- // Go to first child.
- node = node.firstChild;
- depth++;
- } else {
- // No children, try next sibling.
- if ( node.nextSibling ) {
- node = node.nextSibling;
- } else {
- // Last resort is a sibling of an ancestor
- while ( node && depth > 0 ) {
- node = node.parentNode;
- depth--;
- if ( node.nextSibling ) {
- node = node.nextSibling;
- break;
- }
- }
- }
- }
- }
- // Strip leading whitespace.
- text = text.replace( /^\s+/, "" );
- // Strip trailing whitespace.
- text = text.replace( /\s+$/, "" );
- // Compress remaining whitespace.
- text = text.replace( /\s+/g, " " );
- return text;
-}
-
-var offlineObserver = {
- observe: function(subject, topic, state) {
- // sanity checks
- if (topic != "network:offline-status-changed") return;
- setOfflineUI(state == "offline");
- }
-}
-
-var proxyTypeObserver = {
- observe: function(subject, topic, state) {
- // sanity checks
- var ioService = Components.classes[kIOServiceProgID]
- .getService(Components.interfaces.nsIIOService);
- if (state == "network.proxy.type" && !ioService.offline)
- setProxyTypeUI();
- }
-}
-
-function utilityOnLoad(aEvent)
-{
- var broadcaster = document.getElementById("Communicator:WorkMode");
- if (!broadcaster) return;
-
- var observerService = Components.classes[kObserverServiceProgID]
- .getService(Components.interfaces.nsIObserverService);
- observerService.addObserver(offlineObserver, "network:offline-status-changed", false);
- // make sure we remove this observer later
- var prefService = Components.classes["@mozilla.org/preferences-service;1"];
- prefService = prefService.getService(Components.interfaces.nsIPrefService);
- var prefBranch = prefService.getBranch(null);
- prefBranch = prefBranch.QueryInterface(Components.interfaces.nsIPrefBranch2);
-
- prefBranch.addObserver("network.proxy.type", proxyTypeObserver, false);
-
- addEventListener("unload", utilityOnUnload, false);
-
- // set the initial state
- var ioService = Components.classes[kIOServiceProgID]
- .getService(Components.interfaces.nsIIOService);
- setOfflineUI(ioService.offline);
-}
-
-function utilityOnUnload(aEvent)
-{
- var observerService = Components.classes[kObserverServiceProgID]
- .getService(Components.interfaces.nsIObserverService);
- observerService.removeObserver(offlineObserver, "network:offline-status-changed");
- var prefService = Components.classes["@mozilla.org/preferences-service;1"];
- prefService = prefService.getService(Components.interfaces.nsIPrefService);
- var prefBranch = prefService.getBranch(null);
- prefBranch = prefBranch.QueryInterface(Components.interfaces.nsIPrefBranch2);
-
- prefBranch.removeObserver("network.proxy.type", proxyTypeObserver);
-}
-
-addEventListener("load", utilityOnLoad, false);
-
-function GenerateValidFilename(filename, extension)
-{
- if (filename) // we have a title; let's see if it's usable
- {
- // clean up the filename to make it usable and
- // then trim whitespace from beginning and end
- filename = validateFileName(filename).replace(/^\s+|\s+$/g, "");
- if (filename.length > 0)
- return filename + extension;
- }
- return null;
-}
-
-function validateFileName(aFileName)
-{
- var re = /[\/]+/g;
- if (navigator.appVersion.indexOf("Windows") != -1) {
- re = /[\\\/\|]+/g;
- aFileName = aFileName.replace(/[\"]+/g, "'");
- aFileName = aFileName.replace(/[\*\:\?]+/g, " ");
- aFileName = aFileName.replace(/[\<]+/g, "(");
- aFileName = aFileName.replace(/[\>]+/g, ")");
- }
- else if (navigator.appVersion.indexOf("Macintosh") != -1)
- re = /[\:\/]+/g;
-
- return aFileName.replace(re, "_");
-}
-
-// autoscroll
-var gStartX;
-var gStartY;
-var gCurrX;
-var gCurrY;
-var gScrollingView;
-var gAutoScrollTimer;
-var gIgnoreMouseEvents;
-var gAutoScrollPopup = null;
-var gAccumulatedScrollErrorX;
-var gAccumulatedScrollErrorY;
-
-function startScrolling(event)
-{
- var pref = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefBranch);
-
- if (gScrollingView || event.button != 1)
- return;
-
- if (!pref.getBoolPref("general.autoScroll"))
- return;
-
- if (event.originalTarget instanceof XULElement &&
- ((event.originalTarget.localName == "thumb")
- || (event.originalTarget.localName == "slider")
- || (event.originalTarget.localName == "scrollbarbutton")))
- return;
-
- if (!gAutoScrollPopup) {
- const XUL_NS
- = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
- gAutoScrollPopup = document.createElementNS(XUL_NS, "popup");
- gAutoScrollPopup.id = "autoscroller";
- gAutoScrollPopup.addEventListener("popuphidden", stopScrolling, true);
- document.documentElement.appendChild(gAutoScrollPopup);
- }
-
- gScrollingView = event.originalTarget.ownerDocument.defaultView;
- var scrollingDir;
- if (gScrollingView.scrollMaxX > 0) {
- gAutoScrollPopup.setAttribute("scrolldir", gScrollingView.scrollMaxY > 0 ? "NSEW" : "EW");
- }
- else if (gScrollingView.scrollMaxY > 0) {
- gAutoScrollPopup.setAttribute("scrolldir", "NS");
- }
- else {
- gScrollingView = null; // abort scrolling
- return;
- }
-
- document.popupNode = null;
- gAutoScrollPopup.showPopup(document.documentElement, event.screenX, event.screenY,
- "popup", null, null);
- gIgnoreMouseEvents = true;
- gStartX = event.screenX;
- gStartY = event.screenY;
- gCurrX = event.screenX;
- gCurrY = event.screenY;
- addEventListener('mousemove', handleMouseMove, true);
- addEventListener('mouseup', handleMouseUpDown, true);
- addEventListener('mousedown', handleMouseUpDown, true);
- addEventListener('contextmenu', handleMouseUpDown, true);
- gAutoScrollTimer = setInterval(autoScrollLoop, 10);
- gAccumulatedScrollErrorX = 0;
- gAccumulatedScrollErrorY = 0;
-}
-
-function handleMouseMove(event)
-{
- gCurrX = event.screenX;
- gCurrY = event.screenY;
-}
-
-function roundToZero(num)
-{
- if (num > 0)
- return Math.floor(num);
- return Math.ceil(num);
-}
-
-function accelerate(curr, start)
-{
- var speed = 12;
- var val = (curr - start) / speed;
-
- if (val > 1)
- return val * Math.sqrt(val) - 1;
- if (val < -1)
- return val * Math.sqrt(-val) + 1;
- return 0;
-}
-
-function autoScrollLoop()
-{
- var x = accelerate(gCurrX, gStartX);
- var y = accelerate(gCurrY, gStartY);
-
- if (x || y)
- gIgnoreMouseEvents = false;
-
- var desiredScrollX = gAccumulatedScrollErrorX + x;
- var actualScrollX = roundToZero(desiredScrollX);
- gAccumulatedScrollErrorX = (desiredScrollX - actualScrollX);
- var desiredScrollY = gAccumulatedScrollErrorY + y;
- var actualScrollY = roundToZero(desiredScrollY);
- gAccumulatedScrollErrorY = (desiredScrollY - actualScrollY);
- gScrollingView.scrollBy(actualScrollX, actualScrollY);
-}
-
-function handleMouseUpDown(event)
-{
- if (!gIgnoreMouseEvents)
- gAutoScrollPopup.hidePopup();
- gIgnoreMouseEvents = false;
-}
-
-function stopScrolling()
-{
- if (gScrollingView) {
- gScrollingView = null;
- removeEventListener('mousemove', handleMouseMove, true);
- removeEventListener('mousedown', handleMouseUpDown, true);
- removeEventListener('mouseup', handleMouseUpDown, true);
- removeEventListener('contextmenu', handleMouseUpDown, true);
- clearInterval(gAutoScrollTimer);
- }
-}
deleted file mode 100644
--- a/xpfe/communicator/resources/content/utilityOverlay.xul
+++ /dev/null
@@ -1,312 +0,0 @@
-<?xml version="1.0"?>
-
-<?xul-overlay href="chrome://communicator/content/platformCommunicatorOverlay.xul"?>
-
-<!DOCTYPE overlay [
-
-<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
-%brandDTD;
-<!ENTITY % globalRegionDTD SYSTEM "chrome://global-region/locale/region.dtd">
-%globalRegionDTD;
-<!ENTITY % utilityDTD SYSTEM "chrome://communicator/locale/utilityOverlay.dtd">
-%utilityDTD;
-
-]>
-
-<overlay id="utilityOverlay"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
- <script type="application/x-javascript"
- src="chrome://global/content/strres.js"/>
- <script type="application/x-javascript"
- src="chrome://communicator/content/utilityOverlay.js"/>
- <script type="application/x-javascript"
- src="chrome://communicator/content/builtinURLs.js"/>
-
- <!-- online/offline status indicators -->
- <broadcaster id="Communicator:WorkMode"
- label="&offlineGoOfflineCmd.label;"
- type="checkbox"
- oncommand="toggleOfflineStatus();"/>
-
- <popup id="networkProperties" onpopupshown="InitProxyMenu();">
- <menuitem id="network-proxy-no"
- type="radio"
- name="status"
- label="&direct.label;"
- accesskey="&direct.accesskey;"
- oncommand="setNetworkStatus('0')"/>
- <menuitem id="network-proxy-wpad"
- type="radio"
- name="status"
- label="&wpad.label;"
- accesskey="&wpad.accesskey;"
- oncommand="setNetworkStatus('4')"/>
- <menuitem id="network-proxy-pac"
- type="radio"
- name="status"
- label="&pac.label;"
- accesskey="&pac.accesskey;"
- oncommand="setNetworkStatus('2')"/>
- <menuitem id="network-proxy-manual"
- type="radio"
- name="status"
- label="&manual.label;"
- accesskey="&manual.accesskey;"
- oncommand="setNetworkStatus('1')"/>
- <menuseparator/>
- <menuitem label="&proxy.label;"
- accesskey="&proxy.accesskey;"
- oncommand="goPreferences('advancedItem',
- 'chrome://communicator/content/pref/pref-proxies.xul',
- 'proxiesItem');"/>
- </popup>
-
- <statusbarpanel id="offline-status" context="networkProperties"
- observes="Communicator:WorkMode"/>
-
- <menuitem id="offlineGoOfflineCmd"
- label="&offlineGoOfflineCmd.label;"
- accesskey="&offlineGoOfflineCmd.accesskey;"
- observes="Communicator:WorkMode"/>
-
- <!-- File Menu -->
- <menu id="menu_File"
- label="&fileMenu.label;"
- accesskey="&fileMenu.accesskey;"/>
-
- <!-- New SubMenu (Under File Menu) -->
- <command id="cmd_newNavigator"
- oncommand="OpenBrowserWindow()"/>
- <command id="cmd_newEditor"
- oncommand="NewEditorWindow();"/>
-
- <!-- XXX not implemented, temporarily disabled
- <command id="cmd_newEditorTemplate"
- disabled="true"
- oncommand="NewEditorFromTemplate();"/>
- <command id="cmd_newEditorDraft"
- disabled="true"
- oncommand="NewEditorFromDraft();"/>
- -->
-
- <menuitem id="menu_newEditor"
- label="&newBlankPageCmd.label;"
- accesskey="&newBlankPageCmd.accesskey;"
- key="key_newBlankPage"
- command="cmd_newEditor"/>
- <menuitem id="menu_newEditorTemplate"
- label="&newPageFromTemplateCmd.label;"
- accesskey="&newPageFromTemplateCmd.accesskey;"
- command="cmd_newEditorTemplate"/>
- <menuitem id="menu_newEditorDraft"
- label="&newPageFromDraftCmd.label;"
- accesskey="&newPageFromDraftCmd.accesskey;"
- command="cmd_newEditorDraft"/>
-
- <menu id="menu_New"
- label="&newMenu.label;"
- accesskey="&newMenu.accesskey;"/>
-
- <menuitem id="menu_newNavigator"
- label="&newNavigatorCmd.label;"
- accesskey="&newNavigatorCmd.accesskey;"
- key="key_newNavigator"
- command="cmd_newNavigator"/>
-
- <key id="key_newBlankPage"
- key="&newBlankPageCmd.key;"
- command="cmd_newEditor"
- modifiers="accel, shift"/>
- <key id="key_newNavigator"
- key="&newNavigatorCmd.key;"
- command="cmd_newNavigator"
- modifiers="accel"/>
-
- <!-- Edit Menu -->
- <menu id="menu_Edit"
- label="&editMenu.label;"
- accesskey="&editMenu.accesskey;"/>
- <menuitem id="menu_undo"
- label="&undoCmd.label;"
- key="key_undo"
- accesskey="&undoCmd.accesskey;"
- command="cmd_undo"/>
- <menuitem id="menu_redo"
- label="&redoCmd.label;"
- key="key_redo"
- accesskey="&redoCmd.accesskey;"
- command="cmd_redo"/>
- <menuitem id="menu_cut"
- label="&cutCmd.label;"
- key="key_cut"
- accesskey="&cutCmd.accesskey;"
- command="cmd_cut"/>
- <menuitem id="menu_copy"
- label="©Cmd.label;"
- key="key_copy"
- accesskey="©Cmd.accesskey;"
- command="cmd_copy"/>
- <menuitem id="menu_paste"
- label="&pasteCmd.label;"
- key="key_paste"
- accesskey="&pasteCmd.accesskey;"
- command="cmd_paste"/>
- <menuitem id="menu_delete"
- label="&deleteCmd.label;"
- key="key_delete"
- accesskey="&deleteCmd.accesskey;"
- command="cmd_delete"/>
- <menuitem id="menu_selectAll"
- label="&selectAllCmd.label;"
- key="key_selectAll"
- accesskey="&selectAllCmd.accesskey;"
- command="cmd_selectAll"/>
- <menuitem id="menu_findTypeText"
- label="&findTypeTextCmd.label;"
- key="key_findTypeText"
- accesskey="&findTypeTextCmd.accesskey;"
- command="cmd_findTypeText"/>
- <menuitem id="menu_findTypeLinks"
- label="&findTypeLinksCmd.label;"
- key="key_findTypeLinks"
- accesskey="&findTypeLinksCmd.accesskey;"
- command="cmd_findTypeLinks"/>
- <menuitem id="textfieldDirection-swap"
- label="&bidiSwitchTextDirectionItem.label;"
- key="key_switchTextDirection"
- accesskey="&bidiSwitchTextDirectionItem.accesskey;"
- command="cmd_switchTextDirection"/>
-
- <!-- These key nodes are here only for show. The real bindings come from
- XBL, in platformHTMLBindings.xml. See bugs 57078 and 71779. -->
-
- <key id="key_undo"
- key="&undoCmd.key;"
- modifiers="accel"/>
- <key id="key_redo"
- key="&redoCmd.key;"
- modifiers="accel"/>
- <key id="key_cut"
- key="&cutCmd.key;"
- modifiers="accel"/>
- <key id="key_copy"
- key="©Cmd.key;"
- modifiers="accel"/>
- <key id="key_paste"
- key="&pasteCmd.key;"
- modifiers="accel"/>
- <key id="key_switchTextDirection"
- command="cmd_switchTextDirection"
- key="&bidiSwitchTextDirectionItem.commandkey;"
- modifiers="accel,shift"/>
-
- <commandset id="globalEditMenuItems"
- commandupdater="true"
- events="focus"
- oncommandupdate="goUpdateGlobalEditMenuItems()"/>
- <commandset id="selectEditMenuItems"
- commandupdater="true"
- events="select"
- oncommandupdate="goUpdateSelectEditMenuItems()"/>
- <commandset id="undoEditMenuItems"
- commandupdater="true"
- events="undo"
- oncommandupdate="goUpdateUndoEditMenuItems()"/>
- <commandset id="clipboardEditMenuItems"
- commandupdater="true"
- events="clipboard"
- oncommandupdate="goUpdatePasteMenuItems()"/>
- <commandset id="findTypeMenuItems"
- commandupdater="true"
- events="focus"
- oncommandupdate="goUpdateFindTypeMenuItems()"/>
-
- <command id="cmd_copyLink"
- oncommand="goDoCommand('cmd_copyLink')"
- disabled="false"/>
- <command id="cmd_copyImage"
- oncommand="goDoCommand('cmd_copyImage')"
- disabled="false"/>
- <command id="cmd_undo"
- oncommand="goDoCommand('cmd_undo')"
- disabled="true"/>
- <command id="cmd_redo"
- oncommand="goDoCommand('cmd_redo')"
- disabled="true"/>
- <command id="cmd_cut"
- oncommand="goDoCommand('cmd_cut')"
- disabled="true"/>
- <command id="cmd_copy"
- oncommand="goDoCommand('cmd_copy')"
- disabled="true"/>
- <command id="cmd_paste"
- oncommand="goDoCommand('cmd_paste')"
- disabled="true"/>
- <command id="cmd_delete"
- oncommand="goDoCommand('cmd_delete')"
- valueDefault="&deleteCmd.label;"
- valueDefaultAccessKey="&deleteCmd.accesskey;"
- disabled="true"/>
- <command id="cmd_selectAll"
- oncommand="goDoCommand('cmd_selectAll')"
- disabled="true"/>
- <command id="cmd_switchTextDirection"
- oncommand="goDoCommand('cmd_switchTextDirection');"
- disabled="true"/>
- <command id="cmd_findTypeText"
- oncommand="goDoCommand('cmd_findTypeText')"/>
- <command id="cmd_findTypeLinks"
- oncommand="goDoCommand('cmd_findTypeLinks')"/>
-
- <!-- Not needed yet, window will need this: -->
- <!-- broadcaster id="cmd_preferences"/ -->
-
- <menuitem id="menu_preferences"
- label="&preferencesCmd.label;"
- key="key_preferences"
- accesskey="&preferencesCmd.accesskey;"/>
-
- <!-- View Menu -->
- <menu id="menu_View"
- label="&viewMenu.label;"
- accesskey="&viewMenu.accesskey;"/>
- <menu id="menu_Toolbars"
- label="&viewToolbarsMenu.label;"
- accesskey="&viewToolbarsMenu.accesskey;"/>
-
- <menuitem id="menu_showTaskbar"
- label="&showTaskbarCmd.label;"
- accesskey="&showTaskbarCmd.accesskey;"
- oncommand="goToggleToolbar('status-bar', 'menu_showTaskbar')"
- checked="true"/>
-
- <!-- Help Menu -->
- <menu id="menu_Help"
- label="&helpMenu.label;"
- accesskey="&helpMenu.accesskey;">
- <menupopup id="helpPopup">
- <menuitem accesskey="&releaseCmd.accesskey;"
- label="&releaseCmd.label;"
- id="releaseUrl"
- oncommand="openTopWin('&releaseURL;');"/>
-
- <menuseparator id="menu_HelpAboutSeparator"/>
-
- <menuitem class="about"
- accesskey="&aboutCommPluginsCmd.accesskey;"
- label="&aboutCommPluginsCmd.label;"
- id="pluginInfo"
- oncommand="openTopWin('about:plugins')"/>
- <menuitem accesskey="&aboutCmd.accesskey;"
- label="&aboutCmd.label;"
- id="aboutName"
- oncommand="goAboutDialog();"/>
- </menupopup>
- </menu>
-
- <!-- Toolbar boxes -->
- <hbox id="toolbar_button_box"
- flex="100%"/>
-
-</overlay>
deleted file mode 100644
--- a/xpfe/communicator/resources/content/viewZoomOverlay.js
+++ /dev/null
@@ -1,303 +0,0 @@
-/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-
- * ***** 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 this file as it was released upon January 6, 2001.
- *
- * The Initial Developer of the Original Code is
- * Peter Annema.
- * Portions created by the Initial Developer are Copyright (C) 2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Peter Annema <disttsc@bart.nl> (Original Author)
- * Jonas Sicking <sicking@bigfoot.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of 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 ***** */
-
-/** Document Zoom Management Code
- *
- * To use this, you'll need to have a <menu id="menu_textZoom"/>
- * and a getMarkupDocumentViewer() function which returns a
- * nsIMarkupDocumentViewer.
- *
- **/
-
-function ZoomManager() {
- this.bundle = document.getElementById("bundle_viewZoom");
-
- // factorAnchor starts on factorOther
- this.factorOther = parseInt(this.bundle.getString("valueOther"));
- this.factorAnchor = this.factorOther;
-}
-
-ZoomManager.prototype = {
- instance : null,
-
- getInstance : function() {
- if (!ZoomManager.prototype.instance)
- ZoomManager.prototype.instance = new ZoomManager();
-
- return ZoomManager.prototype.instance;
- },
-
- MIN : 1,
- MAX : 2000,
-
- bundle : null,
-
- zoomFactorsString : "", // cache
- zoomFactors : null,
-
- factorOther : 300,
- factorAnchor : 300,
- steps : 0,
-
- get textZoom() {
- var currentZoom;
- try {
- currentZoom = Math.round(getMarkupDocumentViewer().textZoom * 100);
- if (this.indexOf(currentZoom) == -1) {
- if (currentZoom != this.factorOther) {
- this.factorOther = currentZoom;
- this.factorAnchor = this.factorOther;
- }
- }
- } catch (e) {
- currentZoom = 100;
- }
- return currentZoom;
- },
-
- set textZoom(aZoom) {
- if (aZoom < this.MIN || aZoom > this.MAX)
- throw Components.results.NS_ERROR_INVALID_ARG;
-
- getMarkupDocumentViewer().textZoom = aZoom / 100;
- },
-
- enlarge : function() {
- this.jump(1);
- },
-
- reduce : function() {
- this.jump(-1);
- },
-
- reset : function() {
- this.textZoom = 100;
- },
-
- getZoomFactors : function() {
- this.ensureZoomFactors();
-
- return this.zoomFactors;
- },
-
- indexOf : function(aZoom) {
- this.ensureZoomFactors();
-
- var index = -1;
- if (this.isZoomInRange(aZoom)) {
- index = this.zoomFactors.length - 1;
- while (index >= 0 && this.zoomFactors[index] != aZoom)
- --index;
- }
-
- return index;
- },
-
- /***** internal helper functions below here *****/
-
- ensureZoomFactors : function() {
- var zoomFactorsString = this.bundle.getString("values");
- if (this.zoomFactorsString != zoomFactorsString) {
- this.zoomFactorsString = zoomFactorsString;
- this.zoomFactors = zoomFactorsString.split(",");
- for (var i = 0; i<this.zoomFactors.length; ++i)
- this.zoomFactors[i] = parseInt(this.zoomFactors[i]);
- }
- },
-
- isLevelInRange : function(aLevel) {
- return (aLevel >= 0 && aLevel < this.zoomFactors.length);
- },
-
- isZoomInRange : function(aZoom) {
- return (aZoom >= this.zoomFactors[0] && aZoom <= this.zoomFactors[this.zoomFactors.length - 1]);
- },
-
- jump : function(aDirection) {
- if (aDirection != -1 && aDirection != 1)
- throw Components.results.NS_ERROR_INVALID_ARG;
-
- this.ensureZoomFactors();
-
- var currentZoom = this.textZoom;
- var insertIndex = -1;
- var stepFactor = parseFloat(this.bundle.getString("stepFactor"));
-
- // temporarily add factorOther to list
- if (this.isZoomInRange(this.factorOther)) {
- insertIndex = 0;
- while (this.zoomFactors[insertIndex] < this.factorOther)
- ++insertIndex;
-
- if (this.zoomFactors[insertIndex] != this.factorOther)
- this.zoomFactors.splice(insertIndex, 0, this.factorOther);
- }
-
- var factor;
- var done = false;
-
- if (this.isZoomInRange(currentZoom)) {
- var index = this.indexOf(currentZoom);
- if (aDirection == -1 && index == 0 ||
- aDirection == 1 && index == this.zoomFactors.length - 1) {
- this.steps = 0;
- this.factorAnchor = this.zoomFactors[index];
- } else {
- factor = this.zoomFactors[index + aDirection];
- done = true;
- }
- }
-
- if (!done) {
- this.steps += aDirection;
- factor = this.factorAnchor * Math.pow(stepFactor, this.steps);
- if (factor < this.MIN || factor > this.MAX) {
- this.steps -= aDirection;
- factor = this.factorAnchor * Math.pow(stepFactor, this.steps);
- }
- factor = Math.round(factor);
- if (this.isZoomInRange(factor))
- factor = this.snap(factor);
- else
- this.factorOther = factor;
- }
-
- if (insertIndex != -1)
- this.zoomFactors.splice(insertIndex, 1);
-
- this.textZoom = factor;
- },
-
- snap : function(aZoom) {
- if (this.isZoomInRange(aZoom)) {
- var level = 0;
- while (this.zoomFactors[level + 1] < aZoom)
- ++level;
-
- // if aZoom closer to [level + 1] than [level], snap to [level + 1]
- if ((this.zoomFactors[level + 1] - aZoom) < (aZoom - this.zoomFactors[level]))
- ++level;
-
- aZoom = this.zoomFactors[level];
- }
-
- return aZoom;
- }
-}
-
-/***** init and helper functions for viewZoomOverlay.xul *****/
-window.addEventListener("load", registerZoomManager, false);
-
-function registerZoomManager()
-{
- var textZoomMenu = document.getElementById("menu_textZoom");
- var zoom = ZoomManager.prototype.getInstance();
-
- var parentMenu = textZoomMenu.parentNode;
- parentMenu.addEventListener("popupshowing", updateViewMenu, false);
-
- var insertBefore = document.getElementById("menu_textZoomInsertBefore");
- var popup = insertBefore.parentNode;
- var accessKeys = zoom.bundle.getString("accessKeys").split(",");
- var zoomFactors = zoom.getZoomFactors();
- for (var i = 0; i < zoomFactors.length; ++i) {
- var menuItem = document.createElement("menuitem");
- menuItem.setAttribute("type", "radio");
- menuItem.setAttribute("name", "textZoom");
-
- var label;
- if (zoomFactors[i] == 100) {
- label = zoom.bundle.getString("labelOriginal");
- menuItem.setAttribute("key", "key_textZoomReset");
- }
- else
- label = zoom.bundle.getString("label");
-
- menuItem.setAttribute("label", label.replace(/%zoom%/, zoomFactors[i]));
- menuItem.setAttribute("accesskey", accessKeys[i]);
- menuItem.setAttribute("oncommand", "ZoomManager.prototype.getInstance().textZoom = this.value;");
- menuItem.setAttribute("value", zoomFactors[i]);
- popup.insertBefore(menuItem, insertBefore);
- }
-}
-
-function updateViewMenu()
-{
- var zoom = ZoomManager.prototype.getInstance();
-
- var textZoomMenu = document.getElementById("menu_textZoom");
- var menuLabel = zoom.bundle.getString("menuLabel").replace(/%zoom%/, zoom.textZoom);
- textZoomMenu.setAttribute("label", menuLabel);
-}
-
-function updateTextZoomMenu()
-{
- var zoom = ZoomManager.prototype.getInstance();
-
- var currentZoom = zoom.textZoom;
-
- var textZoomOther = document.getElementById("menu_textZoomOther");
- var label = zoom.bundle.getString("labelOther");
- textZoomOther.setAttribute("label", label.replace(/%zoom%/, zoom.factorOther));
- textZoomOther.setAttribute("value", zoom.factorOther);
-
- var popup = document.getElementById("menu_textZoomPopup");
- var item = popup.firstChild;
- while (item) {
- if (item.getAttribute("name") == "textZoom") {
- if (item.getAttribute("value") == currentZoom)
- item.setAttribute("checked","true");
- else
- item.removeAttribute("checked");
- }
- item = item.nextSibling;
- }
-}
-
-function setTextZoomOther()
-{
- var zoom = ZoomManager.prototype.getInstance();
-
- // open dialog and ask for new value
- var o = {value: zoom.factorOther, zoomMin: zoom.MIN, zoomMax: zoom.MAX};
- window.openDialog("chrome://communicator/content/askViewZoom.xul", "AskViewZoom", "chrome,modal,titlebar", o);
- if (o.zoomOK)
- zoom.textZoom = o.value;
-}
deleted file mode 100644
--- a/xpfe/communicator/resources/content/viewZoomOverlay.xul
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.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 this file as it was released on January 6, 2001.
- -
- - The Initial Developer of the Original Code is
- - Peter Annema.
- - Portions created by the Initial Developer are Copyright (C) 2000
- - the Initial Developer. All Rights Reserved.
- -
- - Contributor(s):
- - Peter Annema <disttsc@bart.nl> (Original Author)
- -
- - Alternatively, the contents of this file may be used under the terms of
- - either of 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 ***** -->
-
-<!DOCTYPE overlay SYSTEM "chrome://communicator/locale/viewZoomOverlay.dtd">
-
-<overlay id="viewZoomOverlay"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
- <script type="application/x-javascript" src="chrome://communicator/content/viewZoomOverlay.js"/>
-
- <stringbundle id="bundle_viewZoom" src="chrome://communicator/locale/viewZoomOverlay.properties"/>
-
- <keyset id="viewZoomKeys">
- <key id="key_textZoomReduce" key="&textZoomReduceCmd.commandkey;" command="cmd_textZoomReduce" modifiers="accel"/>
- <key id="key_textZoomEnlarge" key="&textZoomEnlargeCmd.commandkey;" command="cmd_textZoomEnlarge" modifiers="accel"/>
- <key key="&textZoomEnlargeCmd.commandkey;" command="cmd_textZoomEnlarge" modifiers="accel,shift"/>
- <key key="&textZoomEnlargeCmd.commandkey2;" command="cmd_textZoomEnlarge" modifiers="accel"/>
- <key id="key_textZoomReset" key="&textZoomResetCmd.commandkey;" command="cmd_textZoomReset" modifiers="accel"/>
- </keyset>
-
- <commandset id="viewZoomCommands">
- <command id="cmd_textZoomReduce" oncommand="ZoomManager.prototype.getInstance().reduce();"/>
- <command id="cmd_textZoomEnlarge" oncommand="ZoomManager.prototype.getInstance().enlarge();"/>
- <command id="cmd_textZoomReset" oncommand="ZoomManager.prototype.getInstance().reset();"/>
- </commandset>
-
- <menu id="menu_textZoom" accesskey="&textZoomMenu.accesskey;">
- <menupopup id="menu_textZoomPopup" onpopupshowing="updateTextZoomMenu();">
- <menuitem key="key_textZoomReduce" label="&textZoomReduceCmd.label;" accesskey="&textZoomReduceCmd.accesskey;" command="cmd_textZoomReduce"/>
- <menuitem key="key_textZoomEnlarge" label="&textZoomEnlargeCmd.label;" accesskey="&textZoomEnlargeCmd.accesskey;" command="cmd_textZoomEnlarge"/>
- <menuseparator/>
- <menuseparator id="menu_textZoomInsertBefore"/>
- <menuitem id="menu_textZoomOther" type="radio" name="textZoom" accesskey="&textZoomOtherCmd.accesskey;" oncommand="setTextZoomOther();"/>
- </menupopup>
- </menu>
-
-</overlay>
deleted file mode 100644
--- a/xpfe/communicator/resources/content/win/platformBrowserBindings.xul
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0"?>
-<!-- windows version of platformBrowserBindings.xul -->
-
-<keybinding id="platformBrowserBindings"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-<!-- xul key for Windows -->
-<keyset id="globalKeySet" xulkey="ctrl">
-
-<!-- other keybindings for cut/copy/paste -->
-<key id="winAlternativeCutKey" keycode="VK_DELETE"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_cut');
- controller.doCommand('cmd_cut');" modifiers="shift"/>
-<key id="winAlternateCopy2Key" keycode="VK_DELETE"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_copy');
- controller.doCommand('cmd_copy');" modifiers="control"/>
-<key id="winAlternativeCopyKey" keycode="VK_INSERT"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_copy');
- controller.doCommand('cmd_copy');" modifiers="control"/>
-<key id="winAlternativePasteKey" keycode="VK_INSERT"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_paste');
- controller.doCommand('cmd_paste');" modifiers="shift"/>
-
-<key id="key_homectrlshift" keycode="VK_HOME"
- oncommand="
- var controller =
- document.commandDispatcher.getControllerForCommand('cmd_selectTop');
- controller.doCommand('cmd_selectTop');" modifiers="shift, control"/>
-<key id="key_endctrlshift" keycode="VK_END"
- oncommand="
- var controller =
- document.commandDispatcher.getControllerForCommand('cmd_selectBottom');
- controller.doCommand('cmd_selectBottom');" modifiers="shift, control"/>
-</keyset>
-
-<!-- End Windows-specific keybindings -->
-
-</keybinding>
-
deleted file mode 100644
--- a/xpfe/communicator/resources/content/win/platformCommunicatorOverlay.xul
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0"?>
-<!-- win version of platformCommunicatorOverlay.xul -->
-
-<!DOCTYPE overlay [
-
-<!ENTITY % platformCommunicatorDTD SYSTEM "chrome://communicator-platform/locale/platformCommunicatorOverlay.dtd">
-%platformCommunicatorDTD;
-<!ENTITY % utilityDTD SYSTEM "chrome://communicator/locale/utilityOverlay.dtd">
-%utilityDTD;
-
-]>
-
-<overlay id="platformCommunicatorOverlay"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
- <!-- close -->
- <menuitem id="menu_close" label="&closeCmd.label;" key="key_close" accesskey="&closeCmd.accesskey;" command="cmd_close"/>
- <key id="key_close" key="&closeCmd.key;" command="cmd_close" modifiers="accel"/>
- <key id="key_closeWindow" key="&closeCmd.key;" command="cmd_closeWindow" modifiers="accel,shift"/>
-
- <!-- quit -->
- <menupopup id="menu_FilePopup">
- <menuseparator id="menu_FileQuitSeparator"/>
- <menuitem label="&quitApplicationCmd.label;" id="menu_FileQuitItem"
- key="key_quit" accesskey="&quitApplicationCmd.accesskey;" command="cmd_quit"/>
- </menupopup>
- <key id="key_quit" key="&quitApplicationCmd.key;" command="cmd_quit" modifiers="accel"/>
- <command id="cmd_quit" oncommand="goQuitApplication()"/>
-
- <!-- Edit Menu -->
- <menuitem id="menu_redo" label="&redoCmd.label;" key="key_redo" accesskey="&redoCmd.accesskey;" command="cmd_redo"/>
- <key id="key_redo" key="&redoCmd.key;" command="cmd_redo" modifiers="accel"/>
- <!-- Select All Key -->
- <key id="key_selectAll" key="&selectAllCmd.key;" modifiers="accel"/>
-
- <!-- Delete Key -->
- <key id="key_delete" keycode="VK_DELETE" command="cmd_delete"/>
-
- <!-- Find As You Type Keys -->
- <key id="key_findTypeText"
- key="&findTypeTextCmd.key;"/>
- <key id="key_findTypeLinks"
- key="&findTypeLinksCmd.key;"/>
-
- <!-- Tasks Keys -->
- <keyset id="tasksKeys">
- <key id="key_openHelp"
- keycode="&openHelpCmd.key;"
- command="cmd_openHelp"/>
- </keyset>
-
-</overlay>
deleted file mode 100644
--- a/xpfe/communicator/resources/content/win/platformEditorBindings.xul
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0"?>
-<!-- windows version of platformEditorBindings.xul -->
-
-<keybinding id="platformEditorBindings"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-<!-- xul key for Windows -->
-<keyset id="editorKeySet" xulkey="ctrl">
-
-
-<!-- alternate cut/copy/paste keys for Windows -->
-<key id="winAlternateCutKey" keycode="VK_DELETE"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_cut');
- controller.doCommand('cmd_cut');" modifiers="shift"/>
-<key id="winAlternateCopy2Key" keycode="VK_DELETE"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_copy');
- controller.doCommand('cmd_copy');" modifiers="control"/>
-<key id="winAlternateCopyKey" keycode="VK_INSERT"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_copy');
- controller.doCommand('cmd_copy');" modifiers="control"/>
-<key id="winAlternatePasteKey" keycode="VK_INSERT"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_paste');
- controller.doCommand('cmd_paste');" modifiers="shift"/>
-
-<key id="key_leftcontrol" keycode="VK_LEFT"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_wordPrevious');
- controller.doCommand('cmd_wordPrevious');" modifiers="accel"/>
-<key id="key_rightcontrol" keycode="VK_RIGHT"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_wordNext');
- controller.doCommand('cmd_wordNext');" modifiers="accel"/>
-<key id="key_leftshiftcontrol" keycode="VK_LEFT"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_selectWordPrevious');
- controller.doCommand('cmd_selectWordPrevious');" modifiers="shift, accel"/>
-<key id="key_rightshiftcontrol" keycode="VK_RIGHT"
- oncommand="
- var controller = document.commandDispatcher.getControllerForCommand('cmd_selectWordNext');
- controller.doCommand('cmd_selectWordNext');" modifiers="shift, accel"/>
-
-<key id="key_homectrlshift" keycode="VK_HOME"
- oncommand="
- var controller =
- document.commandDispatcher.getControllerForCommand('cmd_selectTop');
- controller.doCommand('cmd_selectTop');" modifiers="shift, control"/>
-<key id="key_endctrlshift" keycode="VK_END"
- oncommand="
- var controller =
- document.commandDispatcher.getControllerForCommand('cmd_selectBottom');
- controller.doCommand('cmd_selectBottom');" modifiers="shift, control"/>
-<key id="key_homectrl" keycode="VK_HOME"
- oncommand="
- var controller =
- document.commandDispatcher.getControllerForCommand('cmd_moveTop');
- controller.doCommand('cmd_moveTop');" modifiers="control"/>
-<key id="key_endctrl" keycode="VK_END"
- oncommand="
- var controller =
- document.commandDispatcher.getControllerForCommand('cmd_moveBottom');
- controller.doCommand('cmd_moveBottom');" modifiers="control"/>
-</keyset>
-
-<!-- End Windows-specific keybindings -->
-
-</keybinding>
-
deleted file mode 100644
--- a/xpfe/communicator/resources/locale/en-US/manifest.rdf
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0"?>
-<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:chrome="http://www.mozilla.org/rdf/chrome#">
-
- <!-- list all the skins being supplied by this package -->
- <RDF:Seq about="urn:mozilla:locale:root">
- <RDF:li resource="urn:mozilla:locale:en-US"/>
- </RDF:Seq>
-
- <!-- locale information -->
- <RDF:Description about="urn:mozilla:locale:en-US"
- chrome:displayName="English(US)"
- chrome:author="mozilla.org"
- chrome:name="en-US"
- chrome:previewURL="http://www.mozilla.org/locales/en-US.gif">
- <chrome:packages>
- <RDF:Seq about="urn:mozilla:locale:en-US:packages">
- <RDF:li resource="urn:mozilla:locale:en-US:communicator"/>
- <RDF:li resource="urn:mozilla:locale:en-US:editor"/>
- <RDF:li resource="urn:mozilla:locale:en-US:global"/>
- <RDF:li resource="urn:mozilla:locale:en-US:messenger"/>
- <RDF:li resource="urn:mozilla:locale:en-US:navigator"/>
- </RDF:Seq>
- </chrome:packages>
- </RDF:Description>
-</RDF:RDF>
deleted file mode 100644
--- a/xpfe/global/Makefile.in
+++ /dev/null
@@ -1,67 +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 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):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either of 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 *****
-
-DEPTH = ../..
-topsrcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-DIRS = resources
-
-CHROME_DEPS = buildconfig.html
-
-include $(topsrcdir)/config/rules.mk
-
-DEFINES += -DMOZ_APP_VERSION=$(MOZ_APP_VERSION)
-
-ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
-CHROME_PLATFORM = mac
-else
-ifneq (,$(filter OS2 WINNT,$(OS_ARCH)))
-CHROME_PLATFORM = win
-else
-CHROME_PLATFORM = unix
-endif
-endif
-
-libs realchrome::
- @$(REGCHROME) locale en-US/global-platform/$(CHROME_PLATFORM) en-US.jar
-
-install::
- @$(REGCHROME_INSTALL) locale en-US/global-platform/$(CHROME_PLATFORM) en-US.jar
deleted file mode 100644
--- a/xpfe/global/buildconfig.html.in
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
- <title>about:buildconfig</title>
-</head>
-<body>
-<h1>about:buildconfig</h1>
-<p> </p>
-<h2>Build platform</h2>
-<table>
- <tbody>
- <tr>
- <th>target</th>
- </tr>
- <tr>
- <td>@target@</td>
- </tr>
- </tbody>
-</table>
-<p> </p>
-<h2>Build tools</h2>
-<table>
- <tbody>
- <tr>
- <th>Compiler</th>
- <th>Version</th>
- <th>Compiler flags</th>
- </tr>
- <tr>
- <td>@CC@</td>
- <td>@CC_VERSION@</td>
- <td>@CFLAGS@</td>
- </tr>
- <tr>
- <td>@CXX@</td>
- <td>@CXX_VERSION@</td>
- <td>@CXXFLAGS@ @CPPFLAGS@</td>
- </tr>
- </tbody>
-</table>
-<p> </p>
-<h2>Configure arguments</h2>
-@ac_configure_args@
-</body>
-</html>
deleted file mode 100644
--- a/xpfe/global/jar.mn
+++ /dev/null
@@ -1,126 +0,0 @@
-toolkit.jar:
-* content/global/contents.rdf (resources/content/contents.rdf)
-* content/global-platform/contents.rdf (resources/content/contents-platform.rdf)
-* content/global-region/contents.rdf (resources/content/contents-region.rdf)
- content/global/globalOverlay.xul (resources/content/globalOverlay.xul)
- content/global/globalOverlay.js (resources/content/globalOverlay.js)
- content/global/dialogOverlay.xul (resources/content/dialogOverlay.xul)
- content/global/dialogOverlay.js (resources/content/dialogOverlay.js)
- content/global/commonDialog.xul (resources/content/commonDialog.xul)
- content/global/commonDialog.js (resources/content/commonDialog.js)
- content/global/strres.js (resources/content/strres.js)
- content/global/config.xul (resources/content/config.xul)
- content/global/config.js (resources/content/config.js)
- content/global/mozilla.xhtml (resources/content/mozilla.xhtml)
- content/global/charsetOverlay.xul (resources/content/charsetOverlay.xul)
- content/global/charsetOverlay.js (resources/content/charsetOverlay.js)
- content/global/selectDialog.js (resources/content/selectDialog.js)
- content/global/selectDialog.xul (resources/content/selectDialog.xul)
- content/global/nsTreeController.js (resources/content/nsTreeController.js)
- content/global/nsTreeSorting.js (resources/content/nsTreeSorting.js)
- content/global/nsClipboard.js (resources/content/nsClipboard.js)
- content/global/nsDragAndDrop.js (resources/content/nsDragAndDrop.js)
- content/global/nsTransferable.js (resources/content/nsDragAndDrop.js)
- content/global/nsUserSettings.js (resources/content/nsUserSettings.js)
- content/global/xul.css (resources/content/xul.css)
-* content/global/inlineSpellCheckUI.js (/toolkit/content/inlineSpellCheckUI.js)
- content/global/plugins.html (/toolkit/content/plugins.html)
- content/global/plugins.css (/toolkit/content/plugins.css)
- content/global/printdialog.xul (resources/content/printdialog.xul)
- content/global/printdialog.js (resources/content/printdialog.js)
- content/global/printPageSetup.xul (resources/content/printPageSetup.xul)
- content/global/printPageSetup.js (resources/content/printPageSetup.js)
- content/global/printProgress.xul (resources/content/printProgress.xul)
- content/global/printProgress.js (resources/content/printProgress.js)
- content/global/printPreviewProgress.xul (resources/content/printPreviewProgress.xul)
- content/global/printPreviewProgress.js (resources/content/printPreviewProgress.js)
-* content/global/about.xhtml (resources/content/about.xhtml)
- content/global/license.html (resources/content/license.html)
- content/global/bindings/browser.xml (resources/content/bindings/browser.xml)
- content/global/bindings/button.xml (resources/content/bindings/button.xml)
- content/global/bindings/checkbox.xml (resources/content/bindings/checkbox.xml)
- content/global/bindings/colorpicker.xml (resources/content/bindings/colorpicker.xml)
- content/global/bindings/datetimepicker.xml (/toolkit/content/widgets/datetimepicker.xml)
- content/global/bindings/dialog.xml (resources/content/bindings/dialog.xml)
- content/global/bindings/editor.xml (resources/content/bindings/editor.xml)
- content/global/bindings/general.xml (resources/content/bindings/general.xml)
- content/global/bindings/groupbox.xml (resources/content/bindings/groupbox.xml)
- content/global/bindings/listbox.xml (resources/content/bindings/listbox.xml)
- content/global/bindings/menu.xml (resources/content/bindings/menu.xml)
- content/global/bindings/menulist.xml (resources/content/bindings/menulist.xml)
- content/global/bindings/numberbox.xml (/toolkit/content/widgets/numberbox.xml)
- content/global/bindings/popup.xml (resources/content/bindings/popup.xml)
- content/global/bindings/progressmeter.xml (resources/content/bindings/progressmeter.xml)
- content/global/bindings/radio.xml (/toolkit/content/widgets/radio.xml)
- content/global/bindings/scrollbar.xml (resources/content/bindings/scrollbar.xml)
- content/global/bindings/scale.xml (/toolkit/content/widgets/scale.xml)
- content/global/bindings/scrollbox.xml (resources/content/bindings/scrollbox.xml)
- content/global/bindings/splitter.xml (resources/content/bindings/splitter.xml)
- content/global/bindings/spinbuttons.xml (/toolkit/content/widgets/spinbuttons.xml)
- content/global/bindings/stringbundle.xml (resources/content/bindings/stringbundle.xml)
- content/global/bindings/tabbox.xml (resources/content/bindings/tabbox.xml)
- content/global/bindings/tabbrowser.xml (resources/content/bindings/tabbrowser.xml)
- content/global/bindings/text.xml (resources/content/bindings/text.xml)
- content/global/bindings/textbox.xml (resources/content/bindings/textbox.xml)
-* content/global/bindings/toolbar.xml (/toolkit/content/widgets/toolbar.xml)
- content/global/bindings/toolbarbutton.xml (resources/content/bindings/toolbarbutton.xml)
- content/global/bindings/tree.xml (resources/content/bindings/tree.xml)
- content/global/bindings/wizard.xml (resources/content/bindings/wizard.xml)
- content/global/buildconfig.html (buildconfig.html)
- content/global/XPCNativeWrapper.js (resources/content/XPCNativeWrapper.js)
-#ifdef MOZ_SVG
- content/global/svg/svgBindings.xml (/layout/svg/base/src/resources/content/svgBindings.xml)
-#endif
- content/global/about.xul (resources/content/about.xul)
-#ifdef MOZ_SUITE
- content/global/logo.gif (/suite/branding/content/logo.gif)
-#else
- content/global/logo.gif (resources/content/logo.gif)
- content/global/aboutAbout.html (resources/content/aboutAbout.html)
- content/global/hiddenWindow.xul (resources/content/hiddenWindow.xul)
- content/global/fullScreen.js (resources/content/fullScreen.js)
- content/global/nsWidgetStateManager.js (resources/content/nsWidgetStateManager.js)
-#endif
-
-en-US.jar:
-* locale/en-US/global/contents.rdf (resources/locale/en-US/contents.rdf)
- locale/en-US/global/intl.css (resources/locale/en-US/intl.css)
- locale/en-US/global/dialogOverlay.dtd (resources/locale/en-US/dialogOverlay.dtd)
- locale/en-US/global/commonDialog.dtd (resources/locale/en-US/commonDialog.dtd)
- locale/en-US/global/charsetOverlay.dtd (resources/locale/en-US/charsetOverlay.dtd)
- locale/en-US/global/textcontext.dtd (resources/locale/en-US/textcontext.dtd)
- locale/en-US/global/datetimepicker.dtd (/toolkit/locales/en-US/chrome/global/datetimepicker.dtd)
- locale/en-US/global/brand.dtd (resources/locale/en-US/brand.dtd)
- locale/en-US/global/tabbrowser.dtd (resources/locale/en-US/tabbrowser.dtd)
- locale/en-US/global/tabbrowser.properties (resources/locale/en-US/tabbrowser.properties)
- locale/en-US/global/keys.properties (resources/locale/en-US/keys.properties)
- locale/en-US/global/config.properties (resources/locale/en-US/config.properties)
- locale/en-US/global/config.dtd (resources/locale/en-US/config.dtd)
- locale/en-US/global/about.dtd (resources/locale/en-US/about.dtd)
- locale/en-US/global/languageNames.properties (resources/locale/en-US/languageNames.properties)
- locale/en-US/global/regionNames.properties (resources/locale/en-US/regionNames.properties)
- locale/en-US/global/commonDialogs.properties (resources/locale/en-US/commonDialogs.properties)
- locale/en-US/global/nsTreeSorting.properties (resources/locale/en-US/nsTreeSorting.properties)
- locale/en-US/global/dialog.properties (resources/locale/en-US/dialog.properties)
- locale/en-US/global/printdialog.dtd (resources/locale/en-US/printdialog.dtd)
- locale/en-US/global/printPageSetup.dtd (resources/locale/en-US/printPageSetup.dtd)
- locale/en-US/global/printPageSetup.properties (resources/locale/en-US/printPageSetup.properties)
- locale/en-US/global/printProgress.dtd (resources/locale/en-US/printProgress.dtd)
- locale/en-US/global/printPreviewProgress.dtd (resources/locale/en-US/printPreviewProgress.dtd)
- locale/en-US/global/tree.dtd (resources/locale/en-US/tree.dtd)
-* locale/en-US/global-region/contents.rdf (resources/locale/en-US/contents-region.rdf)
-* locale/en-US/global-region/region.dtd (resources/locale/en-US/region.dtd)
- locale/en-US/global-region/region.properties (resources/locale/en-US/region.properties)
-* locale/en-US/global-platform/win/contents.rdf (resources/locale/en-US/win/contents-platform.rdf)
- locale/en-US/global-platform/win/platformDialogOverlay.dtd (resources/locale/en-US/win/platformDialogOverlay.dtd)
- locale/en-US/global-platform/win/platformKeys.properties (resources/locale/en-US/win/platformKeys.properties)
- locale/en-US/global-platform/win/wizard.properties (resources/locale/en-US/win/wizard.properties)
-* locale/en-US/global-platform/unix/contents.rdf (resources/locale/en-US/unix/contents-platform.rdf)
- locale/en-US/global-platform/unix/platformDialogOverlay.dtd (resources/locale/en-US/unix/platformDialogOverlay.dtd)
- locale/en-US/global-platform/unix/platformKeys.properties (resources/locale/en-US/unix/platformKeys.properties)
- locale/en-US/global-platform/unix/wizard.properties (resources/locale/en-US/unix/wizard.properties)
- locale/en-US/global-platform/unix/printjoboptions.dtd (resources/locale/en-US/unix/printjoboptions.dtd)
-* locale/en-US/global-platform/mac/contents.rdf (resources/locale/en-US/mac/contents-platform.rdf)
- locale/en-US/global-platform/mac/platformDialogOverlay.dtd (resources/locale/en-US/mac/platformDialogOverlay.dtd)
- locale/en-US/global-platform/mac/platformKeys.properties (resources/locale/en-US/mac/platformKeys.properties)
- locale/en-US/global-platform/mac/wizard.properties (resources/locale/en-US/mac/wizard.properties)
deleted file mode 100644
--- a/xpfe/global/resources/Makefile.in
+++ /dev/null
@@ -1,48 +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 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):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either of 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 *****
-
-DEPTH = ../../..
-topsrcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-DIRS = content locale
-
-include $(topsrcdir)/config/rules.mk
-
deleted file mode 100644
--- a/xpfe/global/resources/content/Makefile.in
+++ /dev/null
@@ -1,63 +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 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):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either of 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 *****
-
-DEPTH = ../../../..
-topsrcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-ifneq (,$(filter os2 windows,$(MOZ_WIDGET_TOOLKIT)))
-DIRS = win
-else
-ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
-DIRS = mac
-else
-DIRS = unix
-endif
-endif
-
-include $(topsrcdir)/config/rules.mk
-
-libs realchrome::
- @$(REGCHROME) content global toolkit.jar
- @$(REGCHROME) locale en-US/global en-US.jar
-
-install::
- @$(REGCHROME_INSTALL) content global toolkit.jar
- @$(REGCHROME_INSTALL) locale en-US/global en-US.jar
deleted file mode 100644
--- a/xpfe/global/resources/content/XPCNativeWrapper.js
+++ /dev/null
@@ -1,40 +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 XPConnect Native Wrapper.
- *
- * The Initial Developer of the Original Code is
- * Christopher A. Aillon <christopher@aillon.com>.
- * Portions created by the Initial Developer are Copyright (C) 2002
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Christopher A. Aillon <christopher@aillon.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 ***** */
-
-/*
- * Moved to C++ implementation in XPConnect. See bug 281988.
- */
deleted file mode 100644
--- a/xpfe/global/resources/content/about.xhtml
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
- "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
-<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
-<!ENTITY % regionDTD SYSTEM "chrome://global-region/locale/region.dtd" >
-%brandDTD;
-%regionDTD;
-]>
-<!-- ***** 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 Mozilla Communicator client code, released
- - March 31, 1998.
- -
- - The Initial Developer of the Original Code is
- - Netscape Communications Corporation.
- - Portions created by the Initial Developer are Copyright (C) 1998-1999
- - the Initial Developer. All Rights Reserved.
- -
- - Contributor(s):
- - Henrik Gemal <mozilla@gemal.dk>
- - Daniel Veditz <dveditz@netscape.com>
- - Alexey Chernyak <alexeyc@bigfoot.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 LGPL or the GPL. 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 ***** -->
-
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>About:</title>
-<style type="text/css">
-table {
- margin: auto;
- text-align: center;
-}
-img {
- border: 0;
-}
-p {
- font-size: smaller;
-}
-h1 {
- margin: 0;
-}
-:link {
- color: #00e;
-}
-:visited {
- color: #551a8b;
-}
-:link:active, :visited:active {
- color: #f00;
-}
-</style>
-</head>
-<body>
-
-<table>
-<tbody>
-<tr>
-
-<td>
-<a href="&vendorURL;">
-<img src="about:logo" alt="&brandShortName;" width="200" height="200" /></a>
-</td>
-
-<td id="mozver">
-<h1>
-#expand <a id="mozlink" href="&releaseURL;">&brandShortName; __MOZ_APP_VERSION__</a>
-</h1>
-<script type="application/x-javascript">
- document.getElementById("mozver").appendChild(document.createTextNode(navigator.userAgent));
-</script>
-</td>
-
-</tr>
-</tbody>
-</table>
-
-<hr />
-
-<ul>
-<li>Copyright © 1998–2007 by <a href="about:credits">Contributors</a> to
-the Mozilla codebase under the <a href="about:license">Mozilla Public License
-and other licenses</a>. All Rights Reserved.</li>
-
-<li>Portions of this software are copyright © 1994 The Regents of the
-University of California. All Rights Reserved.</li>
-<li>Portions of this software are copyright © 2000–2002 Japan Network Information
-Center. All Rights Reserved.</li>
-<li>This software may contain portions that are copyright © 1998–2002
-<a href="http://www.supportsoft.com/">SupportSoft, Inc.</a> All Rights Reserved.
-</li>
-</ul>
-
-<p>
-U.S. GOVERNMENT END USERS. The Software is a "commercial
-item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting
-of "commercial computer software" and "commercial computer software
-documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995).
-Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4
-(June 1995), all U.S. Government End Users acquire the Software with only
-those rights set forth herein.
-</p>
-
-</body>
-</html>
deleted file mode 100644
--- a/xpfe/global/resources/content/about.xul
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.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 Mozilla Communicator client code, released
- March 31, 1998.
-
- The Initial Developer of the Original Code is
- Netscape Communications Corporation.
- Portions created by the Initial Developer are Copyright (C) 1998-1999
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
-
- Alternatively, the contents of this file may be used under the terms of
- either of 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 ***** -->
-
-<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
-
-<!DOCTYPE dialog [
-<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
-%brandDTD;
-<!ENTITY % aboutDTD SYSTEM "chrome://global/locale/about.dtd" >
-%aboutDTD;
-]>
-
-<dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- title="&title.label;"
- buttons="accept">
-
-<vbox flex="100%" style="margin: 0.5em;">
-
-<tabbox flex="100%">
- <tabs>
- <tab label="&aboutTab.label;"/>
- <tab label="&contributorsTab.label;"/>
- </tabs>
-
- <tabpanels flex="100%">
- <iframe src="about:"/>
- <iframe src="about:credits"/>
- </tabpanels>
-</tabbox>
-
-</vbox>
-</dialog>
deleted file mode 100644
--- a/xpfe/global/resources/content/aboutAbout.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-
-<!-- ***** 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 about:about.
-
- The Initial Developer of the Original Code is
- Christopher A. Aillon <christopher@aillon.com>.
- Portions created by the Initial Developer are Copyright (C) 2003
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
- Christopher A. Aillon <christopher@aillon.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 LGPL or the GPL. 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 ***** -->
-
-<html>
-<head>
-<title>About About</title>
-<style type="text/css">
-h1 {
- text-align: center;
-}
-
-table {
- border-collapse: collapse;
- border: 1px solid black;
- width: 300px;
- margin: auto;
-}
-
-tr {
- background-color: #eeeeee;
- border: 1px solid black;
-}
-
-td {
- text-align: center;
-}
-
-a {
- display: block;
- padding: 0.5em;
- vertical-align: middle;
-}
-
-.note {
- text-align: center;
- font-style: italic;
-}
-</style>
-<script type="application/x-javascript">
-
-var gProtocols = new Array();
-var gContainer;
-window.onload = Start;
-function Start()
-{
- gContainer = document.getElementById("abouts");
-
- findAbouts();
-}
-
-function findAbouts()
-{
- for (var cid in Components.classes) {
- var result = cid.match(/@mozilla.org\/network\/protocol\/about;1\?what\=(.*)$/);
- if (result) {
- gProtocols.push(result[1]);
- }
- }
-
- gProtocols.sort();
- for (var i in gProtocols) {
- createProtocolListing(gProtocols[i]);
- }
-}
-
-function createProtocolListing(aProtocol)
-{
- var uri = "about:" + aProtocol;
-
- var tr = document.createElement("tr");
- var td = document.createElement("td");
- var link = document.createElement("a");
- var text = document.createTextNode(uri);
-
- link.href = uri;
- link.appendChild(text);
- td.appendChild(link);
- tr.appendChild(td);
- gContainer.appendChild(tr);
-}
-
-</script>
-</head>
-
-<body>
-<h1>about:about</h1>
-<p class="note">Note: not all of the following URIs may be useful as listed. For instance, some may require query strings.</p>
-<table id="abouts"></table>
-</body>
-</html>
deleted file mode 100644
--- a/xpfe/global/resources/content/bindings/browser.xml
+++ /dev/null
@@ -1,525 +0,0 @@
-<?xml version="1.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 this file as it was released on March 28, 2001.
- -
- - The Initial Developer of the Original Code is
- - Peter Annema.
- - Portions created by the Initial Developer are Copyright (C) 2001
- - the Initial Developer. All Rights Reserved.
- -
- - Contributor(s):
- - Peter Annema <disttsc@bart.nl> (Original Author of <browser>)
- -
- - Alternatively, the contents of this file may be used under the terms of
- - either of 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 ***** -->
-
-<bindings id="browserBindings"
- xmlns="http://www.mozilla.org/xbl"
- xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
- <binding id="browser" extends="xul:browser">
- <implementation type="application/x-javascript" implements="nsIAccessibleProvider">
- <property name="accessibleType" readonly="true">
- <getter>
- <![CDATA[
- return Components.interfaces.nsIAccessibleProvider.OuterDoc;
- ]]>
- </getter>
- </property>
-
- <property name="canGoBack"
- onget="return this.webNavigation.canGoBack;"
- readonly="true"/>
-
- <property name="canGoForward"
- onget="return this.webNavigation.canGoForward;"
- readonly="true"/>
-
- <method name="goBack">
- <body>
- <![CDATA[
- var webNavigation = this.webNavigation;
- if (webNavigation.canGoBack) {
- try {
- this.userTypedClear++;
- webNavigation.goBack();
- } finally {
- if (this.userTypedClear)
- this.userTypedClear--;
- }
- }
- ]]>
- </body>
- </method>
-
- <method name="goForward">
- <body>
- <![CDATA[
- var webNavigation = this.webNavigation;
- if (webNavigation.canGoForward) {
- try {
- this.userTypedClear++;
- webNavigation.goForward();
- } finally {
- if (this.userTypedClear)
- this.userTypedClear--;
- }
- }
- ]]>
- </body>
- </method>
-
- <method name="reload">
- <body>
- <![CDATA[
- const nsIWebNavigation = Components.interfaces.nsIWebNavigation;
- const flags = nsIWebNavigation.LOAD_FLAGS_NONE;
- this.reloadWithFlags(flags);
- ]]>
- </body>
- </method>
-
- <method name="reloadWithFlags">
- <parameter name="aFlags"/>
- <body>
- <![CDATA[
- this.webNavigation.reload(aFlags);
- ]]>
- </body>
- </method>
-
- <method name="stop">
- <body>
- <![CDATA[
- const nsIWebNavigation = Components.interfaces.nsIWebNavigation;
- const flags = nsIWebNavigation.STOP_ALL;
- this.webNavigation.stop(flags);
- ]]>
- </body>
- </method>
-
- <!-- throws exception for unknown schemes -->
- <method name="loadURI">
- <parameter name="aURI"/>
- <parameter name="aReferrerURI"/>
- <parameter name="aCharset"/>
- <body>
- <![CDATA[
- const nsIWebNavigation = Components.interfaces.nsIWebNavigation;
- const flags = nsIWebNavigation.LOAD_FLAGS_NONE;
- this.loadURIWithFlags(aURI, flags, aReferrerURI, aCharset);
- ]]>
- </body>
- </method>
-
- <!-- throws exception for unknown schemes -->
- <method name="loadURIWithFlags">
- <parameter name="aURI"/>
- <parameter name="aFlags"/>
- <parameter name="aReferrerURI"/>
- <parameter name="aCharset"/>
- <body>
- <![CDATA[
- if (!aURI)
- aURI = "about:blank";
-
- if (aCharset) {
- try {
- this.documentCharsetInfo.parentCharset = this.mAtomService.getAtom(aCharset);
- }
- catch (e) {
- }
- }
- try {
- this.userTypedClear++;
- this.webNavigation.loadURI(aURI, aFlags, aReferrerURI, null, null);
- } finally {
- if (this.userTypedClear)
- this.userTypedClear--;
- }
- ]]>
- </body>
- </method>
-
- <method name="goHome">
- <body>
- <![CDATA[
- try {
- this.loadURI(this.homePage);
- }
- catch (e) {
- }
- ]]>
- </body>
- </method>
-
- <property name="homePage">
- <getter>
- <![CDATA[
- var uri;
-
- if (this.hasAttribute("homepage"))
- uri = this.getAttribute("homepage");
- else
- uri = "http://www.mozilla.org/"; // widget pride
-
- return uri;
- ]]>
- </getter>
- <setter>
- <![CDATA[
- this.setAttribute("homepage", val);
- return val;
- ]]>
- </setter>
- </property>
-
- <method name="gotoIndex">
- <parameter name="aIndex"/>
- <body>
- <![CDATA[
- try {
- this.userTypedClear++;
- this.webNavigation.gotoIndex(aIndex);
- } finally {
- if (this.userTypedClear)
- this.userTypedClear--;
- }
- ]]>
- </body>
- </method&