mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-26 14:22:01 +00:00
resources directories are dead.
This commit is contained in:
parent
98d6ac3579
commit
0b515b6859
@ -1 +0,0 @@
|
||||
Makefile
|
@ -1,45 +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 the Mozilla Browser 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):
|
||||
# Brian Ryner <bryner@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 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
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
File diff suppressed because it is too large
Load Diff
@ -1,955 +0,0 @@
|
||||
<?xml version="1.0"?> <!-- -*- Mode: HTML -*- -->
|
||||
|
||||
<!-- The contents of this file are subject to the Netscape Public
|
||||
License Version 1.1 (the "License"); you may not use this file
|
||||
except in compliance with the License. You may obtain a copy of
|
||||
the License at http://www.mozilla.org/NPL/
|
||||
|
||||
Software distributed under the License is distributed on an "AS
|
||||
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
implied. See the License for the specific language governing
|
||||
rights and limitations under the License.
|
||||
|
||||
The Original Code is Mozilla Communicator client code, released
|
||||
March 31, 1998.
|
||||
|
||||
The Initial Developer of the Original Code is Netscape
|
||||
Communications Corporation. Portions created by Netscape are
|
||||
Copyright (C) 1998-2000 Netscape Communications Corporation. All
|
||||
Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
Dean Tessman <dean_tessman@hotmail.com>
|
||||
-->
|
||||
|
||||
|
||||
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
|
||||
|
||||
<?xul-overlay href="chrome://communicator/content/bookmarks/bookmarksOverlay.xul"?>
|
||||
<?xul-overlay href="chrome://global/content/viewZoomOverlay.xul"?>
|
||||
<?xul-overlay href="chrome://navigator/content/platformNavigationBindings.xul"?>
|
||||
<?xul-overlay href="chrome://communicator/content/platformCommunicatorOverlay.xul"?>
|
||||
|
||||
<!DOCTYPE window [
|
||||
<!ENTITY % brandDTD SYSTEM "chrome://global/locale/brand.dtd" >
|
||||
%brandDTD;
|
||||
<!ENTITY % buildDTD SYSTEM "chrome://global/content/build.dtd" >
|
||||
%buildDTD;
|
||||
<!ENTITY % browserDTD SYSTEM "chrome://browser/locale/browser.dtd" >
|
||||
%browserDTD;
|
||||
<!ENTITY % globalRegionDTD SYSTEM "chrome://global-region/locale/region.dtd">
|
||||
%globalRegionDTD;
|
||||
<!ENTITY % charsetDTD SYSTEM "chrome://global/locale/charset.dtd" >
|
||||
%charsetDTD;
|
||||
]>
|
||||
|
||||
<window id="main-window"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
onload="Startup()" onunload="Shutdown()"
|
||||
contenttitlesetting="true"
|
||||
title="&mainWindow.title;"
|
||||
titlemodifier="&mainWindow.titlemodifier;"
|
||||
titlemenuseparator="&mainWindow.titlemodifiermenuseparator;"
|
||||
windowtype="navigator:browser"
|
||||
width="610" height="450"
|
||||
screenX="4" screenY="4"
|
||||
persist="screenX screenY width height sizemode">
|
||||
|
||||
<script type="application/x-javascript" src="chrome://global/content/nsUserSettings.js"/>
|
||||
<script type="application/x-javascript" src="chrome://global/content/nsTransferable.js"/>
|
||||
<script type="application/x-javascript" src="chrome://global/content/nsClipboard.js"/>
|
||||
<script type="application/x-javascript" src="chrome://global/content/nsDragAndDrop.js"/>
|
||||
<script type="application/x-javascript" src="chrome://global/content/strres.js"/>
|
||||
<script type="application/x-javascript" src="chrome://global/content/fullScreen.js"/>
|
||||
<script type="application/x-javascript" src="chrome://global/content/globalOverlay.js"/>
|
||||
<script type="application/x-javascript" src="chrome://global/content/nsBrowserStatusHandler.js"/>
|
||||
<script type="application/x-javascript" src="chrome://global/content/nsBrowserContentListener.js"/>
|
||||
<script type="application/x-javascript" src="chrome://communicator/content/contentAreaClick.js"/>
|
||||
<script type="application/x-javascript" src="chrome://communicator/content/contentAreaDD.js"/>
|
||||
<script type="application/x-javascript" src="chrome://communicator/content/findUtils.js"/>
|
||||
<script type="application/x-javascript" src="chrome://browser/content/utilityOverlay.js"/>
|
||||
<script type="application/x-javascript" src="chrome://global/content/charset.js"/>
|
||||
<script type="application/x-javascript" src="chrome://communicator/content/bookmarks/bookmarksOverlay.js"/>
|
||||
<script type="application/x-javascript" src="chrome://communicator/content/securityUI.js" />
|
||||
|
||||
<script type="application/x-javascript" src="chrome://browser/content/browser.js"/>
|
||||
<script type="application/x-javascript" src="chrome://global/content/nsContextMenu.js"/>
|
||||
<script type="application/x-javascript" src="chrome://communicator/content/contentAreaUtils.js"/>
|
||||
|
||||
<stringbundleset id="stringbundleset">
|
||||
<stringbundle id="bundle_navigator" src="chrome://navigator/locale/navigator.properties"/>
|
||||
<stringbundle id="bundle_brand" src="chrome://global/locale/brand.properties"/>
|
||||
<stringbundle id="bundle_navigator_region" src="chrome://navigator-region/locale/region.properties"/>
|
||||
<stringbundle id="bundle_brand_region" src="chrome://global-region/locale/region.properties"/>
|
||||
<stringbundle id="findBundle" src="chrome://global/locale/finddialog.properties"/>
|
||||
<stringbundle id="bundle_viewZoom"/>
|
||||
</stringbundleset>
|
||||
|
||||
<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()"/>
|
||||
<command id="cmd_newNavigator"
|
||||
oncommand="OpenBrowserWindow()"/>
|
||||
<commands id="commands"/>
|
||||
<command id="cmd_newNavigatorTab" oncommand="BrowserOpenTab();"/>
|
||||
<command id="Browser:OpenFile" oncommand="BrowserOpenFileWindow();"/>
|
||||
<command id="Browser:SavePage" oncommand="saveDocument(window._content.document);"/>
|
||||
<command id="Browser:Print" oncommand="BrowserPrint();"/>
|
||||
<command id="cmd_quit"/>
|
||||
<command id="cmd_close" oncommand="BrowserCloseTabOrWindow()"/>
|
||||
<command id="cmd_closeWindow" oncommand="BrowserCloseWindow()"/>
|
||||
|
||||
<command id="cmd_copyLink"
|
||||
oncommand="goDoCommand('cmd_copyLink')"
|
||||
disabled="false"/>
|
||||
<command id="cmd_copyImageLocation"
|
||||
oncommand="goDoCommand('cmd_copyImageLocation')"
|
||||
disabled="false"/>
|
||||
<command id="cmd_copyImageContents"
|
||||
oncommand="goDoCommand('cmd_copyImageContents')"
|
||||
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;"
|
||||
disabled="true"/>
|
||||
<command id="cmd_selectAll" observes="isImage"
|
||||
oncommand="goDoCommand('cmd_selectAll')"
|
||||
disabled="true"/>
|
||||
|
||||
<command id="View:PageSource" oncommand="BrowserViewSourceOfDocument(_content.document);"/>
|
||||
<command id="View:PageInfo" />
|
||||
<command id="View:FullScreen" oncommand="BrowserFullScreen();"/>
|
||||
|
||||
<command id="Browser:Find" oncommand="BrowserFind();" observes="isImage"/>
|
||||
<command id="Browser:FindAgain" oncommand="BrowserFindAgain();" observes="isImage"/>
|
||||
|
||||
<command id="Browser:AddBookmarkAs" oncommand="addBookmarkAs(document.getElementById('content'));"/>
|
||||
<command id="Browser:ManageBookmark"
|
||||
oncommand="BrowserEditBookmarks();" />
|
||||
|
||||
<command id="Browser:Home" oncommand="BrowserHome();"/>
|
||||
<command id="Browser:Back" oncommand="BrowserBack();" observes="canGoBack"/>
|
||||
<command id="Browser:Forward" oncommand="BrowserForward();" observes="canGoForward"/>
|
||||
<commandset id="viewZoomCommands"/>
|
||||
|
||||
<broadcaster id="canGoBack" disabled="true"/>
|
||||
<broadcaster id="canGoForward" disabled="true"/>
|
||||
<broadcaster id="Communicator:WorkMode"
|
||||
label="&offlineGoOfflineCmd.label;"
|
||||
oncommand="toggleOfflineStatus();"/>
|
||||
<broadcaster id="cmd_viewnavbar" oncommand="goToggleToolbar( 'nav-bar','cmd_viewnavbar');" checked="true"/>
|
||||
<broadcaster id="cmd_viewpersonaltoolbar" oncommand="goToggleToolbar('PersonalToolbar','cmd_viewpersonaltoolbar');" checked="true"/>
|
||||
<broadcaster id="cmd_viewtaskbar" oncommand="goToggleToolbar('status-bar','cmd_viewtaskbar');" checked="true"/>
|
||||
<broadcaster id="isImage"/>
|
||||
|
||||
<keyset>
|
||||
<key id="key_newNavigator"
|
||||
key="&newNavigatorCmd.key;"
|
||||
command="cmd_newNavigator"
|
||||
modifiers="accel"/>
|
||||
<key id="key_newNavigatorTab" key="&tabCmd.commandkey;" modifiers="accel" command="cmd_newNavigatorTab"/>
|
||||
<key id="focusURLBar" key="&openCmd.commandkey;" oncommand="ShowAndSelectContentsOfURLBar();"
|
||||
modifiers="accel"/>
|
||||
<key id="openFileKb" key="&openFileCmd.commandkey;" command="Browser:OpenFile" modifiers="accel"/>
|
||||
<key id="key_savePage" key="&savePageCmd.commandkey;" command="Browser:SavePage" modifiers="accel"/>
|
||||
<key id="key_editPage" key="&editPageCmd.commandkey;" command="Browser:EditPage" modifiers="accel"/>
|
||||
<key id="printKb" key="&printCmd.commandkey;" command="Browser:Print" modifiers="accel"/>
|
||||
<key id="key_close"/>
|
||||
<key id="key_closeWindow"/>
|
||||
<key id="key_quit"/>
|
||||
|
||||
<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_delete"/>
|
||||
<key id="key_selectAll"/>
|
||||
|
||||
<key id="key_reload" key="&reloadCmd.commandkey;" oncommand="BrowserReload();" modifiers="accel"/>
|
||||
<key key="&reloadCmd.commandkey;" oncommand="BrowserReloadSkipCache();" modifiers="accel,shift"/>
|
||||
<key id="key_viewSource" key="&pageSourceCmd.commandkey;" command="View:PageSource" modifiers="accel"/>
|
||||
<key id="key_viewInfo" key="&pageInfoCmd.commandkey;" command="View:PageInfo" modifiers="accel"/>
|
||||
|
||||
<key id="key_find" key="&findOnCmd.commandkey;" command="Browser:Find" modifiers="accel"/>
|
||||
<key id="key_findAgain" key="&findAgainCmd.commandkey;" command="Browser:FindAgain" modifiers="accel"/>
|
||||
|
||||
<key id="addBookmarkAsKb" key="&addCurPageAsCmd.commandkey;" command="Browser:AddBookmarkAs" modifiers="accel"/>
|
||||
<key id="manBookmarkKb" key="&manBookmarksCmd.commandkey;" command="Browser:ManageBookmark" modifiers="accel"/>
|
||||
|
||||
<key id="key_stop" keycode="VK_ESCAPE" oncommand="BrowserStop();"/>
|
||||
<key id="key_gotoHistory" key="&history.commandKey;" oncommand="toHistory();" modifiers="accel"/>
|
||||
<keyset id="viewZoomKeys"/>
|
||||
<keyset id="navigationKeys"/>
|
||||
</keyset>
|
||||
|
||||
<popup id="backMenu" position="after_start" onpopupshowing="return BrowserBackMenu(event);" oncommand="gotoHistoryIndex(event);"/>
|
||||
<popup id="forwardMenu" position="after_start" onpopupshowing="return BrowserForwardMenu(event);" oncommand="gotoHistoryIndex(event);"/>
|
||||
<tooltip id="aHTMLTooltip" onpopupshowing="return FillInHTMLTooltip(document.tooltipNode);"/>
|
||||
|
||||
<popupset id="bookmarksPopupset"/>
|
||||
|
||||
<popup id="contentAreaContextMenu"
|
||||
onpopupshowing="gContextMenu = new nsContextMenu( this ); return gContextMenu.shouldDisplay;"
|
||||
onpopuphiding="gContextMenu = null;">
|
||||
<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();"/>
|
||||
<menuseparator id="context-sep-open"/>
|
||||
<menuitem id="context-bookmarklink"
|
||||
label="&bookmarkLinkCmd.label;"
|
||||
accesskey="&bookmarkLinkCmd.accesskey;"
|
||||
oncommand="BookmarksUtils.addBookmark(gContextMenu.linkURL(),
|
||||
gContextMenu.linkText(),
|
||||
undefined, true);"/>
|
||||
<menuitem id="context-savelink"
|
||||
label="&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-viewimage"
|
||||
label="&viewImageCmd.label;"
|
||||
accesskey="&viewImageCmd.accesskey;"
|
||||
oncommand="gContextMenu.viewImage();"/>
|
||||
<menuitem id="context-copyimage"
|
||||
label="©ImageCmd.label;"
|
||||
accesskey="©ImageCmd.accesskey;"
|
||||
command="cmd_copyImageLocation"/>
|
||||
<menuseparator id="context-sep-copyimage"/>
|
||||
<menuitem id="context-saveimage"
|
||||
label="&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="addBookmarkAs(document.getElementById('content'));"/>
|
||||
<menuitem id="context-savepage"
|
||||
label="&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"/>
|
||||
<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', false, 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();"/>
|
||||
<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"
|
||||
label="&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;"
|
||||
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();"/>
|
||||
</popup>
|
||||
|
||||
<toolbox id="navigator-toolbox" class="toolbox-top">
|
||||
<!-- Menu -->
|
||||
<menubar id="main-menubar" class="chromeclass-menubar">
|
||||
<menu id="menu_File"
|
||||
label="&fileMenu.label;"
|
||||
accesskey="&fileMenu.accesskey;">
|
||||
<menupopup id="menu_FilePopup" onpopupshowing="getContentAreaFrameCount();">
|
||||
<menuitem id="menu_newNavigator"
|
||||
label="&newNavigatorCmd.label;"
|
||||
accesskey="&newNavigatorCmd.accesskey;"
|
||||
key="key_newNavigator"
|
||||
command="cmd_newNavigator"/>
|
||||
<menuitem id="menu_newNavigatorTab" command="cmd_newNavigatorTab" key="key_newNavigatorTab"
|
||||
label="&tabCmd.label;" accesskey="&tabCmd.accesskey;"/>
|
||||
<menuitem label="&openFileCmd.label;" accesskey="&openFileCmd.accesskey;" key="openFileKb" command="Browser:OpenFile"/>
|
||||
<menuitem id="menu_close"/>
|
||||
<menuitem id="menu_closeWindow" hidden="true" command="cmd_closeWindow" key="key_closeWindow" label="&closeWindow.label;"/>
|
||||
<menuseparator/>
|
||||
<menuitem label="&savePageCmd.label;" accesskey="&savePageCmd.accesskey;" key="key_savePage" command="Browser:SavePage"/>
|
||||
<menuitem id="savepage" label="&saveFrameCmd.label;" accesskey="&saveFrameCmd.accesskey;" oncommand="saveFrameDocument();" hidden="true"/>
|
||||
<menuseparator/>
|
||||
<menuitem id="printSetupMenuItem" label="&printSetupCmd.label;" accesskey="&printSetupCmd.accesskey;" oncommand="BrowserPrintSetup();"/>
|
||||
<menuitem id="printPreviewMenuItem" label="&printPreviewCmd.label;" accesskey="&printPreviewCmd.accesskey;" oncommand="BrowserPrintPreview();"/>
|
||||
<menuitem id="printMenuItem" label="&printCmd.label;" accesskey="&printCmd.accesskey;" key="printKb" command="Browser:Print"/>
|
||||
<menuseparator/>
|
||||
<menuitem id="offlineGoOfflineCmd"
|
||||
label="&offlineGoOfflineCmd.label;"
|
||||
accesskey="&offlineGoOfflineCmd.accesskey;"
|
||||
observes="Communicator:WorkMode"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
|
||||
<menu label="&editMenu.label;"
|
||||
accesskey="&editMenu.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem label="&undoCmd.label;"
|
||||
key="key_undo"
|
||||
accesskey="&undoCmd.accesskey;"
|
||||
command="cmd_undo"/>
|
||||
<menuitem label="&redoCmd.label;"
|
||||
key="key_redo"
|
||||
accesskey="&redoCmd.accesskey;"
|
||||
command="cmd_redo"/>
|
||||
<menuseparator/>
|
||||
<menuitem label="&cutCmd.label;"
|
||||
key="key_cut"
|
||||
accesskey="&cutCmd.accesskey;"
|
||||
command="cmd_cut"/>
|
||||
<menuitem label="©Cmd.label;"
|
||||
key="key_copy"
|
||||
accesskey="©Cmd.accesskey;"
|
||||
command="cmd_copy"/>
|
||||
<menuitem label="&pasteCmd.label;"
|
||||
key="key_paste"
|
||||
accesskey="&pasteCmd.accesskey;"
|
||||
command="cmd_paste"/>
|
||||
<menuitem label="&deleteCmd.label;"
|
||||
key="key_delete"
|
||||
accesskey="&deleteCmd.accesskey;"
|
||||
command="cmd_delete"/>
|
||||
<menuseparator/>
|
||||
<menuitem label="&selectAllCmd.label;"
|
||||
key="key_selectAll"
|
||||
accesskey="&selectAllCmd.accesskey;"
|
||||
command="cmd_selectAll"/>
|
||||
<menuseparator/>
|
||||
<menuitem label="&findOnCmd.label;" accesskey="&findOnCmd.accesskey;" key="key_find" command="Browser:Find"/>
|
||||
<menuitem label="&findAgainCmd.label;" accesskey="&findAgainCmd.accesskey;" key="key_findAgain" command="Browser:FindAgain"/>
|
||||
<menuseparator id="menu_PrefsSeparator"/>
|
||||
<menuitem id="menu_preferences"
|
||||
label="&preferencesCmd.label;"
|
||||
accesskey="&preferencesCmd.accesskey;"
|
||||
oncommand="goPreferences('navigator', 'chrome://communicator/content/pref/pref-navigator.xul', 'navigator')"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
|
||||
<menu label="&viewMenu.label;" accesskey="&viewMenu.accesskey;">
|
||||
<menupopup>
|
||||
<menu label="&viewToolbarsMenu.label;" accesskey="&viewToolbarsMenu.accesskey;">
|
||||
<menupopup onpopupshowing="updateToolbarStates(this);">
|
||||
<menuitem label="&navbarCmd.label;" accesskey="&navbarCmd.accesskey;" class="menuitem-iconic" type="checkbox" observes="cmd_viewnavbar" />
|
||||
<menuitem label="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;" class="menuitem-iconic" type="checkbox" observes="cmd_viewpersonaltoolbar" />
|
||||
<menuitem id="menuitem_showhide_tabbar" label="&tabbarCmd.label;" accesskey="&tabbarCmd.accesskey;" class="menuitem-iconic" type="checkbox" oncommand="showHideTabbar();" checked="true"/>
|
||||
<menuitem label="&taskbarCmd.label;" accesskey="&taskbarCmd.accesskey;" class="menuitem-iconic" type="checkbox" observes="cmd_viewtaskbar" />
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menuitem id="menuitem_fullScreen" accesskey="&fullScreenCmd.accesskey;"
|
||||
label="&fullScreenCmd.label;" key="key_fullScreen"
|
||||
command="View:FullScreen" hidden="true"/>
|
||||
<menuseparator />
|
||||
<menuitem label="&stopCmd.label;" accesskey="&stopCmd.accesskey;" id="menuitem-stop" disabled="true" oncommand="BrowserStop();" key="key_stop"/>
|
||||
<menuitem accesskey="&reloadCmd.accesskey;" key="key_reload" label="&reloadCmd.label;" oncommand="BrowserReload();"/>
|
||||
<menuseparator />
|
||||
|
||||
<!-- overlayed from viewZoomOverlay.xul -->
|
||||
<menu id="menu_textZoom" observes="isImage"/>
|
||||
|
||||
<menu observes="isImage"
|
||||
label="&charsetMenu.label;" accesskey="&charsetMenu.accesskey;"
|
||||
datasources="rdf:charset-menu" ref="NC:BrowserCharsetMenuRoot"
|
||||
oncommand="MultiplexHandler(event)" onpopupshowing="CreateMenu('browser');UpdateMenus(event)" onpopupshown="CreateMenu('more-menu');">
|
||||
<template>
|
||||
<rule rdf:type="http://home.netscape.com/NC-rdf#BookmarkSeparator">
|
||||
<menupopup>
|
||||
<menuseparator uri="..." />
|
||||
</menupopup>
|
||||
</rule>
|
||||
<rule>
|
||||
<menupopup>
|
||||
<menuitem type="radio" name="charsetGroup" checked="rdf:http://home.netscape.com/NC-rdf#Checked" uri="..." label="rdf:http://home.netscape.com/NC-rdf#Name"/>
|
||||
</menupopup>
|
||||
</rule>
|
||||
</template>
|
||||
|
||||
<menupopup>
|
||||
<menu label="&charsetMenuAutodet.label;" accesskey="&charsetMenuAutodet.accesskey;" datasources="rdf:charset-menu" ref="NC:BrowserAutodetMenuRoot">
|
||||
<template>
|
||||
<rule rdf:type="http://home.netscape.com/NC-rdf#CharsetDetector">
|
||||
<menupopup>
|
||||
<menuitem type="radio" name="detectorGroup" checked="rdf:http://home.netscape.com/NC-rdf#Checked" uri="..." label="rdf:http://home.netscape.com/NC-rdf#Name"/>
|
||||
</menupopup>
|
||||
</rule>
|
||||
</template>
|
||||
<menupopup>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu label="&charsetMenuMore.label;" accesskey="&charsetMenuMore.accesskey;" datasources="rdf:charset-menu" ref="NC:BrowserMoreCharsetMenuRoot">
|
||||
<template>
|
||||
<rule>
|
||||
<menupopup>
|
||||
<menuitem uri="..." label="rdf:http://home.netscape.com/NC-rdf#Name"/>
|
||||
</menupopup>
|
||||
</rule>
|
||||
</template>
|
||||
<menupopup>
|
||||
<menu label="&charsetMenuMore1.label;" accesskey="&charsetMenuMore1.accesskey;" datasources="rdf:charset-menu" ref="NC:BrowserMore1CharsetMenuRoot">
|
||||
<template>
|
||||
<rule>
|
||||
<menupopup>
|
||||
<menuitem uri="..." label="rdf:http://home.netscape.com/NC-rdf#Name"/>
|
||||
</menupopup>
|
||||
</rule>
|
||||
</template>
|
||||
<menupopup>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu label="&charsetMenuMore2.label;" accesskey="&charsetMenuMore2.accesskey;" datasources="rdf:charset-menu" ref="NC:BrowserMore2CharsetMenuRoot">
|
||||
<template>
|
||||
<rule>
|
||||
<menupopup>
|
||||
<menuitem uri="..." label="rdf:http://home.netscape.com/NC-rdf#Name"/>
|
||||
</menupopup>
|
||||
</rule>
|
||||
</template>
|
||||
<menupopup>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu label="&charsetMenuMore3.label;" accesskey="&charsetMenuMore3.accesskey;" datasources="rdf:charset-menu" ref="NC:BrowserMore3CharsetMenuRoot">
|
||||
<template>
|
||||
<rule>
|
||||
<menupopup>
|
||||
<menuitem uri="..." label="rdf:http://home.netscape.com/NC-rdf#Name"/>
|
||||
</menupopup>
|
||||
</rule>
|
||||
</template>
|
||||
<menupopup>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu label="&charsetMenuMore4.label;" accesskey="&charsetMenuMore4.accesskey;" datasources="rdf:charset-menu" ref="NC:BrowserMore4CharsetMenuRoot">
|
||||
<template>
|
||||
<rule>
|
||||
<menupopup>
|
||||
<menuitem uri="..." label="rdf:http://home.netscape.com/NC-rdf#Name"/>
|
||||
</menupopup>
|
||||
</rule>
|
||||
</template>
|
||||
<menupopup>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu label="&charsetMenuMore5.label;" accesskey="&charsetMenuMore5.accesskey;" datasources="rdf:charset-menu" ref="NC:BrowserMore5CharsetMenuRoot">
|
||||
<template>
|
||||
<rule>
|
||||
<menupopup>
|
||||
<menuitem uri="..." label="rdf:http://home.netscape.com/NC-rdf#Name"/>
|
||||
</menupopup>
|
||||
</rule>
|
||||
</template>
|
||||
<menupopup>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menuseparator />
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menuitem name="charsetCustomize" accesskey="&charsetCustomize.accesskey;" label="&charsetCustomize.label;" oncommand="window.openDialog('chrome://communicator/content/pref/pref-charset.xul','PrefWindow', 'chrome,modal=yes,resizable=yes', 'browser')"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menuseparator />
|
||||
<menuitem accesskey="&pageSourceCmd.accesskey;" label="&pageSourceCmd.label;" key="key_viewSource" command="View:PageSource"/>
|
||||
<menuitem accesskey="&pageInfoCmd.accesskey;" label="&pageInfoCmd.label;" key="key_viewInfo" command="View:PageInfo"/>
|
||||
<menuseparator />
|
||||
<menu label="&applyTheme.label;" accesskey="&applyTheme.accesskey;">
|
||||
<menupopup id="theme" datasources="rdf:chrome" ref="urn:mozilla:skin:root" oncommand="applyTheme(event.target)" onpopupshowing="checkTheme()">
|
||||
<menuitem label="&themePreferencesCmd.label;" accesskey="&themePreferencesCmd.accesskey;"
|
||||
oncommand="goPreferences('appearance','chrome://communicator/content/pref/pref-themes.xul', 'themes-panel')"/>
|
||||
<menuitem label="&getNewThemesCmd.label;" accesskey="&getNewThemesCmd.accesskey;" oncommand="getNewThemes();"/>
|
||||
<menuseparator/>
|
||||
<template>
|
||||
<menuitem uri="..."
|
||||
label="rdf:http://www.mozilla.org/rdf/chrome#displayName"
|
||||
accesskey="rdf:http://www.mozilla.org/rdf/chrome#accessKey"
|
||||
id="rdf:http://www.mozilla.org/rdf/chrome#name"
|
||||
type="radio"
|
||||
name="themeGroup"/>
|
||||
</template>
|
||||
</menupopup>
|
||||
</menu>
|
||||
</menupopup>
|
||||
</menu>
|
||||
|
||||
<menu label="&bookmarksMenu.label;" accesskey="&bookmarksMenu.accesskey;"
|
||||
datasources="rdf:bookmarks rdf:files rdf:localsearch rdf:internetsearch"
|
||||
ref="NC:BookmarksRoot" flags="dont-test-empty" template="bookmarksMenuTemplate"
|
||||
oncommand="OpenBookmarkURL(event.target, this.database)">
|
||||
<template id="bookmarksMenuTemplate" xmlns:nc="http://home.netscape.com/NC-rdf#">
|
||||
<rule nc:FolderGroup="true" iscontainer="true">
|
||||
<menupopup>
|
||||
<menuitem class="menuitem-iconic bookmark-group"
|
||||
label="rdf:http://home.netscape.com/NC-rdf#Name"
|
||||
group="true"
|
||||
uri="rdf:*"
|
||||
xulcontentsgenerated="true"/>
|
||||
</menupopup>
|
||||
</rule>
|
||||
<rule iscontainer="true" isempty="true"
|
||||
rdf:type="http://home.netscape.com/NC-rdf#Folder">
|
||||
<menupopup>
|
||||
<menu class="menu-iconic bookmark-item" uri="rdf:*"
|
||||
type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
|
||||
label="rdf:http://home.netscape.com/NC-rdf#Name">
|
||||
<menupopup>
|
||||
<menuitem label="&emptyItem.label;" disabled="true"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
</menupopup>
|
||||
</rule>
|
||||
<rule iscontainer="true">
|
||||
<menupopup>
|
||||
<menu class="menu-iconic bookmark-item" uri="rdf:*"
|
||||
label="rdf:http://home.netscape.com/NC-rdf#Name"
|
||||
type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type">
|
||||
<menupopup />
|
||||
</menu>
|
||||
</menupopup>
|
||||
</rule>
|
||||
<rule rdf:type="http://home.netscape.com/NC-rdf#BookmarkSeparator">
|
||||
<menupopup>
|
||||
<menuseparator uri="rdf:*" />
|
||||
</menupopup>
|
||||
</rule>
|
||||
<rule>
|
||||
<menupopup>
|
||||
<menuitem class="menuitem-iconic bookmark-item" uri="rdf:*"
|
||||
label="rdf:http://home.netscape.com/NC-rdf#Name"
|
||||
status="rdf:http://home.netscape.com/WEB-rdf#status"/>
|
||||
</menupopup>
|
||||
</rule>
|
||||
</template>
|
||||
<menupopup onpopupshowing="updateGroupmarkMenuitem('bookmarks_groupmark');">
|
||||
<menuitem key="addBookmarkAsKb"
|
||||
label="&addCurPageAsCmd.label;"
|
||||
accesskey="&addCurPageAsCmd.accesskey;"
|
||||
command="Browser:AddBookmarkAs"/>
|
||||
<menuitem id="bookmarks_groupmark" label="&addCurTabsAsCmd.label;"
|
||||
accesskey="&addCurTabsAsCmd.accesskey;"
|
||||
oncommand="addGroupmarkAs(); event.preventBubble();"/>
|
||||
<menuitem key="manBookmarkKb"
|
||||
label="&manBookmarksCmd.label;"
|
||||
accesskey="&manBookmarksCmd.accesskey;"
|
||||
command="Browser:ManageBookmark"/>
|
||||
<menuseparator/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
|
||||
<menu label="&tasksMenu.label;" accesskey="&tasksMenu.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem label="&historyCmd.label;" accesskey="&historyCmd.accesskey;" oncommand="toHistory()" key="key_gotoHistory"/>
|
||||
<menuitem label="&downloadManagerCmd.label;" accesskey="&downloadManagerCmd.accesskey;" oncommand="toDownloadManager();"/>
|
||||
<menuseparator/>
|
||||
<menu label="&webDevelopment.label;" accesskey="&webDevelopment.accesskey;">
|
||||
<menupopup onpopupshowing="javaItemEnabling();">
|
||||
<menuitem id="java" label="&javaConsoleCmd.label;" accesskey="&javaConsoleCmd.accesskey;" oncommand="toJavaConsole()"/>
|
||||
<menuitem label="&javaScriptConsoleCmd.label;" accesskey="&javaScriptConsoleCmd.accesskey;" oncommand="toJavaScriptConsole();"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
</menupopup>
|
||||
</menu>
|
||||
|
||||
<menu label="&helpMenu.label;"
|
||||
accesskey="&helpMenu.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem accesskey="&releaseCmd.accesskey;"
|
||||
label="&releaseCmd.label;"
|
||||
oncommand="openTopWin('&releaseURL;');"/>
|
||||
<menuseparator/>
|
||||
<menuitem accesskey="&aboutCommPluginsCmd.accesskey;"
|
||||
label="&aboutCommPluginsCmd.label;"
|
||||
oncommand="openTopWin('about:plugins')"/>
|
||||
<menuitem accesskey="&aboutCmd.accesskey;"
|
||||
label="&aboutCmd.label;"
|
||||
oncommand="goAboutDialog();"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
</menubar>
|
||||
|
||||
<toolbar class="toolbar-primary chromeclass-toolbar" id="nav-bar"
|
||||
fullscreentoolbar="true">
|
||||
<hbox id="nav-bar-buttons">
|
||||
<toolbarbutton id="back-button" type="menu-button" class="toolbarbutton-1"
|
||||
label="&backButton.label;"
|
||||
oncommand="if (event.target==this) BrowserBack(); else gotoHistoryIndex(event);"
|
||||
observes="canGoBack" context="backMenu"
|
||||
tooltiptext="&backButton.tooltip;">
|
||||
<menupopup context="" onpopupshowing="BrowserBackMenu(event);"/>
|
||||
</toolbarbutton>
|
||||
|
||||
<toolbarbutton id="forward-button" type="menu-button" class="toolbarbutton-1"
|
||||
label="&forwardButton.label;"
|
||||
oncommand="if (event.target==this) BrowserForward(); else gotoHistoryIndex(event);"
|
||||
observes="canGoForward" context="forwardMenu"
|
||||
tooltiptext="&forwardButton.tooltip;">
|
||||
<menupopup context="" onpopupshowing="BrowserForwardMenu(event);"/>
|
||||
</toolbarbutton>
|
||||
|
||||
<toolbarbutton id="reload-button" class="toolbarbutton-1"
|
||||
label="&reloadButton.label;"
|
||||
oncommand="if (event.shiftKey) BrowserReloadSkipCache(); else BrowserReload();"
|
||||
tooltiptext="&reloadButton.tooltip;"/>
|
||||
|
||||
<toolbarbutton id="stop-button" class="toolbarbutton-1"
|
||||
label="&stopButton.label;"
|
||||
oncommand="BrowserStop();" observes="canStop"
|
||||
tooltiptext="&stopButton.tooltip;"/>
|
||||
|
||||
<toolbarbutton id="home-button" class="toolbarbutton-1"
|
||||
label="&homeButton.label;" persist="hidden"
|
||||
ondragover="nsDragAndDrop.dragOver(event, homeButtonObserver);"
|
||||
ondragdrop="nsDragAndDrop.drop(event, homeButtonObserver);"
|
||||
ondragexit="nsDragAndDrop.dragExit(event, homeButtonObserver);"
|
||||
oncommand="BrowserHome();"/>
|
||||
</hbox>
|
||||
|
||||
<hbox id="nav-bar-inner" flex="1">
|
||||
<textbox id="urlbar" class="chromeclass-location" flex="1"
|
||||
type="autocomplete" searchSessions="history"
|
||||
timeout="50" maxrows="6" alwaysopenpopup="true"
|
||||
disablehistory="false"
|
||||
defaultSearchEngine="true" tabScrolling="true"
|
||||
showCommentColumn="true"
|
||||
inputtooltiptext="&locationBar.tooltip;"
|
||||
oninput="window.XULBrowserWindow.userTyped.value=true;"
|
||||
ontextcommand="return handleURLBarCommand(eventParam, domEvent);"
|
||||
ontextrevert="return handleURLBarRevert();"
|
||||
onfocus="URLBarFocusHandler(event);"
|
||||
onmousedown="URLBarMouseDownHandler(event);"
|
||||
onclick="URLBarClickHandler(event);">
|
||||
<deck id="page-proxy-deck">
|
||||
<image id="page-proxy-button"
|
||||
ondraggesture="PageProxyDragGesture(event);"
|
||||
tooltiptext="&proxyIcon.tooltip;"/>
|
||||
<image id="page-proxy-favicon" validate="never"
|
||||
ondraggesture="PageProxyDragGesture(event);"
|
||||
onload="this.parentNode.selectedIndex = 1;
|
||||
event.stopPropagation();
|
||||
event.preventBubble();
|
||||
HandleBookmarkIcon(this.src, true);"
|
||||
onerror="gBrowser.addToMissedIconCache(this.src); HandleBookmarkIcon(this.src, false);"
|
||||
tooltiptext="&proxyIcon.tooltip;"/>
|
||||
</deck>
|
||||
|
||||
<menupopup class="autocomplete-history-popup"
|
||||
popupalign="topleft" popupanchor="bottomleft"
|
||||
onpopupshowing="createUBHistoryMenu(event.target);"
|
||||
oncommand="executeUrlBarHistoryCommand(event.target);"/>
|
||||
</textbox>
|
||||
|
||||
<button id="go-button" class="button-toolbar chromeclass-location"
|
||||
label="&goButton.label;" persist="hidden"
|
||||
oncommand="addToUrlbarHistory(); BrowserLoadURL();"
|
||||
ondragover="nsDragAndDrop.dragOver(event, goButtonObserver);"
|
||||
ondragdrop="nsDragAndDrop.drop(event, goButtonObserver);"
|
||||
ondragexit="nsDragAndDrop.dragExit(event, goButtonObserver);"
|
||||
tooltiptext="&goButton.tooltip;"/>
|
||||
</hbox>
|
||||
|
||||
<toolbarbutton id="print-button" class="toolbarbutton-1"
|
||||
label="&printButton.label;" persist="hidden"
|
||||
oncommand="BrowserPrint();"
|
||||
tooltiptext="&printButton.tooltip;"/>
|
||||
|
||||
<hbox id="throbber-box" align="center">
|
||||
<button id="navigator-throbber" oncommand="goClickThrobber('browser.throbber.url')"
|
||||
tooltiptext="&throbber.tooltip;"/>
|
||||
</hbox>
|
||||
|
||||
<hbox id="window-controls" hidden="true" fullscreencontrol="true">
|
||||
<toolbarbutton id="minimize-button" class="toolbarbutton-1"
|
||||
oncommand="window.minimize();"/>
|
||||
|
||||
<toolbarbutton id="restore-button" class="toolbarbutton-1"
|
||||
oncommand="BrowserFullScreen();"/>
|
||||
|
||||
<toolbarbutton id="close-button" class="toolbarbutton-1"
|
||||
oncommand="window.close();"/>
|
||||
</hbox>
|
||||
</toolbar>
|
||||
|
||||
<toolbar id="PersonalToolbar" class="chromeclass-directories"
|
||||
ondraggesture="nsDragAndDrop.startDrag(event, personalToolbarDNDObserver)"
|
||||
ondragdrop="nsDragAndDrop.drop(event, personalToolbarDNDObserver); event.preventBubble()"
|
||||
ondragenter="nsDragAndDrop.dragEnter(event, personalToolbarDNDObserver); event.preventBubble()"
|
||||
ondragexit="nsDragAndDrop.dragExit(event, personalToolbarDNDObserver); event.preventBubble()"
|
||||
ondragover="nsDragAndDrop.dragOver(event, personalToolbarDNDObserver); event.preventBubble()">
|
||||
<!-- Personal toolbar items -->
|
||||
<hbox id="NC:PersonalToolbarFolder" flex="1" style="min-width: 1px;" context="bmContext"
|
||||
datasources="rdf:bookmarks rdf:files rdf:localsearch rdf:internetsearch"
|
||||
ref="NC:PersonalToolbarFolder" flags="dont-test-empty"
|
||||
oncommand="OpenBookmarkURL(event.target, this.database)"
|
||||
rdf:type="http://home.netscape.com/NC-rdf#Folder">
|
||||
<tooltip id="ptTooltip" noautohide="true" onpopupshowing="return FillInPTTooltip(document.tooltipNode)">
|
||||
<vbox id="ptTooltipTextBox" flex="1">
|
||||
<label id="ptTitleText" />
|
||||
<label id="ptUrlText" />
|
||||
</vbox>
|
||||
</tooltip>
|
||||
<template xmlns:nc="http://home.netscape.com/NC-rdf#">
|
||||
<rule parent="hbox" rdf:type="http://home.netscape.com/NC-rdf#BookmarkSeparator">
|
||||
<toolbarseparator uri="rdf:*"
|
||||
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
|
||||
</rule>
|
||||
|
||||
<!-- yes, the type attribute is necessary otherwise all leaves are
|
||||
treated as containers for some reason -->
|
||||
<rule parent="hbox" iscontainer="true"
|
||||
nc:FolderGroup="true">
|
||||
<toolbarbutton class="bookmark-item bookmark-group" uri="rdf:*" xulcontentsgenerated="true"
|
||||
group="true"
|
||||
container="false"
|
||||
rdf:type="http://home.netscape.com/NC-rdf#Folder"
|
||||
label="rdf:http://home.netscape.com/NC-rdf#Name"/>
|
||||
</rule>
|
||||
|
||||
<rule parent="hbox" iscontainer="true" isempty="true"
|
||||
rdf:type="http://home.netscape.com/NC-rdf#Folder">
|
||||
<toolbarbutton type="menu" editable="true" class="bookmark-item"
|
||||
rdf:type="http://home.netscape.com/NC-rdf#Folder"
|
||||
uri="rdf:*" label="rdf:http://home.netscape.com/NC-rdf#Name">
|
||||
<menupopup>
|
||||
<menuitem label="&emptyItem.label;" disabled="true"/>
|
||||
</menupopup>
|
||||
</toolbarbutton>
|
||||
</rule>
|
||||
|
||||
<rule parent="hbox" iscontainer="true">
|
||||
<toolbarbutton type="menu" class="bookmark-item" uri="rdf:*" editable="true"
|
||||
rdf:type="http://home.netscape.com/NC-rdf#Folder"
|
||||
label="rdf:http://home.netscape.com/NC-rdf#Name">
|
||||
<menupopup/>
|
||||
</toolbarbutton>
|
||||
</rule>
|
||||
|
||||
<rule parent="hbox">
|
||||
<toolbarbutton class="bookmark-item" uri="rdf:*" editable="true"
|
||||
status="rdf:http://home.netscape.com/WEB-rdf#status"
|
||||
rdf:type="http://home.netscape.com/NC-rdf#Bookmark"
|
||||
statustext="rdf:http://home.netscape.com/NC-rdf#URL"
|
||||
tooltip="ptTooltip"
|
||||
label="rdf:http://home.netscape.com/NC-rdf#Name"/>
|
||||
</rule>
|
||||
|
||||
<rule nc:FolderGroup="true" iscontainer="true">
|
||||
<menupopup>
|
||||
<menuitem class="menuitem-iconic bookmark-group"
|
||||
label="rdf:http://home.netscape.com/NC-rdf#Name"
|
||||
group="true"
|
||||
uri="rdf:*"
|
||||
xulcontentsgenerated="true"/>
|
||||
</menupopup>
|
||||
</rule>
|
||||
|
||||
<rule iscontainer="true" isempty="true" rdf:type="http://home.netscape.com/NC-rdf#Folder">
|
||||
<menupopup>
|
||||
<menu class="menu-iconic bookmark-item" uri="rdf:*"
|
||||
type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
|
||||
label="rdf:http://home.netscape.com/NC-rdf#Name">
|
||||
<menupopup>
|
||||
<menuitem label="&emptyItem.label;" disabled="true"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
</menupopup>
|
||||
</rule>
|
||||
|
||||
<rule iscontainer="true">
|
||||
<menupopup>
|
||||
<menu class="menu-iconic bookmark-item" uri="rdf:*"
|
||||
type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
|
||||
label="rdf:http://home.netscape.com/NC-rdf#Name">
|
||||
<menupopup/>
|
||||
</menu>
|
||||
</menupopup>
|
||||
</rule>
|
||||
|
||||
<rule rdf:type="http://home.netscape.com/NC-rdf#BookmarkSeparator">
|
||||
<menupopup>
|
||||
<menuseparator uri="rdf:*"
|
||||
type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
|
||||
</menupopup>
|
||||
</rule>
|
||||
<rule>
|
||||
<menupopup>
|
||||
<menuitem class="menuitem-iconic bookmark-item" uri="rdf:*"
|
||||
label="rdf:http://home.netscape.com/NC-rdf#Name"/>
|
||||
</menupopup>
|
||||
</rule>
|
||||
</template>
|
||||
</hbox>
|
||||
</toolbar>
|
||||
|
||||
</toolbox>
|
||||
|
||||
<hbox flex="1">
|
||||
<!-- we only need to handle |ondragdrop| because everything else is
|
||||
taken care of by the builtin behavior inside the tabbrowser -->
|
||||
<vbox id="appcontent" flex="1"
|
||||
ondragdrop="nsDragAndDrop.drop(event, contentAreaDNDObserver);">
|
||||
|
||||
<hbox id="browser" flex="1">
|
||||
<tabbrowser id="content"
|
||||
flex="1" contenttooltip="aHTMLTooltip"
|
||||
contentcontextmenu="contentAreaContextMenu"
|
||||
onnewtab="BrowserOpenTab();"
|
||||
onclick="return contentAreaClick(event);"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
</hbox>
|
||||
|
||||
<statusbar class="chromeclass-status"
|
||||
ondragdrop="nsDragAndDrop.drop(event, contentAreaDNDObserver);">
|
||||
<statusbarpanel id="statusbar-display" label="&statusText.label;" flex="1"/>
|
||||
<statusbarpanel class="statusbarpanel-progress">
|
||||
<progressmeter class="progressmeter-statusbar" id="statusbar-icon" mode="normal" value="0"/>
|
||||
</statusbarpanel>
|
||||
<statusbarpanel id="offline-status" class="statusbarpanel-iconic"
|
||||
observes="Communicator:WorkMode"/>
|
||||
<statusbarpanel id="security-button" class="statusbarpanel-iconic"
|
||||
onclick="displayPageInfo()"/>
|
||||
</statusbar>
|
||||
|
||||
</window>
|
@ -1,20 +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:browser"/>
|
||||
</RDF:Seq>
|
||||
|
||||
<!-- package information -->
|
||||
<RDF:Description about="urn:mozilla:package:browser"
|
||||
chrome:displayName="Browser"
|
||||
chrome:author="mozilla.org"
|
||||
chrome:name="browser"
|
||||
chrome:localeVersion="0.9.9"
|
||||
chrome:skinVersion="1.0">
|
||||
</RDF:Description>
|
||||
|
||||
</RDF:RDF>
|
||||
|
@ -1,114 +0,0 @@
|
||||
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.1 (the "License"); you may not use this file except in
|
||||
* compliance with the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications Corporation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 1998
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* 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 the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the NPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the NPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
var gPromptService;
|
||||
var gFindBundle;
|
||||
|
||||
// browser is the <browser> element
|
||||
// rootSearchWindow is the window to constrain the search to (normally window._content)
|
||||
// startSearchWindow is the frame to start searching (can be, and normally, rootSearchWindow)
|
||||
function findInPage(browser, rootSearchWindow, startSearchWindow)
|
||||
{
|
||||
var findInst = browser.webBrowserFind;
|
||||
// set up the find to search the focussedWindow, bounded by the content window.
|
||||
var findInFrames = findInst.QueryInterface(Components.interfaces.nsIWebBrowserFindInFrames);
|
||||
findInFrames.rootSearchFrame = rootSearchWindow;
|
||||
findInFrames.currentSearchFrame = startSearchWindow;
|
||||
|
||||
// always search in frames for now. We could add a checkbox to the dialog for this.
|
||||
findInst.searchFrames = true;
|
||||
|
||||
// is the dialog up already?
|
||||
if ("findDialog" in window && window.findDialog)
|
||||
window.findDialog.focus();
|
||||
else
|
||||
window.findDialog = window.openDialog("chrome://browser/content/find/findDialog.xul", "_blank", "chrome,resizable=no,dependent=yes", findInst);
|
||||
}
|
||||
|
||||
function findAgainInPage(browser, rootSearchWindow, startSearchWindow)
|
||||
{
|
||||
if ("findDialog" in window && window.findDialog)
|
||||
window.findDialog.focus();
|
||||
else
|
||||
{
|
||||
var findInst = browser.webBrowserFind;
|
||||
// set up the find to search the focussedWindow, bounded by the content window.
|
||||
var findInFrames = findInst.QueryInterface(Components.interfaces.nsIWebBrowserFindInFrames);
|
||||
findInFrames.rootSearchFrame = rootSearchWindow;
|
||||
findInFrames.currentSearchFrame = startSearchWindow;
|
||||
|
||||
// always search in frames for now. We could add a checkbox to the dialog for this.
|
||||
findInst.searchFrames = true;
|
||||
|
||||
// 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);
|
||||
findInst.searchString = findService.searchString;
|
||||
findInst.matchCase = findService.matchCase;
|
||||
findInst.wrapFind = findService.wrapFind;
|
||||
findInst.entireWord = findService.entireWord;
|
||||
findInst.findBackwards = findService.findBackwards;
|
||||
|
||||
var found = false;
|
||||
if (findInst.searchString.length == 0)
|
||||
// no previous find text
|
||||
return findInPage(browser, rootSearchWindow, startSearchWindow);
|
||||
|
||||
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"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function canFindAgainInPage()
|
||||
{
|
||||
var findService = Components.classes["@mozilla.org/find/find_service;1"]
|
||||
.getService(Components.interfaces.nsIFindService);
|
||||
return (findService.searchString.length > 0);
|
||||
}
|
||||
|
@ -1,89 +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 Eric Hodel's <drbrain@segment7.net> code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Eric Hodel.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2001
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Christopher Hoess <choess@force.stwing.upenn.edu>
|
||||
* Tim Taylor <tim@tool-man.org>
|
||||
*
|
||||
* 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 ***** */
|
||||
|
||||
/*
|
||||
* LanguageDictionary is a Singleton for looking up a language name
|
||||
* given its language code.
|
||||
*/
|
||||
function LanguageDictionary() {
|
||||
this.dictionary = null;
|
||||
}
|
||||
|
||||
LanguageDictionary.prototype = {
|
||||
lookupLanguageName: function(languageCode)
|
||||
{
|
||||
if (this.getDictionary()[languageCode])
|
||||
return this.getDictionary()[languageCode];
|
||||
else
|
||||
// XXX: handle non-standard language code's per
|
||||
// hixie's spec (see bug 2800)
|
||||
return "";
|
||||
},
|
||||
|
||||
getDictionary: function()
|
||||
{
|
||||
if (!this.dictionary)
|
||||
this.dictionary = LanguageDictionary.createDictionary();
|
||||
|
||||
return this.dictionary;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
LanguageDictionary.createDictionary = function()
|
||||
{
|
||||
var dictionary = new Array();
|
||||
|
||||
var e = LanguageDictionary.getLanguageNames().getSimpleEnumeration();
|
||||
while (e.hasMoreElements()) {
|
||||
var property = e.getNext();
|
||||
property = property.QueryInterface(
|
||||
Components.interfaces.nsIPropertyElement);
|
||||
dictionary[property.key] = property.value;
|
||||
}
|
||||
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
LanguageDictionary.getLanguageNames = function()
|
||||
{
|
||||
return srGetStrBundle(
|
||||
"chrome://global/locale/languageNames.properties");
|
||||
}
|
||||
|
||||
const languageDictionary = new LanguageDictionary();
|
@ -1,517 +0,0 @@
|
||||
/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
*
|
||||
* 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 3, 2001.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Jonas Sicking.
|
||||
* Portions created by Jonas Sicking are Copyright (C) 2000
|
||||
* Jonas Sicking. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Jonas Sicking <sicking@bigfoot.com> (Original Author)
|
||||
* Gervase Markham <gerv@gerv.net>
|
||||
* Heikki Toivonen <heikki@netscape.com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the
|
||||
* terms of the GNU General Public License Version 2 or later (the
|
||||
* "GPL"), in which case the provisions of the GPL are applicable
|
||||
* instead of those above. If you wish to allow use of your
|
||||
* version of this file only under the terms of the GPL and not to
|
||||
* allow others to use your version of this file under the MPL,
|
||||
* indicate your decision by deleting the provisions above and
|
||||
* replace them with the notice and other provisions required by
|
||||
* the GPL. If you do not delete the provisions above, a recipient
|
||||
* may use your version of this file under either the MPL or the
|
||||
* GPL.
|
||||
*
|
||||
*/
|
||||
|
||||
const XLinkNS = "http://www.w3.org/1999/xlink";
|
||||
const XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
|
||||
const XMLNS = "http://www.w3.org/XML/1998/namespace";
|
||||
const XHTMLNS = "http://www.w3.org/1999/xhtml";
|
||||
var gMetadataBundle;
|
||||
var gLangBundle;
|
||||
var gRegionBundle;
|
||||
var nodeView;
|
||||
var htmlMode = false;
|
||||
|
||||
var onLink = false;
|
||||
var onImage = false;
|
||||
var onInsDel = false;
|
||||
var onQuote = false;
|
||||
var onMisc = false;
|
||||
var onTable = false;
|
||||
var onTitle = false;
|
||||
var onLang = false;
|
||||
|
||||
function onLoad()
|
||||
{
|
||||
gMetadataBundle = document.getElementById("bundle_metadata");
|
||||
gLangBundle = document.getElementById("bundle_languages");
|
||||
gRegionBundle = document.getElementById("bundle_regions");
|
||||
|
||||
showMetadataFor(window.arguments[0]);
|
||||
|
||||
nodeView = window.arguments[0].ownerDocument.defaultView;
|
||||
}
|
||||
|
||||
function showMetadataFor(elem)
|
||||
{
|
||||
// skip past non-element nodes
|
||||
while (elem && elem.nodeType != Node.ELEMENT_NODE)
|
||||
elem = elem.parentNode;
|
||||
|
||||
if (!elem) {
|
||||
alert(gMetadataBundle.getString("unableToShowProps"));
|
||||
window.close();
|
||||
}
|
||||
|
||||
if (elem.ownerDocument.getElementsByName && !elem.ownerDocument.namespaceURI)
|
||||
htmlMode = true;
|
||||
|
||||
// htmllocalname is "" if it's not an html tag, or the name of the tag if it is.
|
||||
var htmllocalname = "";
|
||||
if (isHTMLElement(elem,"")) {
|
||||
htmllocalname = elem.localName.toLowerCase();
|
||||
}
|
||||
|
||||
// We only look for images once
|
||||
checkForImage(elem, htmllocalname);
|
||||
|
||||
// Walk up the tree, looking for elements of interest.
|
||||
// Each of them could be at a different level in the tree, so they each
|
||||
// need their own boolean to tell us to stop looking.
|
||||
while (elem && elem.nodeType == Node.ELEMENT_NODE) {
|
||||
if (!onLink) checkForLink(elem, htmllocalname);
|
||||
if (!onInsDel) checkForInsDel(elem, htmllocalname);
|
||||
if (!onQuote) checkForQuote(elem, htmllocalname);
|
||||
if (!onTable) checkForTable(elem, htmllocalname);
|
||||
if (!onTitle) checkForTitle(elem, htmllocalname);
|
||||
if (!onLang) checkForLang(elem, htmllocalname);
|
||||
|
||||
elem = elem.parentNode;
|
||||
|
||||
htmllocalname = "";
|
||||
if (isHTMLElement(elem,"")) {
|
||||
htmllocalname = elem.localName.toLowerCase();
|
||||
}
|
||||
}
|
||||
|
||||
// Decide which sections to show
|
||||
var onMisc = onTable || onTitle || onLang;
|
||||
if (!onMisc) hideNode("misc-sec");
|
||||
if (!onLink) hideNode("link-sec");
|
||||
if (!onImage) hideNode("image-sec");
|
||||
if (!onInsDel) hideNode("insdel-sec");
|
||||
if (!onQuote) hideNode("quote-sec");
|
||||
|
||||
// Fix the Misc section visibilities
|
||||
if (onMisc) {
|
||||
if (!onTable) hideNode("misc-tblsummary");
|
||||
if (!onLang) hideNode("misc-lang");
|
||||
if (!onTitle) hideNode("misc-title");
|
||||
}
|
||||
|
||||
// Get rid of the "No properties" message. This is a backstop -
|
||||
// it should really never show, as long as nsContextMenu.js's
|
||||
// checking doesn't get broken.
|
||||
if (onLink || onImage || onInsDel || onQuote || onMisc)
|
||||
hideNode("no-properties")
|
||||
}
|
||||
|
||||
|
||||
function checkForImage(elem, htmllocalname)
|
||||
{
|
||||
var img;
|
||||
var imgType; // "img" = <img>
|
||||
// "object" = <object>
|
||||
// "input" = <input type=image>
|
||||
// "background" = css background (to be added later)
|
||||
|
||||
if (htmllocalname === "img") {
|
||||
img = elem;
|
||||
imgType = "img";
|
||||
|
||||
} else if (htmllocalname === "object" &&
|
||||
elem.type.substring(0,6) == "image/" &&
|
||||
elem.data) {
|
||||
img = elem;
|
||||
imgType = "object";
|
||||
|
||||
} else if (htmllocalname === "input" &&
|
||||
elem.type.toUpperCase() == "IMAGE") {
|
||||
img = elem;
|
||||
imgType = "input";
|
||||
|
||||
} else if (htmllocalname === "area" || htmllocalname === "a") {
|
||||
|
||||
// Clicked in image map?
|
||||
var map = elem;
|
||||
while (map && map.nodeType == Node.ELEMENT_NODE && !isHTMLElement(map,"map") )
|
||||
map = map.parentNode;
|
||||
|
||||
if (map && map.nodeType == Node.ELEMENT_NODE)
|
||||
img = getImageForMap(map);
|
||||
}
|
||||
|
||||
if (img) {
|
||||
setInfo("image-url", img.src);
|
||||
if ("width" in img) {
|
||||
setInfo("image-width", img.width);
|
||||
setInfo("image-height", img.height);
|
||||
}
|
||||
else {
|
||||
setInfo("image-width", "");
|
||||
setInfo("image-height", "");
|
||||
}
|
||||
|
||||
if (imgType == "img") {
|
||||
setInfo("image-desc", getAbsoluteURL(img.longDesc, img));
|
||||
} else {
|
||||
setInfo("image-desc", "");
|
||||
}
|
||||
|
||||
onImage = true;
|
||||
}
|
||||
}
|
||||
|
||||
function checkForLink(elem, htmllocalname)
|
||||
{
|
||||
if ((htmllocalname === "a" && elem.href != "") ||
|
||||
htmllocalname === "area") {
|
||||
|
||||
setInfo("link-lang", convertLanguageCode(elem.getAttribute("hreflang")));
|
||||
setInfo("link-url", elem.href);
|
||||
setInfo("link-type", elem.getAttribute("type"));
|
||||
setInfo("link-rel", elem.getAttribute("rel"));
|
||||
setInfo("link-rev", elem.getAttribute("rev"));
|
||||
|
||||
target = elem.target;
|
||||
|
||||
switch (target) {
|
||||
case "_top":
|
||||
setInfo("link-target", gMetadataBundle.getString("sameWindowText"));
|
||||
break;
|
||||
case "_parent":
|
||||
setInfo("link-target", gMetadataBundle.getString("parentFrameText"));
|
||||
break;
|
||||
case "_blank":
|
||||
setInfo("link-target", gMetadataBundle.getString("newWindowText"));
|
||||
break;
|
||||
case "":
|
||||
case "_self":
|
||||
if (elem.ownerDocument != elem.ownerDocument.defaultView._content.document)
|
||||
setInfo("link-target", gMetadataBundle.getString("sameFrameText"));
|
||||
else
|
||||
setInfo("link-target", gMetadataBundle.getString("sameWindowText"));
|
||||
break;
|
||||
default:
|
||||
setInfo("link-target", "\"" + target + "\"");
|
||||
}
|
||||
|
||||
onLink = true;
|
||||
}
|
||||
|
||||
else if (elem.getAttributeNS(XLinkNS,"href") != "") {
|
||||
setInfo("link-url", getAbsoluteURL(elem.getAttributeNS(XLinkNS,"href"),elem));
|
||||
setInfo("link-lang", "");
|
||||
setInfo("link-type", "");
|
||||
setInfo("link-rel", "");
|
||||
setInfo("link-rev", "");
|
||||
|
||||
switch (elem.getAttributeNS(XLinkNS,"show")) {
|
||||
case "embed":
|
||||
setInfo("link-target", gMetadataBundle.getString("embeddedText"));
|
||||
break;
|
||||
case "new":
|
||||
setInfo("link-target", gMetadataBundle.getString("newWindowText"));
|
||||
break;
|
||||
case "":
|
||||
case "replace":
|
||||
if (elem.ownerDocument != elem.ownerDocument.defaultView._content.document)
|
||||
setInfo("link-target", gMetadataBundle.getString("sameFrameText"));
|
||||
else
|
||||
setInfo("link-target", gMetadataBundle.getString("sameWindowText"));
|
||||
break;
|
||||
default:
|
||||
setInfo("link-target", "");
|
||||
break;
|
||||
}
|
||||
|
||||
onLink = true;
|
||||
}
|
||||
}
|
||||
|
||||
function checkForInsDel(elem, htmllocalname)
|
||||
{
|
||||
if ((htmllocalname === "ins" || htmllocalname === "del") &&
|
||||
(elem.cite || elem.dateTime)) {
|
||||
setInfo("insdel-cite", getAbsoluteURL(elem.cite, elem));
|
||||
setInfo("insdel-date", elem.dateTime);
|
||||
onInsDel = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function checkForQuote(elem, htmllocalname)
|
||||
{
|
||||
if ((htmllocalname === "q" || htmllocalname === "blockquote") && elem.cite) {
|
||||
setInfo("quote-cite", getAbsoluteURL(elem.cite, elem));
|
||||
onQuote = true;
|
||||
}
|
||||
}
|
||||
|
||||
function checkForTable(elem, htmllocalname)
|
||||
{
|
||||
if (htmllocalname === "table" && elem.summary) {
|
||||
setInfo("misc-tblsummary", elem.summary);
|
||||
onTable = true;
|
||||
}
|
||||
}
|
||||
|
||||
function checkForLang(elem, htmllocalname)
|
||||
{
|
||||
if ((htmllocalname && elem.lang) || elem.getAttributeNS(XMLNS, "lang")) {
|
||||
var abbr;
|
||||
if (htmllocalname && elem.lang)
|
||||
abbr = elem.lang;
|
||||
else
|
||||
abbr = elem.getAttributeNS(XMLNS, "lang");
|
||||
|
||||
setInfo("misc-lang", convertLanguageCode(abbr));
|
||||
onLang = true;
|
||||
}
|
||||
}
|
||||
|
||||
function checkForTitle(elem, htmllocalname)
|
||||
{
|
||||
if (htmllocalname && elem.title) {
|
||||
setInfo("misc-title", elem.title);
|
||||
onTitle = true;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Set text of node id to value
|
||||
* if value="" the node with specified id is hidden.
|
||||
* Node should be have one of these forms
|
||||
* <xul:label id="id-text" value=""/>
|
||||
* <xul:description id="id-text"/>
|
||||
*/
|
||||
function setInfo(id, value)
|
||||
{
|
||||
if (value == "") {
|
||||
hideNode(id);
|
||||
return;
|
||||
}
|
||||
|
||||
var node = document.getElementById(id+"-text");
|
||||
|
||||
if (node.namespaceURI == XULNS && node.localName == "label") {
|
||||
node.setAttribute("value",value);
|
||||
|
||||
} else if (node.namespaceURI == XULNS && node.localName == "description") {
|
||||
while (node.hasChildNodes())
|
||||
node.removeChild(node.firstChild);
|
||||
node.appendChild(node.ownerDocument.createTextNode(value));
|
||||
}
|
||||
}
|
||||
|
||||
// Hide node with specified id
|
||||
function hideNode(id)
|
||||
{
|
||||
var style = document.getElementById(id).getAttribute("style");
|
||||
document.getElementById(id).setAttribute("style", "display:none;" + style);
|
||||
}
|
||||
|
||||
// opens the link contained in the node's "value" attribute.
|
||||
function openLink(node)
|
||||
{
|
||||
var url = node.getAttribute("value");
|
||||
nodeView._content.document.location = url;
|
||||
window.close();
|
||||
}
|
||||
|
||||
/*
|
||||
* Find <img> or <object> which uses an imagemap.
|
||||
* If more then one object is found we can't determine which one
|
||||
* was clicked.
|
||||
*
|
||||
* This code has to be changed once bug 1882 is fixed.
|
||||
* Once bug 72527 is fixed this code should use the .images collection.
|
||||
*/
|
||||
function getImageForMap(map)
|
||||
{
|
||||
var mapuri = "#" + map.getAttribute("name");
|
||||
var multipleFound = false;
|
||||
var img;
|
||||
|
||||
var list = getHTMLElements(map.ownerDocument, "img");
|
||||
for (var i=0; i < list.length; i++) {
|
||||
if (list.item(i).getAttribute("usemap") == mapuri) {
|
||||
if (img) {
|
||||
multipleFound = true;
|
||||
break;
|
||||
} else {
|
||||
img = list.item(i);
|
||||
imgType = "img";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
list = getHTMLElements(map.ownerDocument, "object");
|
||||
for (i = 0; i < list.length; i++) {
|
||||
if (list.item(i).getAttribute("usemap") == mapuri) {
|
||||
if (img) {
|
||||
multipleFound = true;
|
||||
break;
|
||||
} else {
|
||||
img = list.item(i);
|
||||
imgType = "object";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (multipleFound)
|
||||
img = null;
|
||||
|
||||
return img;
|
||||
}
|
||||
|
||||
/*
|
||||
* Takes care of XMLBase and <base>
|
||||
* url is the possibly relative url.
|
||||
* node is the node where the url was given (needed for XMLBase)
|
||||
*
|
||||
* This function is called in many places as a workaround for bug 72524
|
||||
* Once bug 72522 is fixed this code should use the Node.baseURI attribute
|
||||
*
|
||||
* for node==null or url=="", empty string is returned
|
||||
*/
|
||||
function getAbsoluteURL(url, node)
|
||||
{
|
||||
if (!url || !node)
|
||||
return "";
|
||||
|
||||
var urlArr = new Array(url);
|
||||
var doc = node.ownerDocument;
|
||||
|
||||
if (node.nodeType == Node.ATTRIBUTE_NODE)
|
||||
node = node.ownerElement;
|
||||
|
||||
while (node && node.nodeType == Node.ELEMENT_NODE) {
|
||||
if (node.getAttributeNS(XMLNS, "base") != "")
|
||||
urlArr.unshift(node.getAttributeNS(XMLNS, "base"));
|
||||
|
||||
node = node.parentNode;
|
||||
}
|
||||
|
||||
// Look for a <base>.
|
||||
var baseTags = getHTMLElements(doc,"base");
|
||||
if (baseTags && baseTags.length) {
|
||||
urlArr.unshift(baseTags[baseTags.length - 1].getAttribute("href"));
|
||||
}
|
||||
|
||||
// resolve everything from bottom up, starting with document location
|
||||
var ioService = Components.classes["@mozilla.org/network/io-service;1"]
|
||||
.getService(Components.interfaces.nsIIOService);
|
||||
var URL = ioService.newURI(doc.location.href, null, null);
|
||||
for (var i=0; i<urlArr.length; i++) {
|
||||
URL.spec = URL.resolve(urlArr[i]);
|
||||
}
|
||||
|
||||
return URL.spec;
|
||||
}
|
||||
|
||||
function getHTMLElements(node, name)
|
||||
{
|
||||
if (htmlMode)
|
||||
return node.getElementsByTagName(name);
|
||||
return node.getElementsByTagNameNS(XHTMLNS, name);
|
||||
}
|
||||
|
||||
// name should be in lower case
|
||||
function isHTMLElement(node, name)
|
||||
{
|
||||
if (node.nodeType != Node.ELEMENT_NODE)
|
||||
return false;
|
||||
|
||||
if (htmlMode)
|
||||
return !name || node.localName.toLowerCase() == name;
|
||||
|
||||
return (!name || node.localName == name) && node.namespaceURI == XHTMLNS;
|
||||
}
|
||||
|
||||
// This function coded according to the spec at:
|
||||
// http://www.bath.ac.uk/~py8ieh/internet/discussion/metadata.txt
|
||||
function convertLanguageCode(abbr)
|
||||
{
|
||||
if (!abbr) return "";
|
||||
var result;
|
||||
var tokens = abbr.split("-");
|
||||
|
||||
if (tokens[0] === "x" || tokens[0] === "i")
|
||||
{
|
||||
// x and i prefixes mean unofficial ones. So we upper-case the first
|
||||
// word and leave the rest.
|
||||
tokens.shift();
|
||||
|
||||
if (tokens[0])
|
||||
{
|
||||
// Upper-case first letter
|
||||
result = tokens[0].substr(0, 1).toUpperCase() + tokens[0].substr(1);
|
||||
tokens.shift();
|
||||
|
||||
if (tokens[0])
|
||||
{
|
||||
// Add on the rest as space-separated strings inside the brackets
|
||||
result += " (" + tokens.join(" ") + ")";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Otherwise we treat the first as a lang, the second as a region
|
||||
// and the rest as strings.
|
||||
try
|
||||
{
|
||||
result = gLangBundle.getString(tokens[0]);
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
// Language not present in lang bundle
|
||||
result = tokens[0];
|
||||
}
|
||||
|
||||
tokens.shift();
|
||||
|
||||
if (tokens[0])
|
||||
{
|
||||
try
|
||||
{
|
||||
// We don't add it on to the result immediately
|
||||
// because we want to get the spacing right.
|
||||
tokens[0] = gRegionBundle.getString(tokens[0].toLowerCase());
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
// Region not present in region bundle
|
||||
}
|
||||
|
||||
result += " (" + tokens.join(" ") + ")";
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
@ -1,213 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!--
|
||||
- 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 3, 2001.
|
||||
-
|
||||
- The Initial Developer of the Original Code is Jonas Sicking.
|
||||
- Portions created by Jonas Sicking are Copyright (C) 2000
|
||||
- Jonas Sicking. All Rights Reserved.
|
||||
-
|
||||
- Contributor(s):
|
||||
- Jonas Sicking <sicking@bigfoot.com> (Original Author)
|
||||
- Gervase Markham <gerv@gerv.net>
|
||||
-
|
||||
- Alternatively, the contents of this file may be used under the
|
||||
- terms of the GNU General Public License Version 2 or later (the
|
||||
- "GPL"), in which case the provisions of the GPL are applicable
|
||||
- instead of those above. If you wish to allow use of your
|
||||
- version of this file only under the terms of the GPL and not to
|
||||
- allow others to use your version of this file under the MPL,
|
||||
- indicate your decision by deleting the provisions above and
|
||||
- replace them with the notice and other provisions required by
|
||||
- the GPL. If you do not delete the provisions above, a recipient
|
||||
- may use your version of this file under either the MPL or the
|
||||
- GPL.
|
||||
-->
|
||||
|
||||
<?xml-stylesheet href="chrome://navigator/skin/" type="text/css"?>
|
||||
|
||||
<?xul-overlay href="chrome://global/content/dialogOverlay.xul"?>
|
||||
|
||||
<!DOCTYPE window [
|
||||
<!ENTITY % metadataDTD SYSTEM "chrome://browser/locale/metadata.dtd" >
|
||||
%metadataDTD;
|
||||
]>
|
||||
|
||||
<window id="metadata"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
title="&caption.label;"
|
||||
onload="onLoad()"
|
||||
class="dialog"
|
||||
persist="screenX screenY"
|
||||
screenX="24" screenY="24">
|
||||
|
||||
<script type="application/x-javascript" src="chrome://browser/content/metadata.js"/>
|
||||
|
||||
<stringbundle src="chrome://browser/locale/metadata.properties" id="bundle_metadata"/>
|
||||
<stringbundle src="chrome://global/locale/languageNames.properties" id="bundle_languages"/>
|
||||
<stringbundle src="chrome://global/locale/regionNames.properties" id="bundle_regions"/>
|
||||
|
||||
<label id="no-properties" value="&no-properties.label;"/>
|
||||
|
||||
<groupbox id="link-sec">
|
||||
<caption label="&link-sec.label;"/>
|
||||
<grid>
|
||||
<columns>
|
||||
<column/>
|
||||
<column flex="1"/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row id="link-url">
|
||||
<label value="&link-url.label; "/>
|
||||
<hbox>
|
||||
<label id="link-url-text" value="" class="text-link"
|
||||
onclick="openLink(this)"/>
|
||||
<spacer flex="1"/>
|
||||
</hbox>
|
||||
</row>
|
||||
<row id="link-target">
|
||||
<label value="&link-target.label; "/>
|
||||
<label id="link-target-text" value=""/>
|
||||
</row>
|
||||
<row id="link-type">
|
||||
<label value="&link-type.label; "/>
|
||||
<label id="link-type-text" value=""/>
|
||||
</row>
|
||||
<row id="link-lang">
|
||||
<label value="&link-lang.label; "/>
|
||||
<label id="link-lang-text" value=""/>
|
||||
</row>
|
||||
<row id="link-rel">
|
||||
<label value="&link-rel.label; "/>
|
||||
<label id="link-rel-text" value=""/>
|
||||
</row>
|
||||
<row id="link-rev">
|
||||
<label value="&link-rev.label; "/>
|
||||
<label id="link-rev-text" value=""/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</groupbox>
|
||||
<groupbox id="image-sec">
|
||||
<caption label="&image-sec.label;"/>
|
||||
<grid>
|
||||
<columns>
|
||||
<column/>
|
||||
<column flex="1"/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row id="image-url">
|
||||
<label value="&image-url.label; "/>
|
||||
<hbox>
|
||||
<label id="image-url-text" value="" class="text-link"
|
||||
onclick="openLink(this)"/>
|
||||
<spacer flex="1"/>
|
||||
</hbox>
|
||||
</row>
|
||||
<row id="image-width">
|
||||
<label value="&image-width.label; "/>
|
||||
<hbox>
|
||||
<label id="image-width-text" value=""/>
|
||||
<label value=" &image-pixels.label;"/>
|
||||
</hbox>
|
||||
</row>
|
||||
<row id="image-height">
|
||||
<label value="&image-height.label; "/>
|
||||
<hbox>
|
||||
<label id="image-height-text" value=""/>
|
||||
<label value=" &image-pixels.label;"/>
|
||||
</hbox>
|
||||
</row>
|
||||
<row id="image-desc">
|
||||
<label value="&image-desc.label; "/>
|
||||
<hbox>
|
||||
<label id="image-desc-text" value="" class="text-link"
|
||||
onclick="openLink(this)"/>
|
||||
<spacer flex="1"/>
|
||||
</hbox>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</groupbox>
|
||||
<groupbox id="insdel-sec">
|
||||
<caption label="&insdel-sec.label;"/>
|
||||
<grid>
|
||||
<columns>
|
||||
<column/>
|
||||
<column flex="1"/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row id="insdel-cite">
|
||||
<label value="&insdel-cite.label; "/>
|
||||
<hbox>
|
||||
<label id="insdel-cite-text" value="" class="text-link"
|
||||
onclick="openLink(this)"/>
|
||||
<spacer flex="1"/>
|
||||
</hbox>
|
||||
</row>
|
||||
<row id="insdel-date">
|
||||
<label value="&insdel-date.label; "/>
|
||||
<label id="insdel-date-text" value=""/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</groupbox>
|
||||
<groupbox id="quote-sec">
|
||||
<caption label=""e-sec.label;"/>
|
||||
<grid>
|
||||
<columns>
|
||||
<column/>
|
||||
<column flex="1"/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row id="quote-cite">
|
||||
<label value=""e-cite.label; "/>
|
||||
<hbox>
|
||||
<label id="quote-cite-text" value="" class="text-link"
|
||||
onclick="openLink(this)"/>
|
||||
<spacer flex="1"/>
|
||||
</hbox>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</groupbox>
|
||||
<groupbox id="misc-sec">
|
||||
<caption label="&misc-sec.label;"/>
|
||||
<grid>
|
||||
<columns>
|
||||
<column/>
|
||||
<column flex="1"/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row id="misc-lang">
|
||||
<label value="&misc-lang.label; "/>
|
||||
<label id="misc-lang-text" value=""/>
|
||||
</row>
|
||||
<row id="misc-title">
|
||||
<label value="&misc-title.label; "/>
|
||||
<hbox>
|
||||
<description id="misc-title-text" width="100%" style="margin: 0px;"/>
|
||||
</hbox>
|
||||
</row>
|
||||
<row id="misc-tblsummary">
|
||||
<label value="&misc-tblsummary.label; "/>
|
||||
<label id="misc-tblsummary-text" value=""/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</groupbox>
|
||||
|
||||
<spacer flex="1"/>
|
||||
|
||||
</window>
|
@ -1,945 +0,0 @@
|
||||
/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s): smorrison@gte.com
|
||||
* Terry Hayes <thayes@netscape.com>
|
||||
* Daniel Brooks <db48x@yahoo.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 NPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the NPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
// mmm, yummy. global variables.
|
||||
var theWindow = null;
|
||||
var theDocument = null;
|
||||
|
||||
var linkList = new Array();
|
||||
var formList = new Array();
|
||||
var imageList = new Array();
|
||||
|
||||
var linkIndex = 0;
|
||||
var formIndex = 0;
|
||||
var imageIndex = 0;
|
||||
var frameCount = 0;
|
||||
|
||||
// a number of services I'll need later
|
||||
// the cache services
|
||||
const nsICacheService = Components.interfaces.nsICacheService;
|
||||
const cacheService = Components.classes["@mozilla.org/network/cache-service;1"].getService(nsICacheService);
|
||||
var httpCacheSession = cacheService.createSession("HTTP", 0, true);
|
||||
var ftpCacheSession = cacheService.createSession("FTP", 0, true);
|
||||
|
||||
// scriptable date formater, for pretty printing dates
|
||||
const nsIScriptableDateFormat = Components.interfaces.nsIScriptableDateFormat;
|
||||
var dateService = Components.classes["@mozilla.org/intl/scriptabledateformat;1"].getService(nsIScriptableDateFormat);
|
||||
|
||||
// namespaces, don't need all of these yet...
|
||||
const XLinkNS = "http://www.w3.org/1999/xlink";
|
||||
const XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
|
||||
const XMLNS = "http://www.w3.org/XML/1998/namespace";
|
||||
const XHTMLNS = "http://www.w3.org/1999/xhtml";
|
||||
|
||||
/* Overlays register init functions here.
|
||||
* Add functions to call by invoking "onLoadRegistry.append(XXXLoadFunc);"
|
||||
* The XXXLoadFunc should be unique to the overlay module, and will be
|
||||
* invoked as "XXXLoadFunc();"
|
||||
*/
|
||||
var onLoadRegistry = [ ];
|
||||
|
||||
/* Called when PageInfo window is loaded. Arguments are:
|
||||
* window.arguments[0] - document to use for source (null=Page Info, otherwise Frame Info)
|
||||
* window.arguments[1] - tab name to display first (may be null)
|
||||
*/
|
||||
function onLoadPageInfo()
|
||||
{
|
||||
//dump("===============================================================================\n");
|
||||
var theBundle = document.getElementById("pageinfobundle");
|
||||
var unknown = theBundle.getString("unknown");
|
||||
|
||||
var docTitle = "";
|
||||
if("arguments" in window && window.arguments.length >= 1 && window.arguments[0])
|
||||
{
|
||||
theWindow = null;
|
||||
theDocument = window.arguments[0];
|
||||
docTitle = theBundle.getString("frameInfo.title");
|
||||
}
|
||||
else
|
||||
{
|
||||
if ("gBrowser" in window.opener)
|
||||
theWindow = window.opener.gBrowser.contentWindow;
|
||||
else
|
||||
theWindow = window.opener.frames[0];
|
||||
theDocument = theWindow.document;
|
||||
docTitle = theBundle.getString("pageInfo.title");
|
||||
}
|
||||
|
||||
document.title = docTitle;
|
||||
|
||||
// do the easy stuff first
|
||||
makeGeneralTab();
|
||||
|
||||
/* Call registered overlay init functions */
|
||||
for (x in onLoadRegistry)
|
||||
{
|
||||
onLoadRegistry[x]();
|
||||
}
|
||||
|
||||
/* Select the requested tab, if the name is specified */
|
||||
if ("arguments" in window && window.arguments.length > 1)
|
||||
{
|
||||
var tabName = window.arguments[1];
|
||||
|
||||
if (tabName)
|
||||
{
|
||||
var tabControl = document.getElementById("tabbox");
|
||||
var tab = document.getElementById(tabName);
|
||||
|
||||
if (tabControl && tab)
|
||||
{
|
||||
tabControl.selectedTab = tab;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function makeGeneralTab()
|
||||
{
|
||||
var theBundle = document.getElementById("pageinfobundle");
|
||||
var unknown = theBundle.getString("unknown");
|
||||
var notSet = theBundle.getString("notset");
|
||||
|
||||
var title = (theDocument.title) ? theBundle.getFormattedString("pageTitle", [theDocument.title]) : theBundle.getString("noPageTitle");
|
||||
document.getElementById("titletext").value = title;
|
||||
|
||||
var url = theDocument.location;
|
||||
document.getElementById("urltext").value = url;
|
||||
|
||||
var mode = ("compatMode" in theDocument && theDocument.compatMode == "BackCompat") ? theBundle.getString("generalQuirksMode") : theBundle.getString("generalStrictMode");
|
||||
document.getElementById("modetext").value = mode;
|
||||
|
||||
// find out the mime type
|
||||
var mimeType = theDocument.contentType || unknown;
|
||||
document.getElementById("typetext").value = mimeType;
|
||||
|
||||
// get the meta tags
|
||||
var metaNodes = theDocument.getElementsByTagName("meta");
|
||||
var metaTree = document.getElementById("metatree");
|
||||
var metaView = new pageInfoTreeView(["meta-name","meta-content"]);
|
||||
|
||||
metaTree.treeBoxObject.view = metaView;
|
||||
|
||||
var length = metaNodes.length;
|
||||
for (var i = 0; i < length; i++)
|
||||
{
|
||||
metaView.addRow([metaNodes[i].name || metaNodes[i].httpEquiv, metaNodes[i].content]);
|
||||
}
|
||||
metaView.rowCountChanged(0, length);
|
||||
|
||||
// get the document characterset
|
||||
var encoding = theDocument.characterSet;
|
||||
document.getElementById("encodingtext").value = encoding;
|
||||
|
||||
// get the date of last modification
|
||||
var modifiedText = formatDate(theDocument.lastModified, notSet);
|
||||
document.getElementById("modifiedtext").value = modifiedText;
|
||||
|
||||
// get cache info
|
||||
var sourceText = theBundle.getString("generalNotCached");
|
||||
var expirationText = theBundle.getString("generalNoExpiration");
|
||||
var sizeText = unknown;
|
||||
|
||||
var pageSize = 0;
|
||||
var kbSize = 0;
|
||||
var expirationTime = 0;
|
||||
|
||||
try
|
||||
{
|
||||
var cacheEntryDescriptor = httpCacheSession.openCacheEntry(url, Components.interfaces.nsICache.ACCESS_READ, true);
|
||||
if(cacheEntryDescriptor)
|
||||
{
|
||||
switch(cacheEntryDescriptor.deviceID)
|
||||
{
|
||||
case "disk":
|
||||
sourceText = theBundle.getString("generalDiskCache");
|
||||
break;
|
||||
case "memory":
|
||||
sourceText = theBundle.getString("generalMemoryCache");
|
||||
break;
|
||||
default:
|
||||
sourceText = cacheEntryDescriptor.deviceID;
|
||||
break;
|
||||
}
|
||||
|
||||
pageSize = cacheEntryDescriptor.dataSize;
|
||||
kbSize = pageSize / 1024;
|
||||
sizeText = pageSize; // + " (" + 0 + "Kb)";
|
||||
|
||||
expirationText = formatDate(cacheEntryDescriptor.expirationTime*1000, notSet);
|
||||
}
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
try
|
||||
{
|
||||
cacheEntryDescriptor = ftpCacheSession.openCacheEntry(url, Components.interfaces.nsICache.ACCESS_READ, true);
|
||||
if (cacheEntryDescriptor)
|
||||
{
|
||||
switch(cacheEntryDescriptor.deviceID)
|
||||
{
|
||||
case "disk":
|
||||
sourceText = theBundle.getString("generalDiskCache");
|
||||
break;
|
||||
case "memory":
|
||||
sourceText = theBundle.getString("generalMemoryCache");
|
||||
break;
|
||||
default:
|
||||
sourceText = cacheEntryDescriptor.deviceID;
|
||||
break;
|
||||
}
|
||||
|
||||
pageSize = cacheEntryDescriptor.dataSize;
|
||||
kbSize = pageSize / 1024;
|
||||
sizeText = pageSize; // + " (" + 0 + "Kb)";
|
||||
|
||||
expirationText = formatDate(cacheEntryDescriptor.expirationTime*1000, notSet);
|
||||
}
|
||||
}
|
||||
catch(ex2)
|
||||
{
|
||||
sourceText = theBundle.getString("generalNotCached");
|
||||
}
|
||||
}
|
||||
document.getElementById("sourcetext").value = sourceText;
|
||||
document.getElementById("expirestext").value = expirationText;
|
||||
document.getElementById("sizetext").value = sizeText;
|
||||
}
|
||||
|
||||
//******** Form Stuff
|
||||
function makeFormTab()
|
||||
{
|
||||
var formTree = document.getElementById("formtree");
|
||||
var formPreview = document.getElementById("formpreview");
|
||||
|
||||
var formView = new pageInfoTreeView(["form-number","form-name","form-action","form-method"]);
|
||||
var fieldView = new pageInfoTreeView(["field-number","field-label","field-field","field-type","field-value"]);
|
||||
formTree.treeBoxObject.view = formView;
|
||||
formPreview.treeBoxObject.view = fieldView;
|
||||
|
||||
formList = grabAllForms(theWindow, theDocument);
|
||||
formIndex = 0;
|
||||
|
||||
var length = formList.length;
|
||||
for (var i = 0; i < length; i++)
|
||||
{
|
||||
var elem = formList[i];
|
||||
formView.addRow([++formIndex, elem.name, elem.method, elem.action]);
|
||||
}
|
||||
formView.rowCountChanged(0, length);
|
||||
|
||||
formView.selection.select(0);
|
||||
}
|
||||
|
||||
function grabAllForms(aWindow, aDocument)
|
||||
{
|
||||
var theList = [];
|
||||
|
||||
if (aWindow && aWindow.frames.length > 0)
|
||||
{
|
||||
var length = aWindow.frames.length;
|
||||
for (var i = 0; i < length; i++)
|
||||
{
|
||||
var frame = aWindow.frames[i];
|
||||
theList = theList.concat(grabAllForms(frame, frame.document));
|
||||
}
|
||||
}
|
||||
|
||||
if ("forms" in aDocument)
|
||||
return theList.concat(aDocument.forms);
|
||||
else
|
||||
return theList.concat(aDocument.getElementsByTagNameNS(XHTMLNS, "form"));
|
||||
}
|
||||
|
||||
function onFormSelect()
|
||||
{
|
||||
var theBundle = document.getElementById("pageinfobundle");
|
||||
var formTree = document.getElementById("formtree");
|
||||
var formView = formTree.treeBoxObject.view;
|
||||
if (!formView.rowCount) return;
|
||||
|
||||
if (formView.selection.count == 1)
|
||||
{
|
||||
var formPreview = document.getElementById("formpreview");
|
||||
var fieldView = new pageInfoTreeView(["field-number","field-label","field-field","field-type","field-value"]);
|
||||
formPreview.treeBoxObject.view = fieldView;
|
||||
|
||||
var clickedRow = formView.selection.currentIndex;
|
||||
var formnum = formView.getCellText(clickedRow, "form-number");
|
||||
var form = formList[formnum-1];
|
||||
var ft = null;
|
||||
if (form.name)
|
||||
ft = theBundle.getFormattedString("formTitle", [form.name]);
|
||||
else
|
||||
ft = theBundle.getString("formUntitled");
|
||||
|
||||
document.getElementById("formname").value = ft || theBundle.getString("formUntitled");
|
||||
document.getElementById("formenctype").value = form.encoding || theBundle.getString("default");
|
||||
document.getElementById("formtarget").value = form.target || theBundle.getString("formDefaultTarget");
|
||||
|
||||
var formfields = form.elements;
|
||||
|
||||
var length = formfields.length;
|
||||
var i = 0;
|
||||
|
||||
var checked = theBundle.getString("formChecked");
|
||||
var unchecked = theBundle.getString("formUnchecked");
|
||||
|
||||
for (i = 0; i < length; i++)
|
||||
{
|
||||
var elem = formfields[i];
|
||||
|
||||
if(elem.nodeName.toLowerCase() == "button")
|
||||
fieldView.addRow([i+1, "", elem.name, elem.type, getValueText(elem)]);
|
||||
else
|
||||
{
|
||||
var val = (elem.type == "password") ? theBundle.getString("formPassword") : elem.value;
|
||||
fieldView.addRow([i+1, "", elem.name, elem.type, val]);
|
||||
}
|
||||
}
|
||||
|
||||
var labels = form.getElementsByTagName("label");
|
||||
var llength = labels.length
|
||||
|
||||
for (i = 0; i < llength; i++)
|
||||
{
|
||||
var whatfor = labels[i].getAttribute("for") || findFirstControl(labels[i]);
|
||||
var labeltext = getValueText(labels[i]);
|
||||
|
||||
for(var j = 0; j < length; j++)
|
||||
if (formfields[j] == whatfor || formfields[j].name == whatfor)
|
||||
fieldView.setCellText(j, "field-label", labeltext);
|
||||
}
|
||||
|
||||
fieldView.rowCountChanged(0, length);
|
||||
}
|
||||
}
|
||||
|
||||
function findFirstControl(node)
|
||||
{
|
||||
function FormControlFilter()
|
||||
{
|
||||
this.acceptNode = function(node)
|
||||
{
|
||||
switch (node.nodeName.toLowerCase())
|
||||
{
|
||||
case "input":
|
||||
case "select":
|
||||
case "button":
|
||||
case "textarea":
|
||||
case "object":
|
||||
return NodeFilter.FILTER_ACCEPT;
|
||||
break;
|
||||
default:
|
||||
return NodeFilter.FILTER_SKIP;
|
||||
break;
|
||||
}
|
||||
return NodeFilter.FILTER_SKIP; // placate the js compiler
|
||||
}
|
||||
}
|
||||
|
||||
var nodeFilter = new FormControlFilter;
|
||||
var iterator = theDocument.createTreeWalker(node, NodeFilter.SHOW_ELEMENT, nodeFilter, true);
|
||||
|
||||
return iterator.nextNode();
|
||||
}
|
||||
|
||||
//******** Link Stuff
|
||||
function makeLinkTab()
|
||||
{
|
||||
//var start = new Date();
|
||||
var theBundle = document.getElementById("pageinfobundle");
|
||||
var linkTree = document.getElementById("linktree");
|
||||
|
||||
var linkView = new pageInfoTreeView(["link-number","link-name","link-address","link-type"]);
|
||||
linkTree.treeBoxObject.view = linkView;
|
||||
|
||||
linkList = grabAllLinks(theWindow, theDocument);
|
||||
|
||||
var linkAnchor = theBundle.getString("linkAnchor");
|
||||
var linkArea = theBundle.getString("linkArea");
|
||||
var linkSubmit = theBundle.getString("linkSubmit");
|
||||
var linkSubmission = theBundle.getString("linkSubmission");
|
||||
var linkRel = theBundle.getString("linkRel");
|
||||
var linkStylesheet = theBundle.getString("linkStylesheet");
|
||||
var linkRev = theBundle.getString("linkRev");
|
||||
|
||||
var linktext = null;
|
||||
linkIndex = 0;
|
||||
|
||||
var length = linkList.length;
|
||||
for (var i = 0; i < length; i++)
|
||||
{
|
||||
var elem = linkList[i];
|
||||
switch (elem.nodeName.toLowerCase())
|
||||
{
|
||||
case "a":
|
||||
linktext = getValueText(elem);
|
||||
linkView.addRow([++linkIndex, linktext, elem.href, linkAnchor]);
|
||||
break;
|
||||
case "area":
|
||||
linkView.addRow([++linkIndex, elem.alt, elem.href, linkArea]);
|
||||
break;
|
||||
case "input":
|
||||
linkView.addRow([++linkIndex, elem.value || linkSubmit, elem.form.action, linkSubmission]);
|
||||
break;
|
||||
case "link":
|
||||
if (elem.rel)
|
||||
{
|
||||
// should this test use regexes to be a little more lenient wrt whitespace?
|
||||
if (elem.rel.toLowerCase() == "stylesheet" || elem.rel.toLowerCase() == "alternate stylesheet")
|
||||
linktext = linkStylesheet;
|
||||
else
|
||||
linktext = linkRel;
|
||||
}
|
||||
else
|
||||
linktext = linkRev;
|
||||
linkView.addRow([++linkIndex, elem.rel || elem.rev, elem.href, linktext]);
|
||||
break;
|
||||
default:
|
||||
dump("Page Info - makeLinkTab(): Hey, that's an odd one! ("+elem+")");
|
||||
break;
|
||||
}
|
||||
}
|
||||
linkView.rowCountChanged(0, length);
|
||||
|
||||
//var end = new Date();
|
||||
//dump("links tab took "+(end-start)+"ms to build.\n");
|
||||
}
|
||||
|
||||
function grabAllLinks(aWindow,aDocument)
|
||||
{
|
||||
var theList = [];
|
||||
|
||||
if (aWindow && aWindow.frames.length > 0)
|
||||
{
|
||||
var num = aWindow.frames.length;
|
||||
for (var i = 0; i < num; i++)
|
||||
{
|
||||
var frame = aWindow.frames[i];
|
||||
theList = theList.concat(grabAllLinks(frame, frame.document));
|
||||
}
|
||||
}
|
||||
|
||||
theList = theList.concat(aDocument.getElementsByTagName("link"));
|
||||
|
||||
var inputList = aDocument.getElementsByTagName("input");
|
||||
var length = inputList.length;
|
||||
for (i = 0; i < length; i++)
|
||||
if (inputList[i].type.toLowerCase() == "submit")
|
||||
theList = theList.concat(inputList[i]);
|
||||
|
||||
if ("links" in aDocument)
|
||||
return theList.concat(aDocument.links);
|
||||
else
|
||||
return theList.concat(aDocument.getElementsByTagNameNS(XHTMLNS, "a"));
|
||||
}
|
||||
|
||||
function openURL(target)
|
||||
{
|
||||
var url = target.parentNode.childNodes[2].value;
|
||||
window.open(url, "_blank", "chrome");
|
||||
}
|
||||
|
||||
//******** Image Stuff
|
||||
function makeMediaTab()
|
||||
{
|
||||
var theBundle = document.getElementById("pageinfobundle");
|
||||
var imageTree = document.getElementById("imagetree");
|
||||
|
||||
var imageView = new pageInfoTreeView(["image-number","image-address","image-type"]);
|
||||
imageTree.treeBoxObject.view = imageView;
|
||||
|
||||
imageList = grabAllMedia(theWindow, theDocument);
|
||||
|
||||
var mediaImg = theBundle.getString("mediaImg");
|
||||
var mediaApplet = theBundle.getString("mediaApplet");
|
||||
var mediaObject = theBundle.getString("mediaObject");
|
||||
var mediaEmbed = theBundle.getString("mediaEmbed");
|
||||
var mediaLink = theBundle.getString("mediaLink");
|
||||
var mediaInput = theBundle.getString("mediaInput");
|
||||
|
||||
var row = null;
|
||||
var length = imageList.length;
|
||||
imageIndex = 0;
|
||||
|
||||
for (var i = 0; i < length; i++)
|
||||
{
|
||||
var elem = imageList[i];
|
||||
switch (elem.nodeName.toLowerCase())
|
||||
{
|
||||
case "img":
|
||||
imageView.addRow([++imageIndex, elem.src, mediaImg]);
|
||||
break;
|
||||
case "input":
|
||||
imageView.addRow([++imageIndex, elem.src, mediaInput]);
|
||||
break;
|
||||
case "applet":
|
||||
imageView.addRow([++imageIndex, elem.code || elem.object, mediaApplet]);
|
||||
break;
|
||||
case "object":
|
||||
imageView.addRow([++imageIndex, elem.data, mediaObject]);
|
||||
break;
|
||||
case "embed":
|
||||
imageView.addRow([++imageIndex, elem.src, mediaEmbed]);
|
||||
break;
|
||||
case "link":
|
||||
imageView.addRow([++imageIndex, elem.href, mediaLink]);
|
||||
break;
|
||||
default:
|
||||
dump("Page Info - makeMediaTab(): hey, that's an odd one! ("+elem+")");;
|
||||
break;
|
||||
}
|
||||
}
|
||||
imageView.rowCountChanged(0, length);
|
||||
|
||||
imageView.selection.select(0);
|
||||
}
|
||||
|
||||
function grabAllMedia(aWindow, aDocument)
|
||||
{
|
||||
var theList = [];
|
||||
|
||||
if (aWindow && aWindow.frames.length > 0)
|
||||
{
|
||||
var num = aWindow.frames.length;
|
||||
for (var i = 0; i < num; i++)
|
||||
{
|
||||
var frame = aWindow.frames[i];
|
||||
theList = theList.concat(grabAllMedia(frame, frame.document));
|
||||
}
|
||||
}
|
||||
|
||||
theList = theList.concat(aDocument.getElementsByTagName("embed"), aDocument.applets, aDocument.getElementsByTagName("object"));
|
||||
|
||||
var inputList = aDocument.getElementsByTagName("input");
|
||||
var length = inputList.length
|
||||
for (i = 0; i < length; i++)
|
||||
if(inputList[i].type.toLowerCase() == "image")
|
||||
theList = theList.concat(inputList[i]);
|
||||
|
||||
var linkList = aDocument.getElementsByTagName("link");
|
||||
length = linkList.length;
|
||||
for (i = 0; i < length; i++)
|
||||
if(linkList[i].rel.match(/\bicon\b/i))
|
||||
theList = theList.concat(linkList[i]);
|
||||
|
||||
if ("images" in aDocument)
|
||||
return theList.concat(aDocument.images);
|
||||
else
|
||||
return theList.concat(aDocument.getElementsByTagNameNS(XHTMLNS, "img"));
|
||||
}
|
||||
|
||||
function getSource( item )
|
||||
{
|
||||
// Return the correct source without strict warnings
|
||||
if (item.href != null) {
|
||||
return item.href;
|
||||
} else if (item.src != null) {
|
||||
return item.src;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function getSelectedItem(tree)
|
||||
{
|
||||
var view = tree.treeBoxObject.view;
|
||||
if (!view.rowCount) return null;
|
||||
|
||||
// Only works if only one item is selected
|
||||
var clickedRow = tree.treeBoxObject.selection.currentIndex;
|
||||
var lineNum = view.getCellText(clickedRow, "image-number");
|
||||
return imageList[lineNum - 1];
|
||||
}
|
||||
|
||||
function saveMedia()
|
||||
{
|
||||
var tree = document.getElementById("imagetree");
|
||||
var item = getSelectedItem(tree);
|
||||
var url = getAbsoluteURL(getSource(item), item);
|
||||
|
||||
if (url) {
|
||||
saveURL(url, null, 'SaveImageTitle', false );
|
||||
}
|
||||
}
|
||||
|
||||
function onImageSelect()
|
||||
{
|
||||
var tree = document.getElementById("imagetree");
|
||||
var saveAsButton = document.getElementById("imagesaveasbutton");
|
||||
|
||||
if (tree.treeBoxObject.selection.count == 1)
|
||||
{
|
||||
makePreview(getSelectedItem(tree));
|
||||
saveAsButton.setAttribute("disabled", "false");
|
||||
} else {
|
||||
saveAsButton.setAttribute("disabled", "true");
|
||||
}
|
||||
}
|
||||
|
||||
function makePreview(item)
|
||||
{
|
||||
var theBundle = document.getElementById("pageinfobundle");
|
||||
var unknown = theBundle.getString("unknown");
|
||||
var notSet = theBundle.getString("notset");
|
||||
|
||||
var url = ("src" in item && item.src) || ("code" in item && item.code) || ("data" in item && item.data) || ("href" in item && item.href) || unknown; // it better have at least one of those...
|
||||
document.getElementById("imageurltext").value = url;
|
||||
document.getElementById("imagetitletext").value = item.title || notSet;
|
||||
document.getElementById("imagealttext").value = ("alt" in item && item.alt) || getValueText(item) || notSet;
|
||||
document.getElementById("imagelongdesctext").value = ("longDesc" in item && item.longDesc) || notSet;
|
||||
|
||||
// find out the mime type
|
||||
var mimeType = unknown;
|
||||
if (item.nodeName.toLowerCase() != "input")
|
||||
mimeType = ("type" in item && item.type) || ("codeType" in item && item.codeType) || ("contentType" in item && item.contentType) || unknown;
|
||||
document.getElementById("imagetypetext").value = mimeType;
|
||||
|
||||
// get cache info
|
||||
var sourceText = theBundle.getString("generalNotCached");
|
||||
var expirationText = theBundle.getString("unknown");
|
||||
var sizeText = theBundle.getString("unknown");
|
||||
|
||||
var expirationTime = 0;
|
||||
var expirationDate = null;
|
||||
|
||||
try
|
||||
{
|
||||
var cacheEntryDescriptor = httpCacheSession.openCacheEntry(url, Components.interfaces.nsICache.ACCESS_READ, true); // open for READ, in blocking mode
|
||||
if (cacheEntryDescriptor)
|
||||
{
|
||||
switch(cacheEntryDescriptor.deviceID)
|
||||
{
|
||||
case "disk":
|
||||
sourceText = theBundle.getString("generalDiskCache");
|
||||
break;
|
||||
case "memory":
|
||||
sourceText = theBundle.getString("generalMemoryCache");
|
||||
break;
|
||||
default:
|
||||
sourceText = cacheEntryDescriptor.deviceID;
|
||||
break;
|
||||
}
|
||||
|
||||
sizeText = cacheEntryDescriptor.dataSize;
|
||||
|
||||
expirationText = formatDate(cacheEntryDescriptor.expirationTime*1000, notSet);
|
||||
}
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
try
|
||||
{
|
||||
cacheEntryDescriptor = ftpCacheSession.openCacheEntry(url, Components.interfaces.nsICache.ACCESS_READ, true); // open for READ, in blocking mode
|
||||
if (cacheEntryDescriptor)
|
||||
{
|
||||
switch(cacheEntryDescriptor.deviceID)
|
||||
{
|
||||
case "disk":
|
||||
sourceText = theBundle.getString("generalDiskCache");
|
||||
break;
|
||||
case "memory":
|
||||
sourceText = theBundle.getString("generalMemoryCache");
|
||||
break;
|
||||
default:
|
||||
sourceText = cacheEntryDescriptor.deviceID;
|
||||
break;
|
||||
}
|
||||
|
||||
sizeText = cacheEntryDescriptor.dataSize;
|
||||
|
||||
expirationText = formatDate(cacheEntryDescriptor.expirationTime*1000, notSet);
|
||||
}
|
||||
}
|
||||
catch(ex2)
|
||||
{
|
||||
sourceText = theBundle.getString("generalNotCached");
|
||||
}
|
||||
}
|
||||
document.getElementById("imagesourcetext").value = sourceText;
|
||||
document.getElementById("imageexpirestext").value = expirationText;
|
||||
document.getElementById("imagesizetext").value = sizeText;
|
||||
|
||||
// perhaps these can be done in the future
|
||||
//document.getElementById("imageplugintext").value = "--";
|
||||
//document.getElementById("imagecharsettext").value = "--";
|
||||
|
||||
var width = ("width" in item && item.width) || "";
|
||||
var height = ("height" in item && item.height) || "";
|
||||
|
||||
document.getElementById("imagewidth").value = theBundle.getFormattedString("mediaWidth", [width]);
|
||||
document.getElementById("imageheight").value = theBundle.getFormattedString("mediaHeight", [height]);
|
||||
|
||||
// also can't be done at the moment
|
||||
//document.getElementById("imageencryptiontext").value = "--";
|
||||
|
||||
var imageContainer = document.getElementById("theimagecontainer");
|
||||
var oldImage = document.getElementById("thepreviewimage");
|
||||
|
||||
var newImage = null;
|
||||
var nn = item.nodeName.toLowerCase();
|
||||
if (nn == "link" || nn == "input")
|
||||
{
|
||||
newImage = new Image();
|
||||
newImage.src = getAbsoluteURL(getSource(item), item);
|
||||
}
|
||||
else
|
||||
{
|
||||
newImage = item.cloneNode(true);
|
||||
newImage.src = ("src" in item && item.src) || ("href" in item && item.href); // weird funky hack, I know :P
|
||||
}
|
||||
|
||||
newImage.setAttribute("id", "thepreviewimage");
|
||||
if ("width" in item && item.width)
|
||||
newImage.width = item.width;
|
||||
if ("height" in item && item.height)
|
||||
newImage.height = item.height;
|
||||
newImage.removeAttribute("align"); // just in case.
|
||||
|
||||
imageContainer.removeChild(oldImage);
|
||||
imageContainer.appendChild(newImage);
|
||||
}
|
||||
|
||||
|
||||
//******** Other Misc Stuff
|
||||
// Modified from the Links Panel v2.3, http://segment7.net/mozilla/links/links.html
|
||||
// parse a node to extract the contents of the node
|
||||
// linkNode doesn't really _have_ to be link
|
||||
function getValueText(linkNode)
|
||||
{
|
||||
var valueText = "";
|
||||
|
||||
var length = linkNode.childNodes.length;
|
||||
for (var i = 0; i < length; i++)
|
||||
{
|
||||
var childNode = linkNode.childNodes[i];
|
||||
var nodeType = childNode.nodeType;
|
||||
if (nodeType == Node.TEXT_NODE)
|
||||
valueText += " " + childNode.nodeValue;
|
||||
else if (nodeType == Node.ELEMENT_NODE)
|
||||
{
|
||||
if (childNode.nodeName.toLowerCase() == "img")
|
||||
valueText += " " + getAltText(childNode);
|
||||
else
|
||||
valueText += " " + getValueText(childNode);
|
||||
}
|
||||
}
|
||||
|
||||
return stripWS(valueText);
|
||||
}
|
||||
|
||||
// Copied from the Links Panel v2.3, http://segment7.net/mozilla/links/links.html
|
||||
// traverse the tree in search of an img or area element and grab its alt tag
|
||||
function getAltText(node)
|
||||
{
|
||||
var altText = "";
|
||||
|
||||
if (node.alt)
|
||||
return node.alt;
|
||||
var length = node.childNodes.length;
|
||||
for (var i = 0; i < length; i++)
|
||||
if ((altText = getAltText(node.childNodes[i]) != undefined)) // stupid js warning...
|
||||
return altText;
|
||||
return "";
|
||||
}
|
||||
|
||||
// Copied from the Links Panel v2.3, http://segment7.net/mozilla/links/links.html
|
||||
// strip leading and trailing whitespace, and replace multiple consecutive whitespace characters with a single space
|
||||
function stripWS(text)
|
||||
{
|
||||
var middleRE = /\s+/g;
|
||||
var endRE = /(^\s+)|(\s+$)/g;
|
||||
|
||||
text = text.replace(middleRE, " ");
|
||||
return text.replace(endRE, "");
|
||||
}
|
||||
|
||||
function formatDate(datestr, unknown)
|
||||
{
|
||||
var date = new Date(datestr);
|
||||
return (date.valueOf()) ? dateService.FormatDateTime("", dateService.dateFormatLong, dateService.timeFormatSeconds, date.getFullYear(), date.getMonth()+1, date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()) : unknown;
|
||||
}
|
||||
|
||||
/*
|
||||
* Takes care of XMLBase and <base>
|
||||
* url is the possibly relative url.
|
||||
* node is the node where the url was given (needed for XMLBase)
|
||||
*
|
||||
* This function is called in many places as a workaround for bug 72524
|
||||
* Once bug 72522 is fixed this code should use the Node.baseURI attribute
|
||||
*
|
||||
* for node==null or url=="", empty string is returned
|
||||
*
|
||||
* This is basically just copied from http://lxr.mozilla.org/seamonkey/source/xpfe/browser/resources/content/metadata.js
|
||||
*/
|
||||
|
||||
function getAbsoluteURL(url, node)
|
||||
{
|
||||
if (!url || !node)
|
||||
return "";
|
||||
var urlArr = new Array(url);
|
||||
|
||||
var doc = node.ownerDocument;
|
||||
if (node.nodeType == Node.ATTRIBUTE_NODE)
|
||||
node = node.ownerElement;
|
||||
|
||||
while (node && node.nodeType == Node.ELEMENT_NODE)
|
||||
{
|
||||
var att = node.getAttributeNS(XMLNS, "base");
|
||||
if (att != "")
|
||||
urlArr.unshift(att);
|
||||
|
||||
node = node.parentNode;
|
||||
}
|
||||
|
||||
// Look for a <base>.
|
||||
var baseTags = doc.getElementsByTagNameNS(XHTMLNS, "base");
|
||||
|
||||
if (baseTags && baseTags.length)
|
||||
{
|
||||
urlArr.unshift(baseTags[baseTags.length - 1].getAttribute("href"));
|
||||
}
|
||||
|
||||
// resolve everything from bottom up, starting with document location
|
||||
var ioService = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);
|
||||
var URL = ioService.newURI(doc.location.href, null, null);
|
||||
|
||||
for (var i=0; i<urlArr.length; i++)
|
||||
{
|
||||
URL.spec = URL.resolve(urlArr[i]);
|
||||
}
|
||||
|
||||
return URL.spec;
|
||||
}
|
||||
|
||||
//******** define a js object to implement nsITreeView
|
||||
function pageInfoTreeView(columnids)
|
||||
{
|
||||
// columnids is an array of strings indicating the names of the columns, in order
|
||||
this.columnids = columnids;
|
||||
this.colcount = columnids.length
|
||||
this.rows = 0;
|
||||
this.tree = null;
|
||||
this.data = new Array;
|
||||
this.selection = null;
|
||||
}
|
||||
|
||||
pageInfoTreeView.prototype = {
|
||||
set rowCount(c) { throw "rowCount is a readonly property"; },
|
||||
get rowCount() { return this.rows; },
|
||||
|
||||
setTree: function(tree)
|
||||
{
|
||||
this.tree = tree;
|
||||
},
|
||||
|
||||
getCellText: function(row, column)
|
||||
{
|
||||
var colidx = 0;
|
||||
// loop through the list of column names to find the index to the column the should be worrying about. very much a hack, but what can you do?
|
||||
while(colidx < this.colcount && column != this.columnids[colidx])
|
||||
colidx++;
|
||||
return this.data[row][colidx] || "";
|
||||
},
|
||||
|
||||
setCellText: function(row, column, value)
|
||||
{
|
||||
var colidx = 0;
|
||||
// loop through the list of column names to find the index to the column the should be worrying about. very much a hack, but what can you do?
|
||||
while(colidx < this.colcount && column != this.columnids[colidx])
|
||||
colidx++;
|
||||
this.data[row][colidx] = value;
|
||||
},
|
||||
|
||||
addRow: function(row)
|
||||
{
|
||||
var oldrowcount = this.rows;
|
||||
this.rows = this.data.push(row);
|
||||
},
|
||||
|
||||
addRows: function(rows)
|
||||
{
|
||||
var oldrowcount = this.rowCount;
|
||||
|
||||
var length = rows.length;
|
||||
for(var i = 0; i < length; i++)
|
||||
this.rows = this.data.push(rows[i]);
|
||||
},
|
||||
|
||||
rowCountChanged: function(index, count)
|
||||
{
|
||||
this.tree.rowCountChanged(index, count);
|
||||
},
|
||||
|
||||
invalidate: function()
|
||||
{
|
||||
this.tree.invalidate();
|
||||
},
|
||||
|
||||
clear: function()
|
||||
{
|
||||
this.data = null;
|
||||
},
|
||||
|
||||
getRowProperties: function(row, column, prop) { },
|
||||
getCellProperties: function(row, prop) { },
|
||||
getColumnProperties: function(column, elem, prop) { },
|
||||
isContainer: function(index) { return false; },
|
||||
isContainerOpen: function(index) { return false; },
|
||||
isSeparator: function(index) { return false; },
|
||||
isSorted: function() { return false; },
|
||||
canDropOn: function(index) { return false; },
|
||||
canDropBeforeAfter: function(index, before) { return false; },
|
||||
drop: function(row, orientation) { return false; },
|
||||
getParentIndex: function(index) { return 0; },
|
||||
hasNextSibling: function(index, after) { return false; },
|
||||
getLevel: function(index) { return 0; },
|
||||
getImageSrc: function(row, column) { },
|
||||
getProgressMode: function(row, column) { },
|
||||
getCellValue: function(row, column) { },
|
||||
toggleOpenState: function(index) { },
|
||||
cycleHeader: function(col, elem) { },
|
||||
selectionChanged: function() { },
|
||||
cycleCell: function(row, column) { },
|
||||
isEditable: function(row, column) { return false; },
|
||||
performAction: function(action) { },
|
||||
performActionOnRow: function(action, row) { },
|
||||
performActionOnCell: function(action, row, column) { }
|
||||
};
|
@ -1,329 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!--
|
||||
The contents of this file are subject to the Netscape Public
|
||||
License Version 1.1 (the "License"); you may not use this file
|
||||
except in compliance with the License. You may obtain a copy of
|
||||
the License at http://www.mozilla.org/NPL/
|
||||
|
||||
Software distributed under the License is distributed on an "AS
|
||||
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
implied. See the License for the specific language governing
|
||||
rights and limitations under the License.
|
||||
|
||||
The Original Code is Mozilla Communicator client code, released
|
||||
March 31, 1998.
|
||||
|
||||
The Initial Developer of the Original Code is Netscape
|
||||
Communications Corporation. Portions created by Netscape are
|
||||
Copyright (C) 1998-1999 Netscape Communications Corporation. All
|
||||
Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
Simeon Morrison <smorrison@gte.com>
|
||||
Chris McAfee <mcafee@netscape.com>
|
||||
Daniel Brooks <db48x@yahoo.com>
|
||||
Gervase Markham <gerv@gerv.net>
|
||||
-->
|
||||
|
||||
<?xml-stylesheet href="chrome://navigator/skin/pageInfo.css" type="text/css"?>
|
||||
|
||||
<!DOCTYPE window [
|
||||
<!ENTITY % brandDTD SYSTEM "chrome://global/locale/brand.dtd">
|
||||
%brandDTD;
|
||||
<!ENTITY % navigatorDTD SYSTEM "chrome://browser/locale/navigator.dtd">
|
||||
%navigatorDTD;
|
||||
<!ENTITY % pageInfoDTD SYSTEM "chrome://browser/locale/pageInfo.dtd">
|
||||
%pageInfoDTD;
|
||||
]>
|
||||
|
||||
<window id="main-window"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
windowtype="Browser:page-info"
|
||||
onload="onLoadPageInfo()"
|
||||
align="stretch" class="dialog"
|
||||
width="425" height="450"
|
||||
screenX="10" screenY="10"
|
||||
persist="screenX screenY width height sizemode">
|
||||
|
||||
<script type="application/x-javascript" src="chrome://communicator/content/contentAreaUtils.js"/>
|
||||
<script type="application/x-javascript" src="chrome://browser/content/pageInfo.js"/>
|
||||
|
||||
<keyset>
|
||||
<key id="closeWindow" key="&closeWindow;" modifiers="accel" oncommand="window.close()"/>
|
||||
<key keycode="VK_ESCAPE" oncommand="window.close()"/>
|
||||
</keyset>
|
||||
<!-- keys are appended from the overlay -->
|
||||
<keyset id="dialogKeys"/>
|
||||
|
||||
<stringbundle id="pageinfobundle" src="chrome://browser/locale/pageInfo.properties"/>
|
||||
|
||||
<tabbox id="tabbox" flex="1">
|
||||
<tabs id="tabs">
|
||||
<tab id="generalTab" label="&generalTab;"
|
||||
accesskey="&generalAccesskey;"/>
|
||||
<tab id="formsTab" label="&formsTab;"
|
||||
accesskey="&formsAccesskey;" oncommand="makeFormTab();"/>
|
||||
<tab id="linksTab" label="&linksTab;"
|
||||
accesskey="&linksAccesskey;" oncommand="makeLinkTab();"/>
|
||||
<tab id="mediaTab" label="&mediaTab;"
|
||||
accesskey="&mediaAccesskey;" oncommand="makeMediaTab();"/>
|
||||
<!-- Others added by overlay -->
|
||||
</tabs>
|
||||
<tabpanels id="tabpanels" flex="1">
|
||||
|
||||
<!-- General page information -->
|
||||
<vbox>
|
||||
<textbox class="header" readonly="true" crop="right" id="titletext"/>
|
||||
<grid>
|
||||
<columns>
|
||||
<column/>
|
||||
<column style="width: .5em;"/>
|
||||
<column flex="1"/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<label value="&generalURL;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="urltext"/>
|
||||
</row>
|
||||
<row>
|
||||
<separator class="thin"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="&generalType;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="typetext"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="&generalMode;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="modetext"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="&generalSource;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="sourcetext"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="&generalEncoding;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="encodingtext"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="&generalSize;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="sizetext"/>
|
||||
</row>
|
||||
<row>
|
||||
<separator class="thin"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="&generalModified;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="modifiedtext"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="&generalExpires;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="expirestext"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<separator class="thin"/>
|
||||
<text id="metahead" class="header" value="&generalMeta;"/>
|
||||
<tree id="metatree" flex="1" class="inset">
|
||||
<treecols>
|
||||
<treecol persist="hidden width" flex="1" id="meta-name" label="&generalMetaName;"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol persist="hidden width" flex="4" id="meta-content" label="&generalMetaContent;"/>
|
||||
</treecols>
|
||||
<treechildren flex="1"/>
|
||||
</tree>
|
||||
</vbox>
|
||||
|
||||
<!-- Form information -->
|
||||
<vbox>
|
||||
<tree id="formtree" flex="1" class="fixedsize" onselect="onFormSelect();">
|
||||
<treecols>
|
||||
<treecol sortSeparators="true" persist="hidden width" flex="1"
|
||||
width="1" id="form-number" label="&formNo;"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol sortSeparators="true" persist="hidden width" flex="1"
|
||||
width="1" id="form-name" label="&formName;"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol sortSeparators="true" persist="hidden width" flex="3"
|
||||
width="3" id="form-action" label="&formMethod;"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol sortSeparators="true" persist="hidden width" flex="2"
|
||||
width="2" id="form-method" label="&formAction;"/>
|
||||
</treecols>
|
||||
<treechildren flex="1"/>
|
||||
</tree>
|
||||
<splitter orient="vertical" collapse="after"/>
|
||||
<vbox flex="1">
|
||||
<textbox class="header" id="formname"/>
|
||||
<grid>
|
||||
<columns>
|
||||
<column/>
|
||||
<column style="width: .5em;"/>
|
||||
<column flex="1"/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<label value="&formEncoding;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="formenctype"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="&formTarget;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" class="label" id="formtarget"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<text class="header" value="&formFields;"/>
|
||||
<tree id="formpreview" flex="1" class="inset">
|
||||
<treecols>
|
||||
<treecol sortSeparators="true" persist="hidden width" flex="1"
|
||||
width="1" id="field-number" label="&formNo;"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol sortSeparators="true" persist="hidden width" flex="3"
|
||||
width="3" id="field-label" label="&formLabel;"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol sortSeparators="true" persist="hidden width" flex="3"
|
||||
width="3" id="field-field" label="&formFName;"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol sortSeparators="true" persist="hidden width" flex="1"
|
||||
width="1" id="field-type" label="&formType;"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol sortSeparators="true" persist="hidden width" flex="3"
|
||||
width="3" id="field-value" label="&formCValue;"/>
|
||||
</treecols>
|
||||
<treechildren flex="1"/>
|
||||
</tree>
|
||||
</vbox>
|
||||
</vbox>
|
||||
|
||||
<!-- Link info -->
|
||||
<vbox>
|
||||
<tree id="linktree" flex="1" class="inset">
|
||||
<treecols>
|
||||
<treecol sortSeparators="true" persist="hidden width" flex="1"
|
||||
width="1" id="link-number" label="&linkNo;"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol sortSeparators="true" persist="hidden width" flex="5"
|
||||
width="5" id="link-name" label="&linkName;"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol sortSeparators="true" persist="hidden width" flex="7"
|
||||
width="7" id="link-address" label="&linkAddress;"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol sortSeparators="true" persist="hidden width" flex="2"
|
||||
width="2" id="link-type" label="&linkType;"/>
|
||||
</treecols>
|
||||
<treechildren flex="1"/>
|
||||
</tree>
|
||||
</vbox>
|
||||
|
||||
<!-- Media information -->
|
||||
<vbox>
|
||||
<tree id="imagetree" flex="1" class="inset fixedsize" onselect="onImageSelect();">
|
||||
<treecols>
|
||||
<treecol sortSeparators="true" persist="hidden width" flex="1"
|
||||
width="1" id="image-number" label="&mediaNo;"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol sortSeparators="true" persist="hidden width" flex="10"
|
||||
width="10" id="image-address" label="&mediaAddress;"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol sortSeparators="true" persist="hidden width" flex="2"
|
||||
width="2" id="image-type" label="&mediaType;"/>
|
||||
</treecols>
|
||||
<treechildren flex="1"/>
|
||||
</tree>
|
||||
<splitter collapse="after" orient="vertical"/>
|
||||
<grid>
|
||||
<columns>
|
||||
<column/>
|
||||
<column style="width: .5em;"/>
|
||||
<column flex="1"/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<label value="&mediaURL;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="imageurltext"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="&mediaTitle;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="imagetitletext"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="&mediaAlt;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="imagealttext"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="&mediaLongdesc;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="imagelongdesctext"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="&generalType;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="imagetypetext"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="&generalSource;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="imagesourcetext"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="&generalSize;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="imagesizetext"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="&generalExpires;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="imageexpirestext"/>
|
||||
</row>
|
||||
<!-- <row>
|
||||
<label value="&mediaPlugin;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="imageplugintext"/>
|
||||
</row> -->
|
||||
<!-- <row>
|
||||
<label value="&generalEncoding;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="imagecharsettext"/>
|
||||
</row> -->
|
||||
<row>
|
||||
<label value="&mediaDimensions;"/>
|
||||
<separator/>
|
||||
<hbox>
|
||||
<textbox readonly="true" crop="right" id="imagewidth"/>
|
||||
<textbox readonly="true" crop="right" id="imageheight"/>
|
||||
</hbox>
|
||||
</row>
|
||||
<!-- <row>
|
||||
<label value="&mediaEncryption;"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="right" id="imageencryptiontext" value=""/>
|
||||
</row> -->
|
||||
</rows>
|
||||
</grid>
|
||||
<hbox>
|
||||
<button label="&mediaSaveAs;" accesskey="&mediaSaveAsAccesskey;" id="imagesaveasbutton" disabled="true" oncommand="saveMedia();"/>
|
||||
</hbox>
|
||||
<vbox class="inset iframe" flex="1" pack="center">
|
||||
<hbox id="theimagecontainer" pack="center">
|
||||
<image id="thepreviewimage"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
</vbox>
|
||||
|
||||
<!-- Others added by overlay -->
|
||||
</tabpanels>
|
||||
</tabbox>
|
||||
</window>
|
@ -1,297 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<?xul-overlay href="chrome://global/content/globalOverlay.xul"?>
|
||||
<?xul-overlay href="chrome://communicator/content/sidebar/sidebarOverlay.xul"?>
|
||||
|
||||
<?xml-stylesheet href="chrome://navigator/skin/" type="text/css"?>
|
||||
<?xml-stylesheet href="chrome://communicator/skin/bookmarks/bookmarks.css" type="text/css"?>
|
||||
|
||||
<window id="toolbarTest"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:nc="http://home.netscape.com/NC-rdf#"
|
||||
orient="vertical" onload="resetToolbars();">
|
||||
|
||||
<script>
|
||||
<![CDATA[
|
||||
var rdfs = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
var rdfc = Components.classes["@mozilla.org/rdf/container;1"].getService(Components.interfaces.nsIRDFContainer);
|
||||
|
||||
function recurse()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
function resetToolbars()
|
||||
{
|
||||
var toolbox = document.getElementById("main-toolbox");
|
||||
var bmds = rdfs.GetDataSource("rdf:bookmarks");
|
||||
toolbox.database.AddDataSource(bmds);
|
||||
bmds = rdfs.GetDataSource("rdf:chrome");
|
||||
toolbox.database.AddDataSource(bmds);
|
||||
bmds = rdfs.GetDataSource("rdf:window-mediator");
|
||||
toolbox.database.AddDataSource(bmds);
|
||||
|
||||
var sidebarDS = rdfs.GetDataSource(get_sidebar_datasource_uri());
|
||||
toolbox.database.AddDataSource(sidebarDS);
|
||||
|
||||
// poke around
|
||||
var db = toolbox.database;
|
||||
var panelsres = rdfs.GetResource("urn:sidebar:current-panel-list", true);
|
||||
var panellist = rdfs.GetResource("http://home.netscape.com/NC-rdf#panel-list", true);
|
||||
var foopy = db.GetTarget(panelsres, panellist, true);
|
||||
rdfc.Init(db, foopy);
|
||||
var elts = rdfc.GetElements();
|
||||
var titletgt = rdfs.GetResource("http://home.netscape.com/NC-rdf#title", true);
|
||||
while(elts.hasMoreElements()) {
|
||||
var currElt = elts.getNext().QueryInterface(Components.interfaces.nsIRDFResource);
|
||||
var title = db.GetTarget(currElt, titletgt, true).QueryInterface(Components.interfaces.nsIRDFLiteral);
|
||||
dump("*** curr title = " + title.Value + "\n");
|
||||
}
|
||||
toolbox.builder.rebuild();
|
||||
}
|
||||
|
||||
function exploreDS()
|
||||
{
|
||||
var tree = document.getElementById("dispTree");
|
||||
var bmds = rdfs.GetDataSource("rdf:bookmarks");
|
||||
tree.database.AddDataSource(bmds);
|
||||
bmds = rdfs.GetDataSource("rdf:history");
|
||||
tree.database.AddDataSource(bmds);
|
||||
tree.builder.rebuild();
|
||||
}
|
||||
|
||||
function initPopup ()
|
||||
{
|
||||
var element = document.popupNode;
|
||||
var panelSrc = document.getElementById("panelsrc");
|
||||
var src = element.getAttribute("content");
|
||||
var popup = document.getElementById("panelpopup");
|
||||
if (src != panelSrc.getAttribute("src")) {
|
||||
panelSrc.setAttribute("src", src);
|
||||
popup.setAttribute("title", element.value);
|
||||
}
|
||||
}
|
||||
|
||||
]]>
|
||||
</script>
|
||||
|
||||
<popupset>
|
||||
<popup type="floater" id="panelpopup" onpopupshowing="initPopup();"
|
||||
menugenerated="true" popupanchor="bottomleft" popupalign="topleft">
|
||||
<vbox flex="1">
|
||||
<menuitem label="Add Current Page" class="menuitem-floater"/>
|
||||
<menuitem label="Manage Bookmarks..." class="menuitem-floater"/>
|
||||
<iframe flex="1" id="panelsrc" style="min-width: 1px; min-height: 1px;"/>
|
||||
</vbox>
|
||||
</popup>
|
||||
<!--
|
||||
<popup id="panelpopup" onpopupshowing="initPopup();" orient="vertical"
|
||||
class="popup-resizable"
|
||||
style="min-width: 100px; max-width: 300px;">
|
||||
<vbox class="floater-box">
|
||||
<hbox class="floater-box-top">
|
||||
<titlebar flex="1"/>
|
||||
</hbox>
|
||||
<hbox class="floater-box-center" flex="1">
|
||||
<hbox class="floater-children" flex="1">
|
||||
<iframe flex="1" id="panelsrc" style="width: 170px; height: 200px;"/>
|
||||
</hbox>
|
||||
</hbox>
|
||||
<hbox class="floater-box-bottom">
|
||||
<resizer direction="bottom" flex="1"/>
|
||||
<resizer direction="bottomright"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
</popup>
|
||||
-->
|
||||
</popupset>
|
||||
|
||||
<toolbox id="main-toolbox"
|
||||
datasources="chrome://browser/content/toolbarTest.rdf rdf:bookmarks"
|
||||
ref="urn:mozilla:navigator:toolbars:root">
|
||||
<template>
|
||||
|
||||
<!-- toolbar -->
|
||||
<rule>
|
||||
<conditions>
|
||||
<content uri="?uri"/>
|
||||
<triple subject="?uri"
|
||||
predicate="http://home.netscape.com/NC-rdf#child"
|
||||
object="?items"/>
|
||||
<member container="?items" child="?item"/>
|
||||
<triple subject="?item"
|
||||
predicate="http://home.netscape.com/NC-rdf#Element"
|
||||
object="toolbar"/>
|
||||
</conditions>
|
||||
<bindings>
|
||||
<binding subject="?item"
|
||||
predicate="http://home.netscape.com/NC-rdf#Class"
|
||||
object="?item-class"/>
|
||||
<binding subject="?item"
|
||||
predicate="http://home.netscape.com/NC-rdf#Name"
|
||||
object="?item-name"/>
|
||||
</bindings>
|
||||
<action>
|
||||
<toolbar uri="?item" class="?item-class"
|
||||
grippytooltiptext="?item-name"/>
|
||||
</action>
|
||||
</rule>
|
||||
|
||||
<!-- bookmark separators -->
|
||||
<rule>
|
||||
<conditions>
|
||||
<content uri="?uri"/>
|
||||
<triple subject="?uri"
|
||||
predicate="http://home.netscape.com/NC-rdf#child"
|
||||
object="?items"/>
|
||||
<member container="?items" child="?item"/>
|
||||
<triple subject="?item"
|
||||
predicate="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
|
||||
object="http://home.netscape.com/NC-rdf#BookmarkSeparator"/>
|
||||
</conditions>
|
||||
<action>
|
||||
<toolbarseparator uri="?item"/>
|
||||
</action>
|
||||
</rule>
|
||||
|
||||
<!-- installed themes -->
|
||||
<rule>
|
||||
<conditions>
|
||||
<content uri="?uri"/>
|
||||
<triple subject="?uri"
|
||||
predicate="http://home.netscape.com/NC-rdf#child"
|
||||
object="?items"/>
|
||||
<member container="?items" child="?item"/>
|
||||
<triple subject="?item"
|
||||
predicate="http://www.mozilla.org/rdf/chrome#displayName"
|
||||
object="?item-name"/>
|
||||
</conditions>
|
||||
<bindings>
|
||||
<binding subject="?item"
|
||||
predicate="http://home.netscape.com/NC-rdf#Class"
|
||||
object="?item-class"/>
|
||||
<binding subject="?item"
|
||||
predicate="http://home.netscape.com/NC-rdf#Icon"
|
||||
object="?item-icon"/>
|
||||
<binding subject="?item"
|
||||
predicate="http://home.netscape.com/NC-rdf#Type"
|
||||
object="?item-type"/>
|
||||
</bindings>
|
||||
<action>
|
||||
<button uri="?items" class="?item-class button-toolbar bookmarkitem" label="?uri"
|
||||
tooltiptext="?item-name"
|
||||
src="?item-icon" type="?item-icon" crop="right"/>
|
||||
</action>
|
||||
</rule>
|
||||
|
||||
<!-- sidebar panels -->
|
||||
<rule>
|
||||
<conditions>
|
||||
<content uri="?uri"/>
|
||||
<triple subject="?uri"
|
||||
predicate="http://home.netscape.com/NC-rdf#child"
|
||||
object="?item"/>
|
||||
<triple subject="?item"
|
||||
predicate="http://home.netscape.com/NC-rdf#panel-list"
|
||||
object="?panel-list"/>
|
||||
<member container="?panel-list" child="?panel"/>
|
||||
<triple subject="?panel"
|
||||
predicate="http://home.netscape.com/NC-rdf#title"
|
||||
object="?title"/>
|
||||
<triple subject="?panel"
|
||||
predicate="http://home.netscape.com/NC-rdf#content"
|
||||
object="?content"/>
|
||||
</conditions>
|
||||
<action>
|
||||
<button uri="?panel" class="button-toolbar bookmarkitem"
|
||||
label="?title" content="?content"
|
||||
popup="panelpopup"/>
|
||||
</action>
|
||||
</rule>
|
||||
|
||||
<!-- everything else -->
|
||||
<rule>
|
||||
<conditions>
|
||||
<content uri="?uri"/>
|
||||
<triple subject="?uri"
|
||||
predicate="http://home.netscape.com/NC-rdf#child"
|
||||
object="?items"/>
|
||||
<member container="?items" child="?item"/>
|
||||
</conditions>
|
||||
<bindings>
|
||||
<binding subject="?item"
|
||||
predicate="http://home.netscape.com/NC-rdf#Name"
|
||||
object="?item-name"/>
|
||||
<binding subject="?item"
|
||||
predicate="http://home.netscape.com/NC-rdf#Class"
|
||||
object="?item-class"/>
|
||||
<binding subject="?item"
|
||||
predicate="http://home.netscape.com/NC-rdf#Icon"
|
||||
object="?item-icon"/>
|
||||
<binding subject="?item"
|
||||
predicate="http://home.netscape.com/NC-rdf#Type"
|
||||
object="?item-type"/>
|
||||
</bindings>
|
||||
<action>
|
||||
<button uri="?items" class="?item-class button-toolbar bookmarkitem" label="?item-name"
|
||||
src="?item-icon" type="?item-icon" crop="right"/>
|
||||
</action>
|
||||
</rule>
|
||||
</template>
|
||||
</toolbox>
|
||||
|
||||
<!--
|
||||
<tree id="dispTree" datasources="rdf:bookmarks chrome://browser/content/toolbarTest.rdf"
|
||||
ref="urn:mozilla:navigator:toolbars:root"
|
||||
style="height: 0px; width: 0px;" flex="1">
|
||||
|
||||
<treehead>
|
||||
<treerow>
|
||||
<treecell class="treecell-header" label="Item Name"/>
|
||||
<treecell class="treecell-header" label="Item URI"/>
|
||||
</treerow>
|
||||
</treehead>
|
||||
|
||||
<template>
|
||||
<rule>
|
||||
<conditions>
|
||||
<content uri="?uri"/>
|
||||
<triple subject="?uri"
|
||||
predicate="http://home.netscape.com/NC-rdf#child"
|
||||
object="?items"/>
|
||||
<member container="?items" child="?item"/>
|
||||
<triple subject="?item"
|
||||
predicate="http://home.netscape.com/NC-rdf#Name"
|
||||
object="?name"/>
|
||||
</conditions>
|
||||
<action>
|
||||
<treechildren>
|
||||
<treeitem uri="?item">
|
||||
<treerow>
|
||||
<treecell class="treecell-indent bookmarkitem" label="?name"/>
|
||||
<treecell label="?item"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</action>
|
||||
</rule>
|
||||
</template>
|
||||
|
||||
<treecols>
|
||||
<treecol/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol flex="1"/>
|
||||
</treecols>
|
||||
|
||||
<treechildren flex="1"/>
|
||||
</tree>
|
||||
-->
|
||||
|
||||
<hbox flex="1">
|
||||
<vbox id="sidebar-box" class="chromeclass-extrachrome"/>
|
||||
<splitter id="sidebar-splitter" class="chromeclass-extrachrome" />
|
||||
<hbox flex="1"/>
|
||||
</hbox>
|
||||
|
||||
</window>
|
||||
|
@ -1,80 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- -*- Mode: xml; indent-tabs-mode: nil; -*-
|
||||
- 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 Netscape are
|
||||
- Copyright (C) 1998-1999 Netscape Communications Corporation. All
|
||||
- Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
- Blake Ross <blake@netscape.com> (Original Author)
|
||||
-->
|
||||
|
||||
<?xml-stylesheet href="chrome://communicator/skin/dialogs.css" type="text/css"?>
|
||||
|
||||
<!DOCTYPE window [
|
||||
<!ENTITY % turboDialogDTD SYSTEM "chrome://browser/locale/turboDialog.dtd" >
|
||||
%turboDialogDTD;
|
||||
<!ENTITY % dialogOverlayDTD SYSTEM "chrome://global-platform/locale/platformDialogOverlay.dtd" >
|
||||
%dialogOverlayDTD;
|
||||
<!ENTITY % brandDTD SYSTEM "chrome://global/locale/brand.dtd" >
|
||||
%brandDTD;
|
||||
]>
|
||||
|
||||
<dialog id="turboDialog" buttons="accept" buttonpack="center"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
title="&exitWarningTitle.label;"
|
||||
onunload="SetTurboPref();">
|
||||
<script type="application/x-javascript">
|
||||
<![CDATA[
|
||||
function SetTurboPref() {
|
||||
var showDialog = document.getElementById("showAgain").checked;
|
||||
try {
|
||||
var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
|
||||
if (prefs)
|
||||
prefs.setBoolPref("browser.turbo.showDialog", !showDialog);
|
||||
}
|
||||
catch(e) {
|
||||
}
|
||||
}
|
||||
]]>
|
||||
</script>
|
||||
|
||||
<hbox flex="1">
|
||||
<hbox align="start" valign="top">
|
||||
<image class="message-icon"/>
|
||||
</hbox>
|
||||
<separator orient="vertical" class="thin"/>
|
||||
<vbox flex="1">
|
||||
<!-- text -->
|
||||
<description flex="1">&exitWarningMsg.label;</description>
|
||||
<vbox flex="1" style="max-width: 36em;"/>
|
||||
<separator/>
|
||||
<hbox>
|
||||
<spacer flex="45%"/>
|
||||
<image id="turboTrayImage"/>
|
||||
<spacer flex="55%"/>
|
||||
</hbox>
|
||||
<separator class="thin"/>
|
||||
<separator class="thin"/>
|
||||
<!-- checkbox -->
|
||||
<hbox align="start">
|
||||
<checkbox id="showAgain" label="&exitWarningCheckbox.label;"
|
||||
accesskey="&exitWarningCheckbox.accesskey;"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
</hbox>
|
||||
|
||||
</dialog>
|
@ -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:navigator-platform"/>
|
||||
</RDF:Seq>
|
||||
|
||||
<!-- package information -->
|
||||
<RDF:Description about="urn:mozilla:package:navigator-platform"
|
||||
chrome:displayName="UNIX Bindings"
|
||||
chrome:author="mozilla.org"
|
||||
chrome:name="navigator-platform"
|
||||
chrome:localeVersion="0.9.9">
|
||||
</RDF:Description>
|
||||
</RDF:RDF>
|
@ -1,3 +0,0 @@
|
||||
comm.jar:
|
||||
content/navigator-platform/contents.rdf (contents-platform.rdf)
|
||||
content/navigator/platformNavigationBindings.xul
|
@ -1,23 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!DOCTYPE window SYSTEM "chrome://navigator-platform/locale/platformNavigationBindings.dtd">
|
||||
|
||||
<overlay id="platformNavigationBindings"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
|
||||
<keyset id="navigationKeys">
|
||||
<!-- proper arrow key navigation, 4.xP -->
|
||||
<key id="goBackKb" keycode="VK_LEFT" command="Browser:Back" modifiers="alt"/>
|
||||
<key id="goForwardKb" keycode="VK_RIGHT" command="Browser:Forward" modifiers="alt"/>
|
||||
|
||||
<!-- Some people apparently use this combination too on Unix...
|
||||
we live and learn. -->
|
||||
<key key="&goBackCmd.commandKey;" command="Browser:Back" modifiers="accel"/>
|
||||
<key key="&goForwardCmd.commandKey;" command="Browser:Forward" modifiers="accel"/>
|
||||
|
||||
<key id="goHome" keycode="VK_HOME" command="Browser:Home" modifiers="alt"/>
|
||||
</keyset>
|
||||
|
||||
</overlay>
|
||||
|
||||
|
@ -1,102 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<?xml-stylesheet href="chrome://navigator/skin/" type="text/css"?>
|
||||
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
title="Unknown File Type"
|
||||
width="425"
|
||||
height="180"
|
||||
onload="onLoad()">
|
||||
|
||||
<data>
|
||||
<broadcaster id="data.location" type="url" value="url...to be replaced"/>
|
||||
<broadcaster id="data.contentType" type="string" value="content-type...to be replaced"/>
|
||||
<!-- Commands: more/pick/save/close -->
|
||||
<broadcaster id="data.execute" command=""/>
|
||||
</data>
|
||||
|
||||
<script>
|
||||
var data;
|
||||
var dialog;
|
||||
|
||||
function initData() {
|
||||
// Create data object and initialize.
|
||||
data = new Object;
|
||||
data.location = document.getElementById("data.location");
|
||||
data.contentType = document.getElementById("data.contentType");
|
||||
data.execute = document.getElementById("data.execute");
|
||||
}
|
||||
|
||||
function initDialog() {
|
||||
// Create dialog object and initialize.
|
||||
dialog = new Object;
|
||||
dialog.contentType = document.getElementById("dialog.contentType");
|
||||
dialog.more = document.getElementById("dialog.more");
|
||||
dialog.pick = document.getElementById("dialog.pick");
|
||||
dialog.save = document.getElementById("dialog.save");
|
||||
dialog.cancel = document.getElementById("dialog.cancel");
|
||||
}
|
||||
|
||||
function loadDialog() {
|
||||
// Set initial dialog field contents.
|
||||
dialog.contentType.childNodes[0].nodeValue = " " + data.contentType.getAttribute( "value" );
|
||||
}
|
||||
|
||||
function onLoad() {
|
||||
// Init data.
|
||||
initData();
|
||||
|
||||
// Init dialog.
|
||||
initDialog();
|
||||
|
||||
// Fill dialog.
|
||||
loadDialog();
|
||||
}
|
||||
|
||||
function more() {
|
||||
dump( "unknownContent::more not implemented\n" );
|
||||
}
|
||||
|
||||
function pick() {
|
||||
dump( "unknownContent::pick not implemented\n" );
|
||||
}
|
||||
|
||||
function save() {
|
||||
// Execute "save to disk" logic.
|
||||
data.execute.setAttribute("command","save");
|
||||
}
|
||||
|
||||
function cancel() {
|
||||
// Close the window.
|
||||
data.execute.setAttribute("command","close");
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<html:table style="width:100%;">
|
||||
<html:tr>
|
||||
<html:td colspan="4">
|
||||
You have started to download a file of type
|
||||
<html:div id="dialog.contentType" style="display:inline">
|
||||
contentType goes here
|
||||
</html:div>
|
||||
</html:td>
|
||||
</html:tr>
|
||||
|
||||
<html:tr>
|
||||
<html:td style="width:25%">
|
||||
<html:button id="dialog.more" onclick="more()" disabled="">More Info...</html:button>
|
||||
</html:td>
|
||||
<html:td style="width:25%">
|
||||
<html:button id="dialog.pick" onclick="pick()" disabled="">Pick App...</html:button>
|
||||
</html:td>
|
||||
<html:td style="width:25%">
|
||||
<html:button id="dialog.save" onclick="save()">Save File...</html:button>
|
||||
</html:td>
|
||||
<html:td style="width:25%">
|
||||
<html:button id="dialog.cancel" onclick="cancel()">Cancel</html:button>
|
||||
</html:td>
|
||||
</html:tr>
|
||||
</html:table>
|
||||
|
||||
</window>
|
@ -1,456 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<bindings id="urlbarBindings"
|
||||
xmlns="http://www.mozilla.org/xbl"
|
||||
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
|
||||
<binding id="urlbar" extends="chrome://global/content/autocomplete.xml#autocomplete">
|
||||
<implementation>
|
||||
<constructor><![CDATA[
|
||||
var pbi = this.mPrefs.QueryInterface(Components.interfaces.nsIPrefBranchInternal);
|
||||
if (pbi)
|
||||
pbi.addObserver("browser.urlbar", this.mPrefObserver, false);
|
||||
|
||||
this.updatePref("browser.urlbar.showPopup");
|
||||
this.updatePref("browser.urlbar.autoFill");
|
||||
]]></constructor>
|
||||
|
||||
<destructor><![CDATA[
|
||||
var pbi = this.mPrefs.QueryInterface(Components.interfaces.nsIPrefBranchInternal);
|
||||
if (pbi)
|
||||
pbi.removeObserver("browser.urlbar", this.mPrefObserver);
|
||||
]]></destructor>
|
||||
|
||||
<field name="mPrefs">
|
||||
var svc = Components.classes["@mozilla.org/preferences-service;1"]
|
||||
.getService(Components.interfaces.nsIPrefService);
|
||||
svc.getBranch(null);
|
||||
</field>
|
||||
|
||||
<field name="mPrefObserver"><![CDATA[
|
||||
({
|
||||
urlbar: this,
|
||||
|
||||
observe: function(aObserver, aBlah, aPref) {
|
||||
if (!aPref.indexOf("browser.urlbar"))
|
||||
this.urlbar.updatePref(aPref);
|
||||
}
|
||||
});
|
||||
]]></field>
|
||||
|
||||
<method name="updatePref">
|
||||
<parameter name="aPref"/>
|
||||
<body><![CDATA[
|
||||
if (!aPref.indexOf("browser.urlbar.showPopup")) {
|
||||
this.showPopup = this.mPrefs.getBoolPref("browser.urlbar.showPopup");
|
||||
} else if (!aPref.indexOf("browser.urlbar.autoFill")) {
|
||||
this.autoFill = this.mPrefs.getBoolPref("browser.urlbar.autoFill");
|
||||
}
|
||||
]]></body>
|
||||
</method>
|
||||
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="autocomplete-result-popup" extends="chrome://global/content/autocomplete.xml#autocomplete-result-popup">
|
||||
<content>
|
||||
<xul:tree anonid="tree" class="autocomplete-tree plain" flex="1">
|
||||
<xul:treecols anonid="treecols"/>
|
||||
<xul:treechildren anonid="treebody" class="autocomplete-treebody" flex="1"/>
|
||||
</xul:tree>
|
||||
<xul:box role="search-box" class="autocomplete-search-box"/>
|
||||
</content>
|
||||
|
||||
<implementation>
|
||||
<constructor><![CDATA[
|
||||
// listen for changes to default search engine
|
||||
var pbi = this.mPrefs.QueryInterface(Components.interfaces.nsIPrefBranchInternal);
|
||||
if (pbi) {
|
||||
pbi.addObserver("browser.search", this.mPrefObserver, false);
|
||||
pbi.addObserver("browser.urlbar", this.mPrefObserver, false);
|
||||
}
|
||||
]]></constructor>
|
||||
|
||||
<destructor><![CDATA[
|
||||
var pbi = this.mPrefs.QueryInterface(Components.interfaces.nsIPrefBranchInternal);
|
||||
if (pbi) {
|
||||
pbi.removeObserver("browser.search", this.mPrefObserver);
|
||||
pbi.removeObserver("browser.urlbar", this.mPrefObserver);
|
||||
}
|
||||
]]></destructor>
|
||||
|
||||
<property name="selectedIndex"
|
||||
onget="return this.textbox.view.selectedIndex;">
|
||||
<setter>
|
||||
this.mSelectedIndex = val;
|
||||
if (val == null)
|
||||
this.mSearchBox.selectedIndex = null;
|
||||
|
||||
return val;
|
||||
</setter>
|
||||
</property>
|
||||
|
||||
<property name="showSearch" onget="return this.mShowSearch;">
|
||||
<setter><![CDATA[
|
||||
this.mShowSearch = val;
|
||||
if (val) {
|
||||
this.updateEngines();
|
||||
this.mSearchBox.removeAttribute("hidden");
|
||||
} else {
|
||||
this.clearEngines();
|
||||
this.mSearchBox.setAttribute("hidden", "true");
|
||||
}
|
||||
]]></setter>
|
||||
</property>
|
||||
|
||||
<property name="mSelectedIndex">
|
||||
<setter>
|
||||
this.textbox.view.selectedIndex = val;
|
||||
return val;
|
||||
</setter>
|
||||
</property>
|
||||
|
||||
<property name="defaultSearchEngine"
|
||||
onget="return this.textbox.getAttribute('defaultSearchEngine') == 'true';"
|
||||
onset="this.textbox.setAttribute('defaultSearchEngine', val); return val;"/>
|
||||
|
||||
<field name="mSearchBox">
|
||||
document.getAnonymousElementByAttribute(this, "role", "search-box");
|
||||
</field>
|
||||
|
||||
<field name="mPrefs">
|
||||
var svc = Components.classes["@mozilla.org/preferences-service;1"]
|
||||
.getService(Components.interfaces.nsIPrefService);
|
||||
svc.getBranch(null);
|
||||
</field>
|
||||
|
||||
<field name="mPrefObserver"><![CDATA[
|
||||
({
|
||||
resultsPopup: this,
|
||||
|
||||
observe: function(aObserver, aBlah, aPref) {
|
||||
if (!aPref.indexOf("browser.search"))
|
||||
this.resultsPopup.updateEngines();
|
||||
else if (!aPref.indexOf("browser.urlbar"))
|
||||
this.resultsPopup.updatePref(aPref);
|
||||
}
|
||||
});
|
||||
]]></field>
|
||||
|
||||
<field name="mInputListener"><![CDATA[
|
||||
(function(aEvent) {
|
||||
// "this" is the textbox, not the popup
|
||||
if (this.mSearchInputTO)
|
||||
window.clearTimeout(this.mSearchInputTO);
|
||||
this.mSearchInputTO = window.setTimeout(this.resultsPopup.mInputTimeout, this.timeout, this);
|
||||
});
|
||||
]]></field>
|
||||
|
||||
<field name="mInputTimeout"><![CDATA[
|
||||
(function(me) {
|
||||
me.resultsPopup.mSearchBox.searchValue = me.value;
|
||||
me.mSearchInputTO = 0;
|
||||
});
|
||||
]]></field>
|
||||
|
||||
<field name="mEnginesReady">false</field>
|
||||
|
||||
<method name="getOverrideValue">
|
||||
<body><![CDATA[
|
||||
if (this.mSearchBox.selectedIndex != null)
|
||||
return this.mSearchBox.getOverrideValue();
|
||||
return null;
|
||||
]]></body>
|
||||
</method>
|
||||
|
||||
<method name="updatePref">
|
||||
<parameter name="aPref"/>
|
||||
<body><![CDATA[
|
||||
if (!aPref.indexOf("browser.urlbar.showSearch"))
|
||||
this.showSearch = this.mPrefs.getBoolPref("browser.urlbar.showSearch");
|
||||
]]></body>
|
||||
</method>
|
||||
|
||||
<method name="addEngine">
|
||||
<parameter name="aEngineId"/>
|
||||
<parameter name="aName"/>
|
||||
<parameter name="aIcon"/>
|
||||
<parameter name="aSearchBarUrl"/>
|
||||
<body><![CDATA[
|
||||
var box = document.createElement("box");
|
||||
box.setAttribute("class", "autocomplete-search-engine");
|
||||
box.setAttribute("searchEngine", aEngineId);
|
||||
box.setAttribute("name", aName);
|
||||
box.setAttribute("icon", aIcon);
|
||||
box.setAttribute("searchBarUrl", aSearchBarUrl);
|
||||
box.setAttribute("engineIndex", this.childNodes.length);
|
||||
this.mSearchBox.appendChild(box);
|
||||
]]></body>
|
||||
</method>
|
||||
|
||||
<method name="clearEngines">
|
||||
<body><![CDATA[
|
||||
var kids = this.mSearchBox.childNodes;
|
||||
for (var i = kids.length-1; i >= 0; --i)
|
||||
this.mSearchBox.removeChild(kids[i]);
|
||||
]]></body>
|
||||
</method>
|
||||
|
||||
<method name="updateEngines">
|
||||
<body><![CDATA[
|
||||
var rdf = Components.classes["@mozilla.org/rdf/rdf-service;1"]
|
||||
.getService(Components.interfaces.nsIRDFService);
|
||||
try {
|
||||
var ds = rdf.GetDataSource("rdf:internetsearch");
|
||||
} catch (ex) {
|
||||
// sometimes bad profiles cause this error, which horks the hold urlbar
|
||||
return;
|
||||
}
|
||||
|
||||
const kNC_Name = rdf.GetResource("http://home.netscape.com/NC-rdf#Name");
|
||||
const kNC_Icon = rdf.GetResource("http://home.netscape.com/NC-rdf#Icon");
|
||||
const kNC_searchBarUrl = rdf.GetResource("http://home.netscape.com/NC-rdf#actionBar");
|
||||
|
||||
var defaultEngine = null;
|
||||
try {
|
||||
defaultEngine = this.mPrefs.getComplexValue("browser.search.defaultengine",
|
||||
Components.interfaces.nsISupportsWString).data;
|
||||
} catch(ex) {
|
||||
this.ensureDefaultEnginePrefs(rdf, ds);
|
||||
defaultEngine = this.mPrefs.getComplexValue("browser.search.defaultengine",
|
||||
Components.interfaces.nsISupportsWString).data;
|
||||
}
|
||||
|
||||
if (defaultEngine) {
|
||||
this.clearEngines();
|
||||
|
||||
if (ds) {
|
||||
var res = rdf.GetResource(defaultEngine);
|
||||
try {
|
||||
searchBarUrl = this.readRDFString(ds, res, kNC_searchBarUrl);
|
||||
} catch(ex) {
|
||||
searchBarUrl = null;
|
||||
}
|
||||
this.addEngine(res.Value,
|
||||
this.readRDFString(ds, res, kNC_Name),
|
||||
this.readRDFString(ds, res, kNC_Icon),
|
||||
searchBarUrl);
|
||||
}
|
||||
}
|
||||
|
||||
this.mEnginesReady = true;
|
||||
]]></body>
|
||||
</method>
|
||||
|
||||
<method name="ensureDefaultEnginePrefs">
|
||||
<parameter name="aRDF"/>
|
||||
<parameter name="aDS"/>
|
||||
<body><![CDATA[
|
||||
var defaultName = this.mPrefs.getComplexValue("browser.search.defaultenginename",
|
||||
Components.interfaces.nsIPrefLocalizedString).data;
|
||||
const kNC_Root = aRDF.GetResource("NC:SearchEngineRoot");
|
||||
const kNC_child = aRDF.GetResource("http://home.netscape.com/NC-rdf#child");
|
||||
const kNC_Name = aRDF.GetResource("http://home.netscape.com/NC-rdf#Name");
|
||||
|
||||
var arcs = aDS.GetTargets(kNC_Root, kNC_child, true);
|
||||
while (arcs.hasMoreElements()) {
|
||||
var engineRes = arcs.getNext().QueryInterface(Components.interfaces.nsIRDFResource);
|
||||
var name = this.readRDFString(aDS, engineRes, kNC_Name);
|
||||
if (name == defaultName) {
|
||||
var str = Components.classes["@mozilla.org/supports-wstring;1"]
|
||||
.createInstance(Components.interfaces.nsISupportsWString);
|
||||
str.data = engineRes.Value;
|
||||
this.mPrefs.setComplexValue("browser.search.defaultengine",
|
||||
Components.interfaces.nsISupportsWString,
|
||||
str);
|
||||
}
|
||||
}
|
||||
]]></body>
|
||||
</method>
|
||||
|
||||
<method name="readRDFString">
|
||||
<parameter name="aDS"/>
|
||||
<parameter name="aRes"/>
|
||||
<parameter name="aProp"/>
|
||||
<body><![CDATA[
|
||||
var n = aDS.GetTarget(aRes, aProp, true);
|
||||
return n ? n.QueryInterface(Components.interfaces.nsIRDFLiteral).Value : null;
|
||||
]]></body>
|
||||
</method>
|
||||
|
||||
<method name="selectBy">
|
||||
<parameter name="aDir"/>
|
||||
<parameter name="aAmount"/>
|
||||
<body><![CDATA[
|
||||
var bx = this.tree.treeBoxObject;
|
||||
var view = bx.view;
|
||||
var sel;
|
||||
if (this.selectedIndex == null && aDir < 0) {
|
||||
sel = this.mSearchBox.selectBy(aDir, aAmount);
|
||||
if (sel != null)
|
||||
return null;
|
||||
}
|
||||
|
||||
sel = this.getNextIndex(aDir, aAmount, this.selectedIndex, view.rowCount-1);
|
||||
this.mSelectedIndex = sel;
|
||||
|
||||
if (sel == null && aDir > 0)
|
||||
this.mSearchBox.selectBy(aDir, aAmount);
|
||||
else if (this.mSearchBox.selectedIndex != null)
|
||||
this.mSearchBox.selectedIndex = null;
|
||||
|
||||
return sel;
|
||||
]]></body>
|
||||
</method>
|
||||
</implementation>
|
||||
|
||||
<handlers>
|
||||
<handler event="popupshowing"><![CDATA[
|
||||
if (!this.mEnginesReady && this.defaultSearchEngine)
|
||||
this.updatePref("browser.urlbar.showSearch");
|
||||
|
||||
if (this.mShowSearch) {
|
||||
this.textbox.addEventListener("input", this.mInputListener, false);
|
||||
if ("searchValue" in this.mSearchBox)
|
||||
this.mSearchBox.searchValue = this.textbox.currentSearchString;
|
||||
else
|
||||
this.mSearchBox.setAttribute("searchvalue", this.textbox.currentSearchString);
|
||||
}
|
||||
]]></handler>
|
||||
|
||||
<handler event="popuphiding"><![CDATA[
|
||||
if (this.mShowSearch)
|
||||
this.textbox.removeEventListener("input", this.mInputListener, false);
|
||||
]]></handler>
|
||||
</handlers>
|
||||
</binding>
|
||||
|
||||
<binding id="autocomplete-search-box">
|
||||
<content orient="vertical"/>
|
||||
|
||||
<implementation>
|
||||
<constructor><![CDATA[
|
||||
var text = this.getAttribute("searchvalue");
|
||||
if (text)
|
||||
this.searchValue = text;
|
||||
|
||||
this.mSelectedIndex = null;
|
||||
]]></constructor>
|
||||
|
||||
<field name="parentMouseoverListener">
|
||||
// ensure that if a result menuitem is moused-over, any
|
||||
// search selection is cleared
|
||||
(function(aEvent) {
|
||||
if (aEvent.target.nodeName == "menuitem")
|
||||
this.mSearchBox.selectedIndex = null;
|
||||
})
|
||||
</field>
|
||||
|
||||
<field name="parentDestroyListener">
|
||||
// ensure that if the popup closes, any search selection is cleared
|
||||
(function(aEvent) {
|
||||
this.mSearchBox.selectedIndex = null;
|
||||
})
|
||||
</field>
|
||||
|
||||
<property name="activeChild"
|
||||
onget="return this.childNodes[this.mSelectedIndex]"/>
|
||||
|
||||
<property name="selectedIndex">
|
||||
<getter>return this.mSelectedIndex;</getter>
|
||||
|
||||
<setter><![CDATA[
|
||||
if (this.mSelectedIndex != null)
|
||||
this.activeChild.removeAttribute("menuactive");
|
||||
|
||||
this.mSelectedIndex = val;
|
||||
|
||||
if (val != null) {
|
||||
this.parentNode.mSelectedIndex = null;
|
||||
this.parentNode.addEventListener("mouseover", this.parentMouseoverListener, false);
|
||||
this.parentNode.addEventListener("popuphiding", this.parentDestroyListener, false);
|
||||
if (this.activeChild)
|
||||
this.activeChild.setAttribute("menuactive", "true");
|
||||
} else {
|
||||
this.parentNode.removeEventListener("mouseover", this.parentMouseoverListener, false);
|
||||
this.parentNode.removeEventListener("popuphiding", this.parentDestroyListener, false);
|
||||
}
|
||||
]]></setter>
|
||||
|
||||
</property>
|
||||
|
||||
<property name="searchValue">
|
||||
<getter><![CDATA[
|
||||
return this.mSearchValue;
|
||||
]]></getter>
|
||||
<setter><![CDATA[
|
||||
this.mSearchValue = val;
|
||||
var kids = this.childNodes;
|
||||
var searchForStrBundle = srGetStrBundle("chrome://browser/locale/navigator.properties");
|
||||
for (var i = 0; i < kids.length; ++i) {
|
||||
var name = kids[i].getAttribute("name");
|
||||
var searchForStr = searchForStrBundle.formatStringFromName("searchFor", [name, val], 2);
|
||||
kids[i].setAttribute("label", searchForStr);
|
||||
}
|
||||
]]></setter>
|
||||
</property>
|
||||
|
||||
<method name="selectBy">
|
||||
<parameter name="aDir"/>
|
||||
<parameter name="aAmount"/>
|
||||
<body><![CDATA[
|
||||
var sel = this.parentNode.getNextIndex(aDir, aAmount, this.selectedIndex, this.childNodes.length-1);
|
||||
this.selectedIndex = sel;
|
||||
return sel;
|
||||
]]></body>
|
||||
</method>
|
||||
|
||||
<method name="getOverrideValue">
|
||||
<body><![CDATA[
|
||||
var item = this.activeChild;
|
||||
if (item) {
|
||||
const ISEARCH_CONTRACTID = "@mozilla.org/rdf/datasource;1?name=internetsearch";
|
||||
const nsIInternetSearchService = Components.interfaces.nsIInternetSearchService;
|
||||
var searchService = Components.classes[ISEARCH_CONTRACTID].getService(nsIInternetSearchService);
|
||||
var searchEng = item.getAttribute("searchEngine");
|
||||
var searchEngUrl = item.getAttribute("searchBarUrl");
|
||||
var escapedSearch = escape(this.mSearchValue)
|
||||
if (searchEngUrl) {
|
||||
searchEngUrl += escapedSearch;
|
||||
return searchEngUrl;
|
||||
} else {
|
||||
return searchService.GetInternetSearchURL(item.getAttribute("searchEngine"),escapedSearch, 0, 0, {value:0});
|
||||
}
|
||||
}
|
||||
return null;
|
||||
]]></body>
|
||||
</method>
|
||||
|
||||
</implementation>
|
||||
|
||||
<handlers>
|
||||
<handler event="mouseup">
|
||||
this.parentNode.textbox.onResultClick();
|
||||
</handler>
|
||||
</handlers>
|
||||
|
||||
</binding>
|
||||
|
||||
<binding id="autocomplete-search-engine">
|
||||
<content>
|
||||
<xul:image class="autocomplete-search-engine-img" inherits="src=icon"/>
|
||||
<xul:label class="autocomplete-search-engine-text" inherits="value=label" crop="right" flex="1"/>
|
||||
</content>
|
||||
|
||||
<handlers>
|
||||
<handler event="mouseover">
|
||||
this.parentNode.selectedIndex = this.getAttribute("engineIndex");
|
||||
</handler>
|
||||
|
||||
<handler event="mouseout">
|
||||
this.parentNode.selectedIndex = null;
|
||||
</handler>
|
||||
</handlers>
|
||||
</binding>
|
||||
|
||||
</bindings>
|
@ -1,412 +0,0 @@
|
||||
/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.1 (the "License"); you may not use this file except in
|
||||
* compliance with the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications Corporation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 1998
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Alec Flett <alecf@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 NPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the NPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
/**
|
||||
* 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";
|
||||
|
||||
function toggleOfflineStatus()
|
||||
{
|
||||
var checkfunc;
|
||||
try {
|
||||
checkfunc = document.getElementById("offline-status").getAttribute('checkfunc');
|
||||
}
|
||||
catch (ex) {
|
||||
checkfunc = null;
|
||||
}
|
||||
|
||||
var ioService = Components.classes[kIOServiceProgID]
|
||||
.getService(Components.interfaces.nsIIOService);
|
||||
if (checkfunc) {
|
||||
if (!eval(checkfunc)) {
|
||||
// the pre-offline check function returned false, so don't go offline
|
||||
return;
|
||||
}
|
||||
}
|
||||
ioService.offline = !ioService.offline;
|
||||
}
|
||||
|
||||
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();
|
||||
prefService = prefService.QueryInterface(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");
|
||||
panel.setAttribute("tooltiptext", bundle.GetStringFromName("offlineTooltip"));
|
||||
broadcaster.setAttribute("label", bundle.GetStringFromName("goonline"));
|
||||
}
|
||||
else
|
||||
{
|
||||
broadcaster.removeAttribute("offline");
|
||||
panel.setAttribute("tooltiptext", bundle.GetStringFromName("onlineTooltip"));
|
||||
broadcaster.setAttribute("label", bundle.GetStringFromName("gooffline"));
|
||||
}
|
||||
}
|
||||
|
||||
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 goPageSetup(domwin, printSettings)
|
||||
{
|
||||
try {
|
||||
if (printSettings == null) {
|
||||
alert("PrintSettings arg is null!");
|
||||
}
|
||||
|
||||
// This code calls the printoptions service to bring up the printoptions
|
||||
// dialog. This will be an xp dialog if the platform did not override
|
||||
// the ShowPrintSetupDialog method.
|
||||
var printingPromptService = Components.classes["@mozilla.org/embedcomp/printingprompt-service;1"]
|
||||
.getService(Components.interfaces.nsIPrintingPromptService);
|
||||
printingPromptService.showPageSetup(domwin, printSettings, null);
|
||||
return true;
|
||||
} catch(e) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
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 );
|
||||
}
|
||||
|
||||
// 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');
|
||||
}
|
||||
|
||||
// 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');
|
||||
}
|
||||
|
||||
// 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.nodeName == "#text" ) {
|
||||
// Add this text to our collection.
|
||||
text += " " + node.data;
|
||||
} else if ( node.nodeType == Node.ELEMENT_NODE
|
||||
&& node.localName.toUpperCase() == "IMG" ) {
|
||||
// If it has an alt= attribute, use that.
|
||||
var altText = node.getAttribute( "alt" );
|
||||
if ( altText && altText != "" ) {
|
||||
text = altText;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// 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 our next oldest uncle/aunt.
|
||||
node = node.parentNode.nextSibling;
|
||||
depth--;
|
||||
}
|
||||
}
|
||||
}
|
||||
// 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");
|
||||
}
|
||||
}
|
||||
|
||||
function utilityOnLoad(aEvent)
|
||||
{
|
||||
var broadcaster = document.getElementById("Communicator:WorkMode");
|
||||
if (!broadcaster) return;
|
||||
|
||||
var observerService = Components.classes[kObserverServiceProgID]
|
||||
.getService(Components.interfaces.nsIObserverService);
|
||||
|
||||
// crude way to prevent registering twice.
|
||||
try {
|
||||
observerService.removeObserver(offlineObserver, "network:offline-status-changed");
|
||||
}
|
||||
catch (ex) {
|
||||
}
|
||||
observerService.addObserver(offlineObserver, "network:offline-status-changed", false);
|
||||
// make sure we remove this observer later
|
||||
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");
|
||||
}
|
||||
|
||||
addEventListener("load",utilityOnLoad,true);
|
@ -1,178 +0,0 @@
|
||||
<?xml version="1.0"?> <!-- -*- Mode: HTML -*- -->
|
||||
<?xml-stylesheet href="chrome://navigator/skin/" type="text/css"?>
|
||||
|
||||
<!--
|
||||
- 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 viewsource frontend.
|
||||
-
|
||||
- The Initial Developer of the Original Code is Netscape
|
||||
- Communications Corporation. Portions created by Netscape are
|
||||
- Copyright (C) 2000 Netscape Communications Corporation. All
|
||||
- Rights Reserved.
|
||||
-
|
||||
- Contributor(s):
|
||||
- Doron Rosenberg (doronr@naboonline.com)
|
||||
-->
|
||||
|
||||
<?xul-overlay href="chrome://browser/content/navigatorOverlay.xul"?>
|
||||
|
||||
<!DOCTYPE window [
|
||||
<!ENTITY % brandDTD SYSTEM "chrome://global/locale/brand.dtd" >
|
||||
%brandDTD;
|
||||
<!ENTITY % sourceDTD SYSTEM "chrome://browser/locale/viewSource.dtd" >
|
||||
%sourceDTD;
|
||||
<!ENTITY % navigatorDTD SYSTEM "chrome://browser/locale/navigator.dtd" >
|
||||
%navigatorDTD;
|
||||
<!ENTITY % contentAreaCommandsDTD SYSTEM "chrome://communicator/locale/contentAreaCommands.dtd" >
|
||||
%contentAreaCommandsDTD;
|
||||
]>
|
||||
|
||||
<window id="main-window"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
onload="onLoadViewSource();"
|
||||
contenttitlesetting="true"
|
||||
title="&mainWindow.title;"
|
||||
titlemodifier="&mainWindow.titlemodifier;"
|
||||
titlepreface="&mainWindow.preface;"
|
||||
titlemenuseparator ="&mainWindow.titlemodifierseparator;"
|
||||
windowtype="navigator:view-source"
|
||||
width="640" height="480"
|
||||
screenX="10" screenY="10"
|
||||
persist="screenX screenY width height sizemode">
|
||||
|
||||
<script type="application/x-javascript" src="chrome://global/content/nsJSSupportsUtils.js"/>
|
||||
<script type="application/x-javascript" src="chrome://global/content/nsJSComponentManager.js"/>
|
||||
<script type="application/x-javascript" src="chrome://global/content/nsTransferable.js"/>
|
||||
<script type="application/x-javascript" src="chrome://global/content/nsDragAndDrop.js"/>
|
||||
<script type="application/x-javascript" src="chrome://communicator/content/contentAreaDD.js"/>
|
||||
<script type="application/x-javascript" src="chrome://browser/content/browser.js"/>
|
||||
<script type="application/x-javascript" src="chrome://browser/content/viewsource.js"/>
|
||||
<script type="application/x-javascript" src="chrome://communicator/content/findUtils.js"/>
|
||||
<script type="application/x-javascript" src="chrome://communicator/content/contentAreaUtils.js"/>
|
||||
|
||||
<commandset id="commands">
|
||||
<commandset id="globalEditMenuItems"/>
|
||||
<commandset id="selectEditMenuItems"/>
|
||||
<commandset id="clipboardEditMenuItems"/>
|
||||
<commandset id="viewSourceMenuItems">
|
||||
<command id="cmdWrapLongLines" oncommand="wrapLongLines()"/>
|
||||
<command id="cmd_close" oncommand="ViewSourceClose()"/>
|
||||
<command id="cmd_savePage" oncommand="ViewSourceSavePage();"/>
|
||||
</commandset>
|
||||
</commandset>
|
||||
|
||||
<stringbundleset id="stringbundleset">
|
||||
<stringbundle id="findBundle" src="chrome://global/locale/finddialog.properties"/>
|
||||
</stringbundleset>
|
||||
|
||||
<!-- keys are appended from the overlay -->
|
||||
<keyset id="viewSourceKeys">
|
||||
<!-- File Menu -->
|
||||
<key id="key_newNavigator"/>
|
||||
<key id="key_newBlankPage"/>
|
||||
<key id="key_savePage" key="&savePageCmd.commandkey;" command="cmd_savePage" modifiers="accel"/>
|
||||
<key id="key_editPage" key="&editPageCmd.commandkey;" command="Browser:EditPage" modifiers="accel"/>
|
||||
<key id="printKb" key="&printCmd.commandkey;" command="Browser:Print" modifiers="accel"/>
|
||||
<key id="key_close"/>
|
||||
|
||||
<!-- Edit Menu -->
|
||||
<key id="key_undo"/>
|
||||
<key id="key_redo"/>
|
||||
<key id="key_cut"/>
|
||||
<key id="key_copy"/>
|
||||
<key id="key_paste"/>
|
||||
<key id="key_delete"/>
|
||||
<key id="key_selectAll"/>
|
||||
<key id="key_find" key="&findOnCmd.commandkey;" command="Browser:Find" modifiers="accel"/>
|
||||
<key id="key_findAgain" key="&findAgainCmd.commandkey;" command="Browser:FindAgain" modifiers="accel"/>
|
||||
<keyset id="viewZoomKeys"/>
|
||||
</keyset>
|
||||
|
||||
<!-- context menu -->
|
||||
<popupset id="viewSourceContextSet">
|
||||
<popup id="viewSourceContextMenu">
|
||||
<menuitem label="&findNextCmd.label;" accesskey="&findNextCmd.accesskey;" command="Browser:FindAgain"/>
|
||||
<menuseparator/>
|
||||
<menuitem id="menu_copy_cm" label="©Cmd.label;" accesskey="©Cmd.accesskey;" command="cmd_copy"/>
|
||||
<menuseparator/>
|
||||
<menuitem id="menu_selectAll_cm" label="&selectAllCmd.label;" accesskey="&selectAllCmd.accesskey;" command="cmd_selectAll"/>
|
||||
</popup>
|
||||
</popupset>
|
||||
|
||||
<!-- Menu -->
|
||||
<toolbox>
|
||||
<menubar id="zmain-menubar">
|
||||
<menu id="menu_File">
|
||||
<menupopup id="filemenu-popup">
|
||||
<menuitem label="&browserCmd.label;" accesskey="&browserCmd.accesskey;" key="key_newNavigator" command="cmd_newNavigator"/>
|
||||
<menu id="menu_New">
|
||||
<menupopup id="menu_NewPopup">
|
||||
<menuitem id="menu_newNavigator" command="cmd_newNavigator"/>
|
||||
<menuitem id="menu_newEditor" command="cmd_newEditor"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
|
||||
<menuseparator/>
|
||||
|
||||
<menuitem id="menu_close"/>
|
||||
<menuitem label="&savePageCmd.label;" accesskey="&savePageCmd.accesskey;" key="key_savePage" command="cmd_savePage"/>
|
||||
<menuitem id="savepage" label="&saveFrameCmd.label;" accesskey="&saveFrameCmd.accesskey;" oncommand="ViewSourceSavePage();" hidden="true"/>
|
||||
<menuseparator/>
|
||||
<menuitem label="&editPageCmd.label;" accesskey="&editPageCmd.accesskey;" key="key_editPage" oncommand="ViewSourceEditPage();"/>
|
||||
|
||||
<menuseparator/>
|
||||
<menuitem label="&printCmd.label;" accesskey="&printCmd.accesskey;" key="printKb" command="Browser:Print"/>
|
||||
<!-- <menuitem accesskey="&printPreviewCmd.accesskey;" observes="Browser:PrintPreview"/> -->
|
||||
</menupopup>
|
||||
</menu>
|
||||
|
||||
<menu id="menu_Edit">
|
||||
<menupopup>
|
||||
<menuitem id="menu_undo"/>
|
||||
<menuitem id="menu_redo"/>
|
||||
<menuseparator/>
|
||||
<menuitem id="menu_cut"/>
|
||||
<menuitem id="menu_copy"/>
|
||||
<menuitem id="menu_paste"/>
|
||||
<menuitem id="menu_delete"/>
|
||||
<menuseparator/>
|
||||
<menuitem id="menu_selectAll"/>
|
||||
<menuseparator />
|
||||
<menuitem id="menu_find" label="&findOnCmd.label;" accesskey="&findOnCmd.accesskey;" key="key_find" command="Browser:Find"/>
|
||||
<menuitem id="menu_findAgain" label="&findAgainCmd.label;" accesskey="&findAgainCmd.accesskey;" key="key_findAgain" command="Browser:FindAgain"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
|
||||
<menu id="menu_view" accesskey="&viewMenu.accesskey;" label="&viewMenu.label;">
|
||||
<menupopup>
|
||||
<menu id="menu_textZoom"/>
|
||||
<menuseparator/>
|
||||
<!-- <menuitem accesskey="&pageInfoCmd.accesskey;" label="&pageInfoCmd.label;" key="key_viewInfo" observes="View:PageInfo"/>
|
||||
<menuseparator id="file_moduleSeparator"/>-->
|
||||
<menu id = "charsetMenu"/>
|
||||
<menuitem id="menu_wrapLongLines" label="&menu_wrapLongLines.title;" type="checkbox" command="cmdWrapLongLines"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
|
||||
<menu id="menu_Help"/>
|
||||
</menubar>
|
||||
</toolbox>
|
||||
|
||||
<vbox id="appcontent" flex="1"
|
||||
ondragdrop="nsDragAndDrop.drop(event, contentAreaDNDObserver);">
|
||||
|
||||
<browser id="content" type="content-primary" name="content" src="about:blank" flex="1"
|
||||
context="viewSourceContextMenu"/>
|
||||
|
||||
</vbox>
|
||||
|
||||
</window>
|
@ -1,143 +0,0 @@
|
||||
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
* 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 Netscape are
|
||||
* Copyright (C) Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Doron Rosenberg (doronr@naboonline.com)
|
||||
*/
|
||||
|
||||
var gBrowser = null;
|
||||
var appCore = null;
|
||||
var gPrefs = null;
|
||||
|
||||
try {
|
||||
var prefService = Components.classes["@mozilla.org/preferences-service;1"]
|
||||
.getService(Components.interfaces.nsIPrefService);
|
||||
gPrefs = prefService.getBranch(null);
|
||||
} catch (ex) {
|
||||
}
|
||||
|
||||
function onLoadViewSource()
|
||||
{
|
||||
viewSource(window.arguments[0]);
|
||||
window._content.focus();
|
||||
}
|
||||
|
||||
function getBrowser()
|
||||
{
|
||||
if (!gBrowser)
|
||||
gBrowser = document.getElementById("content");
|
||||
return gBrowser;
|
||||
}
|
||||
|
||||
function viewSource(url)
|
||||
{
|
||||
if (!url)
|
||||
return false; // throw Components.results.NS_ERROR_FAILURE;
|
||||
|
||||
try {
|
||||
appCore = Components.classes["@mozilla.org/appshell/component/browser/instance;1"]
|
||||
.createInstance(Components.interfaces.nsIBrowserInstance);
|
||||
|
||||
// Initialize browser instance..
|
||||
appCore.setWebShellWindow(window);
|
||||
} catch(ex) {
|
||||
// Give up.
|
||||
window.close();
|
||||
return false;
|
||||
}
|
||||
|
||||
try {
|
||||
if ("arguments" in window && window.arguments.length >= 2) {
|
||||
if (window.arguments[1].indexOf('charset=') != -1) {
|
||||
var arrayArgComponents = window.arguments[1].split('=');
|
||||
if (arrayArgComponents) {
|
||||
//we should "inherit" the charset menu setting in a new window
|
||||
getMarkupDocumentViewer().defaultCharacterSet = arrayArgComponents[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch(ex) {
|
||||
}
|
||||
|
||||
var loadFlags = Components.interfaces.nsIWebNavigation.LOAD_FLAGS_NONE;
|
||||
var viewSrcUrl = "view-source:" + url;
|
||||
getBrowser().webNavigation.loadURI(viewSrcUrl, loadFlags, null, null, null);
|
||||
|
||||
//check the view_source.wrap_long_lines pref and set the menuitem's checked attribute accordingly
|
||||
if (gPrefs) {
|
||||
try {
|
||||
var wraplonglinesPrefValue = gPrefs.getBoolPref("view_source.wrap_long_lines");
|
||||
|
||||
if (wraplonglinesPrefValue)
|
||||
document.getElementById('menu_wrapLongLines').setAttribute("checked", "true");
|
||||
} catch (ex) {
|
||||
}
|
||||
}
|
||||
|
||||
window._content.focus();
|
||||
return true;
|
||||
}
|
||||
|
||||
function ViewSourceClose()
|
||||
{
|
||||
window.close();
|
||||
}
|
||||
|
||||
// Strips the |view-source:| for editPage()
|
||||
function ViewSourceEditPage()
|
||||
{
|
||||
var url = window._content.location.href;
|
||||
url = url.substring(12,url.length);
|
||||
editPage(url,window, false);
|
||||
}
|
||||
|
||||
// Strips the |view-source:| for saveURL()
|
||||
function ViewSourceSavePage()
|
||||
{
|
||||
var url = window._content.document.location.href;
|
||||
url = url.substring(12,url.length);
|
||||
|
||||
saveURL(url, null, "SaveLinkTitle");
|
||||
}
|
||||
|
||||
//function to toggle long-line wrapping and set the view_source.wrap_long_lines
|
||||
//pref to persist the last state
|
||||
function wrapLongLines()
|
||||
{
|
||||
//get the first pre tag which surrounds the entire viewsource content
|
||||
var myWrap = window._content.document.getElementById('viewsource');
|
||||
|
||||
if (myWrap.className == '')
|
||||
myWrap.className = 'wrap';
|
||||
else myWrap.className = '';
|
||||
|
||||
//since multiple viewsource windows are possible, another window could have
|
||||
//affected the pref, so instead of determining the new pref value via the current
|
||||
//pref value, we use myWrap.className
|
||||
if (gPrefs){
|
||||
try {
|
||||
if (myWrap.className == '') {
|
||||
gPrefs.setBoolPref("view_source.wrap_long_lines", false);
|
||||
}
|
||||
else {
|
||||
gPrefs.setBoolPref("view_source.wrap_long_lines", true);
|
||||
}
|
||||
} catch (ex) {
|
||||
}
|
||||
}
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<bindings id="toolbarBindings"
|
||||
xmlns="http://www.mozilla.org/xbl"
|
||||
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:xbl="http://www.mozilla.org/xbl">
|
||||
|
||||
<binding id="toolbar-base">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/toolbar.css"/>
|
||||
</resources>
|
||||
</binding>
|
||||
|
||||
<binding id="toolbar" extends="chrome://global/content/bindings/toolbar.xml#toolbar-base">
|
||||
<content>
|
||||
<xul:hbox flex="1" class="toolbar-holder" align="center"
|
||||
xbl:inherits="collapsed,last-toolbar,orient=tborient,align=tbalign,pack=tbpack">
|
||||
<children/>
|
||||
</xul:hbox>
|
||||
</content>
|
||||
</binding>
|
||||
|
||||
<binding id="menubar" extends="xul:menubar">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/toolbar.css"/>
|
||||
</resources>
|
||||
<content>
|
||||
<xul:hbox flex="1" class="toolbar-holder" xbl:inherits="collapsed,last-toolbar" align="center">
|
||||
<children/>
|
||||
</xul:hbox>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIAccessibleProvider">
|
||||
<property name="accessible">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
|
||||
return accService.createXULMenubarAccessible(this);
|
||||
]]>
|
||||
</getter>
|
||||
</property>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="toolbarseparator" extends="chrome://global/content/bindings/toolbar.xml#toolbar-base"/>
|
||||
|
||||
</bindings>
|
||||
|
@ -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:navigator-platform"/>
|
||||
</RDF:Seq>
|
||||
|
||||
<!-- package information -->
|
||||
<RDF:Description about="urn:mozilla:package:navigator-platform"
|
||||
chrome:displayName="Windows Specific Resources"
|
||||
chrome:author="mozilla.org"
|
||||
chrome:name="navigator-platform"
|
||||
chrome:localeVersion="0.9.9">
|
||||
</RDF:Description>
|
||||
</RDF:RDF>
|
@ -1,3 +0,0 @@
|
||||
comm.jar:
|
||||
content/navigator-platform/contents.rdf (contents-platform.rdf)
|
||||
content/navigator/platformNavigationBindings.xul
|
@ -1,29 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<overlay id="platformNavigationBindings"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
|
||||
<keyset id="navigationKeys">
|
||||
<!-- back and forward accelerators on Windows, strangely enough, are
|
||||
Alt+Left arrow and Alt+Right arrow. -->
|
||||
<key id="goBackKb" keycode="VK_LEFT" command="Browser:Back" modifiers="alt"/>
|
||||
<key id="goForwardKb" keycode="VK_RIGHT" command="Browser:Forward" modifiers="alt"/>
|
||||
|
||||
<!-- Supporting IE forward and back accelerators out of courtesy
|
||||
to transitioning IE users -->
|
||||
<key keycode="VK_BACK" command="Browser:Back"/>
|
||||
<key keycode="VK_BACK" command="Browser:Forward" modifiers="shift"/>
|
||||
|
||||
<!-- Supporting IE 'refresh' shortcut key -->
|
||||
<key keycode="VK_F5" oncommand="BrowserReload();"/>
|
||||
<key keycode="VK_F5" modifiers="control" oncommand="BrowserReloadSkipCache();"/>
|
||||
|
||||
<key id="goHome" keycode="VK_HOME" command="Browser:Home" modifiers="alt"/>
|
||||
|
||||
<key id="key_fullScreen" keycode="VK_F11" command="View:FullScreen"/>
|
||||
</keyset>
|
||||
|
||||
<menuitem id="menuitem_fullScreen" hidden="false"/>
|
||||
</overlay>
|
||||
|
||||
|
@ -1,787 +0,0 @@
|
||||
/** this should only contain XUL dialog and document window widget defaults. Defaults for widgets of
|
||||
a particular application should be in that application's style sheet.
|
||||
For example style definitions for navigator can be found in navigator.css
|
||||
|
||||
THIS FILE IS LOCKED DOWN. YOU ARE NOT ALLOWED TO MODIFY IT WITHOUT FIRST HAVING YOUR
|
||||
CHANGES REVIEWED BY hyatt@netscape.com.
|
||||
**/
|
||||
|
||||
@import url("chrome://global/content/platformXUL.css");
|
||||
|
||||
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* set default namespace to XUL */
|
||||
@namespace html url("http://www.w3.org/1999/xhtml"); /* namespace for HTML elements */
|
||||
@namespace xbl url("http://www.mozilla.org/xbl"); /* namespace for XBL elements */
|
||||
|
||||
* {
|
||||
-moz-user-focus: ignore;
|
||||
display: -moz-box;
|
||||
}
|
||||
|
||||
/* hide the content and destroy the frame */
|
||||
*[hidden="true"] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* hide the content, but don't destroy the frames */
|
||||
*[collapsed="true"],
|
||||
*[moz-collapsed="true"] {
|
||||
visibility: collapse;
|
||||
}
|
||||
|
||||
|
||||
/* ::::::::::
|
||||
:: Rules for 'hiding' portions of the chrome for special
|
||||
:: kinds of windows (not JUST browser windows) with toolbars
|
||||
::::: */
|
||||
|
||||
window[chromehidden~="menubar"] .chromeclass-menubar,
|
||||
window[chromehidden~="directories"] .chromeclass-directories,
|
||||
window[chromehidden~="status"] .chromeclass-status,
|
||||
window[chromehidden~="extrachrome"] .chromeclass-extrachrome,
|
||||
window[chromehidden~="location"] .chromeclass-location,
|
||||
window[chromehidden~="location"][chromehidden~="toolbar"] .chromeclass-toolbar
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
/****** elements that have no visual representation ******/
|
||||
|
||||
data,
|
||||
xbl|children,
|
||||
commands, commandset, command,
|
||||
broadcasterset, broadcaster, observes,
|
||||
keyset, key,
|
||||
template, rule, conditions, action,
|
||||
bindings, binding, content, member, triple,
|
||||
treechildren, treeitem, treeseparator, treerow, treecell {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/********** focus rules **********/
|
||||
|
||||
button,
|
||||
checkbox,
|
||||
colorpicker[type="button"],
|
||||
menulist,
|
||||
radiogroup,
|
||||
tree,
|
||||
browser,
|
||||
editor,
|
||||
iframe {
|
||||
-moz-user-focus: normal;
|
||||
}
|
||||
|
||||
menulist[editable] {
|
||||
-moz-user-focus: ignore;
|
||||
}
|
||||
|
||||
treecol,
|
||||
treerows,
|
||||
radio {
|
||||
-moz-user-focus: none;
|
||||
}
|
||||
|
||||
/******** window & page ******/
|
||||
|
||||
window,
|
||||
page {
|
||||
overflow: hidden;
|
||||
-moz-box-orient: vertical;
|
||||
}
|
||||
|
||||
/******** box *******/
|
||||
|
||||
vbox {
|
||||
-moz-box-orient: vertical;
|
||||
}
|
||||
|
||||
/********** button **********/
|
||||
|
||||
button {
|
||||
-moz-binding: url("chrome://global/content/bindings/button.xml#button");
|
||||
}
|
||||
|
||||
button[type="menu"] {
|
||||
-moz-binding: url("chrome://global/content/bindings/button.xml#menu");
|
||||
}
|
||||
|
||||
button[type="menu-button"] {
|
||||
-moz-binding: url("chrome://global/content/bindings/button.xml#menu-button");
|
||||
}
|
||||
|
||||
/********** toolbarbutton **********/
|
||||
|
||||
toolbarbutton {
|
||||
-moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#toolbarbutton");
|
||||
}
|
||||
|
||||
toolbarbutton[type="menu"] {
|
||||
-moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#menu");
|
||||
}
|
||||
|
||||
toolbarbutton[type="menu-button"] {
|
||||
-moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#menu-button");
|
||||
}
|
||||
|
||||
dropmarker[type="menu-button"] {
|
||||
-moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#dropmarker");
|
||||
}
|
||||
|
||||
/******** browser, editor, iframe ********/
|
||||
|
||||
browser,
|
||||
editor,
|
||||
iframe {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
browser {
|
||||
-moz-binding: url("chrome://global/content/bindings/browser.xml#browser");
|
||||
}
|
||||
|
||||
tabbrowser {
|
||||
-moz-binding: url("chrome://global/content/bindings/tabbrowser.xml#tabbrowser");
|
||||
}
|
||||
|
||||
editor {
|
||||
-moz-binding: url("chrome://global/content/bindings/general.xml#editor");
|
||||
}
|
||||
|
||||
iframe {
|
||||
-moz-binding: url("chrome://global/content/bindings/general.xml#iframe");
|
||||
}
|
||||
|
||||
/********** image **********/
|
||||
|
||||
image {
|
||||
-moz-binding: url("chrome://global/content/bindings/general.xml#image");
|
||||
}
|
||||
|
||||
/********** checkbox **********/
|
||||
|
||||
checkbox {
|
||||
-moz-binding: url("chrome://global/content/bindings/checkbox.xml#checkbox");
|
||||
}
|
||||
|
||||
/********** radio **********/
|
||||
|
||||
radiogroup {
|
||||
-moz-binding: url("chrome://global/content/bindings/radio.xml#radiogroup");
|
||||
-moz-box-orient: vertical;
|
||||
-moz-box-align: start;
|
||||
}
|
||||
|
||||
radio {
|
||||
-moz-binding: url("chrome://global/content/bindings/radio.xml#radio");
|
||||
}
|
||||
|
||||
/******** groupbox *********/
|
||||
|
||||
groupbox {
|
||||
-moz-binding: url("chrome://global/content/bindings/groupbox.xml#groupbox");
|
||||
display: -moz-groupbox;
|
||||
}
|
||||
|
||||
caption {
|
||||
-moz-binding: url("chrome://global/content/bindings/groupbox.xml#caption");
|
||||
}
|
||||
|
||||
.groupbox-body {
|
||||
-moz-box-pack: inherit;
|
||||
-moz-box-align: inherit;
|
||||
-moz-box-orient: vertical;
|
||||
}
|
||||
|
||||
/******* toolbar *******/
|
||||
|
||||
toolbox {
|
||||
-moz-box-orient: vertical;
|
||||
}
|
||||
|
||||
toolbar {
|
||||
-moz-binding: url("chrome://global/content/widgets/toolbar.xml#toolbar");
|
||||
}
|
||||
|
||||
toolbarseparator {
|
||||
-moz-binding: url("chrome://global/content/widgets/toolbar.xml#toolbarseparator");
|
||||
}
|
||||
|
||||
/********* menubar ***********/
|
||||
|
||||
menubar {
|
||||
-moz-binding: url("chrome://global/content/widgets/toolbar.xml#menubar");
|
||||
}
|
||||
|
||||
/********* menu ***********/
|
||||
|
||||
menubar > menu {
|
||||
-moz-binding: url("chrome://global/content/bindings/menu.xml#menu-menubar");
|
||||
}
|
||||
|
||||
menubar > menu.menu-iconic {
|
||||
-moz-binding: url("chrome://global/content/bindings/menu.xml#menu-menubar-iconic");
|
||||
}
|
||||
|
||||
menu {
|
||||
-moz-binding: url("chrome://global/content/bindings/menu.xml#menu");
|
||||
}
|
||||
|
||||
menu.menu-iconic {
|
||||
-moz-binding: url("chrome://global/content/bindings/menu.xml#menu-iconic");
|
||||
}
|
||||
|
||||
/********* menuitem ***********/
|
||||
|
||||
menuitem {
|
||||
-moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem");
|
||||
}
|
||||
|
||||
menuitem.menuitem-iconic {
|
||||
-moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem-iconic");
|
||||
}
|
||||
|
||||
menuitem[type="checkbox"],
|
||||
menuitem[type="radio"] {
|
||||
-moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem-iconic");
|
||||
}
|
||||
|
||||
menuitem.menuitem-non-iconic {
|
||||
-moz-binding: url("chrome://global/content/bindings/menu.xml#menubutton-item");
|
||||
}
|
||||
|
||||
/********* menuseparator ***********/
|
||||
|
||||
menuseparator {
|
||||
-moz-binding: url("chrome://global/content/bindings/menu.xml#menuseparator");
|
||||
}
|
||||
|
||||
/********* popup & menupopup ***********/
|
||||
|
||||
/* <popup> is deprecated. Only <menupopup> and <tooltip> are still valid. */
|
||||
|
||||
popup,
|
||||
menupopup {
|
||||
-moz-binding: url("chrome://global/content/bindings/popup.xml#popup");
|
||||
-moz-box-orient: vertical;
|
||||
display: none;
|
||||
}
|
||||
|
||||
popup,
|
||||
menupopup,
|
||||
tooltip {
|
||||
z-index: 2147483647;
|
||||
}
|
||||
|
||||
menupopup[menugenerated="true"],
|
||||
popup[menugenerated="true"],
|
||||
tooltip[menugenerated="true"] {
|
||||
display: -moz-popup;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
-moz-binding: url("chrome://global/content/bindings/popup.xml#tooltip");
|
||||
display: -moz-popup;
|
||||
margin-top: 21px;
|
||||
}
|
||||
|
||||
/********** floating popups **********/
|
||||
|
||||
/*
|
||||
titlebar {
|
||||
-moz-binding: url("chrome://global/content/bindings/popup.xml#titlebar");
|
||||
}
|
||||
|
||||
resizer[resizerdirection="right"] {
|
||||
-moz-binding: url("chrome://global/content/bindings/popup.xml#ew-resizer");
|
||||
}
|
||||
|
||||
resizer[resizerdirection="bottom"] {
|
||||
-moz-binding: url("chrome://global/content/bindings/popup.xml#ns-resizer");
|
||||
}
|
||||
|
||||
resizer[resizerdirection="bottomright"] {
|
||||
-moz-binding: url("chrome://global/content/bindings/popup.xml#diag-resizer");
|
||||
}
|
||||
|
||||
floatingwindow {
|
||||
-moz-binding: url("chrome://global/content/bindings/popup.xml#floater-normal");
|
||||
-moz-box-orient: vertical;
|
||||
display: none;
|
||||
z-index: 2147483647;
|
||||
}
|
||||
|
||||
floatingwindow[docked="left"] {
|
||||
-moz-binding: url("chrome://global/content/bindings/popup.xml#floater-dock-left");
|
||||
}
|
||||
|
||||
button.popupClose {
|
||||
-moz-binding: url("chrome://global/content/bindings/popup.xml#close-button") !important;
|
||||
}
|
||||
*/
|
||||
/******** grid **********/
|
||||
|
||||
grid {
|
||||
display: -moz-grid;
|
||||
}
|
||||
|
||||
rows,
|
||||
columns {
|
||||
display: -moz-grid-group;
|
||||
}
|
||||
|
||||
row,
|
||||
column {
|
||||
display: -moz-grid-line;
|
||||
}
|
||||
|
||||
rows {
|
||||
-moz-box-orient: vertical;
|
||||
}
|
||||
|
||||
column {
|
||||
-moz-box-orient: vertical;
|
||||
}
|
||||
|
||||
/******** listbox **********/
|
||||
|
||||
listbox {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listbox");
|
||||
}
|
||||
|
||||
listcols, listcol {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listbox-base");
|
||||
}
|
||||
|
||||
listhead {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listhead");
|
||||
}
|
||||
|
||||
listrows {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listrows");
|
||||
}
|
||||
|
||||
listitem {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem");
|
||||
}
|
||||
|
||||
listitem[type="checkbox"] {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem-checkbox");
|
||||
}
|
||||
|
||||
listheader {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listheader");
|
||||
}
|
||||
|
||||
listcell {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell");
|
||||
}
|
||||
|
||||
listcell[type="checkbox"] {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell-checkbox");
|
||||
}
|
||||
|
||||
.listitem-iconic {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem-iconic");
|
||||
}
|
||||
|
||||
listitem[type="checkbox"].listitem-iconic {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem-checkbox-iconic");
|
||||
}
|
||||
|
||||
.listcell-iconic {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell-iconic");
|
||||
}
|
||||
|
||||
listcell[type="checkbox"].listcell-iconic {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell-checkbox-iconic");
|
||||
}
|
||||
|
||||
listbox {
|
||||
display: -moz-grid;
|
||||
}
|
||||
|
||||
listbox[rows] {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
listcols, listhead, listrows, listboxbody {
|
||||
display: -moz-grid-group;
|
||||
}
|
||||
|
||||
listcol, listitem, listheaditem {
|
||||
display: -moz-grid-line;
|
||||
}
|
||||
|
||||
listbox {
|
||||
-moz-user-focus: normal;
|
||||
-moz-box-orient: vertical;
|
||||
min-width: 0px;
|
||||
min-height: 0px;
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
listhead, listrows, listboxbody {
|
||||
-moz-user-focus: none;
|
||||
}
|
||||
|
||||
listhead {
|
||||
-moz-box-orient: vertical;
|
||||
}
|
||||
|
||||
listrows {
|
||||
-moz-box-orient: vertical;
|
||||
-moz-box-flex: 1;
|
||||
}
|
||||
|
||||
listboxbody {
|
||||
-moz-box-orient: vertical;
|
||||
-moz-box-flex: 1;
|
||||
overflow: auto;
|
||||
min-height: 0px;
|
||||
}
|
||||
|
||||
listcol {
|
||||
-moz-box-orient: vertical;
|
||||
min-width: 16px;
|
||||
width: 16px;
|
||||
}
|
||||
|
||||
listcell {
|
||||
-moz-box-align: center;
|
||||
}
|
||||
|
||||
/******** tree ******/
|
||||
|
||||
tree {
|
||||
-moz-binding: url("chrome://global/content/bindings/tree.xml#tree");
|
||||
}
|
||||
|
||||
treecols {
|
||||
-moz-binding: url("chrome://global/content/bindings/tree.xml#treecols");
|
||||
}
|
||||
|
||||
treecol {
|
||||
-moz-binding: url("chrome://global/content/bindings/tree.xml#treecol");
|
||||
}
|
||||
|
||||
treecol.treecol-image {
|
||||
-moz-binding: url("chrome://global/content/bindings/tree.xml#treecol-image");
|
||||
}
|
||||
|
||||
tree > treechildren {
|
||||
display: -moz-box;
|
||||
-moz-binding: url("chrome://global/content/bindings/tree.xml#treebody");
|
||||
-moz-user-focus: none;
|
||||
-moz-user-select: none;
|
||||
-moz-box-flex: 1;
|
||||
}
|
||||
|
||||
treerows {
|
||||
-moz-binding: url("chrome://global/content/bindings/tree.xml#treerows");
|
||||
}
|
||||
|
||||
treecolpicker {
|
||||
-moz-binding: url("chrome://global/content/bindings/tree.xml#columnpicker");
|
||||
}
|
||||
|
||||
tree {
|
||||
-moz-box-orient: vertical;
|
||||
-moz-user-select: none;
|
||||
min-width: 0px;
|
||||
min-height: 0px;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
tree[hidecolumnpicker="true"] > treecols > treecolpicker {
|
||||
display: none;
|
||||
}
|
||||
|
||||
treecol {
|
||||
min-width: 16px;
|
||||
}
|
||||
|
||||
treecol[hidden="true"] {
|
||||
visibility: collapse;
|
||||
display: -moz-box;
|
||||
}
|
||||
|
||||
/********** deck & stack *********/
|
||||
|
||||
deck {
|
||||
display: -moz-deck;
|
||||
-moz-binding: url("chrome://global/content/bindings/general.xml#deck");
|
||||
}
|
||||
|
||||
stack, bulletinboard {
|
||||
display: -moz-stack;
|
||||
}
|
||||
|
||||
:-moz-deck-hidden {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
/********** tabbox *********/
|
||||
|
||||
tabbox {
|
||||
-moz-binding: url("chrome://global/content/bindings/tabbox.xml#tabbox");
|
||||
-moz-box-orient: vertical;
|
||||
}
|
||||
|
||||
tabs {
|
||||
-moz-binding: url("chrome://global/content/bindings/tabbox.xml#tabs");
|
||||
-moz-box-orient: horizontal;
|
||||
}
|
||||
|
||||
tabs[closebutton="true"] {
|
||||
-moz-binding: url("chrome://global/content/bindings/tabbox.xml#tabs-closebutton");
|
||||
}
|
||||
|
||||
tab {
|
||||
-moz-binding: url("chrome://global/content/bindings/tabbox.xml#tab");
|
||||
-moz-box-align: center;
|
||||
-moz-box-pack: center;
|
||||
}
|
||||
|
||||
tabpanels {
|
||||
-moz-binding: url("chrome://global/content/bindings/tabbox.xml#tabpanels");
|
||||
display: -moz-deck;
|
||||
}
|
||||
|
||||
/********** progressmeter **********/
|
||||
|
||||
progressmeter {
|
||||
-moz-binding: url("chrome://global/content/bindings/progressmeter.xml#progressmeter");
|
||||
}
|
||||
|
||||
/********** basic rule for anonymous content that needs to pass box properties through
|
||||
********** to an insertion point parent that holds the real kids **************/
|
||||
|
||||
.box-inherit {
|
||||
-moz-box-orient: inherit;
|
||||
-moz-box-pack: inherit;
|
||||
-moz-box-align: inherit;
|
||||
-moz-box-direction: inherit;
|
||||
}
|
||||
|
||||
/********** label **********/
|
||||
|
||||
spacer {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
description {
|
||||
-moz-binding: url("chrome://global/content/bindings/text.xml#text-base");
|
||||
}
|
||||
|
||||
label {
|
||||
-moz-binding: url("chrome://global/content/bindings/text.xml#text-label");
|
||||
}
|
||||
|
||||
label.text-link {
|
||||
-moz-binding: url("chrome://global/content/bindings/text.xml#text-link");
|
||||
-moz-user-focus: normal;
|
||||
}
|
||||
|
||||
label[control] {
|
||||
-moz-binding: url("chrome://global/content/bindings/text.xml#label-control");
|
||||
}
|
||||
|
||||
/********** textbox **********/
|
||||
|
||||
textbox {
|
||||
-moz-binding: url("chrome://global/content/bindings/textbox.xml#textbox");
|
||||
-moz-user-select: text;
|
||||
}
|
||||
|
||||
textbox[multiline="true"] {
|
||||
-moz-binding: url("chrome://global/content/bindings/textbox.xml#textarea");
|
||||
}
|
||||
|
||||
.textbox-input-box {
|
||||
-moz-binding: url("chrome://global/content/bindings/textbox.xml#input-box");
|
||||
}
|
||||
|
||||
/********** autocomplete textbox **********/
|
||||
|
||||
textbox[type="autocomplete"] {
|
||||
-moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete");
|
||||
}
|
||||
|
||||
.autocomplete-result-popup {
|
||||
-moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-result-popup");
|
||||
}
|
||||
|
||||
.autocomplete-history-popup {
|
||||
-moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-history-popup");
|
||||
}
|
||||
|
||||
.autocomplete-tree {
|
||||
-moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-tree");
|
||||
}
|
||||
|
||||
.autocomplete-treebody {
|
||||
-moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-treebody");
|
||||
}
|
||||
|
||||
.autocomplete-treerows {
|
||||
-moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-treerows");
|
||||
}
|
||||
|
||||
.autocomplete-history-dropmarker {
|
||||
-moz-binding: url("chrome://global/content/autocomplete.xml#history-dropmarker");
|
||||
}
|
||||
|
||||
/********** colorpicker **********/
|
||||
|
||||
colorpicker {
|
||||
-moz-binding: url("chrome://global/content/bindings/colorpicker.xml#colorpicker");
|
||||
}
|
||||
|
||||
colorpicker[type="button"] {
|
||||
-moz-binding: url("chrome://global/content/bindings/colorpicker.xml#colorpicker-button");
|
||||
}
|
||||
|
||||
.colorpickertile {
|
||||
-moz-binding: url("chrome://global/content/bindings/colorpicker.xml#colorpickertile");
|
||||
}
|
||||
|
||||
/********** menulist **********/
|
||||
|
||||
menulist {
|
||||
-moz-binding: url("chrome://global/content/bindings/menulist.xml#menulist");
|
||||
}
|
||||
|
||||
menulist[editable] {
|
||||
-moz-binding: url("chrome://global/content/bindings/menulist.xml#menulist-editable");
|
||||
}
|
||||
|
||||
menulist > menupopup > menuitem {
|
||||
-moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem-iconic-noaccel");
|
||||
}
|
||||
|
||||
dropmarker[type="menu"] {
|
||||
-moz-binding: url("chrome://global/content/bindings/general.xml#dropmarker");
|
||||
}
|
||||
|
||||
/********** splitter **********/
|
||||
|
||||
splitter {
|
||||
-moz-binding: url("chrome://global/content/bindings/splitter.xml#splitter");
|
||||
}
|
||||
|
||||
grippy {
|
||||
-moz-binding: url("chrome://global/content/bindings/splitter.xml#grippy");
|
||||
}
|
||||
|
||||
.tree-splitter {
|
||||
width: 0px;
|
||||
max-width: 0px;
|
||||
}
|
||||
|
||||
/********** scrollbar **********/
|
||||
|
||||
/* Scrollbars are never flipped even if BiDI kicks in. */
|
||||
scrollbar {
|
||||
direction: ltr;
|
||||
}
|
||||
|
||||
thumb
|
||||
{
|
||||
-moz-binding: url(chrome://global/content/bindings/scrollbar.xml#thumb);
|
||||
}
|
||||
|
||||
scrollbar, scrollbarbutton, slider, thumb {
|
||||
-moz-user-select: none;
|
||||
}
|
||||
|
||||
scrollbar[value="hidden"] {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
/******** scrollbox ********/
|
||||
|
||||
scrollbox {
|
||||
-moz-binding: url("chrome://global/content/bindings/scrollbox.xml#scrollbox");
|
||||
}
|
||||
|
||||
arrowscrollbox {
|
||||
-moz-binding: url("chrome://global/content/bindings/scrollbox.xml#arrowscrollbox");
|
||||
}
|
||||
|
||||
autorepeatbutton {
|
||||
-moz-binding: url("chrome://global/content/bindings/scrollbox.xml#autorepeatbutton");
|
||||
}
|
||||
|
||||
/********** statusbar **********/
|
||||
|
||||
statusbar
|
||||
{
|
||||
-moz-binding: url("chrome://global/content/bindings/general.xml#statusbar");
|
||||
}
|
||||
|
||||
statusbarpanel {
|
||||
-moz-binding: url("chrome://global/content/bindings/general.xml#statusbarpanel");
|
||||
}
|
||||
|
||||
.statusbarpanel-iconic {
|
||||
-moz-binding: url("chrome://global/content/bindings/general.xml#statusbarpanel-iconic");
|
||||
}
|
||||
|
||||
/********** spinbuttons ***********/
|
||||
|
||||
spinbuttons {
|
||||
-moz-binding: url("chrome://global/content/bindings/spinbuttons.xml#spinbuttons");
|
||||
}
|
||||
|
||||
/********** stringbundle **********/
|
||||
|
||||
stringbundleset {
|
||||
-moz-binding: url("chrome://global/content/bindings/stringbundle.xml#stringbundleset");
|
||||
visibility: collapse;
|
||||
}
|
||||
|
||||
stringbundle {
|
||||
-moz-binding: url("chrome://global/content/bindings/stringbundle.xml#stringbundle");
|
||||
visibility: collapse;
|
||||
}
|
||||
|
||||
/********** dialog **********/
|
||||
|
||||
dialog {
|
||||
-moz-binding: url("chrome://global/content/bindings/dialog.xml#dialog");
|
||||
-moz-box-orient: vertical;
|
||||
}
|
||||
|
||||
dialogheader {
|
||||
-moz-binding: url("chrome://global/content/bindings/dialog.xml#dialogheader");
|
||||
}
|
||||
|
||||
/********* page ************/
|
||||
|
||||
page {
|
||||
-moz-box-orient: vertical;
|
||||
}
|
||||
|
||||
/********** wizard **********/
|
||||
|
||||
wizard {
|
||||
-moz-binding: url("chrome://global/content/bindings/wizard.xml#wizard");
|
||||
-moz-box-orient: vertical;
|
||||
}
|
||||
|
||||
wizardpage {
|
||||
-moz-binding: url("chrome://global/content/bindings/wizard.xml#wizardpage");
|
||||
-moz-box-orient: vertical;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.wizard-header {
|
||||
-moz-binding: url("chrome://global/content/bindings/wizard.xml#wizard-header");
|
||||
}
|
||||
|
||||
.wizard-buttons {
|
||||
-moz-binding: url("chrome://global/content/bindings/wizard.xml#wizard-buttons");
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
browser.jar:
|
||||
content/browser/contents.rdf (content/contents.rdf)
|
||||
content/browser/pageInfo.js (content/pageInfo.js)
|
||||
content/browser/pageInfo.xul (content/pageInfo.xul)
|
||||
content/browser/browser.xul (content/browser.xul)
|
||||
content/browser/browser.js (content/browser.js)
|
||||
content/browser/urlbarBindings.xml (content/urlbarBindings.xml)
|
||||
content/browser/metadata.xul (content/metadata.xul)
|
||||
content/browser/metadata.js (content/metadata.js)
|
||||
content/browser/turboDialog.xul (content/turboDialog.xul)
|
||||
content/browser/viewsource.js (content/viewsource.js)
|
||||
content/browser/viewSource.xul (content/viewSource.xul)
|
||||
content/browser/utilityOverlay.js (content/utilityOverlay.js)
|
||||
content/browser/findUtils.js (content/findUtils.js)
|
||||
classic.jar:
|
||||
skin/classic/browser/browser.css (skin/browser.css)
|
||||
skin/classic/browser/buttons.gif (skin/buttons.gif)
|
||||
skin/classic/browser/contents.rdf (skin/contents.rdf)
|
||||
en-US.jar:
|
||||
locale/en-US/browser/contents.rdf (locale/contents.rdf)
|
||||
locale/en-US/browser/viewSource.dtd (locale/viewSource.dtd)
|
||||
locale/en-US/browser/pageInfo.dtd (locale/pageInfo.dtd)
|
||||
locale/en-US/browser/pageInfo.properties (locale/pageInfo.properties)
|
||||
locale/en-US/browser/browser.dtd (locale/browser.dtd)
|
||||
locale/en-US/browser/navigator.properties (locale/navigator.properties)
|
||||
locale/en-US/browser/metadata.dtd (locale/metadata.dtd)
|
||||
locale/en-US/browser/metadata.properties (locale/metadata.properties)
|
||||
locale/en-US/browser/turboDialog.dtd (locale/turboDialog.dtd)
|
||||
locale/en-US/browser/turboMenu.properties (locale/turboMenu.properties)
|
@ -1,23 +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:packages>
|
||||
<RDF:Seq about="urn:mozilla:locale:en-US:packages">
|
||||
<RDF:li resource="urn:mozilla:locale:en-US:browser"/>
|
||||
</RDF:Seq>
|
||||
</chrome:packages>
|
||||
</RDF:Description>
|
||||
|
||||
<!-- Version Information. State that we work only with major version of this
|
||||
package. -->
|
||||
<RDF:Description about="urn:mozilla:locale:en-US:browser"
|
||||
chrome:localeVersion="0.9.9"/>
|
||||
</RDF:RDF>
|
@ -1,25 +0,0 @@
|
||||
<!ENTITY no-properties.label "No properties set.">
|
||||
|
||||
<!ENTITY caption.label "Element Properties">
|
||||
<!ENTITY image-sec.label "Image Properties">
|
||||
<!ENTITY image-url.label "Location:">
|
||||
<!ENTITY image-desc.label "Description:">
|
||||
<!ENTITY image-width.label "Width:">
|
||||
<!ENTITY image-height.label "Height:">
|
||||
<!ENTITY image-pixels.label "pixels">
|
||||
<!ENTITY insdel-sec.label "Insert/Delete Properties">
|
||||
<!ENTITY insdel-cite.label "Info:">
|
||||
<!ENTITY insdel-date.label "Date:">
|
||||
<!ENTITY link-sec.label "Link Properties">
|
||||
<!ENTITY link-url.label "Address:">
|
||||
<!ENTITY link-target.label "Will open in:">
|
||||
<!ENTITY link-type.label "Target type:">
|
||||
<!ENTITY link-lang.label "Target language:">
|
||||
<!ENTITY link-rel.label "Relation:">
|
||||
<!ENTITY link-rev.label "Reversed relation:">
|
||||
<!ENTITY misc-sec.label "Miscellaneous Properties">
|
||||
<!ENTITY misc-lang.label "Text language:">
|
||||
<!ENTITY misc-title.label "Title:">
|
||||
<!ENTITY misc-tblsummary.label "Table summary:">
|
||||
<!ENTITY quote-sec.label "Quote Properties">
|
||||
<!ENTITY quote-cite.label "Info:">
|
@ -1,6 +0,0 @@
|
||||
sameWindowText=Same window
|
||||
newWindowText=New window
|
||||
parentFrameText=Parent frame
|
||||
sameFrameText=Same frame
|
||||
embeddedText=Embedded
|
||||
unableToShowProps=No properties available.
|
@ -1,199 +0,0 @@
|
||||
<!-- LOCALIZATION NOTE : FILE This file contains the browser main menu items -->
|
||||
<!-- LOCALIZATION NOTE : FILE Do not translate accesskey and commandkey -->
|
||||
|
||||
<!-- LOCALIZATION NOTE (mainWindow.title): DONT_TRANSLATE -->
|
||||
<!ENTITY mainWindow.title "&brandShortName;">
|
||||
<!-- LOCALIZATION NOTE (mainWindow.titlemodifier) : DONT_TRANSLATE -->
|
||||
<!ENTITY mainWindow.titlemodifier "&brandShortName;">
|
||||
<!-- LOCALIZATION NOTE (mainWindow.titlemodifiermenuseparator): DONT_TRANSLATE -->
|
||||
<!ENTITY mainWindow.titlemodifiermenuseparator " - ">
|
||||
|
||||
<!ENTITY browserCmd.label "New Window">
|
||||
<!ENTITY browserCmd.accesskey "N">
|
||||
<!ENTITY browserCmd.commandkey "n">
|
||||
|
||||
<!ENTITY tabCmd.label "New Tab">
|
||||
<!ENTITY tabCmd.accesskey "T">
|
||||
<!ENTITY tabCmd.commandkey "t">
|
||||
<!ENTITY openCmd.commandkey "l">
|
||||
<!ENTITY openFileCmd.label "Open File...">
|
||||
<!ENTITY openFileCmd.accesskey "O">
|
||||
<!ENTITY openFileCmd.commandkey "o">
|
||||
|
||||
<!ENTITY printSetupCmd.label "Page Setup...">
|
||||
<!ENTITY printSetupCmd.accesskey "u">
|
||||
<!ENTITY printPreviewCmd.label "Print Preview">
|
||||
<!ENTITY printPreviewCmd.accesskey "v">
|
||||
<!ENTITY printCmd.label "Print...">
|
||||
<!ENTITY printCmd.accesskey "P">
|
||||
<!ENTITY printCmd.commandkey "p">
|
||||
|
||||
<!ENTITY viewMenu.label "View">
|
||||
<!ENTITY viewMenu.accesskey "V">
|
||||
|
||||
<!ENTITY toolbarsCmd.label "Show/Hide">
|
||||
<!ENTITY toolbarsCmd.accesskey "w">
|
||||
<!ENTITY navbarCmd.label "Navigation Toolbar">
|
||||
<!ENTITY navbarCmd.accesskey "N">
|
||||
<!ENTITY personalbarCmd.label "Personal Toolbar">
|
||||
<!ENTITY personalbarCmd.accesskey "P">
|
||||
<!ENTITY taskbarCmd.label "Status Bar">
|
||||
<!ENTITY taskbarCmd.accesskey "S">
|
||||
<!ENTITY locationbarCmd.label "Location Bar">
|
||||
<!ENTITY locationbarCmd.accesskey "L">
|
||||
|
||||
<!ENTITY pageSourceCmd.label "Page Source">
|
||||
<!ENTITY pageSourceCmd.accesskey "o">
|
||||
<!ENTITY pageSourceCmd.commandkey "u">
|
||||
<!ENTITY pageInfoCmd.label "Page Info">
|
||||
<!ENTITY pageInfoCmd.accesskey "I">
|
||||
<!ENTITY pageInfoCmd.commandkey "i">
|
||||
<!ENTITY fullScreenCmd.label "Full Screen">
|
||||
<!ENTITY fullScreenCmd.accesskey "F">
|
||||
|
||||
<!ENTITY closeWindow.label "Close Window">
|
||||
|
||||
<!ENTITY findOnCmd.label "Find in This Page...">
|
||||
<!ENTITY findOnCmd.accesskey "F">
|
||||
<!ENTITY findOnCmd.commandkey "f">
|
||||
<!ENTITY findAgainCmd.label "Find Again">
|
||||
<!ENTITY findAgainCmd.accesskey "g">
|
||||
<!ENTITY findAgainCmd.commandkey "g">
|
||||
<!ENTITY bookmarksMenu.label "Bookmarks">
|
||||
<!ENTITY bookmarksMenu.accesskey "B">
|
||||
<!ENTITY addCurPageCmd.label "Add Bookmark">
|
||||
<!ENTITY addCurPageCmd.accesskey "B">
|
||||
<!ENTITY addCurPageCmd.commandkey "d">
|
||||
<!ENTITY addCurPageAsCmd.label "File Bookmark...">
|
||||
<!ENTITY addCurPageAsCmd.accesskey "F">
|
||||
<!ENTITY manBookmarksCmd.label "Manage Bookmarks...">
|
||||
<!ENTITY manBookmarksCmd.accesskey "M">
|
||||
<!ENTITY manBookmarksCmd.commandkey "b">
|
||||
<!ENTITY emptyItem.label "(Empty)">
|
||||
|
||||
<!ENTITY menuBar.tooltip "Menu Bar">
|
||||
|
||||
<!-- Toolbar items -->
|
||||
<!ENTITY backButton.label "Back">
|
||||
<!ENTITY backButton.tooltip "Go back one page">
|
||||
<!ENTITY forwardButton.label "Forward">
|
||||
<!ENTITY forwardButton.tooltip "Go forward one page">
|
||||
<!ENTITY reloadButton.label "Reload">
|
||||
<!ENTITY reloadButton.tooltip "Reload current page">
|
||||
<!ENTITY stopButton.label "Stop">
|
||||
<!ENTITY stopButton.tooltip "Stop loading this page">
|
||||
<!ENTITY homeButton.label "Home">
|
||||
<!ENTITY goButton.label "Go">
|
||||
<!ENTITY goButton.tooltip "Type a location in the field to the left, then click Go">
|
||||
<!ENTITY printButton.label "Print">
|
||||
<!ENTITY printButton.tooltip "Print this page">
|
||||
<!ENTITY throbber.tooltip "Go to the &vendorShortName; home page">
|
||||
<!ENTITY proxyIcon.tooltip "Drag and drop this icon to create a link to this page">
|
||||
<!ENTITY statusText.label "Document: Done">
|
||||
|
||||
<!ENTITY textZoomEnlargeCmd.label "Larger">
|
||||
<!ENTITY textZoomEnlargeCmd.accesskey "L">
|
||||
<!ENTITY textZoomEnlargeCmd.commandkey "+">
|
||||
<!ENTITY textZoomEnlargeCmd.commandkey2 "="> <!-- + is above this key on many keyboards -->
|
||||
|
||||
<!ENTITY textZoomReduceCmd.label "Smaller">
|
||||
<!ENTITY textZoomReduceCmd.accesskey "S">
|
||||
<!ENTITY textZoomReduceCmd.commandkey "-">
|
||||
|
||||
<!ENTITY textZoomResetCmd.commandkey "0">
|
||||
|
||||
<!-- see textZoomOtherLabel in navigator.properties -->
|
||||
<!ENTITY textZoomMenu.accesskey "z">
|
||||
<!ENTITY textZoomOtherCmd.accesskey "o">
|
||||
|
||||
<!ENTITY charsetMenu.label "Encoding">
|
||||
<!ENTITY charsetMenu.accesskey "E">
|
||||
<!ENTITY charsetMenuAutodet.label "Auto-Detect">
|
||||
<!ENTITY charsetMenuAutodet.accesskey "A">
|
||||
<!ENTITY charsetMenuMore.label "More">
|
||||
<!ENTITY charsetMenuMore.accesskey "M">
|
||||
<!ENTITY charsetMenuMore1.label "West European">
|
||||
<!ENTITY charsetMenuMore1.accesskey "W">
|
||||
<!ENTITY charsetMenuMore2.label "East European">
|
||||
<!ENTITY charsetMenuMore2.accesskey "E">
|
||||
<!ENTITY charsetMenuMore3.label "East Asian">
|
||||
<!ENTITY charsetMenuMore3.accesskey "A">
|
||||
<!ENTITY charsetMenuMore4.label "SE & SW Asian">
|
||||
<!ENTITY charsetMenuMore4.accesskey "S">
|
||||
<!ENTITY charsetMenuMore5.label "Middle Eastern">
|
||||
<!ENTITY charsetMenuMore5.accesskey "M">
|
||||
<!ENTITY charsetCustomize.label "Customize...">
|
||||
<!ENTITY charsetCustomize.accesskey "C">
|
||||
|
||||
<!-- these things need to move into utilityOverlay.xul -->
|
||||
<!ENTITY offlineGoOfflineCmd.label "Work Offline">
|
||||
<!ENTITY offlineGoOfflineCmd.accesskey "W">
|
||||
|
||||
<!-- LOCALIZATION NOTE : FILE This file contains the global menu items -->
|
||||
|
||||
<!ENTITY fileMenu.label "File">
|
||||
<!ENTITY fileMenu.accesskey "F">
|
||||
<!ENTITY newMenu.label "New">
|
||||
<!ENTITY newMenu.accesskey "N">
|
||||
|
||||
<!ENTITY editMenu.label "Edit">
|
||||
<!ENTITY editMenu.accesskey "E">
|
||||
<!ENTITY undoCmd.label "Undo">
|
||||
<!ENTITY undoCmd.key "z">
|
||||
<!ENTITY undoCmd.accesskey "U">
|
||||
<!ENTITY redoCmd.label "Redo">
|
||||
<!ENTITY redoCmd.key "y">
|
||||
<!ENTITY redoCmd.accesskey "R">
|
||||
<!ENTITY cutCmd.label "Cut">
|
||||
<!ENTITY cutCmd.key "X">
|
||||
<!ENTITY cutCmd.accesskey "t">
|
||||
<!ENTITY copyCmd.label "Copy">
|
||||
<!ENTITY copyCmd.key "c">
|
||||
<!ENTITY copyCmd.accesskey "C">
|
||||
<!ENTITY pasteCmd.label "Paste">
|
||||
<!ENTITY pasteCmd.key "v">
|
||||
<!ENTITY pasteCmd.accesskey "P">
|
||||
<!ENTITY deleteCmd.label "Delete">
|
||||
<!ENTITY deleteCmd.accesskey "D">
|
||||
<!ENTITY selectAllCmd.label "Select All">
|
||||
<!ENTITY selectAllCmd.key "a">
|
||||
<!ENTITY selectAllCmd.accesskey "A">
|
||||
<!ENTITY preferencesCmd.label "Preferences...">
|
||||
<!ENTITY preferencesCmd.accesskey "e">
|
||||
|
||||
<!ENTITY helpMenu.label "Help">
|
||||
<!ENTITY helpMenu.accesskey "H">
|
||||
<!ENTITY helpContentCmd.label "Help Contents">
|
||||
<!ENTITY helpContentCmd.accesskey "H">
|
||||
|
||||
<!ENTITY releaseCmd.label "Release Notes">
|
||||
<!ENTITY releaseCmd.accesskey "R">
|
||||
<!ENTITY aboutCmd.label "About &brandShortName;">
|
||||
<!ENTITY aboutCmd.accesskey "A">
|
||||
<!ENTITY aboutCommPluginsCmd.label "About Plug-ins">
|
||||
<!ENTITY aboutCommPluginsCmd.accesskey "P">
|
||||
|
||||
<!ENTITY javaConsoleCmd.label "Java Console">
|
||||
<!ENTITY javaConsoleCmd.accesskey "J">
|
||||
|
||||
<!ENTITY javaScriptConsoleCmd.label "JavaScript Console">
|
||||
<!ENTITY javaScriptConsoleCmd.accesskey "S">
|
||||
|
||||
<!ENTITY tasksMenu.label "Tools">
|
||||
<!ENTITY tasksMenu.accesskey "T">
|
||||
|
||||
<!ENTITY downloadManagerCmd.label "Download Manager">
|
||||
<!ENTITY downloadManagerCmd.accesskey "D">
|
||||
|
||||
<!ENTITY historyCmd.label "History">
|
||||
<!ENTITY historyCmd.accesskey "H">
|
||||
<!ENTITY historyCmd.commandkey "h">
|
||||
|
||||
<!ENTITY location.label "Location:">
|
||||
<!ENTITY location.accesskey "L">
|
||||
<!ENTITY openCmd2.commandkey "d">
|
||||
|
||||
<!ENTITY searchButton.label "Search">
|
||||
<!ENTITY bookmarksButton.label "Bookmarks">
|
||||
<!ENTITY historyButton.label "History">
|
||||
<!ENTITY closeButton.label "Close">
|
@ -1,67 +0,0 @@
|
||||
nv_done=Document: Done
|
||||
openFile=Open File
|
||||
defaultStatus=
|
||||
|
||||
droponhomebutton=Drop a link or file to make it your home page
|
||||
droponhometitle=Set Home Page
|
||||
droponhomemsg=Do you want this document to be your new home page?
|
||||
droponhomeokbutton=Set Home Page
|
||||
|
||||
jserror=An error has occurred on this page. Double click here for details.
|
||||
|
||||
#
|
||||
# localizable preference value
|
||||
#
|
||||
|
||||
# all.js
|
||||
#
|
||||
general.useragent.locale=en-US
|
||||
font.language.group=x-western
|
||||
intl.accept_languages=en-us, en
|
||||
intl.charsetmenu.browser.static=iso-8859-1
|
||||
intl.charsetmenu.browser.more1=iso-8859-1, iso-8859-15, ibm850, x-mac-roman, windows-1252, iso-8859-14, iso-8859-7, x-mac-greek, windows-1253, x-mac-icelandic, iso-8859-10, iso-8859-3
|
||||
intl.charsetmenu.browser.more2=iso-8859-4, iso-8859-13, windows-1257, ibm852, iso-8859-2, x-mac-ce, windows-1250, x-mac-croatian, ibm855, iso-8859-5, iso-ir-111, koi8-r, x-mac-cyrillic, windows-1251, ibm866, koi8-u, x-mac-ukrainian, iso-8859-16, x-mac-romanian
|
||||
intl.charsetmenu.browser.more3=gb2312, x-gbk, gb18030, hz-gb-2312, big5, big5-hkscs, x-euc-tw, euc-jp, iso-2022-jp, shift_jis, euc-kr, x-windows-949, x-johab, iso-2022-kr
|
||||
intl.charsetmenu.browser.more4=armscii-8, geostd8, tis-620, ibm857, iso-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, viscii, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi
|
||||
intl.charsetmenu.browser.more5=iso-8859-6, windows-1256, ibm864, x-mac-arabic, x-mac-farsi, iso-8859-8-i, windows-1255, iso-8859-8, ibm862, x-mac-hebrew
|
||||
intl.charset.default=ISO-8859-1
|
||||
intl.charset.detector=
|
||||
intl.charsetmenu.mailedit=ISO-8859-1, ISO-8859-15, ISO-8859-6, armscii-8, geostd8, ISO-8859-13, ISO-8859-14, ISO-8859-2, GB2312, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-8859-8-I, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
|
||||
# valid collation options are: <empty string> or useCodePointOrder
|
||||
intl.collationOption=
|
||||
# valid intl.menuitems.appendedacceskeys are: true or false, <empty string> (missing or empty preference equals false)
|
||||
intl.menuitems.alwaysappendacceskeys=
|
||||
|
||||
linkTargetLabel=Link will open in:
|
||||
linkHREFLabel=Location:
|
||||
|
||||
#SessionHistory.js
|
||||
nothingAvailable=(Nothing Available)
|
||||
|
||||
# urlbarBindings.xml
|
||||
# LOCALIZATION NOTE: This is for the location bar drop-down string:
|
||||
# "Seach " + search_engine_name + " for " + user_input
|
||||
# e.g. "Search Google for abc"
|
||||
# DO NOT change the %S order when translate, the first %S must be the search engine name.
|
||||
searchFor=Search %S for "%S"
|
||||
|
||||
# font size submenu
|
||||
#
|
||||
# don't translate %zoom%
|
||||
|
||||
menuLabel=Text Zoom (%zoom% %)
|
||||
label=%zoom% %
|
||||
labelOriginal=%zoom% % (Original Size)
|
||||
|
||||
# {values} must be greater than 0, include 100 and be in natural order
|
||||
# {accessKeys} correspond to {values}, where "z" matches the z in
|
||||
# "Original size" in {labelOriginal}
|
||||
|
||||
values=50,75,90,100,120,150,200
|
||||
accessKeys=5,7,9,z,1,0,2
|
||||
|
||||
# {stepFactor} is the factor with which the zoom changes when you're
|
||||
# below the lowest or above the highest value in {values}
|
||||
|
||||
stepFactor=1.5
|
||||
|
@ -1,107 +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 Communicator client code.
|
||||
-
|
||||
- The Initial Developer of the Original Code is Daniel Brooks.
|
||||
- Portions created by the Initial Developer are Copyright (C) 2001
|
||||
- the Initial Developer. All Rights Reserved.
|
||||
-
|
||||
- Contributor(s):
|
||||
-
|
||||
- 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 ***** -->
|
||||
|
||||
<!ENTITY preface "Info for: ">
|
||||
|
||||
<!ENTITY title "Page Info">
|
||||
<!ENTITY description "Information about the current page">
|
||||
|
||||
<!ENTITY unknown "Unknown">
|
||||
<!ENTITY closeWindow "w">
|
||||
|
||||
<!ENTITY generalTab "General">
|
||||
<!ENTITY generalAccesskey "g">
|
||||
<!ENTITY generalTitle "Title:">
|
||||
<!ENTITY generalURL "URL:">
|
||||
<!ENTITY generalMode "Render Mode:">
|
||||
<!ENTITY generalType "Type:">
|
||||
<!ENTITY generalSize "Size:">
|
||||
<!ENTITY generalSource "Source:">
|
||||
<!ENTITY generalSent "Sent:">
|
||||
<!ENTITY generalModified "Modified:">
|
||||
<!ENTITY generalExpires "Expires:">
|
||||
<!ENTITY generalEncoding "Encoding:">
|
||||
<!ENTITY generalMeta "Meta:">
|
||||
<!ENTITY generalMetaName "Name:">
|
||||
<!ENTITY generalMetaContent "Content:">
|
||||
|
||||
<!ENTITY formsTab "Forms">
|
||||
<!ENTITY formsAccesskey "f">
|
||||
<!ENTITY formAction "Form Action">
|
||||
<!ENTITY formMethod "Method">
|
||||
<!ENTITY formName "Name">
|
||||
<!ENTITY formNo "No.">
|
||||
<!ENTITY formName "Name">
|
||||
<!ENTITY formAction "Action">
|
||||
<!ENTITY formMethod "Method">
|
||||
<!ENTITY formEncoding "Encoding:">
|
||||
<!ENTITY formTarget "Target:">
|
||||
<!ENTITY formFields "Fields:">
|
||||
<!ENTITY formLabel "Label">
|
||||
<!ENTITY formFName "Field Name">
|
||||
<!ENTITY formType "Type">
|
||||
<!ENTITY formCValue "Current Value">
|
||||
|
||||
<!ENTITY linksTab "Links">
|
||||
<!ENTITY linksAccesskey "l">
|
||||
<!ENTITY linkNo "No.">
|
||||
<!ENTITY linkName "Name">
|
||||
<!ENTITY linkAddress "Address">
|
||||
<!ENTITY linkType "Type">
|
||||
|
||||
<!ENTITY mediaTab "Media">
|
||||
<!ENTITY mediaAccesskey "i">
|
||||
<!ENTITY mediaHeader "Images on this page">
|
||||
<!ENTITY mediaURL "URL:">
|
||||
<!ENTITY mediaBase "Base URL:">
|
||||
<!ENTITY mediaAlt "Alternate Text:">
|
||||
<!ENTITY mediaNo "No.">
|
||||
<!ENTITY mediaName "Name">
|
||||
<!ENTITY mediaAddress "Address">
|
||||
<!ENTITY mediaType "Type">
|
||||
<!ENTITY mediaPlugin "Plugin:">
|
||||
<!ENTITY mediaCharset "Encoding:">
|
||||
<!ENTITY mediaDimensions "Dimensions:">
|
||||
<!ENTITY mediaEncryption "Encryption:">
|
||||
<!ENTITY mediaTitle "title Attribute:">
|
||||
<!ENTITY mediaLongdesc "longdesc Attribute:">
|
||||
<!ENTITY mediaSaveAs "Save As...">
|
||||
<!ENTITY mediaSaveAsAccesskey "S">
|
||||
|
||||
<!ENTITY framesTab "Frames">
|
||||
<!ENTITY framesAccesskey "r">
|
||||
<!ENTITY frameName "Name">
|
||||
<!ENTITY frameAddress "Address">
|
||||
<!ENTITY frameType "Type">
|
@ -1,66 +0,0 @@
|
||||
#
|
||||
# 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 imitations under the License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is International
|
||||
# Business Machines Corporation. Portions created by IBM
|
||||
# Corporation are Copyright (C) 2000 International Business
|
||||
# Machines Corporation. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Daniel Brooks <db48x@yahoo.com>
|
||||
# Mike Kowalski <mikejk@ameritech.net>
|
||||
|
||||
|
||||
pageInfo.title=Page Info
|
||||
frameInfo.title=Frame Info
|
||||
|
||||
noPageTitle=Untitled Page
|
||||
pageTitle=%S:
|
||||
unknown=Unknown
|
||||
default=Default
|
||||
notset=Not Specified
|
||||
|
||||
generalNotCached=(not cached)
|
||||
generalNoExpiration=(no expiration set)
|
||||
generalQuirksMode=Compatibility mode.
|
||||
generalStrictMode=Strict standards compliance mode.
|
||||
|
||||
formTitle=Form %S:
|
||||
formUntitled=Unnamed Form:
|
||||
formDefaultTarget=None (opens in same window)
|
||||
formChecked=Checked
|
||||
formUnchecked=Unchecked
|
||||
formPassword=********
|
||||
|
||||
linkAnchor=Anchor
|
||||
linkArea=Area
|
||||
linkSubmission=Form Submission
|
||||
linkSubmit=Submit Query
|
||||
linkRel=Related Link
|
||||
linkStylesheet=Stylesheet
|
||||
linkRev=Reverse Link
|
||||
|
||||
mediaImg=Image
|
||||
mediaApplet=Applet
|
||||
mediaObject=Object
|
||||
mediaEmbed=Embed
|
||||
mediaLink=Icon
|
||||
mediaInput=Input
|
||||
mediaWidth=Width: %Spx
|
||||
mediaHeight=Height: %Spx
|
||||
|
||||
generalNotCached=(not cached)
|
||||
generalDiskCache=Disk Cache
|
||||
generalMemoryCache=Memory Cache
|
||||
generalHTTPCache=HTTP Cache
|
||||
generalFTPCache=FTP Cache
|
@ -1,23 +0,0 @@
|
||||
# navigator.properties
|
||||
homePageDefault=http://www.mozilla.org/
|
||||
shopKeyword=keyword:shop [Product]
|
||||
quoteKeyword=keyword:quote [Enter symbol here]
|
||||
localKeyword=keyword:zip [Your zip code]
|
||||
keywordList=http://home.netscape.com/escapes/keywords
|
||||
webmailKeyword=http://webmail.netscape.com
|
||||
careerKeyword=keyword:[Your city] careers
|
||||
fallbackDefaultSearchURL=http://search.netscape.com/cgi-bin/search?charset=UTF-8&search=
|
||||
otherSearchURL=http://home.netscape.com/bookmark/6_0/tsearch.html
|
||||
#
|
||||
# all.js
|
||||
#
|
||||
browser.startup.homepage=http://www.mozilla.org/start
|
||||
browser.throbber.url=http://www.mozilla.org/
|
||||
browser.search.defaulturl=http://search.netscape.com/cgi-bin/search?search=
|
||||
|
||||
wallet.Server=http://www.mozilla.org/wallet/tables/
|
||||
wallet.Samples=http://www.mozilla.org/wallet/samples/
|
||||
|
||||
#config.js
|
||||
#
|
||||
startup.homepage_override_url=http://www.mozilla.org/start
|
@ -1,4 +0,0 @@
|
||||
<!ENTITY exitWarningMsg.label "Quick Launch is active, so &brandShortName; remains in memory and can be started again quickly. To completely exit, right click on the &brandShortName; icon in the system tray and select Exit.">
|
||||
<!ENTITY exitWarningTitle.label "Quick Launch">
|
||||
<!ENTITY exitWarningCheckbox.label "Don't show me this message again">
|
||||
<!ENTITY exitWarningCheckbox.accesskey "D">
|
@ -1,6 +0,0 @@
|
||||
Exit=E&xit %S
|
||||
Disable=&Disable Quick Launch
|
||||
DisableDlgMsg=Disabling Quick Launch will increase the time it takes to start %S. To enable it again, open the Edit menu and choose Preferences. Choose the "Advanced" category and check "Enable Quick Launch." Are you sure you want to disable Quick Launch?
|
||||
DisableDlgTitle=%S Quick Launch
|
||||
Navigator=&Navigator
|
||||
Editor=&Composer
|
@ -1 +0,0 @@
|
||||
Makefile
|
@ -1,32 +0,0 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public
|
||||
# License Version 1.1 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS
|
||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
# implied. See the License for the specific language governing
|
||||
# rights and limitations under the License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
|
||||
DEPTH = ../../../../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
NO_JAR_AUTO_REG=1
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
@ -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 locale 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: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:navigator-platform"/>
|
||||
</RDF:Seq>
|
||||
</chrome:packages>
|
||||
</RDF:Description>
|
||||
|
||||
<!-- Version Information. State that we work only with major version of this
|
||||
package. -->
|
||||
<RDF:Description about="urn:mozilla:locale:en-US:navigator-platform"
|
||||
chrome:localeVersion="0.9.9"/>
|
||||
</RDF:RDF>
|
@ -1,4 +0,0 @@
|
||||
en-unix.jar:
|
||||
locale/en-US/navigator-platform/contents.rdf (contents-platform.rdf)
|
||||
locale/en-US/navigator-platform/platformNavigationBindings.dtd
|
||||
locale/en-US/navigator-platform/navigator.properties
|
@ -1,5 +0,0 @@
|
||||
# moved from navigator/locale/navigator.properties
|
||||
# valid collation options are: <empty string> or useCodePointOrder
|
||||
intl.collationOption=
|
||||
intl.charset.default=ISO-8859-1
|
||||
|
@ -1,4 +0,0 @@
|
||||
<!ENTITY goBackCmd.commandKey "[">
|
||||
<!ENTITY goForwardCmd.commandKey "]">
|
||||
|
||||
|
@ -1,14 +0,0 @@
|
||||
<!-- extracted from content/viewSource.xul -->
|
||||
|
||||
<!-- LOCALIZATION NOTE (mainWindow.title) : DONT_TRANSLATE -->
|
||||
<!ENTITY mainWindow.title "&brandShortName;">
|
||||
<!-- LOCALIZATION NOTE (mainWindow.titlemodifier) : DONT_TRANSLATE -->
|
||||
<!ENTITY mainWindow.titlemodifier "&brandShortName;">
|
||||
<!-- LOCALIZATION NOTE (mainWindow.titlemodifierseparator) : DONT_TRANSLATE -->
|
||||
<!ENTITY mainWindow.titlemodifierseparator " - ">
|
||||
<!ENTITY mainWindow.preface "Source of: ">
|
||||
|
||||
<!ENTITY menu_wrapLongLines.title "Wrap Long Lines">
|
||||
|
||||
<!ENTITY findNextCmd.label "Find Next">
|
||||
<!ENTITY findNextCmd.accesskey "n">
|
@ -1 +0,0 @@
|
||||
Makefile
|
@ -1,32 +0,0 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public
|
||||
# License Version 1.1 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS
|
||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
# implied. See the License for the specific language governing
|
||||
# rights and limitations under the License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
|
||||
DEPTH = ../../../../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
NO_JAR_AUTO_REG=1
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
@ -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 locale 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: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:navigator-platform"/>
|
||||
</RDF:Seq>
|
||||
</chrome:packages>
|
||||
</RDF:Description>
|
||||
|
||||
<!-- Version Information. State that we work only with major version of this
|
||||
package. -->
|
||||
<RDF:Description about="urn:mozilla:locale:en-US:navigator-platform"
|
||||
chrome:localeVersion="0.9.9"/>
|
||||
</RDF:RDF>
|
@ -1,3 +0,0 @@
|
||||
en-win.jar:
|
||||
locale/en-US/navigator-platform/contents.rdf (contents-platform.rdf)
|
||||
locale/en-US/navigator-platform/navigator.properties
|
@ -1,5 +0,0 @@
|
||||
# moved from navigator/locale/navigator.properties
|
||||
# valid collation options are: <empty string> or useCodePointOrder
|
||||
intl.collationOption=
|
||||
intl.charset.default=ISO-8859-1
|
||||
|
@ -1,360 +0,0 @@
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.1 (the "License"); you may not use this file except in
|
||||
* compliance with the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications Corporation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 1998-1999
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Joe Hewitt (hewitt@netscape.com)
|
||||
* Jason Kersey (kerz@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 NPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the NPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
@import url("chrome://navigator/content/navigator.css");
|
||||
@import url("chrome://communicator/skin/");
|
||||
@import url("chrome://communicator/skin/bookmarks/bookmarksToolbar.css");
|
||||
|
||||
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
|
||||
|
||||
/* ::::: primary toolbar buttons ::::: */
|
||||
|
||||
.toolbarbutton-1 {
|
||||
list-style-image: url("chrome://browser/skin/buttons.gif");
|
||||
}
|
||||
|
||||
#back-button {
|
||||
-moz-image-region: rect(0px 23px 21px 0px) !important;
|
||||
}
|
||||
|
||||
#back-button[disabled="true"] {
|
||||
-moz-image-region: rect(21px 23px 42px 0px) !important;
|
||||
}
|
||||
|
||||
#back-button[buttonover="true"]:not([disabled]) {
|
||||
-moz-image-region: rect(42px 23px 63px 0px) !important;
|
||||
}
|
||||
|
||||
#back-button[buttondown="true"] {
|
||||
-moz-image-region: rect(63px 23px 84px 0px) !important;
|
||||
}
|
||||
|
||||
#forward-button {
|
||||
-moz-image-region: rect(0px 46px 21px 23px) !important;
|
||||
}
|
||||
|
||||
#forward-button[disabled="true"] {
|
||||
-moz-image-region: rect(21px 46px 42px 23px) !important;
|
||||
}
|
||||
|
||||
#forward-button[buttonover="true"]:not([disabled]) {
|
||||
-moz-image-region: rect(42px 46px 63px 23px) !important;
|
||||
}
|
||||
|
||||
#forward-button[buttondown="true"] {
|
||||
-moz-image-region: rect(63px 46px 84px 23px) !important;
|
||||
}
|
||||
|
||||
|
||||
#reload-button {
|
||||
-moz-image-region: rect(0px 92px 21px 69px) !important;
|
||||
}
|
||||
|
||||
#reload-button:hover {
|
||||
-moz-image-region: rect(42px 92px 63px 69px) !important;
|
||||
}
|
||||
|
||||
#reload-button:hover:active {
|
||||
-moz-image-region: rect(63px 92px 84px 69px) !important;
|
||||
}
|
||||
|
||||
#stop-button {
|
||||
-moz-image-region: rect(0px 69px 21px 46px) !important;
|
||||
}
|
||||
|
||||
#stop-button[disabled="true"] {
|
||||
-moz-image-region: rect(21px 69px 42px 46px) !important;
|
||||
}
|
||||
|
||||
#stop-button:hover:not([disabled]) {
|
||||
-moz-image-region: rect(42px 69px 63px 46px) !important;
|
||||
}
|
||||
|
||||
#stop-button:hover:active:not([disabled]) {
|
||||
-moz-image-region: rect(63px 69px 84px 46px) !important;
|
||||
}
|
||||
|
||||
|
||||
#print-button {
|
||||
-moz-image-region: rect(0px 115px 21px 92px) !important;
|
||||
}
|
||||
|
||||
#print-button:hover {
|
||||
-moz-image-region: rect(42px 115px 63px 92px) !important;
|
||||
}
|
||||
|
||||
#print-button:hover:active {
|
||||
-moz-image-region: rect(63px 115px 84px 92px) !important;
|
||||
}
|
||||
|
||||
#home-button {
|
||||
-moz-image-region: rect(0px 138px 21px 115px) !important;
|
||||
}
|
||||
|
||||
#home-button:hover,
|
||||
#home-button[dragover] {
|
||||
-moz-image-region: rect(42px 138px 63px 115px) !important;
|
||||
}
|
||||
|
||||
#home-button:hover:active {
|
||||
-moz-image-region: rect(63px 138px 84px 115px) !important;
|
||||
}
|
||||
|
||||
#search-button {
|
||||
-moz-image-region: rect(0px 161px 21px 138px) !important;
|
||||
}
|
||||
|
||||
#search-button:hover {
|
||||
-moz-image-region: rect(42px 161px 63px 138px) !important;
|
||||
}
|
||||
|
||||
#search-button:hover:active {
|
||||
-moz-image-region: rect(63px 161px 84px 138px) !important;
|
||||
}
|
||||
|
||||
#bookmarks-button {
|
||||
-moz-image-region: rect(0px 184px 21px 161px) !important;
|
||||
}
|
||||
|
||||
#bookmarks-button:hover {
|
||||
-moz-image-region: rect(42px 184px 63px 161px) !important;
|
||||
}
|
||||
|
||||
#bookmarks-button:hover:active {
|
||||
-moz-image-region: rect(63px 184px 84px 161px) !important;
|
||||
}
|
||||
|
||||
#history-button {
|
||||
-moz-image-region: rect(0px 207px 21px 184px) !important;
|
||||
}
|
||||
|
||||
#history-button:hover {
|
||||
-moz-image-region: rect(42px 207px 63px 184px) !important;
|
||||
}
|
||||
|
||||
#history-button:hover:active {
|
||||
-moz-image-region: rect(63px 207px 84px 184px) !important;
|
||||
}
|
||||
|
||||
/* ::::: small primary toolbar buttons ::::: */
|
||||
|
||||
.toolbarbutton-1[toolbarmode="small"] {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.toolbarbutton-1[toolbarmode="small"] > .toolbarbutton-menubutton-button
|
||||
> .toolbarbutton-text,
|
||||
.toolbarbutton-1[toolbarmode="small"] > .toolbarbutton-text {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#nav-bar[toolbarmode="small"] > #nav-bar-inner {
|
||||
margin: 0;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#nav-bar[toolbarmode="small"] > .toolbar-primary-grippy {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ::::: fullscreen window controls ::::: */
|
||||
|
||||
#window-controls {
|
||||
-moz-box-align: center;
|
||||
padding: 0 2px 0 4px;
|
||||
border-left: 2px solid;
|
||||
-moz-border-left-colors: ThreeDHighlight ThreeDShadow;
|
||||
}
|
||||
|
||||
#minimize-button {
|
||||
list-style-image: url("chrome://navigator/skin/icons/minimize.gif");
|
||||
}
|
||||
|
||||
#restore-button {
|
||||
list-style-image: url("chrome://navigator/skin/icons/restore.gif");
|
||||
}
|
||||
|
||||
#close-button {
|
||||
list-style-image: url("chrome://navigator/skin/icons/close.gif");
|
||||
}
|
||||
|
||||
/* ::::: nav-bar-inner ::::: */
|
||||
|
||||
#nav-bar-inner {
|
||||
-moz-box-align: center;
|
||||
min-width: 0px;
|
||||
}
|
||||
|
||||
#urlbar {
|
||||
border: 3px solid;
|
||||
-moz-border-top-colors: transparent ThreeDShadow ThreeDDarkShadow;
|
||||
-moz-border-right-colors: transparent ThreeDHighlight ThreeDDarkShadow;
|
||||
-moz-border-bottom-colors: transparent ThreeDHighlight ThreeDDarkShadow;
|
||||
-moz-border-left-colors: transparent ThreeDShadow ThreeDDarkShadow;
|
||||
}
|
||||
|
||||
/* ::::: page proxy icon ::::: */
|
||||
|
||||
#page-proxy-deck,
|
||||
#page-proxy-favicon,
|
||||
#page-proxy-button {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
#page-proxy-deck {
|
||||
cursor: grab;
|
||||
margin: 2px 3px;
|
||||
}
|
||||
|
||||
#page-proxy-button {
|
||||
list-style-image: url("chrome://communicator/skin/bookmarks/location.gif");
|
||||
}
|
||||
|
||||
#page-proxy-favicon {
|
||||
list-style-image: none;
|
||||
}
|
||||
|
||||
#page-proxy-button[pageproxystate="valid"]:hover {
|
||||
list-style-image: url("chrome://communicator/skin/bookmarks/location-hov.gif");
|
||||
}
|
||||
|
||||
#page-proxy-button[pageproxystate="valid"]:hover:active {
|
||||
list-style-image: url("chrome://communicator/skin/bookmarks/location-act.gif");
|
||||
}
|
||||
|
||||
#page-proxy-button[pageproxystate="invalid"] {
|
||||
cursor: default;
|
||||
list-style-image: url("chrome://communicator/skin/bookmarks/location-dis.gif");
|
||||
}
|
||||
|
||||
/* ::::: autocomplete ::::: */
|
||||
|
||||
.autocomplete-history-dropmarker {
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
-moz-border-right-colors: ThreeDShadow;
|
||||
-moz-border-bottom-colors: ThreeDShadow;
|
||||
}
|
||||
|
||||
.autocomplete-treebody:-moz-tree-cell-text(value) {
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
.autocomplete-treebody:-moz-tree-cell-text(comment) {
|
||||
color: ThreeDShadow;
|
||||
}
|
||||
|
||||
.autocomplete-search-box {
|
||||
border-top: 2px groove -moz-Dialog;
|
||||
background-color: -moz-Dialog;
|
||||
color: ButtonText;
|
||||
}
|
||||
|
||||
.autocomplete-result-popup[nomatch] > .autocomplete-search-box {
|
||||
border-top: 1px solid ThreeDHighlight;
|
||||
}
|
||||
|
||||
.autocomplete-search-engine {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.autocomplete-search-engine[menuactive="true"] {
|
||||
background-color: Highlight;
|
||||
color: HighlightText;
|
||||
}
|
||||
|
||||
.autocomplete-search-engine-img {
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
/* ::::: go and searchbuttons ::::: */
|
||||
|
||||
#go-button {
|
||||
margin: 0px 4px 0px 0px;
|
||||
min-height: 25px;
|
||||
-moz-border-top-colors: transparent transparent !important;
|
||||
-moz-border-right-colors: transparent transparent !important;
|
||||
-moz-border-bottom-colors: transparent transparent !important;
|
||||
-moz-border-left-colors: transparent transparent !important;
|
||||
|
||||
}
|
||||
|
||||
#go-button:hover {
|
||||
-moz-border-top-colors: ThreeDDarkShadow ThreeDHighlight !important;
|
||||
-moz-border-right-colors: ThreeDDarkShadow ThreeDShadow !important;
|
||||
-moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow !important;
|
||||
-moz-border-left-colors: ThreeDDarkShadow ThreeDHighlight !important;
|
||||
font-color: blue;
|
||||
}
|
||||
|
||||
#go-button:hover:active {
|
||||
-moz-border-top-colors: ThreeDDarkShadow ThreeDShadow !important;
|
||||
-moz-border-right-colors: ThreeDDarkShadow ThreeDHighlight !important;
|
||||
-moz-border-bottom-colors: ThreeDDarkShadow ThreeDHighlight !important;
|
||||
-moz-border-left-colors: ThreeDDarkShadow ThreeDShadow !important;
|
||||
}
|
||||
|
||||
/* ::::: content area ::::: */
|
||||
|
||||
#content {
|
||||
border-top: 1px solid ThreeDDarkShadow;
|
||||
border-bottom: 1px solid ThreeDLightShadow;
|
||||
border-left: 2px solid;
|
||||
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
|
||||
}
|
||||
|
||||
#status-bar {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
#security-button {
|
||||
list-style-image: url("chrome://communicator/skin/icons/lock-insecure.gif");
|
||||
}
|
||||
|
||||
#security-button[level="high"] {
|
||||
list-style-image: url("chrome://communicator/skin/icons/lock-secure.gif");
|
||||
}
|
||||
|
||||
#security-button[level="low"] {
|
||||
list-style-image: url("chrome://communicator/skin/icons/lock-secure.gif");
|
||||
}
|
||||
|
||||
#security-button[level="broken"] {
|
||||
list-style-image: url("chrome://communicator/skin/icons/lock-broken.gif");
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 4.4 KiB |
@ -1,22 +0,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 theme -->
|
||||
<RDF:Seq about="urn:mozilla:skin:root">
|
||||
<RDF:li resource="urn:mozilla:skin:classic/1.0" />
|
||||
</RDF:Seq>
|
||||
|
||||
<!-- classic Information -->
|
||||
<RDF:Description about="urn:mozilla:skin:classic/1.0">
|
||||
<chrome:packages>
|
||||
<RDF:Seq about="urn:mozilla:skin:classic/1.0:packages">
|
||||
<RDF:li resource="urn:mozilla:skin:classic/1.0:browser"/>
|
||||
</RDF:Seq>
|
||||
</chrome:packages>
|
||||
</RDF:Description>
|
||||
|
||||
<!-- Version Information. State that we work only with major version 1 of this
|
||||
package. -->
|
||||
<RDF:Description about="urn:mozilla:skin:classic/1.0:browser"
|
||||
chrome:skinVersion="1.0"/>
|
||||
</RDF:RDF>
|
Loading…
Reference in New Issue
Block a user