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

Side by Side Diff: Source/core/editing/StyledMarkupAccumulator.h

Issue 1165833002: Refactoring: Move StyledMarkupSerializer::m_reversedPrecedingMarkup to StyledMarkupAccumulator (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebase Created 5 years, 6 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 | « no previous file | Source/core/editing/StyledMarkupAccumulator.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 28 matching lines...) Expand all
39 class Document; 39 class Document;
40 class StylePropertySet; 40 class StylePropertySet;
41 class Text; 41 class Text;
42 42
43 class StyledMarkupAccumulator final { 43 class StyledMarkupAccumulator final {
44 WTF_MAKE_NONCOPYABLE(StyledMarkupAccumulator); 44 WTF_MAKE_NONCOPYABLE(StyledMarkupAccumulator);
45 STACK_ALLOCATED(); 45 STACK_ALLOCATED();
46 public: 46 public:
47 enum RangeFullySelectsNode { DoesFullySelectNode, DoesNotFullySelectNode }; 47 enum RangeFullySelectsNode { DoesFullySelectNode, DoesNotFullySelectNode };
48 48
49 StyledMarkupAccumulator(EAbsoluteURLs, const TextOffset& start, const TextOf fset& end, const PassRefPtrWillBeRawPtr<Document>, EAnnotateForInterchange, Node *); 49 StyledMarkupAccumulator(EAbsoluteURLs, const TextOffset& start, const TextOf fset& end, const PassRefPtrWillBeRawPtr<Document>, EAnnotateForInterchange, Node *, ConvertBlocksToInlines);
50
51 bool convertBlocksToInlines() const { return m_convertBlocksToInlines == Con vertBlocksToInlines::Convert; }
50 52
51 void appendString(const String&); 53 void appendString(const String&);
52 void appendStartTag(Node&); 54 void appendStartTag(Node&);
53 void appendEndTag(const Element&); 55 void appendEndTag(const Element&);
54 void appendStartMarkup(StringBuilder&, Node&);
55 void appendEndMarkup(StringBuilder&, const Element&);
56
57 void appendElement(StringBuilder&, Element&);
58 void appendElement(StringBuilder&, Element&, bool, RangeFullySelectsNode);
59 void appendStyleNodeOpenTag(StringBuilder&, StylePropertySet*, bool isBlock = false);
60 56
61 // TODO(hajimehoshi): These functions are called from the serializer, but 57 // TODO(hajimehoshi): These functions are called from the serializer, but
62 // should not. 58 // should not.
63 Node* highestNodeToBeSerialized() { return m_highestNodeToBeSerialized.get() ; } 59 Node* highestNodeToBeSerialized() { return m_highestNodeToBeSerialized.get() ; }
64 void setHighestNodeToBeSerialized(Node* highestNodeToBeSerialized) { m_highe stNodeToBeSerialized = highestNodeToBeSerialized; } 60 void setHighestNodeToBeSerialized(Node* highestNodeToBeSerialized) { m_highe stNodeToBeSerialized = highestNodeToBeSerialized; }
65 void setWrappingStyle(PassRefPtrWillBeRawPtr<EditingStyle> wrappingStyle) { m_wrappingStyle = wrappingStyle; } 61 void setWrappingStyle(PassRefPtrWillBeRawPtr<EditingStyle> wrappingStyle) { m_wrappingStyle = wrappingStyle; }
66 62
67 size_t length() const { return m_accumulator.length(); } 63 void wrapWithNode(ContainerNode&, RangeFullySelectsNode = DoesFullySelectNod e);
68 void concatenateMarkup(StringBuilder&) const; 64 void wrapWithStyleNode(StylePropertySet*, bool isBlock = false);
65 String takeResults();
69 66
70 private: 67 private:
71 void appendText(StringBuilder&, Text&); 68 void appendText(StringBuilder&, Text&);
72 69
73 String renderedText(Text&); 70 String renderedText(Text&);
74 String stringValueForRange(const Text&); 71 String stringValueForRange(const Text&);
75 72
76 bool shouldApplyWrappingStyle(const Node&) const; 73 bool shouldApplyWrappingStyle(const Node&) const;
77 74
78 bool shouldAnnotate() const; 75 bool shouldAnnotate() const;
79 76
77 void appendElement(StringBuilder&, Element&);
78 void appendElement(StringBuilder&, Element&, bool, RangeFullySelectsNode);
79 void appendStartMarkup(StringBuilder&, Node&);
80 void appendEndMarkup(StringBuilder&, const Element&);
81 void appendStyleNodeOpenTag(StringBuilder&, StylePropertySet*, bool isBlock = false);
82
80 MarkupAccumulator m_accumulator; 83 MarkupAccumulator m_accumulator;
81 const TextOffset m_start; 84 const TextOffset m_start;
82 const TextOffset m_end; 85 const TextOffset m_end;
83 const RefPtrWillBeMember<Document> m_document; 86 const RefPtrWillBeMember<Document> m_document;
84 const EAnnotateForInterchange m_shouldAnnotate; 87 const EAnnotateForInterchange m_shouldAnnotate;
88 const ConvertBlocksToInlines m_convertBlocksToInlines;
85 RawPtrWillBeMember<Node> m_highestNodeToBeSerialized; 89 RawPtrWillBeMember<Node> m_highestNodeToBeSerialized;
86 RefPtrWillBeMember<EditingStyle> m_wrappingStyle; 90 RefPtrWillBeMember<EditingStyle> m_wrappingStyle;
91 Vector<String> m_reversedPrecedingMarkup;
87 }; 92 };
88 93
89 } // namespace blink 94 } // namespace blink
90 95
91 #endif // StyledMarkupAccumulator_h 96 #endif // StyledMarkupAccumulator_h
OLDNEW
« no previous file with comments | « no previous file | Source/core/editing/StyledMarkupAccumulator.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698