Bug 1516813 - Port Bug 1472557: Remove the "scrollbox" anonymous element from "richlistbox". r=jorgk DONTBUILD
authorRichard Marti <richard.marti@gmail.com>
Sun, 30 Dec 2018 11:00:35 +0100
changeset 33233 992cb1d8b84f
parent 33232 92f2f9d3268c
child 33234 bd4ceeb571ce
push id2368
push userclokep@gmail.com
push dateMon, 28 Jan 2019 21:12:50 +0000
treeherdercomm-beta@56d23c07d815 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjorgk
bugs1516813, 1472557
Bug 1516813 - Port Bug 1472557: Remove the "scrollbox" anonymous element from "richlistbox". r=jorgk DONTBUILD
mail/base/content/attachmentList.css
mail/base/content/mailWidgets.xml
mail/components/im/content/chat-messenger.inc.xul
mail/components/im/themes/chat.css
mail/themes/linux/mail/chat.css
mail/themes/osx/mail/chat.css
mail/themes/shared/mail/messengercompose.css
mail/themes/windows/mail/attachmentList.css
mail/themes/windows/mail/chat.css
mailnews/db/gloda/content/glodacomplete.css
--- a/mail/base/content/attachmentList.css
+++ b/mail/base/content/attachmentList.css
@@ -1,15 +1,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 .attachmentList {
   -moz-appearance: listbox;
   -moz-user-focus: normal;
+  margin: 0;
 }
 
 .attachmentList[orient="horizontal"] {
   -moz-binding: url("chrome://messenger/content/mailWidgets.xml#attachmentlist-horizontal");
 }
 
 .attachmentList[orient="vertical"] {
   -moz-binding: url("chrome://messenger/content/mailWidgets.xml#attachmentlist-vertical");
--- a/mail/base/content/mailWidgets.xml
+++ b/mail/base/content/mailWidgets.xml
@@ -360,22 +360,16 @@
                phase="target" preventdefault="true"/>
       <handler event="keypress" keycode="VK_DOWN" modifiers="control shift any"
                action="this.moveByOffset(this._itemsPerRow(), !event.ctrlKey, event.shiftKey);"
                phase="target" preventdefault="true"/>
     </handlers>
   </binding>
 
   <binding id="attachmentlist-vertical" extends="chrome://messenger/content/mailWidgets.xml#attachmentlist-base">
-    <content>
-      <xul:scrollbox orient="vertical" flex="1" anonid="scrollbox"
-                     style="overflow: auto;">
-        <children includes="richlistitem"/>
-      </xul:scrollbox>
-    </content>
     <implementation>
       <method name="_itemsPerRow">
         <body><![CDATA[
           // Vertical attachment lists have one item per row by definition.
           return 1;
         ]]></body>
       </method>
     </implementation>
--- a/mail/components/im/content/chat-messenger.inc.xul
+++ b/mail/components/im/content/chat-messenger.inc.xul
@@ -88,17 +88,17 @@
                              class="toolbarbutton-1 button-appmenu"
                              label="&appmenuButton.label;"
                              tooltiptext="&appmenuButton1.tooltip;"/>
             </toolbarpalette>
             <toolbarset id="customChatToolbars" context="chat-toolbar-context-menu"/>
           </toolbox>
 
           <notificationbox id="chatTabPanel" flex="1" notificationside="top">
-            <hbox flex="1">
+            <hbox id="chatPanel" flex="1">
               <vbox id="listPaneBox" minwidth="125" width="200" persist="width">
                 <richlistbox id="contactlistbox"
                              context="buddyListContextMenu"
                              tooltip="imTooltip" flex="1">
                   <imgroup id="conversationsGroup" name="&conversationsHeader.label;"/>
                   <imconv id="searchResultConv" displayname="&searchResultConversation.label;" hidden="true"/>
                   <imgroup id="onlinecontactsGroup" name="&onlineContactsHeader.label;"/>
                   <imgroup id="offlinecontactsGroup" name="&offlineContactsHeader.label;" closed="true"/>
--- a/mail/components/im/themes/chat.css
+++ b/mail/components/im/themes/chat.css
@@ -90,22 +90,22 @@
   margin: 0;
   /* make it possible to let the children overwrite the end border.
      margin-inline-start because of the inverted direction */
   margin-inline-start: -1px;
 }
 
 /* move the scrollbar to the left */
 #contactlistbox:-moz-locale-dir(ltr),
