Index: Source/core/editing/markers/DocumentMarkerController.cpp |
diff --git a/Source/core/editing/markers/DocumentMarkerController.cpp b/Source/core/editing/markers/DocumentMarkerController.cpp |
index 586289842a50a59afdd84a83d12a4009c7118108..b0040ff6f32e4fc55837210d00959c7c55ff9358 100644 |
--- a/Source/core/editing/markers/DocumentMarkerController.cpp |
+++ b/Source/core/editing/markers/DocumentMarkerController.cpp |
@@ -69,6 +69,8 @@ DocumentMarker::MarkerTypeIndex MarkerTypeToMarkerIndex(DocumentMarker::MarkerTy |
return DocumentMarker::TextMatchMarkerIndex; |
case DocumentMarker::InvisibleSpellcheck: |
return DocumentMarker::InvisibleSpellcheckMarkerIndex; |
+ case DocumentMarker::Composition: |
+ return DocumentMarker::CompositionMarkerIndex; |
} |
ASSERT_NOT_REACHED(); |
@@ -111,6 +113,12 @@ void DocumentMarkerController::addTextMatchMarker(const Range* range, bool activ |
// Don't invalidate tickmarks here. TextFinder invalidates tickmarks using a throttling algorithm. crbug.com/6819. |
} |
+void DocumentMarkerController::addCompositionMarker(const Position& start, const Position& end, Color underlineColor, bool thick, Color backgroundColor) |
+{ |
+ for (TextIterator markedText(start, end); !markedText.atEnd(); markedText.advance()) |
+ addMarker(markedText.currentContainer(), DocumentMarker(markedText.startOffsetInCurrentContainer(), markedText.endOffsetInCurrentContainer(), underlineColor, thick, backgroundColor)); |
+} |
+ |
void DocumentMarkerController::prepareForDestruction() |
{ |
clear(); |