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

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

Issue 2650113004: [WIP] Add support for Android SuggestionSpans when editing text (Closed)
Patch Set: Uploading the latest version from my repo so I can reference it 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/markers/DocumentMarkerController.h
diff --git a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.h b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.h
index 994247cf78356cc3027d5714206829e7646281d1..d7bf35b147968e182156f7e527998e0dde70f065 100644
--- a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.h
+++ b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.h
@@ -33,6 +33,7 @@
#include "core/dom/SynchronousMutationObserver.h"
#include "core/editing/iterators/TextIterator.h"
#include "core/editing/markers/DocumentMarker.h"
+#include "core/editing/markers/SuggestionMarker.h"
#include "core/editing/markers/TextMatchMarker.h"
#include "platform/geometry/IntRect.h"
#include "platform/heap/Handle.h"
@@ -64,6 +65,15 @@ class CORE_EXPORT DocumentMarkerController final
Color underlineColor,
bool thick,
Color backgroundColor);
+ void addSuggestionMarker(const EphemeralRange&,
+ Color underlineColor,
+ bool thick,
+ Color backgroundColor,
+ const Vector<String>& suggestions);
+ void addSuggestionHighlightMarker(const EphemeralRange&,
+ Color underlineColor,
+ bool thick,
+ Color backgroundColor);
void copyMarkers(Node* srcNode,
unsigned startOffset,
@@ -89,14 +99,16 @@ class CORE_EXPORT DocumentMarkerController final
int length,
DocumentMarker::MarkerTypes = DocumentMarker::AllMarkers(),
RemovePartiallyOverlappingMarkerOrNot =
- DoNotRemovePartiallyOverlappingMarker);
-
+ DoNotRemovePartiallyOverlappingMarker);
void removeMarkers(
DocumentMarker::MarkerTypes = DocumentMarker::AllMarkers());
void removeMarkers(
Node*,
DocumentMarker::MarkerTypes = DocumentMarker::AllMarkers());
void removeSpellingMarkersForWords(const Vector<String>& words);
+ void removeMarkersForWordsAffectedByEditing(
+ DocumentMarker::MarkerTypes,
+ bool doNotRemoveIfSelectionAtWordBoundary);
void repaintMarkers(
DocumentMarker::MarkerTypes = DocumentMarker::AllMarkers());
// Returns true if markers within a range are found.
@@ -114,6 +126,8 @@ class CORE_EXPORT DocumentMarkerController final
DocumentMarker::MarkerTypes = DocumentMarker::AllMarkers());
DocumentMarkerVector markersInRange(const EphemeralRange&,
DocumentMarker::MarkerTypes);
+ DocumentMarkerVector markersInRangeInclusive(const EphemeralRange&,
+ DocumentMarker::MarkerTypes);
DocumentMarkerVector markers();
Vector<IntRect> renderedRectsForTextMatchMarkers();
@@ -144,6 +158,10 @@ class CORE_EXPORT DocumentMarkerController final
DocumentMarker::MarkerTypes = DocumentMarker::AllMarkers());
MarkerMap& markerMapForType(DocumentMarker::MarkerType);
const MarkerMap& markerMapForType(DocumentMarker::MarkerType) const;
+ DocumentMarkerVector markersInRangeInternal(
+ const EphemeralRange&,
+ DocumentMarker::MarkerTypes,
+ bool includeSpansTouchingEndpoints);
void removeMarkers(TextIterator&,
DocumentMarker::MarkerTypes,
RemovePartiallyOverlappingMarkerOrNot);
@@ -152,8 +170,11 @@ class CORE_EXPORT DocumentMarkerController final
MarkerMap m_grammar;
MarkerMap m_textMatches;
MarkerMap m_compositions;
+ MarkerMap m_suggestions;
+ MarkerMap m_suggestionHighlights;
const Member<const Document> m_document;
+ SuggestionMarker::IDType m_nextSuggestionMarkerID;
};
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698