-#contactlistbox:-moz-locale-dir(rtl) > scrollbox > .scrollbox-innerbox {
+#contactlistbox:-moz-locale-dir(rtl) > :-moz-any(imconv, imcontact, imgroup) {
   direction: rtl;
 }
 
 #contactlistbox:-moz-locale-dir(rtl),
-#contactlistbox:-moz-locale-dir(ltr) > scrollbox > .scrollbox-innerbox {
+#contactlistbox:-moz-locale-dir(ltr) > :-moz-any(imconv, imcontact, imgroup) {
   direction: ltr;
 }
 
 imgroup {
   padding-inline-start: 4px;
   margin-inline-end: 1px;
 }
 
@@ -553,17 +553,16 @@ richlistitem[state="disconnected"] .acco
 }
 
 %ifdef XP_MACOSX
 .conv-textbox {
   -moz-appearance: none;
   margin: 0;
   padding: 3px;
   border: none;
-  box-shadow: inset 0 1px 3px 0px rgba(0, 0, 0, 0.6);
 }
 
 .conv-textbox[focused="true"] {
   box-shadow: inset 0 0 2px 1px rgba(40, 120, 212, 0.9),
                     0 0 2px 0px rgba(40, 120, 212, 0.6),
               inset 0 1px 2px 0px rgba(0, 0, 0, 0.5);
 }
 
@@ -634,28 +633,72 @@ richlistitem[state="disconnected"] .acco
 .conv-counter {
   padding-bottom: 0;
   padding-inline-end: 5px;
   margin-inline-end: 2px;
   margin-bottom: 2px !important; /* override 4px from description */
 }
 %endif
 
-.splitter {
-  margin: 0;
+.splitter[orient="vertical"],
+#logsSplitter {
   border-style: none;
+  min-height: 0;
+  /* splitter grip area */
+  height: 5px;
+  background-color: transparent;
+  /* make only the splitter border visible */
+  margin-top: -5px;
+  margin-inline-start: 0;
+  /* because of the negative margin needed to make the splitter visible */
+  position: relative;
+  z-index: 10;
 %ifdef XP_MACOSX
-  min-height: 2px;
-  background: linear-gradient(rgba(0,0,0,0.35), transparent);
+  border-bottom: 1px solid #bdbdbd;
 %else
-  height: 3px;
-  background: transparent;
+  border-bottom: 1px solid ThreeDShadow;
 %endif
 }
 
+/* Adaptation of #folderpane_splitter */
+#listSplitter,
+#contextSplitter {
+  margin-top: 0;
+  /* splitter grip area */
+  width: 5px;
+  /* because of the negative margin needed to make the splitter visible */
+  position: relative;
+  z-index: 10;
+  transition: border-width .3s ease-in;
+}
+
+#listSplitter {
+  border-inline-start: 1px solid transparent;
+  /* make only the splitter border visible */
+  margin-inline-end: -5px;
+}
+
+#listSplitter[state="collapsed"]:hover {
+  border-inline-start: 4px solid highlight;
+}
+
+#contextSplitter {
+%ifdef XP_MACOSX
+  border-inline-end: 1px solid #bdbdbd;
+%else
+  border-inline-end: 1px solid ThreeDShadow;
+%endif
+  /* make only the splitter border visible */
+  margin-inline-start: -5px;
+}
+
+#contextSplitter[state="collapsed"]:hover {
+  border-inline-end: 4px solid highlight;
+}
+
 #conv-toolbar {
   border-style: none;
 }
 
 #logTree {
   margin: 0 0;
 }
 
