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

Unified Diff: third_party/WebKit/Source/core/editing/commands/CompositeEditCommand.cpp

Issue 2368903002: Ensure valid VisiblePosition input for character{Before,After} (Closed)
Patch Set: Add DCHECK for the correctness of postponing Created 4 years, 3 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/commands/CompositeEditCommand.cpp
diff --git a/third_party/WebKit/Source/core/editing/commands/CompositeEditCommand.cpp b/third_party/WebKit/Source/core/editing/commands/CompositeEditCommand.cpp
index b1aeec7fd9d8236fcd8c1c0089d897830bf0f9da..dd422c7a00ed50d29be7fdb2ea0d494b67ab01dd 100644
--- a/third_party/WebKit/Source/core/editing/commands/CompositeEditCommand.cpp
+++ b/third_party/WebKit/Source/core/editing/commands/CompositeEditCommand.cpp
@@ -770,12 +770,15 @@ void CompositeEditCommand::prepareWhitespaceAtPositionForSplit(Position& positio
// Delete collapsed whitespace so that inserting nbsps doesn't uncollapse it.
Position upstreamPos = mostBackwardCaretPosition(position);
deleteInsignificantText(upstreamPos, mostForwardCaretPosition(position));
- position = mostForwardCaretPosition(upstreamPos);
- VisiblePosition visiblePos = createVisiblePositionDeprecated(position);
+ document().updateStyleAndLayoutIgnorePendingStylesheets();
+ position = mostForwardCaretPosition(upstreamPos);
+ VisiblePosition visiblePos = createVisiblePosition(position);
VisiblePosition previousVisiblePos = previousPositionOf(visiblePos);
replaceCollapsibleWhitespaceWithNonBreakingSpaceIfNeeded(previousVisiblePos);
- replaceCollapsibleWhitespaceWithNonBreakingSpaceIfNeeded(visiblePos);
+
+ document().updateStyleAndLayoutIgnorePendingStylesheets();
+ replaceCollapsibleWhitespaceWithNonBreakingSpaceIfNeeded(createVisiblePosition(position));
}
void CompositeEditCommand::replaceCollapsibleWhitespaceWithNonBreakingSpaceIfNeeded(const VisiblePosition& visiblePosition)

Powered by Google App Engine
This is Rietveld 408576698