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

Issue 14731014: Added another guard to the NodeRenderingContext::nextSibling() fast path and its twin. (Closed)

Created:
7 years, 7 months ago by Hajime Morrita
Modified:
7 years, 7 months ago
Reviewers:
dglazkov
CC:
blink-reviews, eae+blinkwatch, adamk+blink_chromium.org, chromiumbugtracker_adobe.com
Visibility:
Public.

Description

Added another guard to the NodeRenderingContext::nextSibling() fast path and its twin. Currently, NRC::nextSibling() checks Node::needsShadowTreeWalker() before taking a shortcut. The flag is on when the node or its parent is a host, a shadowroot or an insertion point. This check works for traversals from children to parents, there is a hole where a sibling of the node is an insertion point. In such a case, we need to skip the insertion point for the traversal and we cannot take the shortcut. This changes adds guards for such cases and lets the traversal take its slow path. BUG=229245 TEST=content-element-crash.html Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=150157

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+28 lines, -3 lines) Patch
A LayoutTests/fast/dom/shadow/content-element-crash.html View 1 chunk +19 lines, -0 lines 0 comments Download
A + LayoutTests/fast/dom/shadow/content-element-crash-expected.txt View 0 chunks +-1 lines, --1 lines 0 comments Download
M Source/core/dom/NodeRenderingTraversal.h View 2 chunks +10 lines, -4 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
Hajime Morrita
Hi Dimitri, could you take a look? This fixes an assertion failure which is hit ...
7 years, 7 months ago (2013-05-10 08:31:25 UTC) #1
dglazkov
LGTM.
7 years, 7 months ago (2013-05-10 16:44:51 UTC) #2
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/morrita@chromium.org/14731014/1
7 years, 7 months ago (2013-05-10 23:11:29 UTC) #3
commit-bot: I haz the power
Change committed as 150157
7 years, 7 months ago (2013-05-11 00:41:15 UTC) #4
esprehn
This patch adds a virtual call in the "fast path" which kind of defeats the ...
7 years, 7 months ago (2013-05-12 08:10:53 UTC) #5
Hajime Morrita
isInsertionPoint() isn't a virtual call. It is an inline function which has a fast path ...
7 years, 7 months ago (2013-05-12 14:38:01 UTC) #6
Hajime Morrita
By the way, I don't mind to get rid of the whole needsShadowTreeWalker and possibly ...
7 years, 7 months ago (2013-05-13 01:03:17 UTC) #7
dominicc (has gone to gerrit)
7 years, 7 months ago (2013-05-13 01:29:58 UTC) #8
Message was sent while issue was closed.
On 2013/05/13 01:03:17, morrita1 wrote:
> By the way, I don't mind to get rid of the whole needsShadowTreeWalker and
> possibly NodeRenderingTraversal thing.
> As you know, it is introduced to speedup on of Dromaeo test, and 
> the result is observable only on Apple port.
> So I don't think killing it really suffers.

If there's negligible performance impact let's KILL IT. It had a good life. It
outlived its purpose. Removing it cleanly is the humane solution.

Powered by Google App Engine
This is Rietveld 408576698