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

Unified Diff: third_party/WebKit/Source/core/editing/LayoutSelection.cpp

Issue 2831583003: Remove LayoutView from LayoutSelection::commit() (Closed)
Patch Set: update Created 3 years, 8 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/core/editing/LayoutSelection.cpp
diff --git a/third_party/WebKit/Source/core/editing/LayoutSelection.cpp b/third_party/WebKit/Source/core/editing/LayoutSelection.cpp
index 772eaad7f91dc4254325223a36f19fe8f9e3e4dc..718f97acdc5a45c50f7af4ec522ec518368d968b 100644
--- a/third_party/WebKit/Source/core/editing/LayoutSelection.cpp
+++ b/third_party/WebKit/Source/core/editing/LayoutSelection.cpp
@@ -45,23 +45,6 @@ const VisibleSelection& LayoutSelection::GetVisibleSelection() const {
return frame_selection_->ComputeVisibleSelectionInDOMTree();
}
-static bool IsSelectionInDocument(
- const VisibleSelectionInFlatTree& visible_selection,
- const Document& document) {
- const PositionInFlatTree& start = visible_selection.Start();
- if (start.IsNotNull() &&
- (!start.IsConnected() || start.GetDocument() != document))
- return false;
- const PositionInFlatTree& end = visible_selection.end();
- if (end.IsNotNull() && (!end.IsConnected() || end.GetDocument() != document))
- return false;
- const PositionInFlatTree extent = visible_selection.Extent();
- if (extent.IsNotNull() &&
- (!extent.IsConnected() || extent.GetDocument() != document))
- return false;
- return true;
-}
-
SelectionInFlatTree LayoutSelection::CalcVisibleSelection(
const VisibleSelectionInFlatTree& original_selection) const {
const PositionInFlatTree& start = original_selection.Start();
@@ -324,7 +307,7 @@ void LayoutSelection::SetSelection(
}
void LayoutSelection::SelectionStartEnd(int& start_pos, int& end_pos) {
- Commit(*frame_selection_->GetDocument().GetLayoutView());
+ Commit();
start_pos = selection_start_pos_;
end_pos = selection_end_pos_;
}
@@ -346,19 +329,14 @@ void LayoutSelection::SetHasPendingSelection(PaintHint hint) {
force_hide_ = false;
}
-void LayoutSelection::Commit(LayoutView& layout_view) {
+void LayoutSelection::Commit() {
if (!HasPendingSelection())
return;
- DCHECK(!layout_view.NeedsLayout());
has_pending_selection_ = false;
const VisibleSelectionInFlatTree& original_selection =
frame_selection_->ComputeVisibleSelectionInFlatTree();
- // Skip if pending VisibilePositions became invalid before we reach here.
- if (!IsSelectionInDocument(original_selection, layout_view.GetDocument()))
- return;
-
// Construct a new VisibleSolution, since visibleSelection() is not
// necessarily valid, and the following steps assume a valid selection. See
// <https://bugs.webkit.org/show_bug.cgi?id=69563> and
@@ -397,8 +375,7 @@ void LayoutSelection::Commit(LayoutView& layout_view) {
LayoutObject* end_layout_object = end_pos.AnchorNode()->GetLayoutObject();
if (!start_layout_object || !end_layout_object)
return;
- DCHECK(layout_view == start_layout_object->View());
- DCHECK(layout_view == end_layout_object->View());
+ DCHECK(start_layout_object->View() == end_layout_object->View());
SetSelection(start_layout_object, start_pos.ComputeEditingOffset(),
end_layout_object, end_pos.ComputeEditingOffset());
}
@@ -429,7 +406,7 @@ IntRect LayoutSelection::SelectionBounds() {
typedef HashSet<const LayoutBlock*> VisitedContainingBlockSet;
VisitedContainingBlockSet visited_containing_blocks;
- Commit(*frame_selection_->GetDocument().GetLayoutView());
+ Commit();
LayoutObject* os = selection_start_;
LayoutObject* stop =
LayoutObjectAfterPosition(selection_end_, selection_end_pos_);
« no previous file with comments | « third_party/WebKit/Source/core/editing/LayoutSelection.h ('k') | third_party/WebKit/Source/core/layout/LayoutObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698