| 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
|
|
|