Bug 1451256: Remove extends from toolbarpalleteitem. r?dao draft
authorEmilio Cobos Álvarez <emilio@crisal.io>
Wed, 04 Apr 2018 11:15:18 +0200
changeset 777210 e1bc7ef61896f097c6f34043b694678514144cf1
parent 776948 00bdc9451be6557ccce1492b9b966d4435615380
push id105109
push userbmo:emilio@crisal.io
push dateWed, 04 Apr 2018 12:18:41 +0000
reviewersdao
bugs1451256
milestone61.0a1
Bug 1451256: Remove extends from toolbarpalleteitem. r?dao Right now it uses extends="xul:button" so that the element it wraps doesn't get mouse events. There's a way to do that with CSS, using pointer-events: none on the child. MozReview-Commit-ID: 29QZAoJPFt6
toolkit/content/widgets/toolbar.xml
toolkit/content/xul.css
--- a/toolkit/content/widgets/toolbar.xml
+++ b/toolkit/content/widgets/toolbar.xml
@@ -164,17 +164,17 @@
             this._statusbar.label = this._originalStatusText;
           ]]>
         </handler>
         <handler event="DOMMenuItemActive">this._updateStatusText(event.target.statusText);</handler>
         <handler event="DOMMenuItemInactive">this._updateStatusText("");</handler>
     </handlers>
   </binding>
 
-  <binding id="toolbarpaletteitem" extends="xul:button">
+  <binding id="toolbarpaletteitem">
     <content>
       <xul:hbox class="toolbarpaletteitem-box" flex="1" xbl:inherits="type,place">
         <children/>
       </xul:hbox>
     </content>
   </binding>
 
   <binding id="toolbarpaletteitem-palette" extends="chrome://global/content/bindings/toolbar.xml#toolbarpaletteitem">
--- a/toolkit/content/xul.css
+++ b/toolkit/content/xul.css
@@ -316,16 +316,21 @@ toolbarpaletteitem {
   -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbarpaletteitem");
 }
 
 toolbarpaletteitem[place="palette"] {
   -moz-box-orient: vertical;
   -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbarpaletteitem-palette");
 }
 
+.toolbarpaletteitem-box {
+  /* Prevent children from getting events */
+  pointer-events: none;
+}
+
 /********* menubar ***********/
 
 menubar {
   -moz-binding: url("chrome://global/content/bindings/toolbar.xml#menubar");
 }
 
 /********* menu ***********/