Merge mozilla-inbound to mozilla-central a=merge
authorRazvan Maries <rmaries@mozilla.com>
Fri, 07 Dec 2018 11:29:48 +0200
changeset 449569 e766954700c7e9999d199bfa522afa3617f03d21
parent 449568 6725a7f43baed5fb99ea7007c7df6147a94a419c (current diff)
parent 449539 a2998e60b98b2a5286a9bfd6661f0508d850cb72 (diff)
child 449570 7f32ccd251ef3ec15d0e916aeff6b9f7d70661af
child 449594 53ae338e03a08e1726899c3b36e0b96f1745a729
push id110390
push userrmaries@mozilla.com
push dateFri, 07 Dec 2018 09:36:18 +0000
treeherdermozilla-inbound@e766954700c7 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge
milestone65.0a1
first release with
nightly linux32
e766954700c7 / 65.0a1 / 20181207093029 / files
nightly linux64
e766954700c7 / 65.0a1 / 20181207093029 / files
nightly mac
e766954700c7 / 65.0a1 / 20181207093029 / files
nightly win32
e766954700c7 / 65.0a1 / 20181207093029 / files
nightly win64
e766954700c7 / 65.0a1 / 20181207093029 / files
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
releases
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Merge mozilla-inbound to mozilla-central a=merge
layout/generic/nsImageFrame.cpp
layout/painting/nsDisplayList.cpp
--- a/browser/base/content/browser.css
+++ b/browser/base/content/browser.css
@@ -38,25 +38,25 @@
 /* Set additional backgrounds alignment relative to toolbox */
 
 #navigator-toolbox:-moz-lwtheme {
   background-image: var(--lwt-additional-images);
   background-position: var(--lwt-background-alignment);
   background-repeat: var(--lwt-background-tiling);
 }
 
-#main-window:not([chromehidden~="toolbar"]) {
+:root:not([chromehidden~="toolbar"]) {
 %ifdef XP_MACOSX
   min-width: 335px;
 %else
   min-width: 300px;
 %endif
 }
 
-#main-window[customize-entered] {
+:root[customize-entered] {
   min-width: -moz-fit-content;
 }
 
 .searchbar-textbox {
   -moz-binding: url("chrome://browser/content/search/search.xml#searchbar-textbox");
 }
 
 .search-one-offs[compact=true] .search-setting-button,
@@ -280,40 +280,40 @@ window:not([chromehidden~="toolbar"]) #n
 }
 
 
 %ifdef MENUBAR_CAN_AUTOHIDE
 #toolbar-menubar:not([autohide=true]) + #TabsToolbar > .titlebar-buttonbox-container,
 #toolbar-menubar:not([autohide=true]) + #TabsToolbar .titlebar-spacer,
 %endif
 %ifndef MOZ_WIDGET_COCOA
-#main-window:not([sizemode=normal]) .titlebar-spacer[type="pre-tabs"],
+:root:not([sizemode=normal]) .titlebar-spacer[type="pre-tabs"],
 %endif
-#main-window:not([chromemargin]) .titlebar-buttonbox-container,
-#main-window[inFullscreen] .titlebar-buttonbox-container,
-#main-window[inFullscreen] .titlebar-spacer,
-#main-window:not([tabsintitlebar]) .titlebar-spacer {
+:root:not([chromemargin]) .titlebar-buttonbox-container,
+:root[inFullscreen] .titlebar-buttonbox-container,
+:root[inFullscreen] .titlebar-spacer,
+:root:not([tabsintitlebar]) .titlebar-spacer {
   display: none;
 }
 
 %ifdef MENUBAR_CAN_AUTOHIDE
 #toolbar-menubar[autohide=true]:not([inactive]) + #TabsToolbar > .titlebar-buttonbox-container {
   visibility: hidden;
 }
 %endif
 
 #titlebar {
   -moz-window-dragging: drag;
 }
 
-#main-window[tabsintitlebar] .titlebar-buttonbox {
+:root[tabsintitlebar] .titlebar-buttonbox {
   position: relative;
 }
 
