| Index: Source/core/dom/CustomElementUpgradeCandidateMap.h
|
| diff --git a/Source/core/platform/text/transcoder/FontTranscoder.h b/Source/core/dom/CustomElementUpgradeCandidateMap.h
|
| similarity index 59%
|
| copy from Source/core/platform/text/transcoder/FontTranscoder.h
|
| copy to Source/core/dom/CustomElementUpgradeCandidateMap.h
|
| index 6990a10f725ce42465693adba9172eced45091d2..3c374dc4b3e656b658875e3fe7e41b65e50934a6 100644
|
| --- a/Source/core/platform/text/transcoder/FontTranscoder.h
|
| +++ b/Source/core/dom/CustomElementUpgradeCandidateMap.h
|
| @@ -1,5 +1,5 @@
|
| /*
|
| - * Copyright (c) 2010, Google Inc. All rights reserved.
|
| + * Copyright (C) 2013 Google Inc. All rights reserved.
|
| *
|
| * Redistribution and use in source and binary forms, with or without
|
| * modification, are permitted provided that the following conditions are
|
| @@ -28,41 +28,43 @@
|
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| */
|
|
|
| -#ifndef FontTranscoder_h
|
| -#define FontTranscoder_h
|
| +#ifndef CustomElementUpgradeCandidateMap_h
|
| +#define CustomElementUpgradeCandidateMap_h
|
|
|
| +#include "core/dom/CustomElementDefinition.h"
|
| +#include "core/dom/Element.h"
|
| #include <wtf/HashMap.h>
|
| +#include <wtf/HashSet.h>
|
| #include <wtf/Noncopyable.h>
|
| +#include <wtf/text/AtomicString.h>
|
| #include <wtf/text/AtomicStringHash.h>
|
|
|
| namespace WebCore {
|
|
|
| -class FontDescription;
|
| -class TextEncoding;
|
| -
|
| -class FontTranscoder {
|
| - WTF_MAKE_NONCOPYABLE(FontTranscoder); WTF_MAKE_FAST_ALLOCATED;
|
| +class CustomElementUpgradeCandidateMap {
|
| + WTF_MAKE_NONCOPYABLE(CustomElementUpgradeCandidateMap);
|
| public:
|
| - void convert(String& text, const FontDescription&, const TextEncoding* = 0) const;
|
| - bool needsTranscoding(const FontDescription&, const TextEncoding* = 0) const;
|
| + CustomElementUpgradeCandidateMap() { }
|
|
|
| -private:
|
| - FontTranscoder();
|
| - ~FontTranscoder(); // Not implemented to make sure nobody accidentally calls delete -- WebCore does not delete singletons.
|
| + typedef HashSet<Element*> ElementSet;
|
|
|
| - enum ConverterType {
|
| - NoConversion, BackslashToYenSign,
|
| - };
|
| + void add(CustomElementDefinition::CustomElementKind, const AtomicString& type, Element*);
|
| + bool contains(Element*) const;
|
| + void remove(Element*);
|
| + ElementSet takeUpgradeCandidatesFor(CustomElementDefinition* definition);
|
|
|
| - ConverterType converterType(const FontDescription&, const TextEncoding*) const;
|
| +private:
|
| + typedef std::pair<CustomElementDefinition::CustomElementKind, AtomicString> RequiredDefinition;
|
| + typedef HashMap<Element*, RequiredDefinition> UnresolvedElementMap;
|
| + typedef HashMap<AtomicString, ElementSet> UnresolvedDefinitionMap;
|
|
|
| - HashMap<AtomicString, ConverterType> m_converterTypes;
|
| + bool matches(CustomElementDefinition*, Element*);
|
|
|
| - friend FontTranscoder& fontTranscoder();
|
| + UnresolvedElementMap m_unresolvedElements;
|
| + UnresolvedDefinitionMap m_unresolvedDefinitions;
|
| };
|
|
|
| -FontTranscoder& fontTranscoder();
|
| +}
|
|
|
| -} // namespace WebCore
|
| +#endif // CustomElementUpgradeCandidateMap_h
|
|
|
| -#endif // FontTranscoder_h
|
|
|