Title: [249267] releases/WebKitGTK/webkit-2.26/Source/WebCore
Revision
249267
Author
[email protected]
Date
2019-08-29 06:11:11 -0700 (Thu, 29 Aug 2019)

Log Message

Merge r249236 - Make FillLayer::hasImage() inline
https://bugs.webkit.org/show_bug.cgi?id=201265

Reviewed by Zalan Bujtas.

FillLayer::hasImage() shows up on profiles because it's called from hot functions like
isTransparent() and hasMask(), so make a basic inline version that doens't have
to walk the list.

* rendering/style/FillLayer.cpp:
(WebCore::FillLayer::hasImageInAnyLayer const):
(WebCore::FillLayer::hasImage const): Deleted.
* rendering/style/FillLayer.h:
(WebCore::FillLayer::hasImage const):

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.26/Source/WebCore/ChangeLog (249266 => 249267)


--- releases/WebKitGTK/webkit-2.26/Source/WebCore/ChangeLog	2019-08-29 13:11:08 UTC (rev 249266)
+++ releases/WebKitGTK/webkit-2.26/Source/WebCore/ChangeLog	2019-08-29 13:11:11 UTC (rev 249267)
@@ -1,5 +1,22 @@
 2019-08-28  Simon Fraser  <[email protected]>
 
+        Make FillLayer::hasImage() inline
+        https://bugs.webkit.org/show_bug.cgi?id=201265
+
+        Reviewed by Zalan Bujtas.
+
+        FillLayer::hasImage() shows up on profiles because it's called from hot functions like
+        isTransparent() and hasMask(), so make a basic inline version that doens't have
+        to walk the list.
+
+        * rendering/style/FillLayer.cpp:
+        (WebCore::FillLayer::hasImageInAnyLayer const):
+        (WebCore::FillLayer::hasImage const): Deleted.
+        * rendering/style/FillLayer.h:
+        (WebCore::FillLayer::hasImage const):
+
+2019-08-28  Simon Fraser  <[email protected]>
+
         PaintFrequencyTracker triggers too many calls to MonotonicTime::now() on layer painting
         https://bugs.webkit.org/show_bug.cgi?id=201261
 

Modified: releases/WebKitGTK/webkit-2.26/Source/WebCore/rendering/style/FillLayer.cpp (249266 => 249267)


--- releases/WebKitGTK/webkit-2.26/Source/WebCore/rendering/style/FillLayer.cpp	2019-08-29 13:11:08 UTC (rev 249266)
+++ releases/WebKitGTK/webkit-2.26/Source/WebCore/rendering/style/FillLayer.cpp	2019-08-29 13:11:11 UTC (rev 249267)
@@ -365,7 +365,7 @@
     return repeatX() == FillRepeat::Repeat && repeatY() == FillRepeat::Repeat;
 }
 
-bool FillLayer::hasImage() const
+bool FillLayer::hasImageInAnyLayer() const
 {
     for (auto* layer = this; layer; layer = layer->m_next.get()) {
         if (layer->image())

Modified: releases/WebKitGTK/webkit-2.26/Source/WebCore/rendering/style/FillLayer.h (249266 => 249267)


--- releases/WebKitGTK/webkit-2.26/Source/WebCore/rendering/style/FillLayer.h	2019-08-29 13:11:08 UTC (rev 249266)
+++ releases/WebKitGTK/webkit-2.26/Source/WebCore/rendering/style/FillLayer.h	2019-08-29 13:11:11 UTC (rev 249267)
@@ -145,7 +145,7 @@
 
     bool containsImage(StyleImage&) const;
     bool imagesAreLoaded() const;
-    bool hasImage() const;
+    bool hasImage() const { return m_next ? hasImageInAnyLayer() : m_image; }
     bool hasFixedImage() const;
     bool hasOpaqueImage(const RenderElement&) const;
     bool hasRepeatXY() const;
@@ -176,6 +176,8 @@
 
     void computeClipMax() const;
 
+    bool hasImageInAnyLayer() const;
+
     std::unique_ptr<FillLayer> m_next;
 
     RefPtr<StyleImage> m_image;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to