OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2008, 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2008, 2009 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 15 matching lines...) Expand all Loading... |
26 #define HTMLViewSourceDocument_h | 26 #define HTMLViewSourceDocument_h |
27 | 27 |
28 #include "core/html/HTMLDocument.h" | 28 #include "core/html/HTMLDocument.h" |
29 | 29 |
30 namespace blink { | 30 namespace blink { |
31 | 31 |
32 class HTMLTableCellElement; | 32 class HTMLTableCellElement; |
33 class HTMLTableSectionElement; | 33 class HTMLTableSectionElement; |
34 class HTMLToken; | 34 class HTMLToken; |
35 | 35 |
36 class HTMLViewSourceDocument FINAL : public HTMLDocument { | 36 class HTMLViewSourceDocument final : public HTMLDocument { |
37 public: | 37 public: |
38 enum SourceAnnotation { | 38 enum SourceAnnotation { |
39 AnnotateSourceAsSafe, | 39 AnnotateSourceAsSafe, |
40 AnnotateSourceAsXSS | 40 AnnotateSourceAsXSS |
41 }; | 41 }; |
42 | 42 |
43 static PassRefPtrWillBeRawPtr<HTMLViewSourceDocument> create(const DocumentI
nit& initializer, const String& mimeType) | 43 static PassRefPtrWillBeRawPtr<HTMLViewSourceDocument> create(const DocumentI
nit& initializer, const String& mimeType) |
44 { | 44 { |
45 return adoptRefWillBeNoop(new HTMLViewSourceDocument(initializer, mimeTy
pe)); | 45 return adoptRefWillBeNoop(new HTMLViewSourceDocument(initializer, mimeTy
pe)); |
46 } | 46 } |
47 | 47 |
48 void addSource(const String&, HTMLToken&, SourceAnnotation); | 48 void addSource(const String&, HTMLToken&, SourceAnnotation); |
49 | 49 |
50 virtual void trace(Visitor*) OVERRIDE; | 50 virtual void trace(Visitor*) override; |
51 | 51 |
52 private: | 52 private: |
53 HTMLViewSourceDocument(const DocumentInit&, const String& mimeType); | 53 HTMLViewSourceDocument(const DocumentInit&, const String& mimeType); |
54 | 54 |
55 virtual PassRefPtrWillBeRawPtr<DocumentParser> createParser() OVERRIDE; | 55 virtual PassRefPtrWillBeRawPtr<DocumentParser> createParser() override; |
56 | 56 |
57 void processDoctypeToken(const String& source, HTMLToken&); | 57 void processDoctypeToken(const String& source, HTMLToken&); |
58 void processEndOfFileToken(const String& source, HTMLToken&); | 58 void processEndOfFileToken(const String& source, HTMLToken&); |
59 void processTagToken(const String& source, HTMLToken&, SourceAnnotation); | 59 void processTagToken(const String& source, HTMLToken&, SourceAnnotation); |
60 void processCommentToken(const String& source, HTMLToken&); | 60 void processCommentToken(const String& source, HTMLToken&); |
61 void processCharacterToken(const String& source, HTMLToken&, SourceAnnotatio
n); | 61 void processCharacterToken(const String& source, HTMLToken&, SourceAnnotatio
n); |
62 | 62 |
63 void createContainingTable(); | 63 void createContainingTable(); |
64 PassRefPtrWillBeRawPtr<Element> addSpanWithClassName(const AtomicString&); | 64 PassRefPtrWillBeRawPtr<Element> addSpanWithClassName(const AtomicString&); |
65 void addLine(const AtomicString& className); | 65 void addLine(const AtomicString& className); |
66 void finishLine(); | 66 void finishLine(); |
67 void addText(const String& text, const AtomicString& className, SourceAnnota
tion = AnnotateSourceAsSafe); | 67 void addText(const String& text, const AtomicString& className, SourceAnnota
tion = AnnotateSourceAsSafe); |
68 int addRange(const String& source, int start, int end, const AtomicString& c
lassName, bool isLink = false, bool isAnchor = false, const AtomicString& link =
nullAtom); | 68 int addRange(const String& source, int start, int end, const AtomicString& c
lassName, bool isLink = false, bool isAnchor = false, const AtomicString& link =
nullAtom); |
69 void maybeAddSpanForAnnotation(SourceAnnotation); | 69 void maybeAddSpanForAnnotation(SourceAnnotation); |
70 | 70 |
71 PassRefPtrWillBeRawPtr<Element> addLink(const AtomicString& url, bool isAnch
or); | 71 PassRefPtrWillBeRawPtr<Element> addLink(const AtomicString& url, bool isAnch
or); |
72 PassRefPtrWillBeRawPtr<Element> addBase(const AtomicString& href); | 72 PassRefPtrWillBeRawPtr<Element> addBase(const AtomicString& href); |
73 | 73 |
74 String m_type; | 74 String m_type; |
75 RefPtrWillBeMember<Element> m_current; | 75 RefPtrWillBeMember<Element> m_current; |
76 RefPtrWillBeMember<HTMLTableSectionElement> m_tbody; | 76 RefPtrWillBeMember<HTMLTableSectionElement> m_tbody; |
77 RefPtrWillBeMember<HTMLTableCellElement> m_td; | 77 RefPtrWillBeMember<HTMLTableCellElement> m_td; |
78 int m_lineNumber; | 78 int m_lineNumber; |
79 }; | 79 }; |
80 | 80 |
81 } | 81 } |
82 | 82 |
83 #endif // HTMLViewSourceDocument_h | 83 #endif // HTMLViewSourceDocument_h |
OLD | NEW |