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

Side by Side Diff: Source/core/html/HTMLDocument.cpp

Issue 19804005: Remove AtomicStringImpl. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 5 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/html/HTMLDocument.h ('k') | Source/core/html/HTMLFormControlsCollection.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserv ed. 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserv ed.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 // don't want to incur a style update each time. 213 // don't want to incur a style update each time.
214 if (bodyElement->vLink() != value) 214 if (bodyElement->vLink() != value)
215 bodyElement->setVLink(value); 215 bodyElement->setVLink(value);
216 } 216 }
217 } 217 }
218 218
219 // -------------------------------------------------------------------------- 219 // --------------------------------------------------------------------------
220 // not part of the DOM 220 // not part of the DOM
221 // -------------------------------------------------------------------------- 221 // --------------------------------------------------------------------------
222 222
223 void HTMLDocument::addItemToMap(HashCountedSet<AtomicStringImpl*>& map, const At omicString& name) 223 void HTMLDocument::addItemToMap(HashCountedSet<StringImpl*>& map, const AtomicSt ring& name)
224 { 224 {
225 if (name.isEmpty()) 225 if (name.isEmpty())
226 return; 226 return;
227 map.add(name.impl()); 227 map.add(name.impl());
228 if (Frame* f = frame()) 228 if (Frame* f = frame())
229 f->script()->namedItemAdded(this, name); 229 f->script()->namedItemAdded(this, name);
230 } 230 }
231 231
232 void HTMLDocument::removeItemFromMap(HashCountedSet<AtomicStringImpl*>& map, con st AtomicString& name) 232 void HTMLDocument::removeItemFromMap(HashCountedSet<StringImpl*>& map, const Ato micString& name)
233 { 233 {
234 if (name.isEmpty()) 234 if (name.isEmpty())
235 return; 235 return;
236 map.remove(name.impl()); 236 map.remove(name.impl());
237 if (Frame* f = frame()) 237 if (Frame* f = frame())
238 f->script()->namedItemRemoved(this, name); 238 f->script()->namedItemRemoved(this, name);
239 } 239 }
240 240
241 void HTMLDocument::addNamedItem(const AtomicString& name) 241 void HTMLDocument::addNamedItem(const AtomicString& name)
242 { 242 {
243 addItemToMap(m_namedItemCounts, name); 243 addItemToMap(m_namedItemCounts, name);
244 } 244 }
245 245
246 void HTMLDocument::removeNamedItem(const AtomicString& name) 246 void HTMLDocument::removeNamedItem(const AtomicString& name)
247 { 247 {
248 removeItemFromMap(m_namedItemCounts, name); 248 removeItemFromMap(m_namedItemCounts, name);
249 } 249 }
250 250
251 void HTMLDocument::addExtraNamedItem(const AtomicString& name) 251 void HTMLDocument::addExtraNamedItem(const AtomicString& name)
252 { 252 {
253 addItemToMap(m_extraNamedItemCounts, name); 253 addItemToMap(m_extraNamedItemCounts, name);
254 } 254 }
255 255
256 void HTMLDocument::removeExtraNamedItem(const AtomicString& name) 256 void HTMLDocument::removeExtraNamedItem(const AtomicString& name)
257 { 257 {
258 removeItemFromMap(m_extraNamedItemCounts, name); 258 removeItemFromMap(m_extraNamedItemCounts, name);
259 } 259 }
260 260
261 static void addLocalNameToSet(HashSet<AtomicStringImpl*>* set, const QualifiedNa me& qName) 261 static void addLocalNameToSet(HashSet<StringImpl*>* set, const QualifiedName& qN ame)
262 { 262 {
263 set->add(qName.localName().impl()); 263 set->add(qName.localName().impl());
264 } 264 }
265 265
266 static HashSet<AtomicStringImpl*>* createHtmlCaseInsensitiveAttributesSet() 266 static HashSet<StringImpl*>* createHtmlCaseInsensitiveAttributesSet()
267 { 267 {
268 // This is the list of attributes in HTML 4.01 with values marked as "[CI]" or case-insensitive 268 // This is the list of attributes in HTML 4.01 with values marked as "[CI]" or case-insensitive
269 // Mozilla treats all other values as case-sensitive, thus so do we. 269 // Mozilla treats all other values as case-sensitive, thus so do we.
270 HashSet<AtomicStringImpl*>* attrSet = new HashSet<AtomicStringImpl*>; 270 HashSet<StringImpl*>* attrSet = new HashSet<StringImpl*>;
271 271
272 addLocalNameToSet(attrSet, accept_charsetAttr); 272 addLocalNameToSet(attrSet, accept_charsetAttr);
273 addLocalNameToSet(attrSet, acceptAttr); 273 addLocalNameToSet(attrSet, acceptAttr);
274 addLocalNameToSet(attrSet, alignAttr); 274 addLocalNameToSet(attrSet, alignAttr);
275 addLocalNameToSet(attrSet, alinkAttr); 275 addLocalNameToSet(attrSet, alinkAttr);
276 addLocalNameToSet(attrSet, axisAttr); 276 addLocalNameToSet(attrSet, axisAttr);
277 addLocalNameToSet(attrSet, bgcolorAttr); 277 addLocalNameToSet(attrSet, bgcolorAttr);
278 addLocalNameToSet(attrSet, charsetAttr); 278 addLocalNameToSet(attrSet, charsetAttr);
279 addLocalNameToSet(attrSet, checkedAttr); 279 addLocalNameToSet(attrSet, checkedAttr);
280 addLocalNameToSet(attrSet, clearAttr); 280 addLocalNameToSet(attrSet, clearAttr);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 addLocalNameToSet(attrSet, typeAttr); 313 addLocalNameToSet(attrSet, typeAttr);
314 addLocalNameToSet(attrSet, valignAttr); 314 addLocalNameToSet(attrSet, valignAttr);
315 addLocalNameToSet(attrSet, valuetypeAttr); 315 addLocalNameToSet(attrSet, valuetypeAttr);
316 addLocalNameToSet(attrSet, vlinkAttr); 316 addLocalNameToSet(attrSet, vlinkAttr);
317 317
318 return attrSet; 318 return attrSet;
319 } 319 }
320 320
321 bool HTMLDocument::isCaseSensitiveAttribute(const QualifiedName& attributeName) 321 bool HTMLDocument::isCaseSensitiveAttribute(const QualifiedName& attributeName)
322 { 322 {
323 static HashSet<AtomicStringImpl*>* htmlCaseInsensitiveAttributesSet = create HtmlCaseInsensitiveAttributesSet(); 323 static HashSet<StringImpl*>* htmlCaseInsensitiveAttributesSet = createHtmlCa seInsensitiveAttributesSet();
324 bool isPossibleHTMLAttr = !attributeName.hasPrefix() && (attributeName.names paceURI() == nullAtom); 324 bool isPossibleHTMLAttr = !attributeName.hasPrefix() && (attributeName.names paceURI() == nullAtom);
325 return !isPossibleHTMLAttr || !htmlCaseInsensitiveAttributesSet->contains(at tributeName.localName().impl()); 325 return !isPossibleHTMLAttr || !htmlCaseInsensitiveAttributesSet->contains(at tributeName.localName().impl());
326 } 326 }
327 327
328 void HTMLDocument::clear() 328 void HTMLDocument::clear()
329 { 329 {
330 // FIXME: This does nothing, and that seems unlikely to be correct. 330 // FIXME: This does nothing, and that seems unlikely to be correct.
331 // We've long had a comment saying that IE doesn't support this. 331 // We've long had a comment saying that IE doesn't support this.
332 // But I do see it in the documentation for Mozilla. 332 // But I do see it in the documentation for Mozilla.
333 } 333 }
334 334
335 } 335 }
OLDNEW
« no previous file with comments | « Source/core/html/HTMLDocument.h ('k') | Source/core/html/HTMLFormControlsCollection.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698