Index: third_party/WebKit/Source/core/editing/markers/DocumentMarker.cpp |
diff --git a/third_party/WebKit/Source/core/editing/markers/DocumentMarker.cpp b/third_party/WebKit/Source/core/editing/markers/DocumentMarker.cpp |
index f9fc29dfe8b6fe2da0a00f8a2b445ccdd9b599ab..811f5cce91b510ab8dd3525ae9212824bdd3d825 100644 |
--- a/third_party/WebKit/Source/core/editing/markers/DocumentMarker.cpp |
+++ b/third_party/WebKit/Source/core/editing/markers/DocumentMarker.cpp |
@@ -34,143 +34,13 @@ |
namespace blink { |
-DocumentMarkerDetails::~DocumentMarkerDetails() {} |
- |
-class DocumentMarkerDescription final : public DocumentMarkerDetails { |
- public: |
- static DocumentMarkerDescription* create(const String&); |
- |
- const String& description() const { return m_description; } |
- bool isDescription() const override { return true; } |
- |
- private: |
- explicit DocumentMarkerDescription(const String& description) |
- : m_description(description) {} |
- |
- String m_description; |
-}; |
- |
-DocumentMarkerDescription* DocumentMarkerDescription::create( |
- const String& description) { |
- return new DocumentMarkerDescription(description); |
-} |
- |
-inline DocumentMarkerDescription* toDocumentMarkerDescription( |
- DocumentMarkerDetails* details) { |
- if (details && details->isDescription()) |
- return static_cast<DocumentMarkerDescription*>(details); |
- return 0; |
-} |
- |
-class DocumentMarkerTextMatch final : public DocumentMarkerDetails { |
- public: |
- static DocumentMarkerTextMatch* create(bool); |
- |
- bool activeMatch() const { return m_match; } |
- bool isTextMatch() const override { return true; } |
- |
- private: |
- explicit DocumentMarkerTextMatch(bool match) : m_match(match) {} |
- |
- bool m_match; |
-}; |
- |
-DocumentMarkerTextMatch* DocumentMarkerTextMatch::create(bool match) { |
- DEFINE_STATIC_LOCAL(DocumentMarkerTextMatch, trueInstance, |
- (new DocumentMarkerTextMatch(true))); |
- DEFINE_STATIC_LOCAL(DocumentMarkerTextMatch, falseInstance, |
- (new DocumentMarkerTextMatch(false))); |
- return match ? &trueInstance : &falseInstance; |
-} |
- |
-inline DocumentMarkerTextMatch* toDocumentMarkerTextMatch( |
- DocumentMarkerDetails* details) { |
- if (details && details->isTextMatch()) |
- return static_cast<DocumentMarkerTextMatch*>(details); |
- return 0; |
-} |
- |
-class TextCompositionMarkerDetails final : public DocumentMarkerDetails { |
- public: |
- static TextCompositionMarkerDetails* create(Color underlineColor, |
- bool thick, |
- Color backgroundColor); |
- |
- bool isComposition() const override { return true; } |
- Color underlineColor() const { return m_underlineColor; } |
- bool thick() const { return m_thick; } |
- Color backgroundColor() const { return m_backgroundColor; } |
- |
- private: |
- TextCompositionMarkerDetails(Color underlineColor, |
- bool thick, |
- Color backgroundColor) |
- : m_underlineColor(underlineColor), |
- m_backgroundColor(backgroundColor), |
- m_thick(thick) {} |
- |
- Color m_underlineColor; |
- Color m_backgroundColor; |
- bool m_thick; |
-}; |
- |
-TextCompositionMarkerDetails* TextCompositionMarkerDetails::create( |
- Color underlineColor, |
- bool thick, |
- Color backgroundColor) { |
- return new TextCompositionMarkerDetails(underlineColor, thick, |
- backgroundColor); |
-} |
- |
-inline TextCompositionMarkerDetails* toTextCompositionMarkerDetails( |
- DocumentMarkerDetails* details) { |
- if (details && details->isComposition()) |
- return static_cast<TextCompositionMarkerDetails*>(details); |
- return nullptr; |
-} |
- |
-DocumentMarker* DocumentMarker::clone() const { |
- return new DocumentMarker(*this); |
-} |
- |
-DocumentMarker::DocumentMarker(MarkerType type, |
- unsigned startOffset, |
- unsigned endOffset, |
- const String& description) |
- : m_type(type), |
- m_startOffset(startOffset), |
- m_endOffset(endOffset), |
- m_details(description.isEmpty() |
- ? nullptr |
- : DocumentMarkerDescription::create(description)) { |
- DCHECK(type != DocumentMarker::TextMatch); |
-} |
- |
-DocumentMarker::DocumentMarker(unsigned startOffset, |
- unsigned endOffset, |
- bool activeMatch) |
- : m_type(DocumentMarker::TextMatch), |
- m_startOffset(startOffset), |
- m_endOffset(endOffset), |
- m_details(DocumentMarkerTextMatch::create(activeMatch)) {} |
+DocumentMarker::DocumentMarker(const DocumentMarker& marker) |
+ : m_startOffset(marker.startOffset()), m_endOffset(marker.endOffset()) {} |
-DocumentMarker::DocumentMarker(unsigned startOffset, |
- unsigned endOffset, |
- Color underlineColor, |
- bool thick, |
- Color backgroundColor) |
- : m_type(DocumentMarker::Composition), |
- m_startOffset(startOffset), |
- m_endOffset(endOffset), |
- m_details(TextCompositionMarkerDetails::create(underlineColor, |
- thick, |
- backgroundColor)) {} |
+DocumentMarker::~DocumentMarker() {} |
-DocumentMarker::DocumentMarker(const DocumentMarker& marker) |
- : m_type(marker.type()), |
- m_startOffset(marker.startOffset()), |
- m_endOffset(marker.endOffset()), |
- m_details(marker.details()) {} |
+DocumentMarker::DocumentMarker(unsigned startOffset, unsigned endOffset) |
+ : m_startOffset(startOffset), m_endOffset(endOffset) {} |
Optional<DocumentMarker::MarkerOffsets> |
DocumentMarker::computeOffsetsAfterShift(unsigned offset, |
@@ -223,47 +93,4 @@ void DocumentMarker::shiftOffsets(int delta) { |
m_endOffset += delta; |
} |
-void DocumentMarker::setActiveMatch(bool active) { |
- m_details = DocumentMarkerTextMatch::create(active); |
-} |
- |
-const String& DocumentMarker::description() const { |
- if (DocumentMarkerDescription* details = |
- toDocumentMarkerDescription(m_details.get())) |
- return details->description(); |
- return emptyString; |
-} |
- |
-bool DocumentMarker::activeMatch() const { |
- if (DocumentMarkerTextMatch* details = |
- toDocumentMarkerTextMatch(m_details.get())) |
- return details->activeMatch(); |
- return false; |
-} |
- |
-Color DocumentMarker::underlineColor() const { |
- if (TextCompositionMarkerDetails* details = |
- toTextCompositionMarkerDetails(m_details.get())) |
- return details->underlineColor(); |
- return Color::transparent; |
-} |
- |
-bool DocumentMarker::thick() const { |
- if (TextCompositionMarkerDetails* details = |
- toTextCompositionMarkerDetails(m_details.get())) |
- return details->thick(); |
- return false; |
-} |
- |
-Color DocumentMarker::backgroundColor() const { |
- if (TextCompositionMarkerDetails* details = |
- toTextCompositionMarkerDetails(m_details.get())) |
- return details->backgroundColor(); |
- return Color::transparent; |
-} |
- |
-DEFINE_TRACE(DocumentMarker) { |
- visitor->trace(m_details); |
-} |
- |
} // namespace blink |