Bug 103082 - re-enable links toolbar, hidden by default, in such a way that it has no perf. impact when hidden. Patch by sballard@netreach.net, r=gerv, sr=hyatt, a=asa.

This commit is contained in:
gerv%gerv.net 2006-09-14 06:00:30 +00:00
Родитель 46ca572cd9
Коммит f639f3748f
3 изменённых файлов: 216 добавлений и 195 удалений

Просмотреть файл

@ -178,6 +178,7 @@ LinkToolbarUI.prototype.toggleLinkToolbar =
function(checkedItem)
{
this.goToggleTristateToolbar("linktoolbar", checkedItem);
this.initHandlers();
if (this.isLinkToolbarEnabled())
this.doRefresh();
else
@ -215,5 +216,26 @@ function(id, checkedItem)
document.persist(id, "hidden");
}
}
LinkToolbarUI.prototype.initHandlers =
function()
{
var contentArea = document.getElementById("appcontent");
if (this.isLinkToolbarEnabled())
{
if (!this.handlersActive) {
contentArea.addEventListener("load", linkToolbarUI.refresh, true);
contentArea.addEventListener("unload", linkToolbarUI.clear, true);
this.handlersActive = true;
}
} else
{
if (this.handlersActive) {
contentArea.removeEventListener("load", linkToolbarUI.refresh, true);
contentArea.removeEventListener("unload", linkToolbarUI.clear, true);
this.handlersActive = false;
}
}
}
const linkToolbarUI = new LinkToolbarUI;

Просмотреть файл

