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

Side by Side Diff: Source/core/editing/markup.cpp

Issue 121043005: Clean up virtual methods in MarkupAccumulator and subclasses (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 11 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
« no previous file with comments | « Source/core/editing/MarkupAccumulator.h ('k') | Source/core/page/PageSerializer.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) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed. 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed.
3 * Copyright (C) 2008, 2009, 2010, 2011 Google Inc. All rights reserved. 3 * Copyright (C) 2008, 2009, 2010, 2011 Google Inc. All rights reserved.
4 * Copyright (C) 2011 Igalia S.L. 4 * Copyright (C) 2011 Igalia S.L.
5 * Copyright (C) 2011 Motorola Mobility. All rights reserved. 5 * Copyright (C) 2011 Motorola Mobility. All rights reserved.
6 * 6 *
7 * Redistribution and use in source and binary forms, with or without 7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions 8 * modification, are permitted provided that the following conditions
9 * are met: 9 * are met:
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 if (element->isURLAttribute(*attribute) && !attribute->value().isEmp ty()) 105 if (element->isURLAttribute(*attribute) && !attribute->value().isEmp ty())
106 changes.append(AttributeChange(element, attribute->name(), KURL( parsedBaseURL, attribute->value()).string())); 106 changes.append(AttributeChange(element, attribute->name(), KURL( parsedBaseURL, attribute->value()).string()));
107 } 107 }
108 } 108 }
109 109
110 size_t numChanges = changes.size(); 110 size_t numChanges = changes.size();
111 for (size_t i = 0; i < numChanges; ++i) 111 for (size_t i = 0; i < numChanges; ++i)
112 changes[i].apply(); 112 changes[i].apply();
113 } 113 }
114 114
115 class StyledMarkupAccumulator : public MarkupAccumulator { 115 class StyledMarkupAccumulator FINAL : public MarkupAccumulator {
116 public: 116 public:
117 enum RangeFullySelectsNode { DoesFullySelectNode, DoesNotFullySelectNode }; 117 enum RangeFullySelectsNode { DoesFullySelectNode, DoesNotFullySelectNode };
118 118
119 StyledMarkupAccumulator(Vector<Node*>* nodes, EAbsoluteURLs, EAnnotateForInt erchange, const Range*, Node* highestNodeToBeSerialized = 0); 119 StyledMarkupAccumulator(Vector<Node*>* nodes, EAbsoluteURLs, EAnnotateForInt erchange, const Range*, Node* highestNodeToBeSerialized = 0);
120 Node* serializeNodes(Node* startNode, Node* pastEnd); 120 Node* serializeNodes(Node* startNode, Node* pastEnd);
121 virtual void appendString(const String& s) { return MarkupAccumulator::appen dString(s); } 121 void appendString(const String& s) { return MarkupAccumulator::appendString( s); }
adamk 2014/01/07 19:10:47 Why is this needed at all?
Inactive 2014/01/07 19:42:06 To make it public. It is protected in the base cla
122 void wrapWithNode(Node*, bool convertBlocksToInlines = false, RangeFullySele ctsNode = DoesFullySelectNode); 122 void wrapWithNode(Node*, bool convertBlocksToInlines = false, RangeFullySele ctsNode = DoesFullySelectNode);
123 void wrapWithStyleNode(StylePropertySet*, Document*, bool isBlock = false); 123 void wrapWithStyleNode(StylePropertySet*, Document*, bool isBlock = false);
124 String takeResults(); 124 String takeResults();
125 125
126 private: 126 private:
127 void appendStyleNodeOpenTag(StringBuilder&, StylePropertySet*, Document*, bo ol isBlock = false); 127 void appendStyleNodeOpenTag(StringBuilder&, StylePropertySet*, Document*, bo ol isBlock = false);
128 const String& styleNodeCloseTag(bool isBlock = false); 128 const String& styleNodeCloseTag(bool isBlock = false);
129 virtual void appendText(StringBuilder& out, Text*); 129 virtual void appendText(StringBuilder& out, Text*) OVERRIDE;
130 String renderedText(const Node*, const Range*); 130 String renderedText(const Node*, const Range*);
131 String stringValueForRange(const Node*, const Range*); 131 String stringValueForRange(const Node*, const Range*);
132 void appendElement(StringBuilder& out, Element*, bool addDisplayInline, Rang eFullySelectsNode); 132 void appendElement(StringBuilder& out, Element*, bool addDisplayInline, Rang eFullySelectsNode);
133 void appendElement(StringBuilder& out, Element* element, Namespaces*) { appe ndElement(out, element, false, DoesFullySelectNode); } 133 void appendElement(StringBuilder& out, Element* element, Namespaces*) OVERRI DE { appendElement(out, element, false, DoesFullySelectNode); }
134 134
135 enum NodeTraversalMode { EmitString, DoNotEmitString }; 135 enum NodeTraversalMode { EmitString, DoNotEmitString };
136 Node* traverseNodesForSerialization(Node* startNode, Node* pastEnd, NodeTrav ersalMode); 136 Node* traverseNodesForSerialization(Node* startNode, Node* pastEnd, NodeTrav ersalMode);
137 137
138 bool shouldAnnotate() { return m_shouldAnnotate == AnnotateForInterchange; } 138 bool shouldAnnotate() { return m_shouldAnnotate == AnnotateForInterchange; }
139 bool shouldApplyWrappingStyle(Node* node) const 139 bool shouldApplyWrappingStyle(Node* node) const
140 { 140 {
141 return m_highestNodeToBeSerialized && m_highestNodeToBeSerialized->paren tNode() == node->parentNode() 141 return m_highestNodeToBeSerialized && m_highestNodeToBeSerialized->paren tNode() == node->parentNode()
142 && m_wrappingStyle && m_wrappingStyle->style(); 142 && m_wrappingStyle && m_wrappingStyle->style();
143 } 143 }
(...skipping 936 matching lines...) Expand 10 before | Expand all | Expand 10 after
1080 return; 1080 return;
1081 1081
1082 RefPtr<Text> textNode = toText(node.get()); 1082 RefPtr<Text> textNode = toText(node.get());
1083 RefPtr<Text> textNext = toText(next); 1083 RefPtr<Text> textNext = toText(next);
1084 textNode->appendData(textNext->data()); 1084 textNode->appendData(textNext->data());
1085 if (textNext->parentNode()) // Might have been removed by mutation event. 1085 if (textNext->parentNode()) // Might have been removed by mutation event.
1086 textNext->remove(exceptionState); 1086 textNext->remove(exceptionState);
1087 } 1087 }
1088 1088
1089 } 1089 }
OLDNEW
« no previous file with comments | « Source/core/editing/MarkupAccumulator.h ('k') | Source/core/page/PageSerializer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698