Modified: branches/safari-608.1-branch/Source/WebCore/ChangeLog (248345 => 248346)
--- branches/safari-608.1-branch/Source/WebCore/ChangeLog 2019-08-07 06:52:19 UTC (rev 248345)
+++ branches/safari-608.1-branch/Source/WebCore/ChangeLog 2019-08-07 06:52:22 UTC (rev 248346)
@@ -1,5 +1,40 @@
2019-08-06 Kocsen Chung <[email protected]>
+ Cherry-pick r247756. rdar://problem/54017897
+
+ Long press hint has half blue shape in Feedly.com
+ https://bugs.webkit.org/show_bug.cgi?id=200053
+ <rdar://problem/53323369>
+
+ Reviewed by Simon Fraser.
+
+ No new tests, because TextIndicator snapshots are not yet testable.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintForegroundForFragments):
+ Paint ChildBlockBackgrounds when painting selection AND backgrounds;
+ only exclude it when doing a selection-only paint.
+
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247756 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2019-07-23 Tim Horton <[email protected]>
+
+ Long press hint has half blue shape in Feedly.com
+ https://bugs.webkit.org/show_bug.cgi?id=200053
+ <rdar://problem/53323369>
+
+ Reviewed by Simon Fraser.
+
+ No new tests, because TextIndicator snapshots are not yet testable.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintForegroundForFragments):
+ Paint ChildBlockBackgrounds when painting selection AND backgrounds;
+ only exclude it when doing a selection-only paint.
+
+2019-08-06 Kocsen Chung <[email protected]>
+
Cherry-pick r247730. rdar://problem/54017873
Long press hint of AirPods buy buttons are tall and narrow during animation
Modified: branches/safari-608.1-branch/Source/WebCore/rendering/RenderLayer.cpp (248345 => 248346)
--- branches/safari-608.1-branch/Source/WebCore/rendering/RenderLayer.cpp 2019-08-07 06:52:19 UTC (rev 248345)
+++ branches/safari-608.1-branch/Source/WebCore/rendering/RenderLayer.cpp 2019-08-07 06:52:22 UTC (rev 248346)
@@ -4900,11 +4900,15 @@
// We have to loop through every fragment multiple times, since we have to repaint in each specific phase in order for
// interleaving of the fragments to work properly.
- bool selectionOnly = localPaintingInfo.paintBehavior.containsAny({ PaintBehavior::SelectionAndBackgroundsOnly, PaintBehavior::SelectionOnly });
- paintForegroundForFragmentsWithPhase(selectionOnly ? PaintPhase::Selection : PaintPhase::ChildBlockBackgrounds, layerFragments,
- context, localPaintingInfo, localPaintBehavior, subtreePaintRootForRenderer);
-
- if (!selectionOnly) {
+ bool selectionOnly = localPaintingInfo.paintBehavior.contains(PaintBehavior::SelectionOnly);
+ bool selectionAndBackgroundsOnly = localPaintingInfo.paintBehavior.contains(PaintBehavior::SelectionAndBackgroundsOnly);
+
+ if (!selectionOnly)
+ paintForegroundForFragmentsWithPhase(PaintPhase::ChildBlockBackgrounds, layerFragments, context, localPaintingInfo, localPaintBehavior, subtreePaintRootForRenderer);
+
+ if (selectionOnly || selectionAndBackgroundsOnly)
+ paintForegroundForFragmentsWithPhase(PaintPhase::Selection, layerFragments, context, localPaintingInfo, localPaintBehavior, subtreePaintRootForRenderer);
+ else {
paintForegroundForFragmentsWithPhase(PaintPhase::Float, layerFragments, context, localPaintingInfo, localPaintBehavior, subtreePaintRootForRenderer);
paintForegroundForFragmentsWithPhase(PaintPhase::Foreground, layerFragments, context, localPaintingInfo, localPaintBehavior, subtreePaintRootForRenderer);
paintForegroundForFragmentsWithPhase(PaintPhase::ChildOutlines, layerFragments, context, localPaintingInfo, localPaintBehavior, subtreePaintRootForRenderer);