Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(52)

Issue 23523046: Fixed-position repaint invalidations should be sent to the correct composited layer. (Closed)

Created:
7 years, 3 months ago by shawnsingh
Modified:
7 years, 3 months ago
Reviewers:
enne (OOO)
CC:
blink-reviews, kenneth.christiansen, dglazkov+blink, eae+blinkwatch, esprehn
Visibility:
Public.

Description

Fixed-position repaint invalidations should be sent to the correct composited layer. When scrolling, there is logic in FrameView.cpp that sends repaint invalidations for all viewport-constrained objects. This logic was always sending repaints to the RenderView's layer, and did not account for the scenario where the non-composited fixed-position element paints into a different composited layer. This patch makes that code path recognize this situation, and computes a correct repaint invalidation and sends it to the correct composited layer so that non-composited fixed position elements can be repainted corectly. BUG=128375 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=157723

Patch Set 1 #

Patch Set 2 : Removed incorrect ASSERT #

Patch Set 3 : Fixed null pointer check #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+108 lines, -12 lines) Patch
A LayoutTests/compositing/repaint/fixed-pos-inside-composited-intermediate-layer.html View 1 chunk +79 lines, -0 lines 0 comments Download
A + LayoutTests/compositing/repaint/fixed-pos-inside-composited-intermediate-layer-expected.txt View 1 chunk +10 lines, -7 lines 0 comments Download
M Source/core/page/FrameView.cpp View 1 2 1 chunk +19 lines, -5 lines 4 comments Download

Messages

Total messages: 8 (0 generated)
shawnsingh
Enne, seems like you have touched this code in the past, can you please review? ...
7 years, 3 months ago (2013-09-11 02:14:45 UTC) #1
enne (OOO)
https://codereview.chromium.org/23523046/diff/6001/Source/core/page/FrameView.cpp File Source/core/page/FrameView.cpp (right): https://codereview.chromium.org/23523046/diff/6001/Source/core/page/FrameView.cpp#newcode1372 Source/core/page/FrameView.cpp:1372: // then we have to invlidate that enclosing layer, ...
7 years, 3 months ago (2013-09-11 21:09:39 UTC) #2
shawnsingh
Thanks for review. I'll fix the typo in a new patch soon. https://codereview.chromium.org/23523046/diff/6001/Source/core/page/FrameView.cpp File Source/core/page/FrameView.cpp ...
7 years, 3 months ago (2013-09-11 23:10:38 UTC) #3
enne (OOO)
https://codereview.chromium.org/23523046/diff/6001/Source/core/page/FrameView.cpp File Source/core/page/FrameView.cpp (right): https://codereview.chromium.org/23523046/diff/6001/Source/core/page/FrameView.cpp#newcode1373 Source/core/page/FrameView.cpp:1373: updateRect.moveBy(scrollPosition()); On 2013/09/11 23:10:38, shawnsingh wrote: > On 2013/09/11 ...
7 years, 3 months ago (2013-09-12 00:07:53 UTC) #4
shawnsingh
> Hrm. In that case, why do you need to add scrollPosition() in as well? ...
7 years, 3 months ago (2013-09-12 23:42:52 UTC) #5
enne (OOO)
Thanks for all the investigation. lgtm!
7 years, 3 months ago (2013-09-13 00:36:58 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/shawnsingh@chromium.org/23523046/6001
7 years, 3 months ago (2013-09-13 01:22:17 UTC) #7
commit-bot: I haz the power
7 years, 3 months ago (2013-09-13 01:57:04 UTC) #8
Message was sent while issue was closed.
Change committed as 157723

Powered by Google App Engine
This is Rietveld 408576698