| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All rights | 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All rights |
| 3 * reserved. | 3 * reserved. |
| 4 * Copyright (C) 2009, 2010 Google Inc. All rights reserved. | 4 * Copyright (C) 2009, 2010 Google Inc. All rights reserved. |
| 5 * | 5 * |
| 6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
| 7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
| 8 * are met: | 8 * are met: |
| 9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 #include "core/HTMLNames.h" | 30 #include "core/HTMLNames.h" |
| 31 #include "core/XLinkNames.h" | 31 #include "core/XLinkNames.h" |
| 32 #include "core/XMLNSNames.h" | 32 #include "core/XMLNSNames.h" |
| 33 #include "core/XMLNames.h" | 33 #include "core/XMLNames.h" |
| 34 #include "core/dom/CDATASection.h" | 34 #include "core/dom/CDATASection.h" |
| 35 #include "core/dom/Comment.h" | 35 #include "core/dom/Comment.h" |
| 36 #include "core/dom/Document.h" | 36 #include "core/dom/Document.h" |
| 37 #include "core/dom/DocumentFragment.h" | 37 #include "core/dom/DocumentFragment.h" |
| 38 #include "core/dom/DocumentType.h" | 38 #include "core/dom/DocumentType.h" |
| 39 #include "core/dom/ProcessingInstruction.h" | 39 #include "core/dom/ProcessingInstruction.h" |
| 40 #include "core/editing/EditingUtilities.h" |
| 40 #include "core/editing/Editor.h" | 41 #include "core/editing/Editor.h" |
| 41 #include "core/html/HTMLElement.h" | 42 #include "core/html/HTMLElement.h" |
| 42 #include "core/html/HTMLTemplateElement.h" | 43 #include "core/html/HTMLTemplateElement.h" |
| 43 #include "platform/weborigin/KURL.h" | 44 #include "platform/weborigin/KURL.h" |
| 44 #include "wtf/text/CharacterNames.h" | 45 #include "wtf/text/CharacterNames.h" |
| 45 | 46 |
| 46 namespace blink { | 47 namespace blink { |
| 47 | 48 |
| 48 using namespace HTMLNames; | 49 using namespace HTMLNames; |
| 49 | 50 |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 171 break; | 172 break; |
| 172 case Node::kCdataSectionNode: | 173 case Node::kCdataSectionNode: |
| 173 appendCDATASection(result, toCDATASection(node).data()); | 174 appendCDATASection(result, toCDATASection(node).data()); |
| 174 break; | 175 break; |
| 175 case Node::kAttributeNode: | 176 case Node::kAttributeNode: |
| 176 NOTREACHED(); | 177 NOTREACHED(); |
| 177 break; | 178 break; |
| 178 } | 179 } |
| 179 } | 180 } |
| 180 | 181 |
| 181 static bool elementCannotHaveEndTag(const Node& node) { | |
| 182 if (!node.isHTMLElement()) | |
| 183 return false; | |
| 184 | |
| 185 return !toHTMLElement(node).shouldSerializeEndTag(); | |
| 186 } | |
| 187 | |
| 188 void MarkupFormatter::appendEndMarkup(StringBuilder& result, | 182 void MarkupFormatter::appendEndMarkup(StringBuilder& result, |
| 189 const Element& element) { | 183 const Element& element) { |
| 190 if (shouldSelfClose(element) || | 184 if (shouldSelfClose(element) || |
| 191 (!element.hasChildren() && elementCannotHaveEndTag(element))) | 185 (!element.hasChildren() && elementCannotHaveEndTag(element))) |
| 192 return; | 186 return; |
| 193 | 187 |
| 194 result.append("</"); | 188 result.append("</"); |
| 195 result.append(element.tagQName().toString()); | 189 result.append(element.tagQName().toString()); |
| 196 result.append('>'); | 190 result.append('>'); |
| 197 } | 191 } |
| (...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 504 return true; | 498 return true; |
| 505 } | 499 } |
| 506 | 500 |
| 507 bool MarkupFormatter::serializeAsHTMLDocument(const Node& node) const { | 501 bool MarkupFormatter::serializeAsHTMLDocument(const Node& node) const { |
| 508 if (m_serializationType == SerializationType::ForcedXML) | 502 if (m_serializationType == SerializationType::ForcedXML) |
| 509 return false; | 503 return false; |
| 510 return node.document().isHTMLDocument(); | 504 return node.document().isHTMLDocument(); |
| 511 } | 505 } |
| 512 | 506 |
| 513 } // namespace blink | 507 } // namespace blink |
| OLD | NEW |