@@ -853,18 +896,19 @@ toolbar[mode="text"] #statusTypeIcon > .
   background-color: var(--sidebar-background-color);
   border-bottom: 1px solid var(--sidebar-border-color, hsla(0,0%,60%,.4));
   color: var(--sidebar-text-color);
 }
 
 :root[lwt-tree] #nicklist,
 :root[lwt-tree] .conv-nicklist-header,
 :root[lwt-tree] .conv-logs-header-label {
+  -moz-appearance: none;
   background-color: var(--sidebar-background-color);
-  border-bottom-color: var(--sidebar-border-color, hsla(0,0%,60%,.4));
+  border-bottom: 1px solid var(--sidebar-border-color, hsla(0,0%,60%,.4));
   color: var(--sidebar-text-color);
 }
 
 :root[lwt-tree-brighttext] #nicklist,
 :root[lwt-tree-brighttext] .conv-nicklist-header,
 :root[lwt-tree-brighttext] .conv-logs-header-label {
   border-bottom-color: var(--sidebar-border-color, rgba(249,249,250,.2));
 }
@@ -898,8 +942,12 @@ toolbar[mode="text"] #statusTypeIcon > .
   color: var(--sidebar-text-color) !important;
   opacity: .5;
 }
 
 :root[lwt-tree] #nicklist > richlistitem[inactive][selected] > label,
 :root[lwt-tree] #nicklist:focus > richlistitem[inactive][selected] > label {
   color: var(--sidebar-highlight-text-color, var(--sidebar-text-color)) !important;
 }
+
+:root[lwt-tree] #logTree {
+  -moz-appearance: none;
+}
--- a/mail/themes/linux/mail/chat.css
+++ b/mail/themes/linux/mail/chat.css
@@ -16,46 +16,21 @@
 .convUnreadCount,
 .contactDisplayName,
 .convDisplayName,
 .contactStatusText,
 .convStatusText {
   margin-top: 2px;
 }
 
-/* Adaptation of #folderpane_splitter -> #listSplitter, #threadpane-splitter -> #contextSplitter */
-#listSplitter, #contextSplitter {
+#listSplitter,
+#contextSplitter,
+.splitter[orient="vertical"],
+ #logsSplitter {
   -moz-appearance: none;
-  /* splitter grip area */
-  width: 5px;
-  margin-top: 0;
-  /* because of the negative margin needed to make the splitter visible */
-  position: relative;
-  z-index: 10;
-  transition: border-width .3s ease-in;
-}
-
-#listSplitter {
-  border-inline-start: 1px solid transparent;
-  /* make only the splitter border visible */
-  margin-inline-end: -5px;
-}
-
-#listSplitter[state="collapsed"]:hover {
-  border-inline-start: 4px solid highlight;
-}
-
-#contextSplitter {
-  border-inline-end: 1px solid ThreeDShadow;
-  /* make only the splitter border visible */
-  margin-inline-start: -5px;
-}
-
-#contextSplitter[state="collapsed"]:hover {
-  border-inline-end: 4px solid highlight;
 }
 
 /* Adaptation from #folderTree */
 :root:not([lwt-tree]) #listPaneBox {
   background-color: -moz-OddTreeRow;
 }
 
 #listPaneBox > * {
--- a/mail/themes/osx/mail/chat.css
+++ b/mail/themes/osx/mail/chat.css
@@ -1,45 +1,47 @@
 %if 0
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 %endif
 
 %include ../../../components/im/themes/chat.css
 
+/* Adaptation of #folderPaneBox/#folderPaneTree from osx/mail/mailWindow1.css */
+:root:not([lwt-tree]) #chatPanel {
+  -moz-appearance: -moz-mac-source-list;
+  -moz-font-smoothing-background-color: -moz-mac-source-list;
+}
+
 #chatTabPanel {
   --imbox-selected-text-color: -moz-FieldText;
   --imbox-selected-background-color: -moz-Field;
   --imbox-selected-border-color: #bdbdbd;
   --imgroup-selected-background-color: ThreeDLightShadow;
 }
 
