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

Issue 921843004: Stop explicit inheritance if LayoutStyle doesn't change. (Closed)

Created:
5 years, 10 months ago by rune
Modified:
5 years, 9 months ago
CC:
blink-reviews
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Stop explicit inheritance if LayoutStyle doesn't change. Propagation of explicitly inherited properties down the tree is not necessary when LayoutStyle does not change, so start comparing LayoutStyle before checking the explicitInheritance flag. The LayoutStyle comparison should not include the explicitInheritance flag as that typically results in a propagation diff caused by that flag being unset on new LayoutStyle instances before any children get their styles calculated. The assumption is that it is not relevant in other uses of LayoutStyle::operator==, either. In particular, also the comparison with baseRenderStyle in the ASSERT in ActiveAnimations::updateBaseLayoutStyle. The explicitInheritance flag is also skipped for copyNonInheritedFrom. The reason is that it's only used for sharing non-inherited properties between elements which don't have the same children, hence should not share that flag either. BUG=435450 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=190990

Patch Set 1 #

Total comments: 2

Patch Set 2 : Corrected and documented flag copying/comparisons #

Messages

Total messages: 19 (6 generated)
rune
5 years, 10 months ago (2015-02-13 00:09:29 UTC) #2
Timothy Loh
lgtm
5 years, 10 months ago (2015-02-13 00:51:19 UTC) #3
esprehn
https://codereview.chromium.org/921843004/diff/1/Source/core/layout/style/LayoutStyle.cpp File Source/core/layout/style/LayoutStyle.cpp (left): https://codereview.chromium.org/921843004/diff/1/Source/core/layout/style/LayoutStyle.cpp#oldcode254 Source/core/layout/style/LayoutStyle.cpp:254: noninherited_flags.explicitInheritance = other.noninherited_flags.explicitInheritance; Why is it okay not to ...
5 years, 10 months ago (2015-02-13 02:29:13 UTC) #5
rune
On 2015/02/13 at 02:29:13, esprehn wrote: > https://codereview.chromium.org/921843004/diff/1/Source/core/layout/style/LayoutStyle.cpp > File Source/core/layout/style/LayoutStyle.cpp (left): > > https://codereview.chromium.org/921843004/diff/1/Source/core/layout/style/LayoutStyle.cpp#oldcode254 ...
5 years, 10 months ago (2015-02-13 10:41:49 UTC) #6
rune
On 2015/02/13 at 10:41:49, rune wrote: > On 2015/02/13 at 02:29:13, esprehn wrote: > > ...
5 years, 10 months ago (2015-02-18 07:29:46 UTC) #7
rune
I have gone through all the non-inherited-flags and, in the cases where they're left out ...
5 years, 10 months ago (2015-02-18 12:08:45 UTC) #9
rune
@esprehn, @timloh: wdyt about the latest patch set?
5 years, 10 months ago (2015-02-23 10:03:21 UTC) #10
rune
On 2015/02/23 10:03:21, rune wrote: > @esprehn, @timloh: wdyt about the latest patch set? ping
5 years, 10 months ago (2015-02-26 14:37:28 UTC) #11
esprehn
lgtm, thanks for doing the diligence and documenting why this is correct. I really appreciate ...
5 years, 9 months ago (2015-02-27 00:54:56 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/921843004/20001
5 years, 9 months ago (2015-02-27 08:39:39 UTC) #14
commit-bot: I haz the power
Try jobs failed on following builders: linux_blink_rel on tryserver.blink (JOB_FAILED, http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/49259)
5 years, 9 months ago (2015-02-27 10:01:57 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/921843004/20001
5 years, 9 months ago (2015-02-27 11:35:33 UTC) #18
commit-bot: I haz the power
5 years, 9 months ago (2015-02-27 12:24:00 UTC) #19
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=190990

Powered by Google App Engine
This is Rietveld 408576698