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

Issue 233243003: Avoid looking at invalidation sets in a SubtreeStyleChange subtree (Closed)

Created:
6 years, 8 months ago by esprehn
Modified:
6 years, 8 months ago
Reviewers:
chrishtr, rune, ojan
CC:
blink-reviews, ed+blinkwatch_opera.com, dglazkov+blink, apavlov+blink_chromium.org, darktears, rune+blink, rwlbuis
Visibility:
Public.

Description

Avoid looking at invalidation sets in a SubtreeStyleChange subtree We were matching all the rulesets in a subtree even after finding a ruleset that would invalidate the whole subtree which is wasted work. We were also storing all the invalidation sets for an element even after one of them would have invalidated the entire subtree. This patch makes us only ever store one invalidation set for an element once one of them would invalidate the whole subtree. It also removes the foundInvalidationSet() bit since that's identical to just checking if the Vector of invalidation sets is non-empty. I also removed an ASSERT(renderer->style()), all renderers have a style, so there's no reason to check this. Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=171417

Patch Set 1 #

Patch Set 2 : Better with ASSERT #

Total comments: 1

Patch Set 3 : Add ASSERT #

Unified diffs Side-by-side diffs Delta from patch set Stats (+34 lines, -34 lines) Patch
M Source/core/css/invalidation/StyleInvalidator.h View 1 chunk +8 lines, -7 lines 0 comments Download
M Source/core/css/invalidation/StyleInvalidator.cpp View 1 2 4 chunks +26 lines, -27 lines 0 comments Download

Messages

Total messages: 12 (0 generated)
esprehn
6 years, 8 months ago (2014-04-11 10:17:56 UTC) #1
rune
lgtm https://codereview.chromium.org/233243003/diff/20001/Source/core/css/invalidation/StyleInvalidator.cpp File Source/core/css/invalidation/StyleInvalidator.cpp (right): https://codereview.chromium.org/233243003/diff/20001/Source/core/css/invalidation/StyleInvalidator.cpp#newcode103 Source/core/css/invalidation/StyleInvalidator.cpp:103: m_recursionData.pushInvalidationSet(**it); You introduce some invariants here about invalidation ...
6 years, 8 months ago (2014-04-11 20:40:12 UTC) #2
esprehn
On 2014/04/11 20:40:12, rune - CET wrote: > lgtm > > https://codereview.chromium.org/233243003/diff/20001/Source/core/css/invalidation/StyleInvalidator.cpp > File Source/core/css/invalidation/StyleInvalidator.cpp ...
6 years, 8 months ago (2014-04-11 20:50:49 UTC) #3
rune
On 2014/04/11 20:50:49, esprehn wrote: > On 2014/04/11 20:40:12, rune - CET wrote: > > ...
6 years, 8 months ago (2014-04-11 20:54:35 UTC) #4
esprehn
I added an ASSERT to pushInvalidationSet, you're right it's a good thing to have.
6 years, 8 months ago (2014-04-14 03:05:38 UTC) #5
esprehn
The CQ bit was checked by esprehn@chromium.org
6 years, 8 months ago (2014-04-14 03:06:09 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/esprehn@chromium.org/233243003/40001
6 years, 8 months ago (2014-04-14 03:06:15 UTC) #7
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 8 months ago (2014-04-14 03:40:13 UTC) #8
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.blink on mac_blink_rel
6 years, 8 months ago (2014-04-14 03:40:14 UTC) #9
esprehn
The CQ bit was checked by esprehn@chromium.org
6 years, 8 months ago (2014-04-14 04:32:46 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/esprehn@chromium.org/233243003/40001
6 years, 8 months ago (2014-04-14 04:32:51 UTC) #11
commit-bot: I haz the power
6 years, 8 months ago (2014-04-14 05:03:39 UTC) #12
Message was sent while issue was closed.
Change committed as 171417

Powered by Google App Engine
This is Rietveld 408576698