Chromium Code Reviews| Index: third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp |
| diff --git a/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp b/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp |
| index 2cccbc35bf9f0e8bf1c4a3d7fa8f155c876f9869..a5bec35539ccae9822b74c3afc8e2c8aecba86a4 100644 |
| --- a/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp |
| +++ b/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp |
| @@ -1951,8 +1951,16 @@ void AXLayoutObject::setSelection(const AXRange& selection) { |
| if (anchorVisiblePosition.isNull() || focusVisiblePosition.isNull()) |
| return; |
| - frame->selection().setSelection( |
| - createVisibleSelection(anchorVisiblePosition, focusVisiblePosition)); |
| + SelectionInDOMTree::Builder builder; |
| + if (anchorVisiblePosition.isNotNull() && focusVisiblePosition.isNotNull()) { |
|
Xiaocheng
2016/10/21 11:18:36
No need for these branches as L1951 have ensured n
yosin_UTC9
2016/10/24 06:19:44
I missed... :-<
|
| + builder.collapse(anchorVisiblePosition.toPositionWithAffinity()); |
| + builder.extend(focusVisiblePosition.deepEquivalent()); |
| + } else if (anchorVisiblePosition.isNotNull()) { |
| + builder.collapse(anchorVisiblePosition.toPositionWithAffinity()); |
| + } else { |
| + builder.collapse(focusVisiblePosition.toPositionWithAffinity()); |
| + } |
| + frame->selection().setSelection(createVisibleSelection(builder.build())); |
|
Xiaocheng
2016/10/21 11:18:36
We should use the FrameSelection::setSelection(Sel
yosin_UTC9
2016/10/24 06:19:44
Good catch!
Done
|
| } |
| bool AXLayoutObject::isValidSelectionBound(const AXObject* boundObject) const { |