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

Unified Diff: third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp

Issue 2437873008: Get rid of flat tree version of createVisibleSelection() taking two VisiblePosition (Closed)
Patch Set: 2016-10-21T16:03:11 Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 {

Powered by Google App Engine
This is Rietveld 408576698