-#main-window:not([tabsintitlebar]) .titlebar-buttonbox {
+:root:not([tabsintitlebar]) .titlebar-buttonbox {
   display: none;
 }
 
 .titlebar-buttonbox {
   -moz-appearance: -moz-window-button-box;
   position: relative;
 }
 
@@ -347,32 +347,32 @@ toolbarpaletteitem {
 
 #titlebar-secondary-buttonbox:-moz-locale-dir(rtl),
 .titlebar-buttonbox-container:-moz-locale-dir(ltr) {
   -moz-box-ordinal-group: 0;
 }
 %endif
 
 %ifdef XP_WIN
-#main-window[sizemode="maximized"] #titlebar-buttonbox {
+:root[sizemode="maximized"] #titlebar-buttonbox {
   -moz-appearance: -moz-window-button-box-maximized;
 }
 
-#main-window[tabletmode] #titlebar-min,
-#main-window[tabletmode] #titlebar-max {
+:root[tabletmode] #titlebar-min,
+:root[tabletmode] #titlebar-max {
   display: none !important;
 }
 %endif
 
-#main-window[inDOMFullscreen] #navigator-toolbox,
-#main-window[inDOMFullscreen] #fullscr-toggler,
-#main-window[inDOMFullscreen] #sidebar-box,
-#main-window[inDOMFullscreen] #sidebar-splitter,
-#main-window[inFullscreen]:not([OSXLionFullscreen]) toolbar:not([fullscreentoolbar=true]),
-#main-window[inFullscreen] .global-notificationbox {
+:root[inDOMFullscreen] #navigator-toolbox,
+:root[inDOMFullscreen] #fullscr-toggler,
+:root[inDOMFullscreen] #sidebar-box,
+:root[inDOMFullscreen] #sidebar-splitter,
+:root[inFullscreen]:not([OSXLionFullscreen]) toolbar:not([fullscreentoolbar=true]),
+:root[inFullscreen] .global-notificationbox {
   visibility: collapse;
 }
 
 #navigator-toolbox[fullscreenShouldAnimate] {
   transition: 1.5s margin-top ease-out;
 }
 
 /* Rules to help integrate WebExtension buttons */
@@ -512,17 +512,17 @@ toolbar:not(#TabsToolbar) > #personal-bo
 #appMenu-library-recentlyClosedTabs > .panel-subview-body > .bookmark-item,
 #appMenu-library-recentlyClosedWindows > .panel-subview-body > .bookmark-item,
 #appMenu-library-recentHighlights > .bookmark-item,
 #panelMenu_bookmarksMenu > .bookmark-item {
   max-width: none;
 }
 
 %ifdef XP_MACOSX
-#main-window[inFullscreen="true"] {
+:root[inFullscreen="true"] {
   padding-top: 0; /* override drawintitlebar="true" */
 }
 %endif
 
 /* Hide menu elements intended for keyboard access support */
 #main-menubar[openedwithkey=false] .show-only-for-keyboard {
   display: none;
 }
@@ -567,27 +567,27 @@ html|input.urlbar-input[dir=ltr]:-moz-lo
 
 /*
  * Display visual cue that browser is under remote control by Marionette.
  * This is to help users visually distinguish a user agent session that
  * is under remote control from those used for normal browsing sessions.
  *
  * Attribute is controlled by browser.js:/gRemoteControl.
  */
-#main-window[remotecontrol] #urlbar {
+:root[remotecontrol] #urlbar {
   background: repeating-linear-gradient(
     -45deg,
     transparent,
     transparent 25px,
     rgba(255,255,255,.3) 25px,
     rgba(255,255,255,.3) 50px);
   background-color: rgba(255,170,68,.8);
   color: black;
 }
-#main-window[remotecontrol] #urlbar #identity-box {
+:root[remotecontrol] #urlbar #identity-box {
   background: white;
 }
 
 /* Show the url scheme in a static box when overflowing to the left */
 moz-input-box.urlbar-input-box {
   position: relative;
   direction: ltr;
 }
