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

Unified Diff: Source/core/dom/DocumentMarker.h

Issue 1293683003: Move DocumentMarker related files to editing/markers/ from dom/ (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: 2015-08-14T22:49:39 Rebase Created 5 years, 4 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
« no previous file with comments | « Source/core/dom/Document.cpp ('k') | Source/core/dom/DocumentMarker.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/dom/DocumentMarker.h
diff --git a/Source/core/dom/DocumentMarker.h b/Source/core/dom/DocumentMarker.h
deleted file mode 100644
index a7b5dccd3dbbeadf53a495d50a6e916e86b707f5..0000000000000000000000000000000000000000
--- a/Source/core/dom/DocumentMarker.h
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * This file is part of the DOM implementation for WebCore.
- *
- * Copyright (C) 2006 Apple Computer, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef DocumentMarker_h
-#define DocumentMarker_h
-
-#include "core/CoreExport.h"
-#include "platform/heap/Handle.h"
-#include "wtf/VectorTraits.h"
-#include "wtf/text/WTFString.h"
-
-namespace blink {
-
-class DocumentMarkerDetails;
-
-// A range of a node within a document that is "marked", such as the range of a misspelled word.
-// It optionally includes a description that could be displayed in the user interface.
-// It also optionally includes a flag specifying whether the match is active, which is ignored
-// for all types other than type TextMatch.
-class CORE_EXPORT DocumentMarker : public NoBaseWillBeGarbageCollected<DocumentMarker> {
-public:
- enum MarkerTypeIndex {
- SpellingMarkerIndex = 0,
- GramarMarkerIndex,
- TextMatchMarkerIndex,
- InvisibleSpellcheckMarkerIndex,
- MarkerTypeIndexesCount
- };
-
- enum MarkerType {
- Spelling = 1 << SpellingMarkerIndex,
- Grammar = 1 << GramarMarkerIndex,
- TextMatch = 1 << TextMatchMarkerIndex,
- InvisibleSpellcheck = 1 << InvisibleSpellcheckMarkerIndex
- };
-
- class MarkerTypes {
- public:
- // The constructor is intentionally implicit to allow conversion from the bit-wise sum of above types
- MarkerTypes(unsigned mask) : m_mask(mask) { }
-
- bool contains(MarkerType type) const { return m_mask & type; }
- bool intersects(const MarkerTypes& types) const { return (m_mask & types.m_mask); }
- bool operator==(const MarkerTypes& other) const { return m_mask == other.m_mask; }
-
- void add(const MarkerTypes& types) { m_mask |= types.m_mask; }
- void remove(const MarkerTypes& types) { m_mask &= ~types.m_mask; }
-
- private:
- unsigned m_mask;
- };
-
- class AllMarkers : public MarkerTypes {
- public:
- AllMarkers()
- : MarkerTypes(Spelling | Grammar | TextMatch | InvisibleSpellcheck)
- {
- }
- };
-
- class MisspellingMarkers : public MarkerTypes {
- public:
- MisspellingMarkers()
- : MarkerTypes(Spelling | Grammar)
- {
- }
- };
-
- class SpellCheckClientMarkers : public MarkerTypes {
- public:
- SpellCheckClientMarkers()
- : MarkerTypes(Spelling | Grammar | InvisibleSpellcheck)
- {
- }
- };
-
- DocumentMarker(MarkerType, unsigned startOffset, unsigned endOffset, const String& description, uint32_t hash);
- DocumentMarker(unsigned startOffset, unsigned endOffset, bool activeMatch);
- DocumentMarker(const DocumentMarker&);
-
- MarkerType type() const { return m_type; }
- unsigned startOffset() const { return m_startOffset; }
- unsigned endOffset() const { return m_endOffset; }
- uint32_t hash() const { return m_hash; }
-
- const String& description() const;
- bool activeMatch() const;
- DocumentMarkerDetails* details() const;
-
- void setActiveMatch(bool);
- void clearDetails() { m_details.clear(); }
-
- // Offset modifications are done by DocumentMarkerController.
- // Other classes should not call following setters.
- void setStartOffset(unsigned offset) { m_startOffset = offset; }
- void setEndOffset(unsigned offset) { m_endOffset = offset; }
- void shiftOffsets(int delta);
-
- bool operator==(const DocumentMarker& o) const
- {
- return type() == o.type() && startOffset() == o.startOffset() && endOffset() == o.endOffset();
- }
-
- bool operator!=(const DocumentMarker& o) const
- {
- return !(*this == o);
- }
-
- DECLARE_TRACE();
-
-private:
- MarkerType m_type;
- unsigned m_startOffset;
- unsigned m_endOffset;
- RefPtrWillBeMember<DocumentMarkerDetails> m_details;
- uint32_t m_hash;
-};
-
-using DocumentMarkerVector = WillBeHeapVector<RawPtrWillBeMember<DocumentMarker>>;
-
-inline DocumentMarkerDetails* DocumentMarker::details() const
-{
- return m_details.get();
-}
-
-class DocumentMarkerDetails : public RefCountedWillBeGarbageCollectedFinalized<DocumentMarkerDetails> {
-public:
- DocumentMarkerDetails() { }
- virtual ~DocumentMarkerDetails();
- virtual bool isDescription() const { return false; }
- virtual bool isTextMatch() const { return false; }
-
- DEFINE_INLINE_VIRTUAL_TRACE() { }
-};
-
-} // namespace blink
-
-#endif // DocumentMarker_h
« no previous file with comments | « Source/core/dom/Document.cpp ('k') | Source/core/dom/DocumentMarker.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698