Bug 1312770 - Part 2, slightly increase loading priority for images that need size information for layout. r?tnikkel draft
authorShih-Chiang Chien <schien@mozilla.com>
Thu, 16 Feb 2017 15:16:36 +0800
changeset 501866 13e9755bd62bccb6764e645defcab3d0734dc134
parent 501865 57fdb18cbbee272c69196f6d3ed7ade6758f0ad6
child 501867 6dd03d02996448b5b7e7a410a97b5106f2ea7fc2
push id50136
push userbmo:schien@mozilla.com
push dateTue, 21 Mar 2017 02:23:02 +0000
reviewerstnikkel
bugs1312770
milestone55.0a1
Bug 1312770 - Part 2, slightly increase loading priority for images that need size information for layout. r?tnikkel MozReview-Commit-ID: JOpzYtZzH6o
layout/generic/nsImageFrame.cpp
--- a/layout/generic/nsImageFrame.cpp
+++ b/layout/generic/nsImageFrame.cpp
@@ -279,17 +279,24 @@ nsImageFrame::Init(nsIContent*       aCo
   // that it can register images.
   imageLoader->FrameCreated(this);
 
   // Give image loads associated with an image frame a small priority boost!
   nsCOMPtr<imgIRequest> currentRequest;
   imageLoader->GetRequest(nsIImageLoadingContent::CURRENT_REQUEST,
                           getter_AddRefs(currentRequest));
   if (currentRequest) {
-    currentRequest->ForceAdjustPriority(-1);
+    int32_t delta = -1;
+
+    // Increase load priority further if intrinsic size might be important for layout.
+    if (!HaveSpecifiedSize(StylePosition())) {
+      --delta;
+    }
+
+    currentRequest->ForceAdjustPriority(delta);
   }
 }
 
 bool
 nsImageFrame::UpdateIntrinsicSize(imgIContainer* aImage)
 {
   NS_PRECONDITION(aImage, "null image");
   if (!aImage)