+#contactlistbox {
+  background: transparent;
+  -moz-appearance: none;
+}
+
 :root:not([lwt-tree]) imgroup[selected] {
   -moz-appearance: -moz-mac-source-list-selection;
   -moz-font-smoothing-background-color: -moz-mac-source-list-selection;
 }
 
 .convUnreadCount,
 .contactDisplayName,
 .convDisplayName,
 .contactStatusText,
 .convStatusText {
   margin-top: 3px;
 }
 
-:root:not([lwt-tree]) #contactlistbox {
-  /* border-inline-start because of the inverted direction */
-  border-inline-start: 1px solid var(--imbox-selected-border-color);
-}
-
-#contactlistbox > scrollbox {
-  margin-inline-start: -1px;
-}
-
 #statusTypeIcon:-moz-locale-dir(ltr) {
   border-top-right-radius: 0;
   border-bottom-right-radius: 0;
 }
 
 #statusTypeIcon:-moz-locale-dir(rtl) {
   border-top-left-radius: 0;
   border-bottom-left-radius: 0;
@@ -78,65 +80,28 @@
   box-shadow: 0 0 0 1px var(--toolbar-field-focus-border-color) inset,
               0 0 0 1px var(--toolbar-field-focus-border-color);
 }
 
 /* Adaptation of #folderpane_splitter */
 #listSplitter,
 #contextSplitter {
   background-image: none;
-  /* splitter grip area */
-  width: 5px;
   min-width: 5px;
-  /* because of the negative margin needed to make the splitter visible */
-  position: relative;
-  z-index: 10;
-  transition: border-width .3s ease-in;
-}
-
-#listSplitter {
-  border-inline-start: 1px solid transparent;
-  /* make only the splitter border visible */
-  margin-inline-end: -4px;
-}
-
-#listSplitter[state="collapsed"]:hover {
-  border-inline-start: 4px solid highlight;
-}
-
-#contextSplitter {
-  border-inline-end: 1px solid #bdbdbd;
-  /* make only the splitter border visible */
-  margin-inline-start: -4px;
-}
-
-#contextSplitter[state="collapsed"]:hover {
-  border-inline-end: 4px solid highlight;
 }
 
 .conv-status-container {
   border-bottom-color: #8B8B8B;
 }
 
 .startChatBubble > .button-box > .button-icon,
 .closeConversationButton > .button-box > .button-icon {
   margin-inline-start: 0;
 }
 
-/* Adaptation of #folderPaneBox/#folderPaneTree from osx/mail/mailWindow1.css */
-:root:not([lwt-tree]) #listPaneBox {
-  -moz-appearance: -moz-mac-source-list;
-  -moz-font-smoothing-background-color: -moz-mac-source-list;
-}
-
-#listPaneBox > * {
-  background: transparent !important;
-  -moz-appearance: none !important;
-}
-
 /* Set a background color to avoid lightweight theme backgrounds */
 #contextPane {
   background-color: #fff;
 }
 
 #displayNameAndstatusMessageStack #statusMessage {
   margin: 32px 0 0;
   min-height: 16px;
--- a/mail/themes/shared/mail/messengercompose.css
+++ b/mail/themes/shared/mail/messengercompose.css
@@ -79,19 +79,16 @@
   .webextension-menuitem {
     list-style-image: var(--webextension-menuitem-image-2x, inherit) !important;
   }
 }
 
 #attachmentBucket {
   width: 15em;
   min-width: 15em;
-}
-
-#attachmentBucket > scrollbox > .scrollbox-innerbox {
   padding: 1px;
 }
 
 #attachments-box[collapsed="true"]:not([empty="true"]) + #attachments-placeholder-box {
   display: -moz-box;
   width: 32px;
   background: url("chrome://messenger/skin/icons/attach.svg") center / 32px no-repeat;
   -moz-context-properties: fill;
