| 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(
|
|
|