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

Unified Diff: third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp

Issue 2763893002: [WIP] Clean up DocumentMarkerController API (Closed)
Patch Set: Move CompositionMarkerList::at() into previous CL Created 3 years, 9 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/markers/DocumentMarkerController.cpp
diff --git a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp
index b8c725b931d3048e5278c25c418602aea25ce0d5..aab6aebd02efde231634dc324bff117ad697d85d 100644
--- a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp
+++ b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp
@@ -48,18 +48,6 @@
namespace blink {
-MarkerRemoverPredicate::MarkerRemoverPredicate(const Vector<String>& words)
- : m_words(words) {}
-
-bool MarkerRemoverPredicate::operator()(const DocumentMarker& documentMarker,
- const Text& textNode) const {
- unsigned start = documentMarker.startOffset();
- unsigned length = documentMarker.endOffset() - documentMarker.startOffset();
-
- String markerText = textNode.data().substring(start, length);
- return m_words.contains(markerText);
-}
-
DocumentMarkerController::DocumentMarkerController(Document& document)
: m_document(&document) {
setContext(&document);
@@ -291,10 +279,7 @@ DocumentMarkerVector DocumentMarkerController::markersInRange(
return foundMarkers;
}
-// This method is only ever called with the type DocumentMarker::TextMatch
-// TODO(rlanday): remove the param
-Vector<IntRect> DocumentMarkerController::renderedRectsForMarkers(
- DocumentMarker::MarkerType) {
+Vector<IntRect> DocumentMarkerController::renderedRectsForTextMatchMarkers() {
Vector<IntRect> result;
for (auto nodeIterator = m_textMatches.begin();
nodeIterator != m_textMatches.end(); ++nodeIterator) {
@@ -318,7 +303,8 @@ static void invalidatePaintForTickmarks(const Node& node) {
frameView->invalidatePaintForTickmarks();
}
-void DocumentMarkerController::invalidateRectsForMarkersInNode(Node& node) {
+void DocumentMarkerController::invalidateRectsForTextMatchMarkersInNode(
+ Node& node) {
if (!m_textMatches.contains(&node))
return;
@@ -327,9 +313,9 @@ void DocumentMarkerController::invalidateRectsForMarkersInNode(Node& node) {
invalidatePaintForTickmarks(node);
}
-void DocumentMarkerController::invalidateRectsForAllMarkers() {
+void DocumentMarkerController::invalidateRectsForAllTextMatchMarkers() {
for (auto& nodeMarkers : m_textMatches)
- invalidateRectsForMarkersInNode(*nodeMarkers.key);
+ invalidateRectsForTextMatchMarkersInNode(*nodeMarkers.key);
}
DEFINE_TRACE(DocumentMarkerController) {
@@ -358,15 +344,14 @@ void DocumentMarkerController::removeMarkers(
}
}
-void DocumentMarkerController::removeMarkers(
- const MarkerRemoverPredicate& shouldRemoveMarker) {
+void DocumentMarkerController::removeSpellingMarkersForWords(
+ const Vector<String>& words) {
for (auto& nodeMarkers : m_spelling) {
const Node& node = *nodeMarkers.key;
if (!node.isTextNode())
continue;
toSpellCheckMarkerList(nodeMarkers.value.get())
- ->removeMarkersForWords(static_cast<const Text&>(node).data(),
- shouldRemoveMarker.m_words);
+ ->removeMarkersForWords(static_cast<const Text&>(node).data(), words);
}
}
@@ -391,8 +376,9 @@ void DocumentMarkerController::repaintMarkers(
}
}
-bool DocumentMarkerController::setMarkersActive(const EphemeralRange& range,
- bool active) {
+bool DocumentMarkerController::setTextMatchMarkersActive(
+ const EphemeralRange& range,
+ bool active) {
Node* const startContainer = range.startPosition().computeContainerNode();
DCHECK(startContainer);
Node* const endContainer = range.endPosition().computeContainerNode();
@@ -407,7 +393,8 @@ bool DocumentMarkerController::setMarkersActive(const EphemeralRange& range,
for (Node& node : range.nodes()) {
int startOffset = node == startContainer ? containerStartOffset : 0;
int endOffset = node == endContainer ? containerEndOffset : INT_MAX;
- markerFound |= setMarkersActive(&node, startOffset, endOffset, active);
+ markerFound |=
+ setTextMatchMarkersActive(&node, startOffset, endOffset, active);
}
return markerFound;
}
@@ -422,10 +409,10 @@ bool DocumentMarkerController::hasMarkers(Node* node) const {
return false;
}
-bool DocumentMarkerController::setMarkersActive(Node* node,
- unsigned startOffset,
- unsigned endOffset,
- bool active) {
+bool DocumentMarkerController::setTextMatchMarkersActive(Node* node,
+ unsigned startOffset,
+ unsigned endOffset,
+ bool active) {
bool docDirty = false;
if (m_textMatches.contains(node)) {
docDirty = toTextMatchMarkerList(m_textMatches.at(node))
@@ -588,7 +575,7 @@ void DocumentMarkerController::didUpdateCharacterData(CharacterData* node,
}
if (didShiftMarker) {
- invalidateRectsForMarkersInNode(*node);
+ invalidateRectsForTextMatchMarkersInNode(*node);
// repaint the affected node
if (node->layoutObject()) {
node->layoutObject()->setShouldDoFullPaintInvalidation(

Powered by Google App Engine
This is Rietveld 408576698