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

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

Issue 2895253003: Split general DocumentMarkerController::AddMarker() method into spelling/grammar versions (Closed)
Patch Set: Split off InputMethodControllerTest changes, make other requested changes Created 3 years, 7 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 unified diff | Download patch
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights
7 * reserved. 7 * reserved.
8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved.
9 * (http://www.torchmobile.com/) 9 * (http://www.torchmobile.com/)
10 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 10 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 class CORE_EXPORT DocumentMarkerController final 47 class CORE_EXPORT DocumentMarkerController final
48 : public GarbageCollected<DocumentMarkerController>, 48 : public GarbageCollected<DocumentMarkerController>,
49 public SynchronousMutationObserver { 49 public SynchronousMutationObserver {
50 WTF_MAKE_NONCOPYABLE(DocumentMarkerController); 50 WTF_MAKE_NONCOPYABLE(DocumentMarkerController);
51 USING_GARBAGE_COLLECTED_MIXIN(DocumentMarkerController); 51 USING_GARBAGE_COLLECTED_MIXIN(DocumentMarkerController);
52 52
53 public: 53 public:
54 explicit DocumentMarkerController(Document&); 54 explicit DocumentMarkerController(Document&);
55 55
56 void Clear(); 56 void Clear();
57 void AddMarker(const Position& start, 57 void AddSpellingMarker(const Position& start,
58 const Position& end, 58 const Position& end,
59 DocumentMarker::MarkerType, 59 const String& description = g_empty_string);
60 const String& description = g_empty_string); 60 void AddGrammarMarker(const Position& start,
61 const Position& end,
62 const String& description = g_empty_string);
61 void AddTextMatchMarker(const EphemeralRange&, DocumentMarker::MatchStatus); 63 void AddTextMatchMarker(const EphemeralRange&, DocumentMarker::MatchStatus);
62 void AddCompositionMarker(const Position& start, 64 void AddCompositionMarker(const Position& start,
63 const Position& end, 65 const Position& end,
64 Color underline_color, 66 Color underline_color,
65 bool thick, 67 bool thick,
66 Color background_color); 68 Color background_color);
67 69
68 void MoveMarkers(Node* src_node, int length, Node* dst_node); 70 void MoveMarkers(Node* src_node, int length, Node* dst_node);
69 71
70 void PrepareForDestruction(); 72 void PrepareForDestruction();
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 #endif 108 #endif
107 109
108 // SynchronousMutationObserver 110 // SynchronousMutationObserver
109 void DidUpdateCharacterData(CharacterData*, 111 void DidUpdateCharacterData(CharacterData*,
110 unsigned offset, 112 unsigned offset,
111 unsigned old_length, 113 unsigned old_length,
112 unsigned new_length) final; 114 unsigned new_length) final;
113 115
114 private: 116 private:
115 void AddMarker(Node*, DocumentMarker*); 117 void AddMarker(Node*, DocumentMarker*);
118 void AddSpellCheckMarker(const Position& start,
119 const Position& end,
120 DocumentMarker::MarkerType,
121 const String& description = g_empty_string);
116 122
117 using MarkerLists = HeapVector<Member<DocumentMarkerList>, 123 using MarkerLists = HeapVector<Member<DocumentMarkerList>,
118 DocumentMarker::kMarkerTypeIndexesCount>; 124 DocumentMarker::kMarkerTypeIndexesCount>;
119 using MarkerMap = HeapHashMap<WeakMember<const Node>, Member<MarkerLists>>; 125 using MarkerMap = HeapHashMap<WeakMember<const Node>, Member<MarkerLists>>;
120 static Member<DocumentMarkerList>& ListForType(MarkerLists*, 126 static Member<DocumentMarkerList>& ListForType(MarkerLists*,
121 DocumentMarker::MarkerType); 127 DocumentMarker::MarkerType);
122 bool PossiblyHasMarkers(DocumentMarker::MarkerTypes); 128 bool PossiblyHasMarkers(DocumentMarker::MarkerTypes);
123 void RemoveMarkersFromList(MarkerMap::iterator, DocumentMarker::MarkerTypes); 129 void RemoveMarkersFromList(MarkerMap::iterator, DocumentMarker::MarkerTypes);
124 void RemoveMarkers(TextIterator&, DocumentMarker::MarkerTypes); 130 void RemoveMarkers(TextIterator&, DocumentMarker::MarkerTypes);
125 void RemoveMarkersInternal(Node*, 131 void RemoveMarkersInternal(Node*,
126 unsigned start_offset, 132 unsigned start_offset,
127 int length, 133 int length,
128 DocumentMarker::MarkerTypes); 134 DocumentMarker::MarkerTypes);
129 135
130 MarkerMap markers_; 136 MarkerMap markers_;
131 // Provide a quick way to determine whether a particular marker type is absent 137 // Provide a quick way to determine whether a particular marker type is absent
132 // without going through the map. 138 // without going through the map.
133 DocumentMarker::MarkerTypes possibly_existing_marker_types_; 139 DocumentMarker::MarkerTypes possibly_existing_marker_types_;
134 const Member<const Document> document_; 140 const Member<const Document> document_;
135 }; 141 };
136 142
137 } // namespace blink 143 } // namespace blink
138 144
139 #ifndef NDEBUG 145 #ifndef NDEBUG
140 void showDocumentMarkers(const blink::DocumentMarkerController*); 146 void showDocumentMarkers(const blink::DocumentMarkerController*);
141 #endif 147 #endif
142 148
143 #endif // DocumentMarkerController_h 149 #endif // DocumentMarkerController_h
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698