Bug 1451400 - Part 2 - Migrate dropmarker XBL to a Custom Element;r=dao
MozReview-Commit-ID: 2KnfOiTPyer
--- a/toolkit/content/widgets/general.js
+++ b/toolkit/content/widgets/general.js
@@ -30,9 +30,22 @@ class MozDeck extends XULElement {
get selectedPanel() {
return this.childNodes[this.selectedIndex];
}
}
customElements.define("deck", MozDeck);
+class MozDropmarker extends XULElement {
+ connectedCallback() {
+ // Only create the image the first time we are connected
+ if (!this.firstChild) {
+ let image = document.createElement("image");
+ image.classList.add("dropmarker-icon");
+ this.appendChild(image);
+ }
+ }
}
+
+customElements.define("dropmarker", MozDropmarker);
+
+}
--- a/toolkit/content/widgets/general.xml
+++ b/toolkit/content/widgets/general.xml
@@ -75,15 +75,9 @@
<property name="webNavigation"
onget="return this.docShell.QueryInterface(Components.interfaces.nsIWebNavigation);"
readonly="true"/>
<property name="contentDocument" readonly="true"
onget="return this.webNavigation.document;"/>
</implementation>
</binding>
- <binding id="dropmarker" extends="xul:button">
- <content>
- <xul:image class="dropmarker-icon"/>
- </content>
- </binding>
-
</bindings>
--- a/toolkit/content/xul.css
+++ b/toolkit/content/xul.css
@@ -823,18 +823,18 @@ menulist > menupopup > menuitem {
}
html|*.menulist-editable-input {
-moz-appearance: none !important;
background: transparent ! important;
-moz-box-flex: 1;
}
-dropmarker {
- -moz-binding: url("chrome://global/content/bindings/general.xml#dropmarker");
+dropmarker > .dropmarker-icon {
+ pointer-events: none;
}
/********** splitter **********/
.tree-splitter {
width: 0px;
max-width: 0px;
min-width: 0% ! important;