OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All rights
reserved. | 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All rights
reserved. |
3 * Copyright (C) 2009, 2010 Google Inc. All rights reserved. | 3 * Copyright (C) 2009, 2010 Google Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 30 matching lines...) Expand all Loading... |
41 #include "core/html/HTMLTemplateElement.h" | 41 #include "core/html/HTMLTemplateElement.h" |
42 #include "weborigin/KURL.h" | 42 #include "weborigin/KURL.h" |
43 #include "wtf/unicode/CharacterNames.h" | 43 #include "wtf/unicode/CharacterNames.h" |
44 | 44 |
45 namespace WebCore { | 45 namespace WebCore { |
46 | 46 |
47 using namespace HTMLNames; | 47 using namespace HTMLNames; |
48 | 48 |
49 void MarkupAccumulator::appendCharactersReplacingEntities(StringBuilder& result,
const String& source, unsigned offset, unsigned length, EntityMask entityMask) | 49 void MarkupAccumulator::appendCharactersReplacingEntities(StringBuilder& result,
const String& source, unsigned offset, unsigned length, EntityMask entityMask) |
50 { | 50 { |
51 DEFINE_STATIC_LOCAL(const String, ampReference, (ASCIILiteral("&"))); | 51 DEFINE_STATIC_LOCAL(const String, ampReference, ("&")); |
52 DEFINE_STATIC_LOCAL(const String, ltReference, (ASCIILiteral("<"))); | 52 DEFINE_STATIC_LOCAL(const String, ltReference, ("<")); |
53 DEFINE_STATIC_LOCAL(const String, gtReference, (ASCIILiteral(">"))); | 53 DEFINE_STATIC_LOCAL(const String, gtReference, (">")); |
54 DEFINE_STATIC_LOCAL(const String, quotReference, (ASCIILiteral("""))); | 54 DEFINE_STATIC_LOCAL(const String, quotReference, (""")); |
55 DEFINE_STATIC_LOCAL(const String, nbspReference, (ASCIILiteral(" "))); | 55 DEFINE_STATIC_LOCAL(const String, nbspReference, (" ")); |
56 | 56 |
57 static const EntityDescription entityMaps[] = { | 57 static const EntityDescription entityMaps[] = { |
58 { '&', ampReference, EntityAmp }, | 58 { '&', ampReference, EntityAmp }, |
59 { '<', ltReference, EntityLt }, | 59 { '<', ltReference, EntityLt }, |
60 { '>', gtReference, EntityGt }, | 60 { '>', gtReference, EntityGt }, |
61 { '"', quotReference, EntityQuot }, | 61 { '"', quotReference, EntityQuot }, |
62 { noBreakSpace, nbspReference, EntityNbsp }, | 62 { noBreakSpace, nbspReference, EntityNbsp }, |
63 }; | 63 }; |
64 | 64 |
65 if (!(offset + length)) | 65 if (!(offset + length)) |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
249 appendCharactersReplacingEntities(result, str, start, length, entityMask); | 249 appendCharactersReplacingEntities(result, str, start, length, entityMask); |
250 } | 250 } |
251 | 251 |
252 bool MarkupAccumulator::shouldAddNamespaceElement(const Element* element) | 252 bool MarkupAccumulator::shouldAddNamespaceElement(const Element* element) |
253 { | 253 { |
254 // Don't add namespace attribute if it is already defined for this elem. | 254 // Don't add namespace attribute if it is already defined for this elem. |
255 const AtomicString& prefix = element->prefix(); | 255 const AtomicString& prefix = element->prefix(); |
256 if (prefix.isEmpty()) | 256 if (prefix.isEmpty()) |
257 return !element->hasAttribute(xmlnsAtom); | 257 return !element->hasAttribute(xmlnsAtom); |
258 | 258 |
259 DEFINE_STATIC_LOCAL(String, xmlnsWithColon, (ASCIILiteral("xmlns:"))); | 259 DEFINE_STATIC_LOCAL(String, xmlnsWithColon, ("xmlns:")); |
260 return !element->hasAttribute(xmlnsWithColon + prefix); | 260 return !element->hasAttribute(xmlnsWithColon + prefix); |
261 } | 261 } |
262 | 262 |
263 bool MarkupAccumulator::shouldAddNamespaceAttribute(const Attribute& attribute,
Namespaces& namespaces) | 263 bool MarkupAccumulator::shouldAddNamespaceAttribute(const Attribute& attribute,
Namespaces& namespaces) |
264 { | 264 { |
265 // Don't add namespace attributes twice | 265 // Don't add namespace attributes twice |
266 if (attribute.name() == XMLNSNames::xmlnsAttr) { | 266 if (attribute.name() == XMLNSNames::xmlnsAttr) { |
267 namespaces.set(emptyAtom.impl(), attribute.value().impl()); | 267 namespaces.set(emptyAtom.impl(), attribute.value().impl()); |
268 return false; | 268 return false; |
269 } | 269 } |
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
546 if (!node->isElementNode() || shouldSelfClose(node) || (!node->hasChildNodes
() && elementCannotHaveEndTag(node))) | 546 if (!node->isElementNode() || shouldSelfClose(node) || (!node->hasChildNodes
() && elementCannotHaveEndTag(node))) |
547 return; | 547 return; |
548 | 548 |
549 result.append('<'); | 549 result.append('<'); |
550 result.append('/'); | 550 result.append('/'); |
551 result.append(toElement(node)->nodeNamePreservingCase()); | 551 result.append(toElement(node)->nodeNamePreservingCase()); |
552 result.append('>'); | 552 result.append('>'); |
553 } | 553 } |
554 | 554 |
555 } | 555 } |
OLD | NEW |