|
|
Chromium Code Reviews|
Created:
4 years, 2 months ago by hayato Modified:
4 years, 2 months ago CC:
blink-reviews, blink-reviews-dom_chromium.org, blink-reviews-html_chromium.org, chromium-reviews, dglazkov+blink, eae+blinkwatch, rwlbuis, sof, webcomponents-bugzilla_chromium.org Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionFix FlatTreeTraversal for a slot in a document tree
Fix FlatTreeTraversal so that it considers a slot in a document tree correctly.
Slots in a document tree are not well supported. They need a special treatment.
This CL fixes the crash reported in the bug.
BUG=649576
Committed: https://crrev.com/dce2e40e8f3b783ef18e06b72c955bf59ed122d9
Cr-Commit-Position: refs/heads/master@{#425252}
Patch Set 1 #
Total comments: 6
Patch Set 2 : fix a regression #Patch Set 3 : remove TODO #Patch Set 4 : reland #
Messages
Total messages: 33 (18 generated)
The CQ bit was checked by hayato@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Fix FlatTreeTraversal for a slot in a document tree BUG=649576 ========== to ========== Fix FlatTreeTraversal for a slot in a document tree Fix FlatTreeTraversal so that it return the correct first child, *skipping* a slot in a document tree. Slots in a document tree is not well supported. They need a special treatment. BUG=649576 ==========
Description was changed from ========== Fix FlatTreeTraversal for a slot in a document tree Fix FlatTreeTraversal so that it return the correct first child, *skipping* a slot in a document tree. Slots in a document tree is not well supported. They need a special treatment. BUG=649576 ========== to ========== Fix FlatTreeTraversal for a slot in a document tree Fix FlatTreeTraversal so that it returns the correct first child, *skipping* a slot in a document tree. Slots in a document tree is not well supported. They need a special treatment. BUG=649576 ==========
Description was changed from ========== Fix FlatTreeTraversal for a slot in a document tree Fix FlatTreeTraversal so that it returns the correct first child, *skipping* a slot in a document tree. Slots in a document tree is not well supported. They need a special treatment. BUG=649576 ========== to ========== Fix FlatTreeTraversal for a slot in a document tree Fix FlatTreeTraversal so that it considers a slot in a document tree correctly. Slots in a document tree are not well supported. They need a special treatment. BUG=649576 ==========
hayato@chromium.org changed reviewers: + tkent@chromium.org, yosin@chromium.org
PTAL
Description was changed from ========== Fix FlatTreeTraversal for a slot in a document tree Fix FlatTreeTraversal so that it considers a slot in a document tree correctly. Slots in a document tree are not well supported. They need a special treatment. BUG=649576 ========== to ========== Fix FlatTreeTraversal for a slot in a document tree Fix FlatTreeTraversal so that it considers a slot in a document tree correctly. Slots in a document tree are not well supported. They need a special treatment. This CL fixes the crash reported in the bug. BUG=649576 ==========
lgtm
The CQ bit was unchecked by hayato@chromium.org
The CQ bit was checked by hayato@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
Looks there is a regression. Let me take a look.
https://codereview.chromium.org/2416833002/diff/1/third_party/WebKit/Source/c... File third_party/WebKit/Source/core/dom/shadow/FlatTreeTraversal.cpp (right): https://codereview.chromium.org/2416833002/diff/1/third_party/WebKit/Source/c... third_party/WebKit/Source/core/dom/shadow/FlatTreeTraversal.cpp:62: TraversalDirection direction) { BTW, how about using template function to avoid |TraversalDirection| with ternary operator in if-condition and for-condition? https://codereview.chromium.org/2416833002/diff/1/third_party/WebKit/Source/c... third_party/WebKit/Source/core/dom/shadow/FlatTreeTraversal.cpp:72: const_cast<HTMLSlotElement&>(slot) Can we integrate collecting distributed nodes into update distribution phase? https://codereview.chromium.org/2416833002/diff/1/third_party/WebKit/Source/c... third_party/WebKit/Source/core/dom/shadow/FlatTreeTraversal.cpp:73: .updateDistributedNodesInDocumentTree(); It is better that using |collectDistributionNodesInDocumentTree()| or another which implies populating |m_distributedNoes| instead of |updateDistributedNodesInDocumentTree()|, since |updateXXX()| looks like updating flat tree and term "update" is too generic(?). Or, |updateDistributedNodeCache()| to make using |const_cast| to feel sane?
fix a regression
The CQ bit was checked by hayato@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
remove TODO
The CQ bit was checked by hayato@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by hayato@chromium.org
The CQ bit was checked by hayato@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from tkent@chromium.org Link to the patchset: https://codereview.chromium.org/2416833002/#ps40001 (title: "remove TODO")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
I have fixed the regression. Some functions were renamed accordingly. https://codereview.chromium.org/2416833002/diff/1/third_party/WebKit/Source/c... File third_party/WebKit/Source/core/dom/shadow/FlatTreeTraversal.cpp (right): https://codereview.chromium.org/2416833002/diff/1/third_party/WebKit/Source/c... third_party/WebKit/Source/core/dom/shadow/FlatTreeTraversal.cpp:62: TraversalDirection direction) { On 2016/10/14 at 01:44:40, Yosi_UTC9 wrote: > BTW, how about using template function to avoid |TraversalDirection| with ternary operator in if-condition and for-condition? That could be possible. We should do it in another CL. https://codereview.chromium.org/2416833002/diff/1/third_party/WebKit/Source/c... third_party/WebKit/Source/core/dom/shadow/FlatTreeTraversal.cpp:72: const_cast<HTMLSlotElement&>(slot) On 2016/10/14 at 01:44:40, Yosi_UTC9 wrote: > Can we integrate collecting distributed nodes into update distribution phase? Yeah, that is one of TODO items. That could not be done easily. You can find TODO description in this file. :) https://codereview.chromium.org/2416833002/diff/1/third_party/WebKit/Source/c... third_party/WebKit/Source/core/dom/shadow/FlatTreeTraversal.cpp:73: .updateDistributedNodesInDocumentTree(); On 2016/10/14 at 01:44:40, Yosi_UTC9 wrote: > It is better that using |collectDistributionNodesInDocumentTree()| or another which implies populating |m_distributedNoes| instead of > |updateDistributedNodesInDocumentTree()|, since |updateXXX()| looks like updating flat tree and term "update" is too generic(?). > Or, |updateDistributedNodeCache()| to make using |const_cast| to feel sane? I think using *update* is consistent within this file.
Message was sent while issue was closed.
Committed patchset #3 (id:40001)
Message was sent while issue was closed.
Description was changed from ========== Fix FlatTreeTraversal for a slot in a document tree Fix FlatTreeTraversal so that it considers a slot in a document tree correctly. Slots in a document tree are not well supported. They need a special treatment. This CL fixes the crash reported in the bug. BUG=649576 ========== to ========== Fix FlatTreeTraversal for a slot in a document tree Fix FlatTreeTraversal so that it considers a slot in a document tree correctly. Slots in a document tree are not well supported. They need a special treatment. This CL fixes the crash reported in the bug. BUG=649576 Committed: https://crrev.com/dce2e40e8f3b783ef18e06b72c955bf59ed122d9 Cr-Commit-Position: refs/heads/master@{#425252} ==========
Message was sent while issue was closed.
Patchset 3 (id:??) landed as https://crrev.com/dce2e40e8f3b783ef18e06b72c955bf59ed122d9 Cr-Commit-Position: refs/heads/master@{#425252}
Message was sent while issue was closed.
A revert of this CL (patchset #3 id:40001) has been created in https://codereview.chromium.org/2420883002/ by johnme@chromium.org. The reason for reverting is: The following content_browsertests have started consistently failing on KitKat Tablet Tester, Lollipop Tablet Tester and Marshmallow Tablet Tester: FindRequestManagerTests/FindRequestManagerTest.RemoveFrame/0 FindRequestManagerTest.AddFrameAfterNoMatches FindRequestManagerTests/FindRequestManagerTest.AddFrame/0 FindRequestManagerTest.HiddenFrame FindRequestManagerTests/FindRequestManagerTest.CharacterByCharacter/0 FindRequestManagerTests/FindRequestManagerTest.Basic/0 FindRequestManagerTest.FindInPage_Issue627799 FindRequestManagerTest.ActivateNearestFindMatch FindRequestManagerTest.FindMatchRects FindRequestManagerTests/FindRequestManagerTest.NavigateFrame/0 FindRequestManagerTest.FindInPage_Issue644448 FindRequestManagerTests/FindRequestManagerTest.FindNewMatches/0 FindRequestManagerTests/FindRequestManagerTest.RapidFire/0 e.g. https://build.chromium.org/p/chromium.android/builders/Marshmallow%20Tablet%2... And the stack_tool_with_logcat_dump/stack_tool_for_tombstones steps both prominently feature findPlainTextInternal<blink::EditingAlgorithm<blink::FlatTreeTraversal>> (oddly on KitKat Tablet Tester these tests started failing on the build after this patch landed; presumably the failure is at least partly flaky).
Message was sent while issue was closed.
This CL is not culprit because the tests still fail after reverting the CL: https://build.chromium.org/p/chromium.android/builders/Marshmallow%20Tablet%2... Let me reland this CL.
Message was sent while issue was closed.
reland |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
