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

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

Issue 1188693005: Introduce StyledMarkupTraverser to StyledMarkupSerializer (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: yosin's review 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
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 26 matching lines...) Expand all
37 namespace blink { 37 namespace blink {
38 38
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 StyledMarkupAccumulator(EAbsoluteURLs, const TextOffset& start, const TextOf fset& end, const PassRefPtrWillBeRawPtr<Document>, EAnnotateForInterchange); 47 StyledMarkupAccumulator(EAbsoluteURLs, const TextOffset& start, const TextOf fset& end, const PassRefPtrWillBeRawPtr<Document>, EAnnotateForInterchange, Conv ertBlocksToInlines);
48 48
49 void appendEndTag(const Element&); 49 void appendEndTag(const Element&);
50 void appendInterchangeNewline(); 50 void appendInterchangeNewline();
51 51
52 void appendText(Text&); 52 void appendText(Text&);
53 void appendTextWithInlineStyle(Text&, PassRefPtrWillBeRawPtr<EditingStyle>); 53 void appendTextWithInlineStyle(Text&, PassRefPtrWillBeRawPtr<EditingStyle>);
54 54
55 void wrapWithStyleNode(StylePropertySet*); 55 void wrapWithStyleNode(StylePropertySet*);
56 String takeResults(); 56 String takeResults();
57 57
58 void pushMarkup(const String&); 58 void pushMarkup(const String&);
59 59
60 void appendElement(const Element&); 60 void appendElement(const Element&);
61 void appendElement(StringBuilder&, const Element&); 61 void appendElement(StringBuilder&, const Element&);
62 void appendElementWithInlineStyle(const Element&, PassRefPtrWillBeRawPtr<Edi tingStyle>); 62 void appendElementWithInlineStyle(const Element&, PassRefPtrWillBeRawPtr<Edi tingStyle>);
63 void appendElementWithInlineStyle(StringBuilder&, const Element&, PassRefPtr WillBeRawPtr<EditingStyle>); 63 void appendElementWithInlineStyle(StringBuilder&, const Element&, PassRefPtr WillBeRawPtr<EditingStyle>);
64 void appendStartMarkup(Node&); 64 void appendStartMarkup(Node&);
65 65
66 bool shouldAnnotate() const;
67 bool convertBlocksToInlines() const { return m_convertBlocksToInlines == Con vertBlocksToInlines::Convert; }
68
66 private: 69 private:
67 String renderedText(Text&); 70 String renderedText(Text&);
68 String stringValueForRange(const Text&); 71 String stringValueForRange(const Text&);
69 bool shouldAnnotate() const;
70 72
71 void appendEndMarkup(StringBuilder&, const Element&); 73 void appendEndMarkup(StringBuilder&, const Element&);
72 74
73 MarkupFormatter m_formatter; 75 MarkupFormatter m_formatter;
74 const TextOffset m_start; 76 const TextOffset m_start;
75 const TextOffset m_end; 77 const TextOffset m_end;
76 const RefPtrWillBeMember<Document> m_document; 78 const RefPtrWillBeMember<Document> m_document;
77 const EAnnotateForInterchange m_shouldAnnotate; 79 const EAnnotateForInterchange m_shouldAnnotate;
78 StringBuilder m_result; 80 StringBuilder m_result;
79 Vector<String> m_reversedPrecedingMarkup; 81 Vector<String> m_reversedPrecedingMarkup;
82 const ConvertBlocksToInlines m_convertBlocksToInlines;
80 }; 83 };
81 84
82 } // namespace blink 85 } // namespace blink
83 86
84 #endif // StyledMarkupAccumulator_h 87 #endif // StyledMarkupAccumulator_h
OLDNEW
« no previous file with comments | « no previous file | Source/core/editing/StyledMarkupAccumulator.cpp » ('j') | Source/core/editing/StyledMarkupSerializer.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698