Bug 1321556 - Remove unused bindings from urlbarbindings.xml. r=dao
MozReview-Commit-ID: FfIsoh76ajn
--- a/browser/base/content/browser-places.js
+++ b/browser/base/content/browser-places.js
@@ -829,17 +829,16 @@ var BookmarksEventHandler = {
var target = aEvent.originalTarget;
// If this event bubbled up from a menu or menuitem, close the menus.
// Do this before opening tabs, to avoid hiding the open tabs confirm-dialog.
if (target.localName == "menu" || target.localName == "menuitem") {
for (let node = target.parentNode; node; node = node.parentNode) {
if (node.localName == "menupopup")
node.hidePopup();
else if (node.localName != "menu" &&
- node.localName != "splitmenu" &&
node.localName != "hbox" &&
node.localName != "vbox" )
break;
}
}
if (target._placesNode && PlacesUtils.nodeIsContainer(target._placesNode)) {
// Don't open the root folder in tabs when the empty area on the toolbar
--- a/browser/base/content/browser.css
+++ b/browser/base/content/browser.css
@@ -429,23 +429,17 @@ toolbar:not(#TabsToolbar) > #personal-bo
}
%endif
#browser-bottombox[lwthemefooter="true"] {
background-repeat: no-repeat;
background-position: bottom left;
}
-.menuitem-tooltip {
- -moz-binding: url("chrome://browser/content/urlbarBindings.xml#menuitem-tooltip");
-}
-
-.menuitem-iconic-tooltip,
-.menuitem-tooltip[type="checkbox"],
-.menuitem-tooltip[type="radio"] {
+.menuitem-iconic-tooltip {
-moz-binding: url("chrome://browser/content/urlbarBindings.xml#menuitem-iconic-tooltip");
}
/* Hide menu elements intended for keyboard access support */
#main-menubar[openedwithkey=false] .show-only-for-keyboard {
display: none;
}
--- a/browser/base/content/urlbarBindings.xml
+++ b/browser/base/content/urlbarBindings.xml
@@ -2520,141 +2520,17 @@ file, You can obtain one at http://mozil
</implementation>
<handlers>
<!-- The _accept method checks for .defaultPrevented so that if focus is in a button,
enter activates the button and not this default action -->
<handler event="keypress" keycode="VK_RETURN" group="system" action="this._accept(event);"/>
</handlers>
</binding>
- <binding id="splitmenu">
- <content>
- <xul:hbox anonid="menuitem" flex="1"
- class="splitmenu-menuitem"
- xbl:inherits="iconic,label,disabled,onclick=oncommand,_moz-menuactive=active"/>
- <xul:menu anonid="menu" class="splitmenu-menu"
- xbl:inherits="disabled,_moz-menuactive=active"
- oncommand="event.stopPropagation();">
- <children includes="menupopup"/>
- </xul:menu>
- </content>
-
- <implementation implements="nsIDOMEventListener">
- <constructor><![CDATA[
- this._parentMenupopup.addEventListener("DOMMenuItemActive", this, false);
- this._parentMenupopup.addEventListener("popuphidden", this, false);
- ]]></constructor>
-
- <destructor><![CDATA[
- this._parentMenupopup.removeEventListener("DOMMenuItemActive", this, false);
- this._parentMenupopup.removeEventListener("popuphidden", this, false);
- ]]></destructor>
-
- <field name="menuitem" readonly="true">
- document.getAnonymousElementByAttribute(this, "anonid", "menuitem");
- </field>
- <field name="menu" readonly="true">
- document.getAnonymousElementByAttribute(this, "anonid", "menu");
- </field>
-
- <field name="_menuDelay">600</field>
-
- <field name="_parentMenupopup"><![CDATA[
- this._getParentMenupopup(this);
- ]]></field>
-
- <method name="_getParentMenupopup">
- <parameter name="aNode"/>
- <body><![CDATA[
- let node = aNode.parentNode;
- while (node) {
- if (node.localName == "menupopup")
- break;
- node = node.parentNode;
- }
- return node;
- ]]></body>
- </method>
-
- <method name="handleEvent">
- <parameter name="event"/>
- <body><![CDATA[
- switch (event.type) {
- case "DOMMenuItemActive":
- if (this.getAttribute("active") == "true" &&
- event.target != this &&
- this._getParentMenupopup(event.target) == this._parentMenupopup)
- this.removeAttribute("active");
- break;
- case "popuphidden":
- if (event.target == this._parentMenupopup)
- this.removeAttribute("active");
- break;
- }
- ]]></body>
- </method>
- </implementation>
-
- <handlers>
- <handler event="mouseover"><![CDATA[
- if (this.getAttribute("active") != "true") {
- this.setAttribute("active", "true");
-
- let menuItemActiveEvent = document.createEvent("Events");
- menuItemActiveEvent.initEvent("DOMMenuItemActive", true, false);
- this.dispatchEvent(menuItemActiveEvent);
-
- if (this.getAttribute("disabled") != "true") {
- let self = this;
- setTimeout(function() {
- if (self.getAttribute("active") == "true")
- self.menu.open = true;
- }, this._menuDelay);
- }
- }
- ]]></handler>
-
- <handler event="popupshowing"><![CDATA[
- if (event.target == this.firstChild &&
- this._parentMenupopup._currentPopup)
- this._parentMenupopup._currentPopup.hidePopup();
- ]]></handler>
-
- <handler event="click" phase="capturing"><![CDATA[
- if (this.getAttribute("disabled") == "true") {
- // Prevent the command from being carried out
- event.stopPropagation();
- return;
- }
-
- let node = event.originalTarget;
- while (true) {
- if (node == this.menuitem)
- break;
- if (node == this)
- return;
- node = node.parentNode;
- }
-
- this._parentMenupopup.hidePopup();
- ]]></handler>
- </handlers>
- </binding>
-
- <binding id="menuitem-tooltip" extends="chrome://global/content/bindings/menu.xml#menuitem">
- <implementation>
- <constructor><![CDATA[
- this.setAttribute("tooltiptext", this.getAttribute("acceltext"));
- // TODO: Simplify this to this.setAttribute("acceltext", "") once bug
- // 592424 is fixed
- document.getAnonymousElementByAttribute(this, "anonid", "accel").firstChild.setAttribute("value", "");
- ]]></constructor>
- </implementation>
- </binding>
-
+ <!-- This binding is only retained for add-ons compatibility -->
<binding id="menuitem-iconic-tooltip" extends="chrome://global/content/bindings/menu.xml#menuitem-iconic">
<implementation>
<constructor><![CDATA[
this.setAttribute("tooltiptext", this.getAttribute("acceltext"));
// TODO: Simplify this to this.setAttribute("acceltext", "") once bug
// 592424 is fixed
document.getAnonymousElementByAttribute(this, "anonid", "accel").firstChild.setAttribute("value", "");
]]></constructor>
--- a/dom/base/nsGkAtomList.h
+++ b/dom/base/nsGkAtomList.h
@@ -1166,17 +1166,16 @@ GK_ATOM(sortSeparators, "sortSeparators"
GK_ATOM(sortStaticsLast, "sortStaticsLast")
GK_ATOM(source, "source")
GK_ATOM(space, "space")
GK_ATOM(spacer, "spacer")
GK_ATOM(span, "span")
GK_ATOM(spellcheck, "spellcheck")
GK_ATOM(spinner, "spinner")
GK_ATOM(split, "split")
-GK_ATOM(splitmenu, "splitmenu")
GK_ATOM(splitter, "splitter")
GK_ATOM(spring, "spring")
GK_ATOM(src, "src")
GK_ATOM(srcdoc, "srcdoc")
GK_ATOM(srclang, "srclang")
GK_ATOM(srcset, "srcset")
GK_ATOM(stack, "stack")
GK_ATOM(standalone, "standalone")
--- a/layout/xul/nsMenuPopupFrame.cpp
+++ b/layout/xul/nsMenuPopupFrame.cpp
@@ -1754,17 +1754,16 @@ ConsumeOutsideClicksResult nsMenuPopupFr
if (parentContent) {
dom::NodeInfo *ni = parentContent->NodeInfo();
if (ni->Equals(nsGkAtoms::menulist, kNameSpaceID_XUL)) {
return ConsumeOutsideClicks_True; // Consume outside clicks for combo boxes on all platforms
}
#if defined(XP_WIN)
// Don't consume outside clicks for menus in Windows
if (ni->Equals(nsGkAtoms::menu, kNameSpaceID_XUL) ||
- ni->Equals(nsGkAtoms::splitmenu, kNameSpaceID_XUL) ||
ni->Equals(nsGkAtoms::popupset, kNameSpaceID_XUL) ||
((ni->Equals(nsGkAtoms::button, kNameSpaceID_XUL) ||
ni->Equals(nsGkAtoms::toolbarbutton, kNameSpaceID_XUL)) &&
(parentContent->AttrValueIs(kNameSpaceID_None, nsGkAtoms::type,
nsGkAtoms::menu, eCaseMatters) ||
parentContent->AttrValueIs(kNameSpaceID_None, nsGkAtoms::type,
nsGkAtoms::menuButton, eCaseMatters)))) {
return ConsumeOutsideClicks_Never;
--- a/toolkit/themes/linux/global/menu.css
+++ b/toolkit/themes/linux/global/menu.css
@@ -7,41 +7,38 @@
======================================================================= */
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
/* ::::: menu/menuitem ::::: */
menu,
menuitem,
-menucaption,
-.splitmenu-menuitem {
+menucaption {
-moz-appearance: menuitem;
-moz-box-align: center;
max-width: 42em;
color: MenuText;
font: menu;
list-style-image: none;
-moz-image-region: auto;
}
menuitem[default="true"] {
font-weight: bold;
}
menu[_moz-menuactive="true"],
-menuitem[_moz-menuactive="true"],
-.splitmenu-menuitem[_moz-menuactive="true"] {
+menuitem[_moz-menuactive="true"] {
color: -moz-menuhovertext;
background-color: -moz-menuhover;
}
menu[disabled="true"],
menuitem[disabled="true"],
-.splitmenu-menuitem[disabled="true"],
menucaption[disabled="true"] {
color: GrayText;
}
menubar > menu {
padding: 0px 4px;
color: -moz-menubartext;
}
--- a/toolkit/themes/windows/global/menu.css
+++ b/toolkit/themes/windows/global/menu.css
@@ -7,45 +7,41 @@
======================================================================= */
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
/* ::::: menu/menuitem ::::: */
menu,
menuitem,
-menucaption,
-.splitmenu-menuitem {
+menucaption {
-moz-appearance: menuitem;
-moz-box-align: center;
color: MenuText;
font: menu;
list-style-image: none;
-moz-image-region: auto;
}
menuitem[default="true"] {
font-weight: bold;
}
menu[disabled="true"],
menuitem[disabled="true"],
-.splitmenu-menuitem[disabled="true"],
menu[_moz-menuactive="true"][disabled="true"],
-menuitem[_moz-menuactive="true"][disabled="true"],
-.splitmenu-menuitem[_moz-menuactive="true"][disabled="true"] {
+menuitem[_moz-menuactive="true"][disabled="true"] {
color: GrayText;
text-shadow: none;
}
@media (-moz-windows-classic) {
menu[disabled="true"],
menubar > menu[disabled="true"][_moz-menuactive="true"],
- menuitem[disabled="true"],
- .splitmenu-menuitem[disabled="true"] {
+ menuitem[disabled="true"] {
color: ThreeDShadow;
text-shadow: 1px 1px ThreeDHighlight;
}
}
menuitem.spell-suggestion {
font-weight: bold;
}
@@ -97,18 +93,17 @@ menucaption > .menu-iconic-text {
}
.menu-iconic-icon {
width: 16px;
height: 16px;
}
menu.menu-iconic > .menu-iconic-left,
-menuitem.menuitem-iconic > .menu-iconic-left,
-.splitmenu-menuitem[iconic="true"] > .menu-iconic-left {
+menuitem.menuitem-iconic > .menu-iconic-left {
-moz-appearance: menuimage;
padding-top: 2px;
}
/* ..... menu arrow box ..... */
.menu-right {
-moz-appearance: menuarrow;
@@ -181,18 +176,17 @@ menubar > menu:-moz-window-inactive {
menupopup > menu,
menupopup > menuitem,
menupopup > menucaption {
max-width: 42em;
}
menu[_moz-menuactive="true"],
-menuitem[_moz-menuactive="true"],
-.splitmenu-menuitem[_moz-menuactive="true"] {
+menuitem[_moz-menuactive="true"] {
background-color: -moz-menuhover;
color: -moz-menuhovertext;
}
/* ::::: menu/menuitems in menulist popups ::::: */
menulist > menupopup > menuitem,
menulist > menupopup > menucaption,