Skip to content

Commit b88d447

Browse files
author
cevans@chromium.org
committed
Remove AtomicStringImpl.
This is attempt #2. Attempt #1 was reverted due to some object lifetime issues which were tackled in separate bugs. I also noted the paradigm of RefPtr<AtomicStringImpl> as a map key, which I replaced with functionally-equivalent AtomicString. This may have the advantage of less template specializations. BUG=250050 TEST=layout tests under ASAN ok Review URL: https://chromiumcodereview.appspot.com/19804005 git-svn-id: svn://svn.chromium.org/blink/trunk@154790 bbb929c8-8fbe-4397-9dbb-9b2b20218538
1 parent 884e5e2 commit b88d447

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+129
-171
lines changed

Source/bindings/v8/V8WindowShell.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,7 @@ static v8::Handle<v8::Value> getNamedProperty(HTMLDocument* htmlDocument, const
453453

454454
static void getter(v8::Local<v8::String> property, const v8::PropertyCallbackInfo<v8::Value>& info)
455455
{
456-
// FIXME: Consider passing AtomicStringImpl directly.
456+
// FIXME: Consider passing StringImpl directly.
457457
AtomicString name = toWebCoreAtomicString(property);
458458
HTMLDocument* htmlDocument = V8HTMLDocument::toNative(info.Holder());
459459
ASSERT(htmlDocument);

Source/core/css/CSSSelector.cpp

+7-6
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
#include "wtf/HashMap.h"
3535
#include "wtf/StdLibExtras.h"
3636
#include "wtf/text/StringBuilder.h"
37+
#include "wtf/text/StringHash.h"
3738

3839
namespace WebCore {
3940

@@ -257,7 +258,7 @@ PseudoId CSSSelector::pseudoId(PseudoType type)
257258
return NOPSEUDO;
258259
}
259260

260-
static HashMap<AtomicStringImpl*, CSSSelector::PseudoType>* nameToPseudoTypeMap()
261+
static HashMap<StringImpl*, CSSSelector::PseudoType>* nameToPseudoTypeMap()
261262
{
262263
DEFINE_STATIC_LOCAL(AtomicString, active, ("active", AtomicString::ConstructFromLiteral));
263264
DEFINE_STATIC_LOCAL(AtomicString, after, ("after", AtomicString::ConstructFromLiteral));
@@ -337,9 +338,9 @@ static HashMap<AtomicStringImpl*, CSSSelector::PseudoType>* nameToPseudoTypeMap(
337338
DEFINE_STATIC_LOCAL(AtomicString, scope, ("scope", AtomicString::ConstructFromLiteral));
338339
DEFINE_STATIC_LOCAL(AtomicString, unresolved, ("unresolved", AtomicString::ConstructFromLiteral));
339340

340-
static HashMap<AtomicStringImpl*, CSSSelector::PseudoType>* nameToPseudoType = 0;
341+
static HashMap<StringImpl*, CSSSelector::PseudoType>* nameToPseudoType = 0;
341342
if (!nameToPseudoType) {
342-
nameToPseudoType = new HashMap<AtomicStringImpl*, CSSSelector::PseudoType>;
343+
nameToPseudoType = new HashMap<StringImpl*, CSSSelector::PseudoType>;
343344
nameToPseudoType->set(active.impl(), CSSSelector::PseudoActive);
344345
nameToPseudoType->set(after.impl(), CSSSelector::PseudoAfter);
345346
nameToPseudoType->set(anyLink.impl(), CSSSelector::PseudoAnyLink);
@@ -425,8 +426,8 @@ CSSSelector::PseudoType CSSSelector::parsePseudoType(const AtomicString& name)
425426
{
426427
if (name.isNull())
427428
return PseudoUnknown;
428-
HashMap<AtomicStringImpl*, CSSSelector::PseudoType>* nameToPseudoType = nameToPseudoTypeMap();
429-
HashMap<AtomicStringImpl*, CSSSelector::PseudoType>::iterator slot = nameToPseudoType->find(name.impl());
429+
HashMap<StringImpl*, CSSSelector::PseudoType>* nameToPseudoType = nameToPseudoTypeMap();
430+
HashMap<StringImpl*, CSSSelector::PseudoType>::iterator slot = nameToPseudoType->find(name.impl());
430431

431432
if (slot != nameToPseudoType->end())
432433
return slot->value;
@@ -737,7 +738,7 @@ bool CSSSelector::matchNth(int count) const
737738
return m_data.m_rareData->matchNth(count);
738739
}
739740

740-
CSSSelector::RareData::RareData(PassRefPtr<AtomicStringImpl> value)
741+
CSSSelector::RareData::RareData(PassRefPtr<StringImpl> value)
741742
: m_value(value.leakRef())
742743
, m_a(0)
743744
, m_b(0)

Source/core/css/CSSSelector.h

+6-6
Original file line numberDiff line numberDiff line change
@@ -255,27 +255,27 @@ namespace WebCore {
255255
CSSSelector& operator=(const CSSSelector&);
256256

257257
struct RareData : public RefCounted<RareData> {
258-
static PassRefPtr<RareData> create(PassRefPtr<AtomicStringImpl> value) { return adoptRef(new RareData(value)); }
258+
static PassRefPtr<RareData> create(PassRefPtr<StringImpl> value) { return adoptRef(new RareData(value)); }
259259
~RareData();
260260

261261
bool parseNth();
262262
bool matchNth(int count);
263263

264-
AtomicStringImpl* m_value; // Plain pointer to keep things uniform with the union.
264+
StringImpl* m_value; // Plain pointer to keep things uniform with the union.
265265
int m_a; // Used for :nth-*
266266
int m_b; // Used for :nth-*
267267
QualifiedName m_attribute; // used for attribute selector
268268
AtomicString m_argument; // Used for :contains, :lang and :nth-*
269269
OwnPtr<CSSSelectorList> m_selectorList; // Used for :-webkit-any and :not
270270

271271
private:
272-
RareData(PassRefPtr<AtomicStringImpl> value);
272+
RareData(PassRefPtr<StringImpl> value);
273273
};
274274
void createRareData();
275275

276276
union DataUnion {
277277
DataUnion() : m_value(0) { }
278-
AtomicStringImpl* m_value;
278+
StringImpl* m_value;
279279
QualifiedName::QualifiedNameImpl* m_tagQName;
280280
RareData* m_rareData;
281281
} m_data;
@@ -430,8 +430,8 @@ inline const QualifiedName& CSSSelector::tagQName() const
430430
inline const AtomicString& CSSSelector::value() const
431431
{
432432
ASSERT(m_match != Tag);
433-
// AtomicString is really just an AtomicStringImpl* so the cast below is safe.
434-
// FIXME: Perhaps call sites could be changed to accept AtomicStringImpl?
433+
// AtomicString is really just a StringImpl* so the cast below is safe.
434+
// FIXME: Perhaps call sites could be changed to accept StringImpl?
435435
return *reinterpret_cast<const AtomicString*>(m_hasRareData ? &m_data.m_rareData->m_value : &m_data.m_value);
436436
}
437437

Source/core/css/MediaQueryEvaluator.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ using namespace MediaFeatureNames;
5858
enum MediaFeaturePrefix { MinPrefix, MaxPrefix, NoPrefix };
5959

6060
typedef bool (*EvalFunc)(CSSValue*, RenderStyle*, Frame*, MediaFeaturePrefix);
61-
typedef HashMap<AtomicStringImpl*, EvalFunc> FunctionMap;
61+
typedef HashMap<StringImpl*, EvalFunc> FunctionMap;
6262
static FunctionMap* gFunctionMap;
6363

6464
MediaQueryEvaluator::MediaQueryEvaluator(bool mediaFeatureResult)

Source/core/css/RuleFeature.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -59,22 +59,22 @@ class RuleFeatureSet {
5959
bool usesFirstLineRules() const { return m_usesFirstLineRules; }
6060
bool usesBeforeAfterRules() const { return m_usesBeforeAfterRules; }
6161

62-
inline bool hasSelectorForAttribute(const AtomicString &attributeName) const
62+
inline bool hasSelectorForAttribute(const AtomicString& attributeName) const
6363
{
6464
ASSERT(!attributeName.isEmpty());
65-
return attrsInRules.contains(attributeName.impl());
65+
return attrsInRules.contains(attributeName);
6666
}
6767

6868
inline bool hasSelectorForClass(const AtomicString& classValue) const
6969
{
7070
ASSERT(!classValue.isEmpty());
71-
return classesInRules.contains(classValue.impl());
71+
return classesInRules.contains(classValue);
7272
}
7373

7474
inline bool hasSelectorForId(const AtomicString& idValue) const
7575
{
7676
ASSERT(!idValue.isEmpty());
77-
return idsInRules.contains(idValue.impl());
77+
return idsInRules.contains(idValue);
7878
}
7979

8080
HashSet<AtomicString> idsInRules;

Source/core/css/RuleSet.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ static void collectFeaturesFromRuleData(RuleFeatureSet& features, const RuleData
241241
features.uncommonAttributeRules.append(RuleFeature(ruleData.rule(), ruleData.selectorIndex(), ruleData.hasDocumentSecurityOrigin()));
242242
}
243243

244-
void RuleSet::addToRuleSet(AtomicStringImpl* key, PendingRuleMap& map, const RuleData& ruleData)
244+
void RuleSet::addToRuleSet(StringImpl* key, PendingRuleMap& map, const RuleData& ruleData)
245245
{
246246
if (!key)
247247
return;

Source/core/css/RuleSet.h

+7-7
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,10 @@ class RuleSet {
108108

109109
const RuleFeatureSet& features() const { return m_features; }
110110

111-
const RuleData* idRules(AtomicStringImpl* key) const { ASSERT(!m_pendingRules); return m_idRules.get(key); }
112-
const RuleData* classRules(AtomicStringImpl* key) const { ASSERT(!m_pendingRules); return m_classRules.get(key); }
113-
const RuleData* tagRules(AtomicStringImpl* key) const { ASSERT(!m_pendingRules); return m_tagRules.get(key); }
114-
const RuleData* shadowPseudoElementRules(AtomicStringImpl* key) const { ASSERT(!m_pendingRules); return m_shadowPseudoElementRules.get(key); }
111+
const RuleData* idRules(StringImpl* key) const { ASSERT(!m_pendingRules); return m_idRules.get(key); }
112+
const RuleData* classRules(StringImpl* key) const { ASSERT(!m_pendingRules); return m_classRules.get(key); }
113+
const RuleData* tagRules(StringImpl* key) const { ASSERT(!m_pendingRules); return m_tagRules.get(key); }
114+
const RuleData* shadowPseudoElementRules(StringImpl* key) const { ASSERT(!m_pendingRules); return m_shadowPseudoElementRules.get(key); }
115115
const Vector<RuleData>* linkPseudoClassRules() const { ASSERT(!m_pendingRules); return &m_linkPseudoClassRules; }
116116
const Vector<RuleData>* cuePseudoRules() const { ASSERT(!m_pendingRules); return &m_cuePseudoRules; }
117117
const Vector<RuleData>* focusPseudoClassRules() const { ASSERT(!m_pendingRules); return &m_focusPseudoClassRules; }
@@ -139,15 +139,15 @@ class RuleSet {
139139
Vector<RuleSetSelectorPair> m_regionSelectorsAndRuleSets;
140140

141141
private:
142-
typedef HashMap<AtomicStringImpl*, OwnPtr<LinkedStack<RuleData> > > PendingRuleMap;
143-
typedef HashMap<AtomicStringImpl*, OwnPtr<RuleData> > CompactRuleMap;
142+
typedef HashMap<StringImpl*, OwnPtr<LinkedStack<RuleData> > > PendingRuleMap;
143+
typedef HashMap<StringImpl*, OwnPtr<RuleData> > CompactRuleMap;
144144

145145
RuleSet()
146146
: m_ruleCount(0)
147147
{
148148
}
149149

150-
void addToRuleSet(AtomicStringImpl* key, PendingRuleMap&, const RuleData&);
150+
void addToRuleSet(StringImpl* key, PendingRuleMap&, const RuleData&);
151151
void addPageRule(StyleRulePage*);
152152
void addViewportRule(StyleRuleViewport*);
153153
void addRegionRule(StyleRuleRegion*, bool hasDocumentSecurityOrigin);

Source/core/css/SelectorChecker.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ class SelectorChecker {
100100
static bool tagMatches(const Element*, const QualifiedName&);
101101
static bool isCommonPseudoClassSelector(const CSSSelector*);
102102
static bool matchesFocusPseudoClass(const Element*);
103-
static bool checkExactAttribute(const Element*, const QualifiedName& selectorAttributeName, const AtomicStringImpl* value);
103+
static bool checkExactAttribute(const Element*, const QualifiedName& selectorAttributeName, const StringImpl* value);
104104

105105
enum LinkMatchMask { MatchLink = 1, MatchVisited = 2, MatchAll = MatchLink | MatchVisited };
106106
static unsigned determineLinkMatchType(const CSSSelector*);
@@ -137,7 +137,7 @@ inline bool SelectorChecker::tagMatches(const Element* element, const QualifiedN
137137
return namespaceURI == starAtom || namespaceURI == element->namespaceURI();
138138
}
139139

140-
inline bool SelectorChecker::checkExactAttribute(const Element* element, const QualifiedName& selectorAttributeName, const AtomicStringImpl* value)
140+
inline bool SelectorChecker::checkExactAttribute(const Element* element, const QualifiedName& selectorAttributeName, const StringImpl* value)
141141
{
142142
if (!element->hasAttributesWithoutUpdate())
143143
return false;

Source/core/css/StyleInvalidationAnalysis.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ StyleInvalidationAnalysis::StyleInvalidationAnalysis(const Vector<StyleSheetCont
4444
analyzeStyleSheet(sheets[i]);
4545
}
4646

47-
static bool determineSelectorScopes(const CSSSelectorList& selectorList, HashSet<AtomicStringImpl*>& idScopes, HashSet<AtomicStringImpl*>& classScopes)
47+
static bool determineSelectorScopes(const CSSSelectorList& selectorList, HashSet<StringImpl*>& idScopes, HashSet<StringImpl*>& classScopes)
4848
{
4949
for (const CSSSelector* selector = selectorList.first(); selector; selector = CSSSelectorList::next(selector)) {
5050
const CSSSelector* scopeSelector = 0;
@@ -141,7 +141,7 @@ void StyleInvalidationAnalysis::analyzeStyleSheet(StyleSheetContents* styleSheet
141141
}
142142
}
143143

144-
static bool elementMatchesSelectorScopes(const Element* element, const HashSet<AtomicStringImpl*>& idScopes, const HashSet<AtomicStringImpl*>& classScopes)
144+
static bool elementMatchesSelectorScopes(const Element* element, const HashSet<StringImpl*>& idScopes, const HashSet<StringImpl*>& classScopes)
145145
{
146146
if (!idScopes.isEmpty() && element->hasID() && idScopes.contains(element->idForStyleResolution().impl()))
147147
return true;

Source/core/css/StyleInvalidationAnalysis.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
#include "wtf/HashSet.h"
3030
#include "wtf/Vector.h"
31-
#include "wtf/text/AtomicStringImpl.h"
31+
#include "wtf/text/StringImpl.h"
3232

3333
namespace WebCore {
3434

@@ -48,8 +48,8 @@ class StyleInvalidationAnalysis {
4848
void analyzeStyleSheet(StyleSheetContents*);
4949

5050
bool m_dirtiesAllStyle;
51-
HashSet<AtomicStringImpl*> m_idScopes;
52-
HashSet<AtomicStringImpl*> m_classScopes;
51+
HashSet<StringImpl*> m_idScopes;
52+
HashSet<StringImpl*> m_classScopes;
5353
Vector<Node*, 8> m_scopingNodes;
5454
};
5555

Source/core/css/resolver/ScopedStyleResolver.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ bool ScopedStyleResolver::checkRegionStyle(Element* regionElement)
305305
return false;
306306
}
307307

308-
const StyleRuleKeyframes* ScopedStyleResolver::keyframeStylesForAnimation(const AtomicStringImpl* animationName)
308+
const StyleRuleKeyframes* ScopedStyleResolver::keyframeStylesForAnimation(const StringImpl* animationName)
309309
{
310310
if (m_keyframesRuleMap.isEmpty())
311311
return 0;

Source/core/css/resolver/ScopedStyleResolver.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ class ScopedStyleResolver {
6363

6464
public:
6565
bool checkRegionStyle(Element*);
66-
const StyleRuleKeyframes* keyframeStylesForAnimation(const AtomicStringImpl* animationName);
66+
const StyleRuleKeyframes* keyframeStylesForAnimation(const StringImpl* animationName);
6767
void addKeyframeStyle(PassRefPtr<StyleRuleKeyframes>);
6868

6969
void matchHostRules(ElementRuleCollector&, bool includeEmptyRules);
@@ -89,7 +89,7 @@ class ScopedStyleResolver {
8989
OwnPtr<RuleSet> m_authorStyle;
9090
HashMap<const ShadowRoot*, OwnPtr<RuleSet> > m_atHostRules;
9191

92-
typedef HashMap<const AtomicStringImpl*, RefPtr<StyleRuleKeyframes> > KeyframesRuleMap;
92+
typedef HashMap<const StringImpl*, RefPtr<StyleRuleKeyframes> > KeyframesRuleMap;
9393
KeyframesRuleMap m_keyframesRuleMap;
9494
};
9595

Source/core/css/resolver/StyleResolver.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -692,7 +692,7 @@ PassRefPtr<RenderStyle> StyleResolver::styleForKeyframe(Element* e, const Render
692692
return state.takeStyle();
693693
}
694694

695-
const StyleRuleKeyframes* StyleResolver::matchScopedKeyframesRule(Element* e, const AtomicStringImpl* animationName)
695+
const StyleRuleKeyframes* StyleResolver::matchScopedKeyframesRule(Element* e, const StringImpl* animationName)
696696
{
697697
if (m_styleTree.hasOnlyScopedResolverForDocument())
698698
return m_styleTree.scopedStyleResolverForDocument()->keyframeStylesForAnimation(animationName);

Source/core/css/resolver/StyleResolver.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ class StyleResolver {
213213
// FIXME: Used by SharingStyleFinder, but should be removed.
214214
bool styleSharingCandidateMatchesRuleSet(const ElementResolveContext&, RenderStyle*, RuleSet*);
215215

216-
const StyleRuleKeyframes* matchScopedKeyframesRule(Element*, const AtomicStringImpl* animationName);
216+
const StyleRuleKeyframes* matchScopedKeyframesRule(Element*, const StringImpl* animationName);
217217
PassRefPtr<RenderStyle> styleForKeyframe(Element*, const RenderStyle*, const StyleKeyframe*, KeyframeValue&);
218218

219219
// These methods will give back the set of rules that matched for a given element (or a pseudo-element).
@@ -309,7 +309,7 @@ class StyleResolver {
309309
DocumentRuleSets m_ruleSets;
310310

311311
// FIXME: This likely belongs on RuleSet.
312-
typedef HashMap<AtomicStringImpl*, RefPtr<StyleRuleKeyframes> > KeyframesRuleMap;
312+
typedef HashMap<StringImpl*, RefPtr<StyleRuleKeyframes> > KeyframesRuleMap;
313313
KeyframesRuleMap m_keyframesRuleMap;
314314

315315
static RenderStyle* s_styleNotYetAvailable;

Source/core/dom/CheckedRadioButtons.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ void CheckedRadioButtons::removeButton(HTMLInputElement* element)
260260
if (it->value->isEmpty()) {
261261
// FIXME: We may skip deallocating the empty RadioButtonGroup for
262262
// performance improvement. If we do so, we need to change the key type
263-
// of m_nameToGroupMap from AtomicStringImpl* to RefPtr<AtomicStringImpl>.
263+
// of m_nameToGroupMap from StringImpl* to AtomicString.
264264
m_nameToGroupMap->remove(it);
265265
if (m_nameToGroupMap->isEmpty())
266266
m_nameToGroupMap.clear();

Source/core/dom/CheckedRadioButtons.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
#include "wtf/Forward.h"
2525
#include "wtf/HashMap.h"
2626
#include "wtf/OwnPtr.h"
27+
#include "wtf/text/StringHash.h"
2728

2829
namespace WebCore {
2930

@@ -44,7 +45,7 @@ class CheckedRadioButtons {
4445
bool isInRequiredGroup(HTMLInputElement*) const;
4546

4647
private:
47-
typedef HashMap<AtomicStringImpl*, OwnPtr<RadioButtonGroup> > NameToGroupMap;
48+
typedef HashMap<StringImpl*, OwnPtr<RadioButtonGroup> > NameToGroupMap;
4849
OwnPtr<NameToGroupMap> m_nameToGroupMap;
4950
};
5051

Source/core/dom/DocumentOrderedMap.cpp

+12-12
Original file line numberDiff line numberDiff line change
@@ -42,22 +42,22 @@ namespace WebCore {
4242

4343
using namespace HTMLNames;
4444

45-
inline bool keyMatchesId(AtomicStringImpl* key, Element* element)
45+
inline bool keyMatchesId(StringImpl* key, Element* element)
4646
{
4747
return element->getIdAttribute().impl() == key;
4848
}
4949

50-
inline bool keyMatchesMapName(AtomicStringImpl* key, Element* element)
50+
inline bool keyMatchesMapName(StringImpl* key, Element* element)
5151
{
5252
return element->hasTagName(mapTag) && toHTMLMapElement(element)->getName().impl() == key;
5353
}
5454

55-
inline bool keyMatchesLowercasedMapName(AtomicStringImpl* key, Element* element)
55+
inline bool keyMatchesLowercasedMapName(StringImpl* key, Element* element)
5656
{
5757
return element->hasTagName(mapTag) && toHTMLMapElement(element)->getName().lower().impl() == key;
5858
}
5959

60-
inline bool keyMatchesLabelForAttribute(AtomicStringImpl* key, Element* element)
60+
inline bool keyMatchesLabelForAttribute(StringImpl* key, Element* element)
6161
{
6262
return isHTMLLabelElement(element) && element->getAttribute(forAttr).impl() == key;
6363
}
@@ -68,7 +68,7 @@ void DocumentOrderedMap::clear()
6868
m_duplicateCounts.clear();
6969
}
7070

71-
void DocumentOrderedMap::add(AtomicStringImpl* key, Element* element)
71+
void DocumentOrderedMap::add(StringImpl* key, Element* element)
7272
{
7373
ASSERT(key);
7474
ASSERT(element);
@@ -98,7 +98,7 @@ void DocumentOrderedMap::add(AtomicStringImpl* key, Element* element)
9898
m_duplicateCounts.add(key);
9999
}
100100

101-
void DocumentOrderedMap::remove(AtomicStringImpl* key, Element* element)
101+
void DocumentOrderedMap::remove(StringImpl* key, Element* element)
102102
{
103103
ASSERT(key);
104104
ASSERT(element);
@@ -111,8 +111,8 @@ void DocumentOrderedMap::remove(AtomicStringImpl* key, Element* element)
111111
m_duplicateCounts.remove(key);
112112
}
113113

114-
template<bool keyMatches(AtomicStringImpl*, Element*)>
115-
inline Element* DocumentOrderedMap::get(AtomicStringImpl* key, const TreeScope* scope) const
114+
template<bool keyMatches(StringImpl*, Element*)>
115+
inline Element* DocumentOrderedMap::get(StringImpl* key, const TreeScope* scope) const
116116
{
117117
ASSERT(key);
118118
ASSERT(scope);
@@ -138,22 +138,22 @@ inline Element* DocumentOrderedMap::get(AtomicStringImpl* key, const TreeScope*
138138
return 0;
139139
}
140140

141-
Element* DocumentOrderedMap::getElementById(AtomicStringImpl* key, const TreeScope* scope) const
141+
Element* DocumentOrderedMap::getElementById(StringImpl* key, const TreeScope* scope) const
142142
{
143143
return get<keyMatchesId>(key, scope);
144144
}
145145

146-
Element* DocumentOrderedMap::getElementByMapName(AtomicStringImpl* key, const TreeScope* scope) const
146+
Element* DocumentOrderedMap::getElementByMapName(StringImpl* key, const TreeScope* scope) const
147147
{
148148
return get<keyMatchesMapName>(key, scope);
149149
}
150150

151-
Element* DocumentOrderedMap::getElementByLowercasedMapName(AtomicStringImpl* key, const TreeScope* scope) const
151+
Element* DocumentOrderedMap::getElementByLowercasedMapName(StringImpl* key, const TreeScope* scope) const
152152
{
153153
return get<keyMatchesLowercasedMapName>(key, scope);
154154
}
155155

156-
Element* DocumentOrderedMap::getElementByLabelForAttribute(AtomicStringImpl* key, const TreeScope* scope) const
156+
Element* DocumentOrderedMap::getElementByLabelForAttribute(StringImpl* key, const TreeScope* scope) const
157157
{
158158
return get<keyMatchesLabelForAttribute>(key, scope);
159159
}

0 commit comments

Comments
 (0)