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

Side by Side Diff: third_party/WebKit/Source/core/editing/markers/DocumentMarker.cpp

Issue 2902393003: [DMC #17.5] Eliminate DocumentMarker and TextMatchMarker copy constructors (Closed)
Patch Set: Rebase Created 3 years, 6 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 Color underline_color, 162 Color underline_color,
163 bool thick, 163 bool thick,
164 Color background_color) 164 Color background_color)
165 : type_(DocumentMarker::kComposition), 165 : type_(DocumentMarker::kComposition),
166 start_offset_(start_offset), 166 start_offset_(start_offset),
167 end_offset_(end_offset), 167 end_offset_(end_offset),
168 details_(TextCompositionMarkerDetails::Create(underline_color, 168 details_(TextCompositionMarkerDetails::Create(underline_color,
169 thick, 169 thick,
170 background_color)) {} 170 background_color)) {}
171 171
172 DocumentMarker::DocumentMarker(const DocumentMarker& marker)
173 : type_(marker.GetType()),
174 start_offset_(marker.StartOffset()),
175 end_offset_(marker.EndOffset()),
176 details_(marker.Details()) {}
177
178 Optional<DocumentMarker::MarkerOffsets> 172 Optional<DocumentMarker::MarkerOffsets>
179 DocumentMarker::ComputeOffsetsAfterShift(unsigned offset, 173 DocumentMarker::ComputeOffsetsAfterShift(unsigned offset,
180 unsigned old_length, 174 unsigned old_length,
181 unsigned new_length) const { 175 unsigned new_length) const {
182 MarkerOffsets result; 176 MarkerOffsets result;
183 result.start_offset = StartOffset(); 177 result.start_offset = StartOffset();
184 result.end_offset = EndOffset(); 178 result.end_offset = EndOffset();
185 179
186 // algorithm inspired by https://dom.spec.whatwg.org/#concept-cd-replace 180 // algorithm inspired by https://dom.spec.whatwg.org/#concept-cd-replace
187 // but with some changes 181 // but with some changes
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 ToTextCompositionMarkerDetails(details_.Get())) 259 ToTextCompositionMarkerDetails(details_.Get()))
266 return details->BackgroundColor(); 260 return details->BackgroundColor();
267 return Color::kTransparent; 261 return Color::kTransparent;
268 } 262 }
269 263
270 DEFINE_TRACE(DocumentMarker) { 264 DEFINE_TRACE(DocumentMarker) {
271 visitor->Trace(details_); 265 visitor->Trace(details_);
272 } 266 }
273 267
274 } // namespace blink 268 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698