@@ -949,17 +949,17 @@ html|*.pointerlockfswarning:not([hidden]
 }
 html|*.pointerlockfswarning[onscreen] {
   transform: translate(-50%, 50px);
 }
 html|*.pointerlockfswarning[ontop] {
   /* Use -10px to hide the border and border-radius on the top */
   transform: translate(-50%, -10px);
 }
-#main-window[OSXLionFullscreen] html|*.pointerlockfswarning[ontop] {
+:root[OSXLionFullscreen] html|*.pointerlockfswarning[ontop] {
   transform: translate(-50%, 80px);
 }
 
 html|*.pointerlockfswarning-domain-text,
 html|*.pointerlockfswarning-generic-text {
   word-wrap: break-word;
   /* We must specify a min-width, otherwise word-wrap:break-word doesn't work. Bug 630864. */
   min-width: 1px
@@ -1277,18 +1277,18 @@ toolbarpaletteitem[place="palette"][hidd
 }
 
 toolbarpaletteitem > toolbarbutton,
 toolbarpaletteitem > toolbaritem {
   /* Prevent children from getting events */
   pointer-events: none;
 }
 
-#main-window[customizing=true] .addon-banner-item,
-#main-window[customizing=true] .panel-banner-item {
+:root[customizing=true] .addon-banner-item,
+:root[customizing=true] .panel-banner-item {
   display: none;
 }
 
 /* UI Tour */
 
 @keyframes uitour-wobble {
   from {
     transform: rotate(0deg) translateX(3px) rotate(0deg);
--- a/browser/themes/windows/browser-aero.css
+++ b/browser/themes/windows/browser-aero.css
@@ -41,18 +41,18 @@
 @media (-moz-windows-default-theme) {
   .menu-accel,
   .menu-iconic-accel {
     color: graytext;
   }
 }
 
 @media (-moz-windows-compositor) {
-  @media not all and (-moz-os-version: windows-win7) {
-    @media not all and (-moz-os-version: windows-win8) {
+  @media not (-moz-os-version: windows-win7) {
+    @media not (-moz-os-version: windows-win8) {
       @media (-moz-windows-default-theme) {
         :root:not(:-moz-lwtheme) {
           background-color: hsl(0, 0%, 78%);
         }
 
         @media (-moz-windows-accent-color-in-titlebar: 0) {
           :root[sizemode=normal][tabsintitlebar] {
             border-top: 1px solid rgba(0,0,0,.7);
--- a/browser/themes/windows/browser.css
+++ b/browser/themes/windows/browser.css
@@ -89,17 +89,17 @@
   color: -moz-menuhovertext;
 }
 
 /* Use a different color only on Windows 8 and higher in inactive windows.
  * On Win 7, the menubar fog disappears for inactive windows, and renders gray
  * illegible.
  */
 @media (-moz-windows-default-theme) {
-  @media not all and (-moz-os-version: windows-win7) {
+  @media not (-moz-os-version: windows-win7) {
     #toolbar-menubar:not(:-moz-lwtheme):-moz-window-inactive {
       color: ThreeDShadow;
     }
   }
 }
 
 @media not (-moz-os-version: windows-win7) {
   @media not (-moz-os-version: windows-win8) {
--- a/browser/themes/windows/customizableui/panelUI.css
+++ b/browser/themes/windows/customizableui/panelUI.css
@@ -39,17 +39,17 @@
 /* Disabled empty item looks too small otherwise, because it has no icon. */
 menuitem.subviewbutton[disabled]:not(.menuitem-iconic) {
   /* This is 16px for an icon + 3px for its margins + 1px for its padding +
    * 2px for its border, see above */
   min-height: 22px;
 }
 
 /* Win8 and beyond. */
-@media not all and (-moz-os-version: windows-win7) {
+@media not (-moz-os-version: windows-win7) {
   #BMB_bookmarksPopup menupopup[placespopup=true] > hbox,
   #edit-controls@inAnyPanel@,
   #zoom-controls@inAnyPanel@,
   #edit-controls@inAnyPanel@ > toolbarbutton,
   #zoom-controls@inAnyPanel@ > toolbarbutton {
     border-radius: 0;
   }
 }
--- a/layout/generic/nsImageFrame.cpp
+++ b/layout/generic/nsImageFrame.cpp
@@ -1643,22 +1643,21 @@ bool nsDisplayImage::CreateWebRenderComm
     mozilla::wr::DisplayListBuilder& aBuilder,
     mozilla::wr::IpcResourceUpdateQueue& aResources,
     const StackingContextHelper& aSc, WebRenderLayerManager* aManager,
     nsDisplayListBuilder* aDisplayListBuilder) {
   if (!mImage) {
     return false;
   }
 
-  if (mFrame->IsImageFrame()) {
-    // Image layer doesn't support draw focus ring for image map.
-    nsImageFrame* f = static_cast<nsImageFrame*>(mFrame);
-    if (f->HasImageMap()) {
-      return false;
-    }
+  MOZ_ASSERT(mFrame->IsImageFrame() || mFrame->IsImageControlFrame());
+  // Image layer doesn't support draw focus ring for image map.
+  nsImageFrame* frame = static_cast<nsImageFrame*>(mFrame);
+  if (frame->HasImageMap()) {
+    return false;
   }
 
   uint32_t flags = imgIContainer::FLAG_ASYNC_NOTIFY;
   if (aDisplayListBuilder->IsPaintingToWindow()) {
     flags |= imgIContainer::FLAG_HIGH_QUALITY_SCALING;
   }
   if (aDisplayListBuilder->ShouldSyncDecodeImages()) {
     flags |= imgIContainer::FLAG_SYNC_DECODE;
@@ -1704,20 +1703,17 @@ bool nsDisplayImage::CreateWebRenderComm
       break;
   }
 
   // The previous image was not used, and is different from the current image.
   // We should forget about it. We need to update the frame as well because the
   // display item may get recreated.
   if (updatePrevImage) {
     mPrevImage = mImage;
-    if (mFrame->IsImageFrame()) {
-      nsImageFrame* f = static_cast<nsImageFrame*>(mFrame);
-      f->mPrevImage = f->mImage;
-    }
+    frame->mPrevImage = frame->mImage;
   }
 
   // If the image container is empty, we don't want to fallback. Any other
   // failure will be due to resource constraints and fallback is unlikely to
   // help us. Hence we can ignore the return value from PushImage.
   if (container) {
     aManager->CommandBuilder().PushImage(this, container, aBuilder, aResources,
                                          aSc, destRect);
--- a/layout/painting/nsDisplayList.cpp
+++ b/layout/painting/nsDisplayList.cpp
@@ -4486,17 +4486,17 @@ bool nsDisplayImageContainer::CanOptimiz
       gfxSize(destRect.width / imageWidth, destRect.height / imageHeight);
 
   if (scale.width < 0.34 || scale.height < 0.34) {
     // This would look awful as long as we can't use high-quality downscaling
     // for image layers (bug 803703), so don't turn this into an image layer.
     return false;
   }
 
-  if (mFrame->IsImageFrame()) {
+  if (mFrame->IsImageFrame() || mFrame->IsImageControlFrame()) {
     // Image layer doesn't support draw focus ring for image map.
     nsImageFrame* f = static_cast<nsImageFrame*>(mFrame);
     if (f->HasImageMap()) {
       return false;
     }
   }
 
   return true;
--- a/testing/web-platform/meta/service-workers/service-worker/client-navigate.https.html.ini
+++ b/testing/web-platform/meta/service-workers/service-worker/client-navigate.https.html.ini
@@ -1,3 +1,3 @@
 [client-navigate.https.html]
   disabled:
-    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499003
+    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499972
--- a/testing/web-platform/meta/service-workers/service-worker/fetch-event-respond-with-readable-stream.https.html.ini
+++ b/testing/web-platform/meta/service-workers/service-worker/fetch-event-respond-with-readable-stream.https.html.ini
@@ -1,4 +1,4 @@
 [fetch-event-respond-with-readable-stream.https.html]
   disabled:
-    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499003
+    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499972
 
--- a/testing/web-platform/meta/service-workers/service-worker/import-scripts-redirect.https.html.ini
+++ b/testing/web-platform/meta/service-workers/service-worker/import-scripts-redirect.https.html.ini
@@ -1,4 +1,4 @@
 [import-scripts-redirect.https.html]
   disabled:
-    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499003
+    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499972
 
--- a/testing/web-platform/meta/service-workers/service-worker/installing.https.html.ini
+++ b/testing/web-platform/meta/service-workers/service-worker/installing.https.html.ini
@@ -1,8 +1,8 @@
 [installing.https.html]
   disabled:
     if verify: fails in verify mode
-    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499003
+    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499972
   [installing is set]
     expected: FAIL
 
 
--- a/testing/web-platform/meta/service-workers/service-worker/navigation-timing.https.html.ini
+++ b/testing/web-platform/meta/service-workers/service-worker/navigation-timing.https.html.ini
@@ -1,4 +1,4 @@
 [navigation-timing.https.html]
   disabled:
-    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499003
+    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499972
 
--- a/testing/web-platform/meta/service-workers/service-worker/postmessage-to-client-message-queue.https.html.ini
+++ b/testing/web-platform/meta/service-workers/service-worker/postmessage-to-client-message-queue.https.html.ini
@@ -1,4 +1,4 @@
 [postmessage-to-client-message-queue.https.html]
   disabled:
-    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499003
+    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499972
 
--- a/testing/web-platform/meta/service-workers/service-worker/postmessage.https.html.ini
+++ b/testing/web-platform/meta/service-workers/service-worker/postmessage.https.html.ini
@@ -1,3 +1,3 @@
 [postmessage.https.html]
   disabled:
-    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499003
+    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499972
--- a/testing/web-platform/meta/service-workers/service-worker/unregister-then-register.https.html.ini
+++ b/testing/web-platform/meta/service-workers/service-worker/unregister-then-register.https.html.ini
@@ -1,4 +1,4 @@
 [unregister-then-register.https.html]
   disabled:
-    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499003
+    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499972
 
--- a/testing/web-platform/meta/service-workers/service-worker/unregister.https.html.ini
+++ b/testing/web-platform/meta/service-workers/service-worker/unregister.https.html.ini
@@ -1,3 +1,3 @@
 [unregister.https.html]
   disabled:
-    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499003
+    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499972
--- a/testing/web-platform/meta/service-workers/service-worker/update-not-allowed.https.html.ini
+++ b/testing/web-platform/meta/service-workers/service-worker/update-not-allowed.https.html.ini
@@ -1,4 +1,4 @@
 [update-not-allowed.https.html]
   disabled:
-    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499003
+    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499972
 
--- a/testing/web-platform/meta/service-workers/service-worker/update-registration-with-type.https.html.ini
+++ b/testing/web-platform/meta/service-workers/service-worker/update-registration-with-type.https.html.ini
@@ -1,11 +1,11 @@
 [update-registration-with-type.https.html]
   disabled:
-    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499003
+    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499972
   [Update the registration with a different script type (module => classic).]
     expected: FAIL
 
   [Update the registration with a different script type (classic => module).]
     expected: FAIL
 
   [Update the registration with a different script type (classic => module) and with a same main script. Expect evaluation failed.]
     expected: FAIL
--- a/testing/web-platform/meta/user-timing/measure_associated_with_navigation_timing.html.ini
+++ b/testing/web-platform/meta/user-timing/measure_associated_with_navigation_timing.html.ini
@@ -1,4 +1,4 @@
 [measure_associated_with_navigation_timing.html]
   disabled:
-    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1499003
+    if os == "android": https://bugzilla.mozilla.org/show_bug.cgi?id=1461298