@ -1,195 +1,193 @@
<?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 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>
- Stuart Ballard <sballard@netreach.net>
-
- 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://navigator/skin/linkToolbar.css" type="text/css"?>
<?xml-stylesheet href="chrome://navigator/content/navigator.css" type="text/css"?>
<?xul-overlay href="chrome://global/content/globalOverlay.xul"?>
<!DOCTYPE window SYSTEM "chrome://navigator/locale/linkToolbar.dtd">
<overlay id="linkToolbarOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:rdf="http://www.mozilla.org/rdf">
<!-- classes -->
<script type="application/x-javascript" src="chrome://navigator/content/linkToolbarHandler.js" />
<script type="application/x-javascript" src="chrome://navigator/content/linkToolbarItem.js" />
<script type="application/x-javascript" src="chrome://navigator/content/languageDictionary.js" />
<!-- functions -->
<script type="application/x-javascript" src="chrome://navigator/content/linkToolbarOverlay.js" />
<script type="application/x-javascript">
<![CDATA[
var contentArea = document.getElementById("appcontent");
contentArea.addEventListener("load", linkToolbarUI.refresh, true);
contentArea.addEventListener("unload", linkToolbarUI.clear, true);
]]>
</script>
<menupopup id="view_toolbars_popup">
<menu label="&linkToolbar.label;" position="3"
oncommand="linkToolbarUI.toggleLinkToolbar(event.target)"
onpopupshowing="linkToolbarUI.initLinkbarVisibilityMenu()">
<menupopup>
<menuitem label="&linkToolbarAlways.label;"
class="menuitem-iconic" type="radio" value="false"
name="cmd_viewlinktoolbar" id="cmd_viewlinktoolbar_false" />
<menuitem label="&linkToolbarAsNeeded.label;"
class="menuitem-iconic" type="radio" value="maybe"
name="cmd_viewlinktoolbar" id="cmd_viewlinktoolbar_maybe" />
<menuitem label="&linkToolbarNever.label;"
class="menuitem-iconic" type="radio" value="true"
name="cmd_viewlinktoolbar" id="cmd_viewlinktoolbar_true" />
</menupopup>
</menu>
</menupopup>
<toolbox id="navigator-toolbox">
<toolbar id="linktoolbar" class="chromeclass-directories"
onclick="event.preventBubble(); return linkToolbarUI.clicked(event);"
tbautostretch="always" hidden="maybe">
<toolbarbutton id="link-top" class="bookmark-item"
label="&topButton.label;" disabled="true" tooltip="aTooltip" />
<toolbarbutton id="link-up" class="bookmark-item"
label="&upButton.label;" disabled="true" tooltip="aTooltip" />
<toolbarseparator />
<toolbarbutton id="link-first" class="bookmark-item"
label="&firstButton.label;" disabled="true" tooltip="aTooltip" />
<toolbarbutton id="link-prev" class="bookmark-item"
label="&prevButton.label;" disabled="true" tooltip="aTooltip" />
<toolbarbutton id="link-next" class="bookmark-item"
label="&nextButton.label;" disabled="true" tooltip="aTooltip" />
<toolbarbutton id="link-last" class="bookmark-item"
label="&lastButton.label;" disabled="true" tooltip="aTooltip" />
<toolbarseparator />
<toolbarbutton id="document-menu" class="bookmark-item"
type="menu"
container="true"
label="&documentButton.label;" disabled="true">
<menupopup id="document-menu-popup">
<menuitem id="link-toc" label="&tocButton.label;" disabled="true"
class="menuitem-iconic bookmark-item"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type" />
<menu id="link-chapter" label="&chapterButton.label;" disabled="true"
class="menu-iconic bookmark-item" container="true"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type">
<menupopup id="link-chapter-popup" />
</menu>
<menu id="link-section" label="&sectionButton.label;" disabled="true"
class="menu-iconic bookmark-item" container="true"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type">
<menupopup id="link-section-popup" />
</menu>
<menu id="link-subsection" label="&subSectionButton.label;" disabled="true"
class="menu-iconic bookmark-item" container="true"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type">
<menupopup id="link-subsection-popup" />
</menu>
<menu id="link-appendix" label="&appendixButton.label;" disabled="true"
class="menu-iconic bookmark-item" container="true"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type">
<menupopup id="link-appendix-popup" />
</menu>
<menuitem id="link-glossary" label="&glossaryButton.label;" disabled="true"
class="menuitem-iconic bookmark-item"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type" />
<menuitem id="link-index" label="&indexButton.label;" disabled="true"
class="menuitem-iconic bookmark-item"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type" />
</menupopup>
</toolbarbutton>
<toolbarbutton id="more-menu" class="bookmark-item"
type="menu"
container="true"
label="&moreButton.label;" disabled="true">
<menupopup id="more-menu-popup">
<menuitem id="link-help" label="&helpButton.label;" disabled="true"
class="menuitem-iconic bookmark-item"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type" />
<menuitem id="link-search" label="&searchButton.label;" disabled="true"
class="menuitem-iconic bookmark-item"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type" />
<menuseparator />
<menuitem id="link-author" label="&authorButton.label;" disabled="true"
class="menuitem-iconic bookmark-item"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type" />
<menuitem id="link-copyright" label="&copyrightButton.label;" disabled="true"
class="menuitem-iconic bookmark-item"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type" />
<menuseparator />
<menu id="link-bookmark" label="&bookmarkButton.label;" disabled="true"
class="menu-iconic bookmark-item" container="true"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type">
<menupopup id="link-bookmark-popup" />
</menu>
<menuseparator />
<menu id="link-alternate" label="&alternateButton.label;" disabled="true"
class="menu-iconic bookmark-item" container="true"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type">
<menupopup id="link-alternate-popup" />
</menu>
<menuseparator collapsed="true" id="misc-seperator" />
</menupopup>
</toolbarbutton>
</toolbar>
</toolbox>
</overlay>
<?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 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>
- Stuart Ballard <sballard@netreach.net>
-
- 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://navigator/skin/linkToolbar.css" type="text/css"?>
<?xml-stylesheet href="chrome://navigator/content/navigator.css" type="text/css"?>
<?xul-overlay href="chrome://global/content/globalOverlay.xul"?>
<!DOCTYPE window SYSTEM "chrome://navigator/locale/linkToolbar.dtd">
<overlay id="linkToolbarOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:rdf="http://www.mozilla.org/rdf">
<!-- classes -->
<script type="application/x-javascript" src="chrome://navigator/content/linkToolbarHandler.js" />
<script type="application/x-javascript" src="chrome://navigator/content/linkToolbarItem.js" />
<script type="application/x-javascript" src="chrome://navigator/content/languageDictionary.js" />
<!-- functions -->
<script type="application/x-javascript" src="chrome://navigator/content/linkToolbarOverlay.js" />
<script type="application/x-javascript">
<![CDATA[
linkToolbarUI.initHandlers();
]]>
</script>
<menupopup id="view_toolbars_popup">
<menu label="&linkToolbar.label;" position="3"
oncommand="linkToolbarUI.toggleLinkToolbar(event.target)"
onpopupshowing="linkToolbarUI.initLinkbarVisibilityMenu()">
<menupopup>
<menuitem label="&linkToolbarAlways.label;"
class="menuitem-iconic" type="radio" value="false"
name="cmd_viewlinktoolbar" id="cmd_viewlinktoolbar_false" />
<menuitem label="&linkToolbarAsNeeded.label;"
class="menuitem-iconic" type="radio" value="maybe"
name="cmd_viewlinktoolbar" id="cmd_viewlinktoolbar_maybe" />
<menuitem label="&linkToolbarNever.label;"
class="menuitem-iconic" type="radio" value="true"
name="cmd_viewlinktoolbar" id="cmd_viewlinktoolbar_true" />
</menupopup>
</menu>
</menupopup>
<toolbox id="navigator-toolbox">
<toolbar id="linktoolbar" class="chromeclass-directories"
onclick="event.preventBubble(); return linkToolbarUI.clicked(event);"
tbautostretch="always" hidden="true">
<toolbarbutton id="link-top" class="bookmark-item"
label="&topButton.label;" disabled="true" tooltip="aTooltip" />
<toolbarbutton id="link-up" class="bookmark-item"
label="&upButton.label;" disabled="true" tooltip="aTooltip" />
<toolbarseparator />
<toolbarbutton id="link-first" class="bookmark-item"
label="&firstButton.label;" disabled="true" tooltip="aTooltip" />
<toolbarbutton id="link-prev" class="bookmark-item"
label="&prevButton.label;" disabled="true" tooltip="aTooltip" />
<toolbarbutton id="link-next" class="bookmark-item"
label="&nextButton.label;" disabled="true" tooltip="aTooltip" />
<toolbarbutton id="link-last" class="bookmark-item"
label="&lastButton.label;" disabled="true" tooltip="aTooltip" />
<toolbarseparator />
<toolbarbutton id="document-menu" class="bookmark-item"
type="menu"
container="true"
label="&documentButton.label;" disabled="true">
<menupopup id="document-menu-popup">
<menuitem id="link-toc" label="&tocButton.label;" disabled="true"
class="menuitem-iconic bookmark-item"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type" />
<menu id="link-chapter" label="&chapterButton.label;" disabled="true"
class="menu-iconic bookmark-item" container="true"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type">
<menupopup id="link-chapter-popup" />
</menu>
<menu id="link-section" label="&sectionButton.label;" disabled="true"
class="menu-iconic bookmark-item" container="true"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type">
<menupopup id="link-section-popup" />
</menu>
<menu id="link-subsection" label="&subSectionButton.label;" disabled="true"
class="menu-iconic bookmark-item" container="true"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type">
<menupopup id="link-subsection-popup" />
</menu>
<menu id="link-appendix" label="&appendixButton.label;" disabled="true"
class="menu-iconic bookmark-item" container="true"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type">
<menupopup id="link-appendix-popup" />
</menu>
<menuitem id="link-glossary" label="&glossaryButton.label;" disabled="true"
class="menuitem-iconic bookmark-item"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type" />
<menuitem id="link-index" label="&indexButton.label;" disabled="true"
class="menuitem-iconic bookmark-item"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type" />
</menupopup>
</toolbarbutton>
<toolbarbutton id="more-menu" class="bookmark-item"
type="menu"
container="true"
label="&moreButton.label;" disabled="true">
<menupopup id="more-menu-popup">
<menuitem id="link-help" label="&helpButton.label;" disabled="true"
class="menuitem-iconic bookmark-item"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type" />
<menuitem id="link-search" label="&searchButton.label;" disabled="true"
class="menuitem-iconic bookmark-item"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type" />
<menuseparator />
<menuitem id="link-author" label="&authorButton.label;" disabled="true"
class="menuitem-iconic bookmark-item"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type" />
<menuitem id="link-copyright" label="&copyrightButton.label;" disabled="true"
class="menuitem-iconic bookmark-item"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type" />
<menuseparator />
<menu id="link-bookmark" label="&bookmarkButton.label;" disabled="true"
class="menu-iconic bookmark-item" container="true"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type">
<menupopup id="link-bookmark-popup" />
</menu>
<menuseparator />
<menu id="link-alternate" label="&alternateButton.label;" disabled="true"
class="menu-iconic bookmark-item" container="true"
rdf:type="rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#type">
<menupopup id="link-alternate-popup" />
</menu>
<menuseparator collapsed="true" id="misc-seperator" />
</menupopup>
</toolbarbutton>
</toolbar>
</toolbox>
</overlay>

Просмотреть файл

@ -27,6 +27,7 @@ Contributor(s): ______________________________________. -->
<?xul-overlay href="chrome://navigator/content/navigatorOverlay.xul"?>
<?xul-overlay href="chrome://navigator/content/navExtraOverlay.xul"?>
<?xul-overlay href="chrome://navigator/content/linkToolbarOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/sidebar/sidebarOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/securityOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/communicatorOverlay.xul"?>