Hayato Ito would like Takayoshi Kochi and Rakina Zata Amni to review this change.
[IncrementalShadowDOM] Make some of UpdateDistribuion call RecalcAssignments
Once we can land the IncrementalShadowDOM (and remove Shadow DOM V0), we no
longer need to call UpdateDistribution, however, some usages of
UpdateDistribution were unclear at this point.
Thus, except the cases where we can tell its intent easily, we call
RecalcAssignments too for IncrementalShadowDOM there.
UpdateDistribution is now divided into the followings:
1. UpdateDistributionForFlatTreeTraversal: This should be used in most cases.
2. UpdateDistributionForLegacyDistributedNodes: This should be used only by the
implementation of V0 shadow trees, where they need to access
distributed_nodes directly.
3. UpdateDistributionForUnknownReasons: This is a tentative workaround for the
sake of safety. In addition to calling (old) UpdateDistribution, we call
RecalcAssignments for IncrementalShadowDOM too.
The future plan is:
3 can be replaced with 1, however, that needs a careful investigation, so that
should be done on a case-by-base basis after this CL lands.
Bug: 776656
Change-Id: I826850e04093d2278a2f0aedf8e06f85f2fe8485
---
M third_party/blink/renderer/core/css/selector_query.cc
M third_party/blink/renderer/core/dom/document.cc
M third_party/blink/renderer/core/dom/events/event_path.cc
M third_party/blink/renderer/core/dom/flat_tree_traversal_test.cc
M third_party/blink/renderer/core/dom/ng/flat_tree_traversal_ng_test.cc
M third_party/blink/renderer/core/dom/node.cc
M third_party/blink/renderer/core/dom/node.h
M third_party/blink/renderer/core/dom/v0_insertion_point.cc
M third_party/blink/renderer/core/editing/position.cc
M third_party/blink/renderer/core/editing/testing/selection_sample_test.cc
M third_party/blink/renderer/core/frame/frame.cc
M third_party/blink/renderer/core/html/html_element.cc
M third_party/blink/renderer/core/html/html_olist_element.cc
M third_party/blink/renderer/core/html/html_slot_element.cc
M third_party/blink/renderer/core/input/boundary_event_dispatcher.cc
M third_party/blink/renderer/core/input/gesture_manager.cc
M third_party/blink/renderer/core/input/mouse_event_manager.cc
M third_party/blink/renderer/core/inspector/InspectorCSSAgent.cpp
M third_party/blink/renderer/core/layout/hit_test_result.cc
M third_party/blink/renderer/core/page/focus_controller.cc
M third_party/blink/renderer/core/page/slot_scoped_traversal_test.cc
M third_party/blink/renderer/modules/accessibility/ax_object.cc
22 files changed, 80 insertions(+), 51 deletions(-)
To view, visit change 1025155. To unsubscribe, or for help writing mail filters, visit settings.
PTAL
LGTM
I assume the 3 work will follow, but if not immediately, how about add a TODO() or
file a bug for it to track the work? (maybe issue 776656 is enough, so it's up to you)
Patch set 2:Code-Review +1
4 comments:
Patch Set #2, Line 11: UpdateDistribution were unclear at this point.
nit: s/were/are/
Patch Set #2, Line 13: Thus, except the cases where we can tell its intent easily, we call
nit: s/easily/clearly/
File third_party/blink/renderer/core/dom/node.h:
Patch Set #2, Line 481: // Once 1) IncrementShadowDOM is lanched, and 2) Shadow DOM v0 is removed,
nit: s/Increment/Incremental/ s/lanched/launched/
Patch Set #2, Line 482: // this function can be removed, however, it won't happen soon.
nit: remove "as of now" and "however, it won't happen soon" because as the
time passes the comment becomes stale. I think the removal criteria
is clear enough.
To view, visit change 1025155. To unsubscribe, or for help writing mail filters, visit settings.
Hayato Ito uploaded patch set #3 to this change.
[IncrementalShadowDOM] Make some of UpdateDistribuion call RecalcAssignments
Once we can land the IncrementalShadowDOM (and remove Shadow DOM V0), we no
longer need to call UpdateDistribution, however, some usages of
UpdateDistribution are unclear at this point.
Thus, except the cases where we can tell its intent cearly, we call
Hayato Ito uploaded patch set #5 to this change.
[IncrementalShadowDOM] Make some of UpdateDistribuion call RecalcAssignments
Once we can land the IncrementalShadowDOM (and remove Shadow DOM V0), we no
longer need to call UpdateDistribution, however, some usages of
UpdateDistribution are unclear at this point.
Thus, except the cases where we can tell its intent cearly, we call
RecalcAssignments too for IncrementalShadowDOM there.
UpdateDistribution is now divided into the followings:
1. UpdateDistributionForFlatTreeTraversal: This should be used in most cases.
2. UpdateDistributionForLegacyDistributedNodes: This should be used only by the
implementation of V0 shadow trees, where they need to access
distributed_nodes directly.
3. UpdateDistributionForUnknownReasons: This is a tentative workaround for the
sake of safety. In addition to calling (old) UpdateDistribution, we call
RecalcAssignments for IncrementalShadowDOM too.
The future plan is:
3 can be replaced with 1, however, that needs a careful investigation, so that
should be done on a case-by-base basis after this CL lands.
Bug: 776656
TBR=aboxhall
Change-Id: I826850e04093d2278a2f0aedf8e06f85f2fe8485
---
M third_party/blink/renderer/core/css/selector_query.cc
M third_party/blink/renderer/core/dom/document.cc
M third_party/blink/renderer/core/dom/events/event_path.cc
M third_party/blink/renderer/core/dom/flat_tree_traversal_test.cc
M third_party/blink/renderer/core/dom/ng/flat_tree_traversal_ng_test.cc
M third_party/blink/renderer/core/dom/node.cc
M third_party/blink/renderer/core/dom/node.h
M third_party/blink/renderer/core/dom/v0_insertion_point.cc
M third_party/blink/renderer/core/editing/position.cc
M third_party/blink/renderer/core/editing/testing/selection_sample_test.cc
M third_party/blink/renderer/core/frame/frame.cc
M third_party/blink/renderer/core/html/html_element.cc
M third_party/blink/renderer/core/html/html_olist_element.cc
M third_party/blink/renderer/core/html/html_slot_element.cc
M third_party/blink/renderer/core/input/boundary_event_dispatcher.cc
M third_party/blink/renderer/core/input/gesture_manager.cc
M third_party/blink/renderer/core/input/mouse_event_manager.cc
M third_party/blink/renderer/core/inspector/inspector_css_agent.cc
M third_party/blink/renderer/core/layout/hit_test_result.cc
M third_party/blink/renderer/core/page/focus_controller.cc
M third_party/blink/renderer/core/page/slot_scoped_traversal_test.cc
M third_party/blink/renderer/modules/accessibility/ax_object.cc
22 files changed, 80 insertions(+), 51 deletions(-)
To view, visit change 1025155. To unsubscribe, or for help writing mail filters, visit settings.
TBR=aboxhall for ax_object.cc
Patch set 5:Commit-Queue +2
4 comments:
Patch Set #2, Line 11: UpdateDistribution are unclear at this point.
nit: s/were/are/
Done
Patch Set #2, Line 13: Thus, except the cases where we can tell its intent cearly, we call
nit: s/easily/clearly/
Done
File third_party/blink/renderer/core/dom/node.h:
Patch Set #2, Line 481: // Once 1) IncrementalShadowDOM is launched, and 2) Shadow DOM v0 is removed,
nit: s/Increment/Incremental/ s/lanched/launched/
Done
Patch Set #2, Line 482: // this function can be removed.
nit: remove "as of now" and "however, it won't happen soon" because as the […]
Done
To view, visit change 1025155. To unsubscribe, or for help writing mail filters, visit settings.
CQ is trying the patch.
Note: The patchset sent to CQ was uploaded after this CL was approved.
"Edit commit message" https://chromium-review.googlesource.com/c/1025155/5
Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/chromium-review.googlesource.com/1025155/5
Bot data: {"action": "start", "triggered_at": "2018-04-25T07:26:34.0Z", "cq_cfg_revision": "ec7cec62c0feefff61026ab368fbea1f7be53e60", "revision": "56f170f9ead5f35a58d19b16d6104264e0889c05"}
Patch Set 2: Code-Review+1
(4 comments)
LGTM
I assume the 3 work will follow, but if not immediately, how about add a TODO() or
file a bug for it to track the work? (maybe issue 776656 is enough, so it's up to you)
I don't file fine-grained bugs about IncrementalShadowDOM.
2 comments:
File third_party/blink/renderer/core/css/selector_query.cc:
Patch Set #5, Line 114: target_element.UpdateDistributionForUnknownReasons();
Isn't this also for flat tree traversal during selector matching?
Patch Set #5, Line 123: target_element.UpdateDistributionForUnknownReasons();
For flat tree traversal?
To view, visit change 1025155. To unsubscribe, or for help writing mail filters, visit settings.
Commit Bot merged this change.
[IncrementalShadowDOM] Make some of UpdateDistribuion call RecalcAssignments
Once we can land the IncrementalShadowDOM (and remove Shadow DOM V0), we no
longer need to call UpdateDistribution, however, some usages of
UpdateDistribution are unclear at this point.
Thus, except the cases where we can tell its intent cearly, we call
RecalcAssignments too for IncrementalShadowDOM there.
UpdateDistribution is now divided into the followings:
1. UpdateDistributionForFlatTreeTraversal: This should be used in most cases.
2. UpdateDistributionForLegacyDistributedNodes: This should be used only by the
implementation of V0 shadow trees, where they need to access
distributed_nodes directly.
3. UpdateDistributionForUnknownReasons: This is a tentative workaround for the
sake of safety. In addition to calling (old) UpdateDistribution, we call
RecalcAssignments for IncrementalShadowDOM too.
The future plan is:
3 can be replaced with 1, however, that needs a careful investigation, so that
should be done on a case-by-base basis after this CL lands.
TBR=aboxhall
Bug: 776656
Change-Id: I826850e04093d2278a2f0aedf8e06f85f2fe8485
Reviewed-on: https://chromium-review.googlesource.com/1025155
Commit-Queue: Hayato Ito <hay...@chromium.org>
Reviewed-by: Takayoshi Kochi <ko...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553490}
---
M third_party/blink/renderer/core/css/selector_query.cc
M third_party/blink/renderer/core/dom/document.cc
M third_party/blink/renderer/core/dom/events/event_path.cc
M third_party/blink/renderer/core/dom/flat_tree_traversal_test.cc
M third_party/blink/renderer/core/dom/ng/flat_tree_traversal_ng_test.cc
M third_party/blink/renderer/core/dom/node.cc
M third_party/blink/renderer/core/dom/node.h
M third_party/blink/renderer/core/dom/v0_insertion_point.cc
M third_party/blink/renderer/core/editing/position.cc
M third_party/blink/renderer/core/editing/testing/selection_sample_test.cc
M third_party/blink/renderer/core/frame/frame.cc
M third_party/blink/renderer/core/html/html_element.cc
M third_party/blink/renderer/core/html/html_olist_element.cc
M third_party/blink/renderer/core/html/html_slot_element.cc
M third_party/blink/renderer/core/input/boundary_event_dispatcher.cc
M third_party/blink/renderer/core/input/gesture_manager.cc
M third_party/blink/renderer/core/input/mouse_event_manager.cc
M third_party/blink/renderer/core/inspector/inspector_css_agent.cc
M third_party/blink/renderer/core/layout/hit_test_result.cc
M third_party/blink/renderer/core/page/focus_controller.cc
M third_party/blink/renderer/core/page/slot_scoped_traversal_test.cc
M third_party/blink/renderer/modules/accessibility/ax_object.cc
22 files changed, 80 insertions(+), 51 deletions(-)
2 comments:
Patch Set #5, Line 114: target_element.UpdateDistributionForUnknownReasons();
Isn't this also for flat tree traversal during selector matching?
Yup, let me address some of UpdateDistributionForUnknownReasons in follow-up CLs.
Patch Set #5, Line 123: target_element.UpdateDistributionForUnknownReasons();
For flat tree traversal?
Ack
To view, visit change 1025155. To unsubscribe, or for help writing mail filters, visit settings.