gecko/mobile/chrome/content/browser.xul

786 lines
44 KiB
XML

<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
-
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
- http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
-
- The Original Code is Mozilla Mobile Browser.
-
- The Initial Developer of the Original Code is
- Mozilla Corporation.
- Portions created by the Initial Developer are Copyright (C) 2008
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
- Brad Lassey <blassey@mozilla.com>
- Mark Finkle <mfinkle@mozila.com>
- Matt Brubeck <mbrubeck@mozila.com>
-
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
-
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://browser/skin/platform.css" type="text/css"?>
<?xml-stylesheet href="chrome://browser/skin/browser.css" type="text/css"?>
<?xml-stylesheet href="chrome://browser/skin/forms.css" type="text/css"?>
<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
<!DOCTYPE window [
<!ENTITY % globalDTD SYSTEM "chrome://global/locale/global.dtd">
%globalDTD;
<!ENTITY % browserDTD SYSTEM "chrome://browser/locale/browser.dtd">
%browserDTD;
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % prefsDTD SYSTEM "chrome://browser/locale/preferences.dtd">
%prefsDTD;
#ifdef MOZ_SERVICES_SYNC
<!ENTITY % syncDTD SYSTEM "chrome://browser/locale/sync.dtd">
%syncDTD;
#endif
]>
<window id="main-window"
onload="Browser.startup();"
onunload="Browser.shutdown();"
onclose="return Browser.closing();"
windowtype="navigator:browser"
chromedir="&locale.dir;"
title="&brandShortName;"
#ifdef MOZ_PLATFORM_MAEMO
sizemode="fullscreen"
#else
#ifndef ANDROID
width="480"
height="800"
#endif
#endif
onkeypress="onDebugKeyPress(event);"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:html="http://www.w3.org/1999/xhtml">
<script type="application/javascript" src="chrome://browser/content/browser.js"/>
<script type="application/javascript" src="chrome://browser/content/browser-ui.js"/>
<script type="application/javascript" src="chrome://browser/content/browser-scripts.js"/>
<script type="application/javascript" src="chrome://browser/content/Util.js"/>
<script type="application/javascript" src="chrome://browser/content/input.js"/>
<broadcasterset id="broadcasterset">
<broadcaster id="bcast_contentShowing" disabled="false"/>
<broadcaster id="bcast_urlbarState" mode="view" tablet_sidebar="true" persist="tablet_sidebar"/>
<broadcaster id="bcast_uidiscovery"/>
</broadcasterset>
<observerset id="observerset">
<observes id="observe_contentShowing" element="bcast_contentShowing" attribute="disabled" onbroadcast="BrowserUI.updateUIFocus();"/>
</observerset>
<commandset id="mainCommandSet">
<!-- basic navigation -->
<command id="cmd_back" label="&back.label;" disabled="true" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_forward" label="&forward.label;" disabled="true" oncommand="CommandUpdater.doCommand(this.id);" observes="bcast_urlbarState"/>
<command id="cmd_reload" label="&reload.label;" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_forceReload" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_stop" label="&stop.label;" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_go" label="&go.label;" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_openLocation" oncommand="CommandUpdater.doCommand(this.id);"/>
<!-- tabs -->
<command id="cmd_showTabs" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_newTab" label="&newtab.label;" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_closeTab" label="&closetab.label;" oncommand="CommandUpdater.doCommand(this.id);"/>
#ifdef MOZ_SERVICES_SYNC
<command id="cmd_remoteTabs" oncommand="CommandUpdater.doCommand(this.id);"/>
#endif
<command id="cmd_undoCloseTab" oncommand="CommandUpdater.doCommand(this.id);"/>
<!-- bookmarking -->
<command id="cmd_star" label="&star.label;" oncommand="CommandUpdater.doCommand(this.id);"/>
<!-- misc -->
<command id="cmd_close" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_quit" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_menu" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_actions" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_opensearch" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_panel" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_bookmarks" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_history" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_sanitize" oncommand="CommandUpdater.doCommand(this.id);"/>
<!-- screen/display -->
<command id="cmd_fullscreen" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_zoomin" observes="bcast_contentShowing" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_zoomout" observes="bcast_contentShowing" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_lockscreen" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_volumeLeft" observes="bcast_contentShowing" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_volumeRight" observes="bcast_contentShowing" oncommand="CommandUpdater.doCommand(this.id);"/>
<!-- scrolling -->
<command id="cmd_scrollPageUp" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_scrollPageDown" oncommand="CommandUpdater.doCommand(this.id);"/>
<!-- editing -->
<command id="cmd_cut" label="&cut.label;" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_copy" label="&copy.label;" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_copylink" label="&copylink.label;" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_paste" label="&paste.label;" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_delete" label="&delete.label;" oncommand="CommandUpdater.doCommand(this.id);"/>
<command id="cmd_selectAll" label="&selectAll.label;" oncommand="CommandUpdater.doCommand(this.id);"/>
<!-- forms navigation -->
<command id="cmd_formPrevious" oncommand="FormHelperUI.goToPrevious();"/>
<command id="cmd_formNext" oncommand="FormHelperUI.goToNext();"/>
<command id="cmd_formClose" oncommand="FormHelperUI.hide();"/>
<!-- find navigation -->
<command id="cmd_findPrevious" oncommand="FindHelperUI.goToPrevious();"/>
<command id="cmd_findNext" oncommand="FindHelperUI.goToNext();"/>
<command id="cmd_findClose" oncommand="FindHelperUI.hide();"/>
<command id="cmd_find" oncommand="FindHelperUI.show();"/>
</commandset>
<keyset id="mainKeyset">
<!-- basic navigation -->
<key id="key_back" keycode="VK_LEFT" command="cmd_back" modifiers="control"/>
<key id="key_forward" keycode="VK_RIGHT" command="cmd_forward" modifiers="control"/>
#ifndef ANDROID
<key id="key_back2" keycode="VK_BACK" command="cmd_back"/>
<key id="key_forward2" keycode="VK_BACK" command="cmd_forward" modifiers="shift"/>
#endif
#ifndef MOZ_PLATFORM_MAEMO
<key id="key_reload" keycode="VK_F5" command="cmd_reload"/>
<key id="key_forceReload" keycode="VK_F5" modifiers="shift" command="cmd_forceReload"/>
#else
<key id="key_lockscreen" key="o" modifiers="accel,shift" command="cmd_lockscreen"/>
<!-- F5 on maemo is "home" which is a task switching key -->
#endif
<key id="key_reload2" key="r" modifiers="accel" command="cmd_reload"/>
<key id="key_forceReload2" key="r" modifiers="accel,shift" command="cmd_forceReload"/>
<key id="key_focusURL" key="l" modifiers="accel" command="cmd_openLocation"/>
<!-- scrolling -->
<key id="key_pageUp" keycode="VK_UP" modifiers="shift" command="cmd_scrollPageUp"/>
<key id="key_pageDown" keycode="VK_DOWN" modifiers="shift" command="cmd_scrollPageDown"/>
<!-- misc -->
<key id="key_zoomin" keycode="VK_UP" modifiers="accel" command="cmd_zoomin"/>
<key id="key_zoomout" keycode="VK_DOWN" modifiers="accel" command="cmd_zoomout"/>
<key id="key_find" key="f" modifiers="accel" command="cmd_find"/>
<key id="key_quit" key="q" modifiers="accel" command="cmd_quit"/>
<key id="key_fullscreen" keycode="VK_F6" command="cmd_fullscreen"/>
<key id="key_zoomin2" keycode="VK_F7" command="cmd_volumeRight"/>
<key id="key_zoomout2" keycode="VK_F8" command="cmd_volumeLeft"/>
<!-- tabs -->
<key id="key_newTab" key="t" modifiers="accel" command="cmd_newTab"/>
<key id="key_closeTab" key="w" modifiers="accel" command="cmd_closeTab"/>
<key id="key_undoCloseTab" key="t" modifiers="accel,shift" command="cmd_undoCloseTab"/>
</keyset>
<stack flex="1" id="stack">
<scrollbox id="controls-scrollbox" style="overflow: hidden; -moz-box-orient: horizontal; position: relative;" flex="1" observes="bcast_urlbarState">
<vbox id="tabs-sidebar" class="sidebar" observes="bcast_uidiscovery">
<spacer class="toolbar-height" id="tabs-spacer" observes="bcast_urlbarState"/>
<!-- Left toolbar -->
<vbox id="tabs-container" class="panel-dark" flex="1" observes="bcast_urlbarState">
<vbox id="tabs" flex="1" observes="bcast_urlbarState"
ondoubletap="BrowserUI.newTab();"
onselect="BrowserUI.selectTab(this);"
onreloadtab="BrowserUI.undoCloseTab()"
onclosetab="BrowserUI.closeTab(this)"
onclosereloadtab="this._container.removeTab(this)"/>
<hbox id="tabs-controls">
<toolbarbutton id="newtab-button" class="button-control" command="cmd_newTab" label="&newtab.label;" observes="bcast_urlbarState" crop="end"/>
</hbox>
</vbox>
</vbox>
<!-- Page Area -->
<stack id="page-stack" observes="bcast_urlbarState">
<scrollbox id="page-scrollbox">
<vbox>
<!-- Main Toolbar -->
<box id="toolbar-container" class="panel-dark toolbar-height">
<box id="toolbar-moveable-container" observes="bcast_uidiscovery">
<toolbar id="toolbar-main" class="panel-dark viewable-width" observes="bcast_urlbarState">
<toolbarbutton id="tool-tabs" class="button-actionbar" command="cmd_showTabs" anchorPosX="0.3"/>
<toolbarbutton id="tool-back2" class="tool-back button-actionbar" command="cmd_back"/>
<toolbarbutton id="tool-forward2" class="tool-forward button-actionbar" command="cmd_forward"/>
#ifdef MOZ_PLATFORM_MAEMO
#if MOZ_PLATFORM_MAEMO != 6
<toolbarbutton id="tool-app-switch" oncommand="BrowserUI.switchTask();"/>
#endif
#endif
<hbox id="urlbar-container" flex="1" observes="bcast_urlbarState">
<box id="identity-box" class="urlbar-cap-button"
onclick="getIdentityHandler().handleIdentityButtonEvent(event);"
onkeypress="getIdentityHandler().handleIdentityButtonEvent(event);">
<box id="urlbar-image-box" mousethrough="always">
<image id="urlbar-throbber"/>
<image id="urlbar-favicon" hidden="true"/>
</box>
</box>
<label id="urlbar-title" class="uri-element" crop="end" flex="1"
command="cmd_openLocation" onclick="this.doCommand();"
placeholder="&urlbar.emptytext;"/>
<textbox id="urlbar-edit"
type="url"
mozactionhint="go"
class="uri-element"
autocompletesearch="history"
autocompletepopup="popup_autocomplete"
completeselectedindex="true"
minresultsforpopup="0"
onsearchbegin="AwesomeScreen.updateHeader(this.controller.searchString);"
placeholder="&urlbar.emptytext;"
collapsed="true"
flex="1"
readonly="true"
ontextentered="BrowserUI.goToURI();"
clickSelectsAll="true"/>
<hbox id="urlbar-icons" class="urlbar-cap-button" observes="bcast_urlbarState">
<toolbarbutton id="tool-reload" oncommand="CommandUpdater.doCommand(event.shiftKey ? 'cmd_forceReload' : 'cmd_reload');"/>
<toolbarbutton id="tool-stop" command="cmd_stop"/>
<toolbarbutton id="tool-search" command="cmd_opensearch"/>
</hbox>
</hbox>
<toolbarbutton id="tool-star2" class="tool-star button-actionbar" command="cmd_star"/>
<toolbarbutton id="tool-menu" class="button-actionbar" command="cmd_menu"/>
#ifndef ANDROID
<toolbarbutton id="tool-app-close" class="urlbar-button" command="cmd_close"/>
#endif
</toolbar>
</box>
</box>
<!-- Content viewport -->
<vbox id="content-viewport" class="viewable-width viewable-height">
<!-- Content viewport -->
<stack>
<deck id="browsers" flex="1" observes="bcast_uidiscovery"/>
<!-- vertical scrollbar -->
<box id="vertical-scroller" class="scroller" orient="vertical" end="2" top="0"/>
</stack>
</vbox>
</vbox>
</scrollbox>
<!-- popup for content navigator helper -->
<vbox id="content-navigator" top="0">
<textbox id="find-helper-textbox" class="search-bar content-navigator-item" oncommand="FindHelperUI.search(this.value)" oninput="FindHelperUI.updateCommands(this.value);" type="search"/>
</vbox>
<!-- horizontal scrollbar -->
<box id="horizontal-scroller" class="scroller" orient="horizontal" left="0" bottom="2"/>
</stack>
<!-- Right toolbar -->
<vbox id="controls-sidebar" class="sidebar" observes="bcast_uidiscovery">
<!-- Because of the stack + fixed position of the urlbar when it is in
locked mode the event on the top-right part of the urlbar are
swallow by this spacer, but not with the mousethrough attribute
-->
<spacer class="toolbar-height" mousethrough="always"/>
<vbox id="browser-controls" style="overflow: -moz-hidden-unscrollable;" class="panel-dark" flex="1">
<toolbarbutton id="tool-star" class="tool-star button-control" command="cmd_star"/>
<toolbarbutton id="tool-back" class="tool-back button-control" command="cmd_back"/>
<toolbarbutton id="tool-forward" class="tool-forward button-control" command="cmd_forward"/>
<toolbarspring/>
<toolbarbutton id="tool-panel-open" class="button-control" command="cmd_panel"/>
</vbox>
</vbox>
</scrollbox>
<!-- Form Helper suggestions helper popup -->
<arrowbox id="form-helper-suggestions-container" flex="1" hidden="true" offset="0" top="0" left="0">
<arrowscrollbox id="form-helper-suggestions" align="center" flex="1" orient="horizontal" onclick="FormHelperUI.doAutoComplete(event.target);"/>
</arrowbox>
<!-- Tabs sidebar helper popup -->
<arrowbox id="tabs-popup-container" hidden="true" offset="18" type="dialog">
<vbox id="tabs-popup-inner-container" flex="1">
<richlistbox id="tabs-popup-list" flex="1"
onselect="BrowserUI.selectTab(this); TabsPopup.hide();"
onreloadtab="BrowserUI.undoCloseTab(); TabsPopup.hide();"
onclosetab="BrowserUI.closeTab(this); TabsPopup.closeTab(this);"/>
<button id="tabs-popup-newtab-button" class="show-text" command="cmd_newTab"/>
</vbox>
</arrowbox>
<!-- popup for site identity information -->
<arrowbox id="identity-container" hidden="true" mode="unknownIdentity" offset="18" flex="1" type="dialog" observes="bcast_urlbarState">
<box id="identity-popup-container" flex="1" align="top">
<image id="identity-popup-icon"/>
<vbox id="identity-popup-content-box" flex="1">
<box id="identity-popup-connected-box" flex="1">
<label id="identity-popup-connectedToLabel" value="&identity.connectedTo2;"/>
<label id="identity-popup-connectedToLabel2" flex="1">&identity.unverifiedsite2;</label>
<description id="identity-popup-content-host" flex="1"/>
</box>
<box id="identity-popup-runBy-box">
<label id="identity-popup-runByLabel" value="&identity.runBy2;"/>
<description id="identity-popup-content-owner"/>
<description id="identity-popup-content-supplemental"/>
</box>
<description id="identity-popup-content-verifier"/>
</vbox>
<box id="identity-popup-encryption-box">
<image id="identity-popup-encryption-icon"/>
<description id="identity-popup-encryption-label"/>
</box>
</box>
<hbox id="pageactions-container" hidden="true">
#ifndef ANDROID
<pageaction id="pageaction-findinpage" title="&pageactions.findInPage;"
onclick="FindHelperUI.show();"/>
#ifdef NS_PRINTING
<pageaction id="pageaction-saveas" title="&pageactions.saveas.pdf;"
onclick="PageActions.savePageAsPDF();"/>
#endif
<pageaction id="pageaction-share" title="&pageactions.share.page;"
onclick="SharingUI.show(getBrowser().currentURI.spec, getBrowser().contentTitle);"/>
#endif
<pageaction id="pageaction-password" title="&pageactions.password.forget;"
onclick="PageActions.forgetPassword(event);"/>
<pageaction id="pageaction-reset" title="&pageactions.reset;"
onclick="PageActions.clearPagePermissions(event);"/>
<pageaction id="pageaction-search" title="&pageactions.search.addNew;"/>
<pageaction id="pageaction-charset" title="&pageactions.charEncoding;" onclick="CharsetMenu.show();"/>
</hbox>
</arrowbox>
<arrowbox id="bookmark-popup" hidden="true" align="stretch" offset="12" type="dialog">
<hbox id="bookmark-popup-title">
<label value="&bookmarkPopup.label;"/>
</hbox>
<richlistbox id="bookmark-popup-commands" class="action-buttons" onclick="BookmarkPopup.hide();" flex="1">
<richlistitem class="action-button" id="bookmark-popup-edit" onclick="BookmarkHelper.edit();">
<label value="&bookmarkEdit.label;"/>
</richlistitem>
<richlistitem class="action-button" id="bookmark-popup-remove" onclick="BookmarkPopup.hide(); BookmarkHelper.removeBookmarksForURI(getBrowser().currentURI);">
<label value="&bookmarkRemove.label;"/>
</richlistitem>
#ifdef ANDROID
<richlistitem class="action-button" id="bookmark-popup-shortcut" onclick="BookmarkPopup.addToHome();">
<label value="&bookmarkShortcut.label;"/>
</richlistitem>
#endif
</richlistbox>
</arrowbox>
<box id="bookmark-container" class="perm-modal-block" hidden="true">
<dialog id="bookmark-dialog" class="content-dialog" flex="1">
<hbox id="bookmark-form-title" class="prompt-title">
<description>&editBookmarkDialog.title;</description>
</hbox>
<separator id="bookmark-form-line" class="prompt-line"/>
<scrollbox id="bookmark-form" align="start" class="prompt-message" flex="1"/>
<hbox id="bookmark-form-buttons" pack="center" class="prompt-buttons">
<button label="&editBookmarkDone.label;" class="prompt-button" oncommand="BookmarkHelper.save();"/>
</hbox>
</dialog>
</box>
<!-- use an offset to remove the space taken by the invisible callout arrow -->
<arrowbox id="appmenu-popup" hidden="true" type="dialog" offset="18">
<box id="appmenu-popup-sitecommands"/>
<vbox id="appmenu-popup-appcommands"/>
</arrowbox>
<box id="panel-container" hidden="true" class="window-width window-height panel-dark"
style="-moz-stack-sizing: ignore" left="10000">
<box id="panel-container-inner" flex="1" class="panel-dark">
<box id="panel-controls" class="panel-row-header" oncommand="BrowserUI.switchPane(event.target.getAttribute('linkedpanel'));">
<toolbarbutton id="tool-preferences" label="&prefsHeader.label;" class="panel-row-button" type="radio" group="1" checked="true" linkedpanel="prefs-container"/>
<toolbarbutton id="tool-downloads" label="&downloadsHeader.label;" class="panel-row-button" type="radio" group="1" linkedpanel="downloads-container"/>
<toolbarbutton id="tool-addons" label="&addonsHeader.label;" class="panel-row-button" type="radio" group="1" linkedpanel="addons-container"/>
<toolbarbutton id="tool-console" label="&consoleHeader.label;" class="panel-row-button" type="radio" group="1" hidden="true" linkedpanel="console-container"/>
#ifndef ANDROID
<spacer flex="1"/>
<toolbarbutton id="tool-panel-close" class="panel-close" command="cmd_panel"/>
#endif
</box>
<vbox flex="1">
<deck id="panel-items" selectedIndex="2" flex="1">
<vbox id="addons-container" flex="1">
<notificationbox id="addons-messages" flex="1">
<richlistbox id="addons-list" class="panel-list" flex="1" onselect="ExtensionsView.hideOnSelect(event)">
<label id="addons-list-header" class="panel-header" value="&addonsHeader.label;"/>
<richlistitem id="addons-local" class="section-header" align="center" nohighlight="true">
<label value="&addonsLocal.label;" flex="1"/>
<spacer flex="1"/>
<button id="addons-update-all" label="&addonsUpdate.label;" hidden="true"
oncommand="ExtensionsView.updateAll();"/>
</richlistitem>
<richlistitem id="addons-repo" class="section-header" nohighlight="true">
<label value="&addonsRepo.label;" flex="1"/>
<textbox id="addons-search-text" flex="1" class="search-bar" placeholder="&addonsSearch2.emptytext;" type="search" searchbutton="false"
oncommand="ExtensionsView.getAddonsFromRepo(this.value);" onkeypress="if (event.keyCode == event.DOM_VK_RETURN) this.blur();"/>
</richlistitem>
</richlistbox>
</notificationbox>
</vbox>
<vbox id="downloads-container" flex="1">
<richlistbox id="downloads-list" class="panel-list" flex="1" onselect="this.ensureSelectedElementIsVisible()">
<label id="downloads-list-header" class="panel-header" value="&downloadsHeader.label;"/>
</richlistbox>
</vbox>
<vbox id="prefs-container" flex="1">
<notificationbox id="prefs-messages" flex="1">
<richlistbox id="prefs-list" class="panel-list" seltype="single" flex="1" onselect="this.ensureSelectedElementIsVisible()">
<label id="prefs-list-header" class="panel-header" value="&prefsHeader.label;"/>
<setting title="&about.title;" type="control">
<button id="prefs-about-button" label="&about.button;"
#ifdef MOZ_OFFICIAL_BRANDING
# these two point to the same page, this just matters for what shows up in the
# URL bar
oncommand="BrowserUI.newTab('about:firefox', Browser.selectedTab);"/>
#else
oncommand="BrowserUI.newTab('about:fennec', Browser.selectedTab);"/>
#endif
</setting>
<setting id="prefs-uilanguage" title="&language.title;" type="control">
<menulist id="prefs-languages" oncommand="PreferencesView.updateLocale();">
<menupopup>
<menuitem id="prefs-languages-auto" label="&language.auto;" value="auto"/>
</menupopup>
</menulist>
</setting>
<setting id="prefs-homepage" title="&homepage.title;" type="menulist">
<menulist id="prefs-homepage-options" oncommand="PreferencesView.updateHomePage();">
<menupopup onpopupshowing="PreferencesView.updateHomePageList();">
<menuitem id="prefs-homepage-default" label="&homepage.default;" value="default"/>
<menuitem id="prefs-homepage-none" label="&homepage.none;" value="none"/>
<menuitem id="prefs-homepage-currentpage" label="&homepage.currentpage;" value="currentpage"/>
</menupopup>
</menulist>
</setting>
#ifdef MOZ_SERVICES_SYNC
<settings id="prefs-sync" label="&sync.title;">
<setting id="sync-connect" title="&sync.notconnected;" type="control">
<button label="&sync.connect;" oncommand="WeaveGlue.tryConnect();" />
</setting>
<setting id="sync-connected" class="setting-group" title="&sync.connected;" type="control" collapsed="true">
<button id="sync-details" label="&sync.details;" type="checkbox" autocheck="false" checked="false" oncommand="WeaveGlue.showDetails();" />
</setting>
<setting id="sync-sync" class="setting-subgroup" type="control" collapsed="true">
<button id="sync-syncButton" label="&sync.syncNow;" oncommand="WeaveGlue.sync();"/>
</setting>
<setting id="sync-device" class="setting-subgroup" type="string" title="&sync.deviceName;" onchange="WeaveGlue.changeName(this);" collapsed="true"/>
<setting id="sync-disconnect" class="setting-subgroup" type="control" collapsed="true">
<button label="&sync.disconnect;" oncommand="WeaveGlue.disconnect();" />
</setting>
</settings>
#endif
<settings id="prefs-privacy" label="&privacy.title;">
<setting pref="network.cookie.cookieBehavior" title="&allowCookies.title;" type="boolint" on="0" off="2"/>
<setting pref="signon.rememberSignons" title="&rememberPasswords.title;" type="bool"/>
<setting pref="privacy.donottrackheader.enabled" title="&doNotTrack.title;" type="bool"/>
<setting id="prefs-master-password" title="&masterPassword.title;" type="bool" oncommand="MasterPasswordUI.show(this.value);"/>
<setting title="&clearPrivateData2.title;" type="control">
<button id="prefs-clear-data" label="&clearPrivateData.button;" command="cmd_sanitize"/>
</setting>
</settings>
<settings id="prefs-content" label="&content.title;">
<setting pref="browser.ui.zoom.reflow" title="&reflowZoom.title;" type="bool"/>
<setting pref="permissions.default.image" title="&showImages.title;" type="boolint" on="1" off="2"/>
<setting pref="javascript.enabled" type="bool" title="&enableJavaScript.title;"/>
<setting pref="browser.menu.showCharacterEncoding" type="bool" localized="true" title="&showCharsetEncoding.title;"/>
</settings>
</richlistbox>
</notificationbox>
</vbox>
<vbox id="console-container" flex="1">
<vbox id="console-header" class="panel-list">
<label class="panel-header" value="&consoleHeader.label;"/>
<hbox align="center">
<label value="&consoleCodeEval.label;" control="console-eval-textbox"/>
<textbox id="console-eval-textbox" class="toolbar search-bar" value="" onkeypress="ConsoleView.onEvalKeyPress(event)" flex="1"/>
<button id="console-button-eval" class="show-text" label="&consoleEvaluate.label;" oncommand="ConsoleView.evaluateTypein()"/>
</hbox>
<hbox align="center" pack="end">
<radiogroup id="console-filter" oncommand="ConsoleView.changeMode();">
<radio id="console-filter-all" label="&consoleAll.label;" value="all" selected="true"/>
<radio id="console-filter-messages" label="&consoleMessages.label;" value="message"/>
<radio id="console-filter-warnings" label="&consoleWarnings.label;" value="warning"/>
<radio id="console-filter-errors" label="&consoleErrors.label;" value="error"/>
</radiogroup>
<button id="console-clear" class="show-text" oncommand="ConsoleView.clearConsole();" label="&consoleClear.label;"/>
</hbox>
</vbox>
<richlistbox id="console-box" class="panel-list console-box" flex="1" onkeypress="ConsoleView.onConsoleBoxKeyPress(event)" oncontextmenu="ConsoleView.onContextMenu(event);"/>
</vbox>
</deck>
</vbox>
</box>
</box>
<vbox id="awesome-panels" hidden="true">
<!-- Awesome header row -->
<hbox id="awesome-header" class="panel-row-header">
<toolbarbutton id="allpages-button" type="radio" group="awesome-header" label="&allPagesHeader.label;" command="cmd_openLocation" class="choice-all panel-row-button show-text"/>
<toolbarbutton id="bookmarks-button" type="radio" group="awesome-header" label="&bookmarksHeader.label;" command="cmd_bookmarks" class="choice-bookmarks panel-row-button show-text"/>
<toolbarbutton id="history-button" type="radio" group="awesome-header" label="&historyHeader.label;" command="cmd_history" class="choice-history panel-row-button show-text"/>
#ifdef MOZ_SERVICES_SYNC
<toolbarbutton id="remotetabs-button" type="radio" group="awesome-header" label="&desktopHeader.label;" command="cmd_remoteTabs" class="choice-remotetabs panel-row-button show-text"/>
#endif
</hbox>
<!-- titlebar autocomplete results -->
<vbox id="popup_autocomplete" class="panel-dark place-list" flex="1" onshow="BrowserUI._edit.showHistoryPopup();" hidden="true"/>
<placelist id="bookmarks-items" class="place-list" type="bookmarks" onopen="BookmarkList.openLink(event);" onhide="BrowserUI.updateStar();" flex="1" hidden="true"/>
<historylist id="history-items" class="place-list" onopen="HistoryList.openLink(event);" flex="1" hidden="true"/>
#ifdef MOZ_SERVICES_SYNC
<remotetabslist id="remotetabs-items" class="place-list" onopen="RemoteTabsList.openLink(event)" flex="1" hidden="true"/>
#endif
</vbox>
<!-- Form Helper form validation helper popup -->
<arrowbox id="form-helper-validation-container" class="arrowbox-dark" flex="1" hidden="true" offset="0" top="0" left="0">
<label/>
</arrowbox>
#ifdef MOZ_SERVICES_SYNC
<box id="syncsetup-container" class="perm-modal-block" hidden="true">
<dialog id="syncsetup-dialog" class="content-dialog" flex="1">
<hbox class="prompt-title">
<description>&sync.setup.title;</description>
</hbox>
<separator class="prompt-line"/>
<vbox id="syncsetup-simple" class="syncsetup-page" flex="1">
<scrollbox id="sync-message" class="prompt-message" orient="vertical" flex="1">
<description class="syncsetup-desc syncsetup-center" flex="1">&sync.setup.pair;</description>
<description class="syncsetup-center link" flex="1" onclick="WeaveGlue.openTutorial();">&sync.setup.tutorial;</description>
<separator/>
<vbox align="center" flex="1">
<description id="syncsetup-code1" class="syncsetup-code">....</description>
<description id="syncsetup-code2" class="syncsetup-code">....</description>
<description id="syncsetup-code3" class="syncsetup-code">....</description>
</vbox>
<separator/>
<description class="syncsetup-center link" flex="1" onclick="WeaveGlue.openManual();">&sync.fallback;</description>
<separator flex="1"/>
</scrollbox>
<hbox class="prompt-buttons" pack="center">
<button class="prompt-button" oncommand="WeaveGlue.close();">&sync.setup.cancel;</button>
</hbox>
</vbox>
<vbox id="syncsetup-waiting" class="syncsetup-page" flex="1" hidden="true">
<description class="syncsetup-desc syncsetup-center" flex="1">&sync.setup.waiting;</description>
</vbox>
<vbox id="syncsetup-fallback" class="syncsetup-page" flex="1" hidden="true">
<scrollbox class="prompt-message" orient="vertical" flex="1">
<description class="syncsetup-desc syncsetup-center" flex="1">&sync.setup.manual;</description>
<separator/>
<textbox id="syncsetup-account" class="prompt-edit" placeholder="&sync.account;" oninput="WeaveGlue.canConnect();"/>
<textbox id="syncsetup-password" class="prompt-edit" placeholder="&sync.password;" type="password" oninput="WeaveGlue.canConnect();"/>
<textbox id="syncsetup-synckey" class="prompt-edit" placeholder="&sync.recoveryKey;" oninput="WeaveGlue.canConnect();"/>
<separator class="thin"/>
<button id="syncsetup-usecustomserver" type="checkbox" class="button-checkbox" pack="start" oncommand="WeaveGlue.toggleCustomServer();">
<image class="button-image-icon"/>
<description class="syncsetup-label prompt-checkbox-label" flex="1">&sync.customServer;</description>
</button>
<textbox id="syncsetup-customserver" class="prompt-edit" placeholder="&sync.serverURL;"/>
<separator flex="1"/>
</scrollbox>
<hbox class="prompt-buttons" pack="center">
<button class="prompt-button" oncommand="WeaveGlue.close();">&sync.setup.cancel;</button>
<separator/>
<button id="syncsetup-button-connect" class="prompt-button" oncommand="WeaveGlue.close(); WeaveGlue.connect();">&sync.setup.connect;</button>
</hbox>
</vbox>
</dialog>
</box>
#endif
<arrowbox id="search-engines-popup" hidden="true" offset="18" flex="1" type="dialog">
<hbox id="search-engines-list" class="action-buttons" flex="1"/>
</arrowbox>
<arrowbox id="newtab-popup" class="arrowbox-dark" hidden="true" onclick="NewTabPopup.selectTab()" align="center" start="0">
<label/>
</arrowbox>
<!-- options dialog for select form field -->
<vbox id="select-container" class="context-block" hidden="true">
<vbox id="select-popup" class="dialog-dark">
<hbox pack="center">
<label id="select-title" class="options-title" align="center" crop="center" flex="1"/>
</hbox>
<scrollbox id="select-commands" onclick="if (event.target != this) SelectHelperUI.selectByIndex(event.target.optionIndex);" orient="vertical" flex="1"/>
<hbox pack="center">
<button label="&selectHelper.done;" oncommand="SelectHelperUI.hide();"/>
</hbox>
</vbox>
</vbox>
<hbox id="context-container" class="context-block" hidden="true">
<vbox id="context-popup" class="dialog-dark">
<hbox id="context-header">
<label id="context-hint" crop="center" flex="1"/>
</hbox>
<richlistbox id="context-commands" onclick="ContextHelper.hide();" flex="1">
<richlistitem class="context-command" id="context-copy" type="copy" onclick="ContextCommands.copy();">
<label value="&copy.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-copy-all" type="copy-all" onclick="ContextCommands.copy();">
<label value="&copyAll.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-paste" type="paste" onclick="ContextCommands.paste();">
<label value="&paste.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-paste-n-go" type="paste-url" onclick="ContextCommands.pasteAndGo();">
<label value="&pasteAndGo.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-select-all" type="select-all" onclick="ContextCommands.selectAll();">
<label value="&selectAll.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-openinnewtab" type="link-openable" onclick="ContextCommands.openInNewTab();">
<label value="&contextOpenInNewTab.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-bookmark-link" type="link" onclick="ContextCommands.bookmarkLink();">
<label value="&contextBookmarkLink.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-saveimage" type="image-loaded" onclick="ContextCommands.saveImage();">
<label value="&contextSaveImage.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-copy-link" type="link" onclick="ContextCommands.copyLink();">
<label value="&contextCopyLink.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-copy-email" type="mailto" onclick="ContextCommands.copyEmail();">
<label value="&contextCopyEmail.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-copy-phone" type="callto" onclick="ContextCommands.copyPhone();">
<label value="&contextCopyPhone.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-copy-image-location" type="image" onclick="ContextCommands.copyImageLocation();">
<label value="&contextCopyImageLocation.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-share-link" type="link-shareable" onclick="ContextCommands.shareLink();">
<label value="&contextShareLink.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-share-image" type="image-shareable" onclick="ContextCommands.shareMedia();">
<label value="&contextShareImage.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-play-media" type="media-paused" onclick="ContextCommands.sendCommand('play');">
<label value="&contextPlayMedia.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-pause-video" type="media-playing" onclick="ContextCommands.sendCommand('pause');">
<label value="&contextPauseMedia.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-fullscreen" type="video" onclick="ContextCommands.sendCommand('fullscreen');">
<label value="&contextFullScreen.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-save-video" type="video" onclick="ContextCommands.saveImage();">
<label value="&contextSaveVideo.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-share-video" type="video-shareable" onclick="ContextCommands.shareMedia();">
<label value="&contextShareVideo.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-editbookmark" type="edit-bookmark" onclick="ContextCommands.editBookmark();">
<label value="&contextEditBookmark.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-removebookmark" type="edit-bookmark" onclick="ContextCommands.removeBookmark();">
<label value="&contextRemoveBookmark.label;"/>
</richlistitem>
#ifdef ANDROID
<richlistitem class="context-command" id="context-shortcutbookmark" type="edit-bookmark" onclick="ContextCommands.shortcutBookmark();">
<label value="&contextShortcutBookmark.label;"/>
</richlistitem>
<richlistitem class="context-command" id="context-select-input" type="input-text" onclick="ContextCommands.selectInput();">
<label value="&inputMethod.label;"/>
</richlistitem>
#endif
</richlistbox>
</vbox>
</hbox>
<toolbarbutton id="selectionhandle-start" label="^" left="0" top="0" hidden="true"/>
<toolbarbutton id="selectionhandle-end" label="^" left="0" top="0" hidden="true"/>
<hbox id="menulist-container" class="context-block" hidden="true">
<vbox id="menulist-popup" class="dialog-dark">
<label id="menulist-title" class="options-title" crop="center" flex="1"/>
<richlistbox id="menulist-commands" class="action-buttons" onclick="if (event.target != this) MenuListHelperUI.selectByIndex(this.selectedIndex);" flex="1"/>
</vbox>
</hbox>
<!-- alerts for content -->
<hbox id="alerts-container" hidden="true" align="start" bottom="0" onclick="AlertsHelper.click(event);">
<image id="alerts-image"/>
<vbox flex="1">
<label id="alerts-title" value=""/>
<description id="alerts-text" flex="1"/>
</vbox>
</hbox>
<hbox id="appmenu-overflow" bottom="0" hidden="true" oncommand="AppMenu.hideOverflow();">
<richlistbox id="appmenu-overflow-commands" flex="1"/>
</hbox>
<hbox id="appmenu" bottom="0" hidden="true" align="stretch" oncommand="AppMenu.hide();">
<toolbarbutton class="appmenu-site-button appmenu-button appmenu-pageaction"
label="&appMenu.siteOptions;"
oncommand="getIdentityHandler().show(); event.stopPropagation();"/>
<toolbarbutton class="appmenu-preferences-button appmenu-button"
label="&prefsHeader.label;"
oncommand="BrowserUI.showPanel('prefs-container');"/>
<toolbarbutton class="appmenu-addons-button appmenu-button"
label="&addonsHeader.label;"
oncommand="BrowserUI.showPanel('addons-container');"/>
<toolbarbutton class="appmenu-share-button appmenu-button appmenu-pageaction"
label="&pageactions.share.page;"
oncommand="SharingUI.show(getBrowser().currentURI.spec, getBrowser().contentTitle);"/>
<toolbarbutton class="appmenu-findinpage-button appmenu-button appmenu-pageaction"
label="&pageactions.findInPage;"
oncommand="FindHelperUI.show();"/>
<toolbarbutton class="appmenu-downloads-button appmenu-button"
label="&downloadsHeader.label;"
oncommand="BrowserUI.showPanel('downloads-container');"/>
#ifdef NS_PRINTING
<toolbarbutton class="appmenu-saveas-button appmenu-button appmenu-pageaction"
label="&pageactions.saveas.pdf;"
oncommand="PageActions.savePageAsPDF();"/>
#endif
<toolbarbutton class="appmenu-quit-button appmenu-button"
label="&pageactions.quit;"
oncommand="Browser.quit();"/>
</hbox>
</stack>
<svg:svg height="0">
<svg:mask id="back-button-mask" maskContentUnits="objectBoundingBox">
<svg:rect x="0" y="0" width="1" height="1" fill="white"/>
<svg:circle cx="-0.85" cy="0.5" r="0.96"/>
</svg:mask>
</svg:svg>
</window>