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