--- a/mail/themes/windows/mail/attachmentList.css
+++ b/mail/themes/windows/mail/attachmentList.css
@@ -52,17 +52,17 @@
 .attachmentList:focus > .attachmentItem[selected="true"] .attachmentcell-icon {
   filter: url("chrome://messenger/skin/imageFilters.svg#selected-focus");
 }
 
 @media (-moz-windows-default-theme) {
   .attachmentItem {
     pointer-events: auto !important;
     border: 1px solid transparent;
-    color: -moz-FieldText;
+    color: -moz-FieldText !important;
     background-color: transparent;
     background-repeat: no-repeat;
     background-size: 100% 100%;
     padding: 1px;
   }
 
   .attachmentlist-wrapper {
     margin-inline-end: 1px;
--- a/mail/themes/windows/mail/chat.css
+++ b/mail/themes/windows/mail/chat.css
@@ -93,61 +93,26 @@
   margin: 0 1px;
   margin-inline-start: -2px;
   padding: 3px 3px 4px;
   border-radius: 2px;
 }
 
 #listSplitter,
 #contextSplitter {
-  border-width: 0;
   background-color: transparent;
   min-width: 0;
-  /* splitter grip area */
-  width: 5px;
-  margin-top: 0;
-  /* because of the negative margin needed to make the splitter visible */
-  position: relative;
-  z-index: 10;
 }
 
 #listSplitter {
-  border-inline-start: 1px solid transparent;
-  /* make only the splitter border visible */
-  margin-inline-end: -5px;
-}
-
-#listSplitter[state="collapsed"]:hover {
-  border-inline-start: 4px solid highlight;
+  border-inline-end-width: 0;
 }
 
 #contextSplitter {
-  border-inline-end: 1px solid #a9b7c9;
-  /* make only the splitter border visible */
-  margin-inline-start: -5px;
-}
-
-#contextSplitter[state="collapsed"]:hover {
-  border-inline-end: 4px solid highlight;
-}
-
-.splitter,
-#logsSplitter {
-  border-width: 0;
-  border-bottom: 1px solid ThreeDShadow;
-  min-height: 0;
-  /* splitter grip area */
-  height: 5px;
-  background-color: transparent;
-  /* make only the splitter border visible */
-  margin-top: -5px;
-  margin-inline-start: 0;
-  /* because of the negative margin needed to make the splitter visible */
-  position: relative;
-  z-index: 10;
+  border-inline-start-width: 0;
 }
 
 @media (-moz-windows-default-theme) {
   .conv-status-container {
     border-bottom-color: #a9b7c9;
   }
 
   #statusTypeIcon > .toolbarbutton-menu-dropmarker {
@@ -167,19 +132,23 @@
   }
 
   #chat-status-selector:not(:-moz-lwtheme) > .statusMessageToolbarItem[editing] {
     border-color: hsla(206, 100%, 60%, .65) hsla(206, 100%, 55%, .65)
                   hsla(206, 100%, 50%, .65);
     background-color: -moz-field;
   }
 
-  .splitter,
+  .splitter[orient="vertical"],
   #logsSplitter {
-    border-bottom: 1px solid #a9b7c9;
+    border-bottom-color: #a9b7c9;
+  }
+
+  #contextSplitter {
+    border-inline-end-color: #a9b7c9;
   }
 
   richlistitem[selected] > label,
   #nicklist:focus > richlistitem[inactive][selected] > label {
     color: -moz-dialogtext !important;
   }
 }
 
--- a/mailnews/db/gloda/content/glodacomplete.css
+++ b/mailnews/db/gloda/content/glodacomplete.css
@@ -11,17 +11,17 @@ panel[type="glodacomplete-richlistbox"] 
 }
 
 .autocomplete-richlistbox {
   -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete-richlistbox");
   -moz-user-focus: ignore;
   -moz-appearance: none;
 }
 
-.autocomplete-richlistbox > scrollbox {
+.autocomplete-richlistbox {
   overflow-x: hidden !important;
 }
 
 .explanation, .gloda-single-identity {
   margin-inline-start: 1em;
   margin-top: 2px;
   margin-bottom: 2px;
 }