gecko-dev/browser/base/content/browser.xul

422 lines
21 KiB
XML

<?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):
# Blake Ross <blaker@netscape.com>
# David Hyatt <hyatt@mozilla.org>
# Joe Hewitt <hewitt@netscape.com>
# Pierre Chanial <chanial@noos.fr>
# Dean Tessman <dean_tessman@hotmail.com>
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
#ifdef XP_MACOSX
<?xul-overlay href="chrome://browser/content/macBrowserOverlay.xul"?>
#endif
# All DTD information is stored in a separate file so that it can be shared by
# hiddenWindow.xul.
#include browser-doctype.inc
<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()" onclose="return WindowIsClosing();"
contenttitlesetting="true"
title="&mainWindow.title;"
titlemodifier="&mainWindow.title;"
titlemenuseparator="&mainWindow.titlemodifiermenuseparator;"
windowtype="navigator:browser"
screenX="4" screenY="4"
persist="screenX screenY width height sizemode">
#ifndef XP_MACOSX
# All JS files that browser.xul wishes to include *must* go into the browser-scripts.inc file
# so that they can be shared by hiddenWindow.xul.
#include browser-scripts.inc
# All sets except for popupsets (commands, keys, stringbundles and broadcasters) *must* go into the
# browser-sets.inc file for sharing with hiddenWindow.xul.
#include browser-sets.inc
#endif
<popupset id="mainPopupSet">
<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);"/>
<popup id="SearchBarPopup" position="after_start"
datasources="rdf:internetsearch" ref="NC:SearchEngineRoot"
oncommand="return SearchBarPopupCommand(event);"
onpopupshowing="SearchBarPopupShowing(event);">
<menuitem id="__PhoenixFindInPage" class="menuitem-iconic"
label="&findOnSearchBarCmd.label;"/>
<menuseparator/>
<template>
<menuitem type="checkbox"
uri="..." value="..."
src="rdf:http://home.netscape.com/NC-rdf#Icon"
label="rdf:http://home.netscape.com/NC-rdf#Name"/>
</template>
</popup>
<popup type="autocomplete" id="PopupAutoComplete"/>
<popup id="toolbar-context-menu"
onpopupshowing="updateToolbarStates(this); onViewToolbarsPopupShowing(event);">
<menuseparator/>
<menuitem command="cmd_CustomizeToolbars"
label="&viewCustomizeToolbar.label;"
accesskey="&viewCustomizeToolbar.accesskey;"/>
</popup>
#include browser-context.inc
</popupset>
#ifndef XP_MACOSX
# The hacky hidden tree used by the Go menu to build items.
#include browser-gotreehack.inc
#endif
<!-- bookmarks context menu -->
<popupset>
<menupopup id="bookmarks-context-menu"
onpopupshowing="return BookmarksMenu.createContextMenu(event);"
onpopuphidden ="BookmarksMenu.destroyContextMenu(event);"/>
</popupset>
<!-- bookmarks toolbar tooltip -->
<tooltip id="btTooltip" noautohide="true"
onpopupshowing="return BookmarksToolbar.fillInBTTooltip(document.tooltipNode)">
<vbox id="btTooltipTextBox" flex="1">
<label id="btTitleText" />
<label id="btUrlText" />
</vbox>
</tooltip>
<toolbox id="navigator-toolbox" class="toolbox-top" mode="icons" iconsize="small">
<!-- Menu -->
<toolbar type="menubar" id="toolbar-menubar" class="chromeclass-menubar" customizable="true"
#ifdef XP_MACOSX
defaultset="menubar-items"
#else
defaultset="menubar-items,spring,throbber-box"
#endif
mode="icons" iconsize="small" context="toolbar-context-menu">
<toolbaritem id="menubar-items" align="center">
#ifndef XP_MACOSX
# The entire main menubar is placed into browser-menubar.inc, so that it can be shared by
# hiddenWindow.xul.
#include browser-menubar.inc
#endif
</toolbaritem>
</toolbar>
<toolbarpalette id="BrowserToolbarPalette">
<toolbarbutton id="back-button" type="menu-button" class="toolbarbutton-1"
label="&backCmd.label;"
command="Browser:Back"
context="backMenu"
tooltiptext="&backButton.tooltip;">
<menupopup context="" onpopupshowing="BrowserBackMenu(event);"
oncommand="gotoHistoryIndex(event); event.preventBubble();"/>
</toolbarbutton>
<toolbarbutton id="forward-button" type="menu-button" class="toolbarbutton-1"
label="&forwardCmd.label;"
command="Browser:Forward"
context="forwardMenu"
tooltiptext="&forwardButton.tooltip;">
<menupopup context="" oncommand="gotoHistoryIndex(event); event.preventBubble()"
onpopupshowing="BrowserForwardMenu(event);"/>
</toolbarbutton>
<toolbarbutton id="reload-button" class="toolbarbutton-1"
label="&reloadCmd.label;"
oncommand="if (event.shiftKey) BrowserReloadSkipCache(); else BrowserReload();"
tooltiptext="&reloadButton.tooltip;"/>
<toolbarbutton id="stop-button" class="toolbarbutton-1"
label="&stopCmd.label;"
command="Browser:Stop"
tooltiptext="&stopButton.tooltip;"/>
<toolbarbutton id="home-button" class="toolbarbutton-1"
label="&homeButton.label;"
ondragover="nsDragAndDrop.dragOver(event, homeButtonObserver);"
ondragdrop="nsDragAndDrop.drop(event, homeButtonObserver);"
ondragexit="nsDragAndDrop.dragExit(event, homeButtonObserver);"
oncommand="BrowserHome();"/>
<toolbaritem id="urlbar-container" align="center" flex="1000"
title="&locationItem.title;" class="chromeclass-location">
<textbox id="urlbar" flex="1"
type="autocomplete"
autocompletesearch="history"
autocompletepopup="PopupAutoComplete"
tabscrolling="true"
showcommentcolumn="true"
enablehistory="true"
oninput="gBrowser.userTypedValue = this.value"
ontextentered="return handleURLBarCommand(param);"
ontextreverted="return handleURLBarRevert();"
onfocus="URLBarFocusHandler(event, this);"
onmousedown="URLBarMouseDownHandler(event, this);"
onclick="URLBarClickHandler(event, this);">
<deck id="page-proxy-deck">
<image id="page-proxy-button"
ondraggesture="PageProxyDragGesture(event);"
tooltiptext="&proxyIcon.tooltip;"/>
<image id="page-proxy-favicon"
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);
this.parentNode.selectedIndex = 0;"
tooltiptext="&proxyIcon.tooltip;"/>
</deck>
</textbox>
</toolbaritem>
<toolbaritem id="search-container" align="center"
title="&searchItem.title;" class="chromeclass-location">
<textbox id="search-bar" type="autocomplete" flex="1"
autocompletepopup="PopupAutoComplete"
autocompletesearch="form-history"
tabscrolling="true"
onfocus="URLBarFocusHandler(event, this);"
onmousedown="URLBarMouseDownHandler(event, this);"
onclick="URLBarClickHandler(event, this);"
persist="searchengine,autocompletesearchparam">
<button id="search-proxy-button" type="menu"
popup="SearchBarPopup" persist="src"/>
</textbox>
</toolbaritem>
<toolbaritem id="go-container" align="center" class="chromeclass-location">
<button id="go-button" class="button-toolbar"
label="&goButton.label;"
oncommand="handleURLBarCommand(event);"
ondragover="nsDragAndDrop.dragOver(event, goButtonObserver);"
ondragdrop="nsDragAndDrop.drop(event, goButtonObserver);"
ondragexit="nsDragAndDrop.dragExit(event, goButtonObserver);"
tooltiptext="&goButton.tooltip;"/>
</toolbaritem>
<toolbarbutton id="print-button" class="toolbarbutton-1"
label="&printButton.label;" command="cmd_print"
tooltiptext="&printButton.tooltip;"/>
<toolbaritem id="throbber-box" title="&throbberItem.title;" align="center" pack="center">
<button id="navigator-throbber" oncommand="goClickThrobber('browser.throbber.url')"
tooltiptext="&throbber.tooltip;"/>
</toolbaritem>
<toolbaritem id="personal-bookmarks" title="&bookmarksItem.title;" flex="1">
<stack id="bookmarks-stack" flex="1" style="min-width:0px; width:0px;">
<hbox id="bookmarks-ptf" class="bookmarks-toolbar-items" contextmenu="bookmarks-context-menu"
flex="1" style="min-width:0px; width:0px;margin-left: 3px;"
datasources="rdf:bookmarks rdf:files rdf:localsearch"
template="bookmarks-template" flags="dont-test-empty"
rdf:type="http://home.netscape.com/NC-rdf#Folder"
onpopupshowing="BookmarksMenu.showOpenInTabsMenuItem(event.target)"
onpopuphidden="BookmarksMenu.hideOpenInTabsMenuItem(event.target)"
oncommand="BookmarksMenu.loadBookmark(event, event.target, this.database)"
onclick="BookmarksMenu.loadBookmarkMiddleClick(event, this.database)"
ondraggesture="nsDragAndDrop.startDrag(event, BookmarksMenuDNDObserver)"
ondragdrop="nsDragAndDrop.drop(event, BookmarksMenuDNDObserver); event.preventBubble()"
ondragenter="nsDragAndDrop.dragEnter(event, BookmarksMenuDNDObserver); event.preventBubble()"
ondragexit="nsDragAndDrop.dragExit(event, BookmarksMenuDNDObserver); event.preventBubble()"
ondragover="nsDragAndDrop.dragOver(event, BookmarksMenuDNDObserver); event.preventBubble()">
</hbox>
<hbox class="bookmarks-toolbar-overflow-items" mousethrough="always">
<hbox mousethrough="always" id="overflow-padder"/>
<toolbarbutton id="bookmarks-chevron" type="menu" class="chevron"
mousethrough="never" collapsed="true"
datasources="rdf:bookmarks rdf:files rdf:localsearch"
template="bookmarks-template" flags="dont-test-empty"
onpopupshowing="BookmarksMenu.showOpenInTabsMenuItem(event.target)"
onpopuphidden="BookmarksMenu.hideOpenInTabsMenuItem(event.target)"
oncommand="BookmarksMenu.loadBookmark(event, event.target, this.database)"
onclick="BookmarksMenu.loadBookmarkMiddleClick(event, this.database)"
ondraggesture="nsDragAndDrop.startDrag(event, BookmarksMenuDNDObserver)"
ondragdrop="nsDragAndDrop.drop(event, BookmarksMenuDNDObserver); event.preventBubble()"
ondragenter="nsDragAndDrop.dragEnter(event, BookmarksMenuDNDObserver); event.preventBubble()"
ondragexit="nsDragAndDrop.dragExit(event, BookmarksMenuDNDObserver); event.preventBubble()"
ondragover="nsDragAndDrop.dragOver(event, BookmarksMenuDNDObserver); event.preventBubble()">
<menupopup contextmenu="bookmarks-context-menu"
onpopupshowing="if (event.target == this) BookmarksToolbar.updateOverflowMenu(this);"/>
</toolbarbutton>
</hbox>
<toolbarbutton class="bookmark-item bookmarks-toolbar-customize" mousethrough="never"
label="&bookmarksToolbarItem.label;"/>
</stack>
</toolbaritem>
<toolbarbutton id="downloads-button" class="toolbarbutton-1"
observes="Tools:Downloads"
ondragdrop="nsDragAndDrop.drop(event, DownloadsButtonDNDObserver); event.preventBubble()"
ondragover="nsDragAndDrop.dragOver(event, DownloadsButtonDNDObserver); event.preventBubble()"
ondragenter="nsDragAndDrop.dragEnter(event, DownloadsButtonDNDObserver); event.preventBubble()"
ondragexit="nsDragAndDrop.dragExit(event, DownloadsButtonDNDObserver); event.preventBubble()"
label="&downloads.label;"
tooltiptext="&downloads.tooltip;"/>
<toolbarbutton id="history-button" class="toolbarbutton-1"
observes="viewHistorySidebar"
tooltiptext="&historyButton.tooltip;"/>
#ifdef XP_WIN
<toolbarbutton id="mail-button" type="menu" class="toolbarbutton-1"
label="&mailButton.label;" orient="horizontal"
onmouseover="MailIntegration.updateUnreadCount();"
tooltiptext="&mailButton.tooltip;">
<menupopup tooltiptext="">
<menuitem label="&mailButton.readMail.label;"
id="readMailItem"
accesskey="&mailButton.readMail.accesskey;"
command="Browser:ReadMail"/>
<menuitem label="&mailButton.newMessage.label;"
accesskey="&mailButton.newMessage.accesskey;"
command="Browser:NewMessage"/>
<menuitem label="&mailButton.sendLink.label;"
accesskey="&mailButton.sendLink.accesskey;"
command="Browser:SendLink"/>
<menuseparator/>
<menuitem label="&mailButton.readNews.label;"
accesskey="&mailButton.readNews.accesskey;"
command="Browser:ReadNews"/>
</menupopup>
</toolbarbutton>
#endif
<toolbarbutton id="bookmarks-button" class="toolbarbutton-1"
observes="viewBookmarksSidebar"
tooltiptext="&bookmarksButton.tooltip;"/>
<toolbarbutton id="new-tab-button" class="toolbarbutton-1"
label="&tabCmd.label;"
command="cmd_newNavigatorTab"
tooltiptext="&newTabButton.tooltip;"/>
<toolbarbutton id="new-window-button" class="toolbarbutton-1"
label="&newNavigatorCmd.label;"
command="key_newNavigator"
tooltiptext="&newWindowButton.tooltip;"/>
<toolbarbutton id="cut-button" class="toolbarbutton-1"
label="&cutCmd.label;"
command="cmd_cut"
tooltiptext="&cutButton.tooltip;"/>
<toolbarbutton id="copy-button" class="toolbarbutton-1"
label="&copyCmd.label;"
command="cmd_copy"
tooltiptext="&copyButton.tooltip;"/>
<toolbarbutton id="paste-button" class="toolbarbutton-1"
label="&pasteCmd.label;"
command="cmd_paste"
tooltiptext="&pasteButton.tooltip;"/>
</toolbarpalette>
<toolbar id="nav-bar" class="toolbar-primary chromeclass-toolbar"
toolbarname="&navbarCmd.label;" accesskey="&navbarCmd.accesskey;"
fullscreentoolbar="true" mode="icons" iconsize="small"
customizable="true"
defaultset="back-button,forward-button,reload-button,stop-button,home-button,urlbar-container,search-container,window-controls"
context="toolbar-context-menu">
<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>
<toolbarset id="customToolbars" context="toolbar-context-menu"/>
<toolbar id="PersonalToolbar" class="chromeclass-directories" iconsize="small"
customizable="true" defaultset="personal-bookmarks" mode="icons"
toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;"
context="toolbar-context-menu"/>
</toolbox>
<hbox flex="1" id="browser">
<vbox id="sidebar-box" hidden="true" class="chromeclass-extrachrome">
<sidebarheader align="center">
<label id="sidebar-title" persist="value" flex="1" crop="end"/>
<image id="sidebar-throbber"/>
<toolbarbutton class="tabs-closebutton" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="toggleSidebar();"/>
</sidebarheader>
<browser id="sidebar" flex="1" autoscroll="false"
style="min-width: 150px; width: 200px; max-width: 400px;"/>
</vbox>
<splitter id="sidebar-splitter" class="chromeclass-extrachrome" hidden="true"/>
<vbox id="appcontent" flex="1">
<tabbrowser id="content" disablehistory="true"
flex="1" contenttooltip="aHTMLTooltip"
contentcontextmenu="contentAreaContextMenu"
onnewtab="BrowserOpenTab();"
autocompleteenabled="true"
autocompletepopup="PopupAutoComplete"
ondragdrop="nsDragAndDrop.drop(event, contentAreaDNDObserver);"
onclick="return contentAreaClick(event, false);"/>
</vbox>
</hbox>
<statusbar class="chromeclass-status" id="status-bar"
ondragdrop="nsDragAndDrop.drop(event, contentAreaDNDObserver);">
<statusbarpanel id="security-button" class="statusbarpanel-iconic"
onclick="displayPageInfo()"/>
<statusbarpanel id="page-report-button" class="statusbarpanel-iconic" tooltiptext="&pageReportIcon.tooltip;"
onclick="displayPageReport();"/>
<statusbarpanel id="page-theme-button" type="menu" class="statusbarpanel-menu-iconic" tooltiptext="&pageThemeIcon.tooltip;">
<menupopup onpopupshowing="stylesheetFillPopup(this);"
oncommand="stylesheetSwitchAll(window._content, event.target.getAttribute('data'));">
<menuitem label="&pageThemeNoTheme.label;" accesskey="&pageThemeNoTheme.accesskey;" type="radio" data="_nostyle"/>
<menuitem label="&pageThemePersistentOnly.label;" accesskey="&pageThemePersistentOnly.accesskey;" type="radio" checked="true"/>
<menuseparator/>
</menupopup>
</statusbarpanel>
<statusbarpanel id="statusbar-display" flex="1"/>
<statusbarpanel id="statusbar-updates"/>
<statusbarpanel class="statusbarpanel-progress" collapsed="true" id="statusbar-progresspanel">
<progressmeter class="progressmeter-statusbar" id="statusbar-icon" mode="normal" value="0"/>
</statusbarpanel>
</statusbar>
</window>