OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Google, Inc. All Rights Reserved. | 2 * Copyright (C) 2010 Google, Inc. All Rights Reserved. |
3 * Copyright (C) 2011 Apple Inc. All rights reserved. | 3 * Copyright (C) 2011 Apple Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 22 matching lines...) Expand all Loading... |
33 #include "core/html/parser/HTMLFormattingElementList.h" | 33 #include "core/html/parser/HTMLFormattingElementList.h" |
34 #include "wtf/Noncopyable.h" | 34 #include "wtf/Noncopyable.h" |
35 #include "wtf/PassRefPtr.h" | 35 #include "wtf/PassRefPtr.h" |
36 #include "wtf/RefPtr.h" | 36 #include "wtf/RefPtr.h" |
37 #include "wtf/Vector.h" | 37 #include "wtf/Vector.h" |
38 #include "wtf/text/StringBuilder.h" | 38 #include "wtf/text/StringBuilder.h" |
39 | 39 |
40 namespace blink { | 40 namespace blink { |
41 | 41 |
42 struct HTMLConstructionSiteTask { | 42 struct HTMLConstructionSiteTask { |
43 ALLOW_ONLY_INLINE_ALLOCATION(); | 43 DISALLOW_NEW_EXCEPT_PLACEMENT_NEW(); |
44 public: | 44 public: |
45 enum Operation { | 45 enum Operation { |
46 Insert, | 46 Insert, |
47 InsertText, // Handles possible merging of text nodes. | 47 InsertText, // Handles possible merging of text nodes. |
48 InsertAlreadyParsedChild, // Insert w/o calling begin/end parsing. | 48 InsertAlreadyParsedChild, // Insert w/o calling begin/end parsing. |
49 Reparent, | 49 Reparent, |
50 TakeAllChildren, | 50 TakeAllChildren, |
51 }; | 51 }; |
52 | 52 |
53 explicit HTMLConstructionSiteTask(Operation op) | 53 explicit HTMLConstructionSiteTask(Operation op) |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 FlushIfAtTextLimit, | 100 FlushIfAtTextLimit, |
101 }; | 101 }; |
102 | 102 |
103 class AtomicHTMLToken; | 103 class AtomicHTMLToken; |
104 class Document; | 104 class Document; |
105 class Element; | 105 class Element; |
106 class HTMLFormElement; | 106 class HTMLFormElement; |
107 | 107 |
108 class HTMLConstructionSite final { | 108 class HTMLConstructionSite final { |
109 WTF_MAKE_NONCOPYABLE(HTMLConstructionSite); | 109 WTF_MAKE_NONCOPYABLE(HTMLConstructionSite); |
110 DISALLOW_ALLOCATION(); | 110 DISALLOW_NEW(); |
111 public: | 111 public: |
112 HTMLConstructionSite(Document*, ParserContentPolicy); | 112 HTMLConstructionSite(Document*, ParserContentPolicy); |
113 HTMLConstructionSite(DocumentFragment*, ParserContentPolicy); | 113 HTMLConstructionSite(DocumentFragment*, ParserContentPolicy); |
114 ~HTMLConstructionSite(); | 114 ~HTMLConstructionSite(); |
115 DECLARE_TRACE(); | 115 DECLARE_TRACE(); |
116 | 116 |
117 void detach(); | 117 void detach(); |
118 | 118 |
119 // executeQueuedTasks empties the queue but does not flush pending text. | 119 // executeQueuedTasks empties the queue but does not flush pending text. |
120 // NOTE: Possible reentrancy via JavaScript execution. | 120 // NOTE: Possible reentrancy via JavaScript execution. |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
251 RawPtrWillBeMember<ContainerNode> m_attachmentRoot; | 251 RawPtrWillBeMember<ContainerNode> m_attachmentRoot; |
252 | 252 |
253 RefPtrWillBeMember<HTMLStackItem> m_head; | 253 RefPtrWillBeMember<HTMLStackItem> m_head; |
254 RefPtrWillBeMember<HTMLFormElement> m_form; | 254 RefPtrWillBeMember<HTMLFormElement> m_form; |
255 mutable HTMLElementStack m_openElements; | 255 mutable HTMLElementStack m_openElements; |
256 mutable HTMLFormattingElementList m_activeFormattingElements; | 256 mutable HTMLFormattingElementList m_activeFormattingElements; |
257 | 257 |
258 TaskQueue m_taskQueue; | 258 TaskQueue m_taskQueue; |
259 | 259 |
260 class PendingText final { | 260 class PendingText final { |
261 DISALLOW_ALLOCATION(); | 261 DISALLOW_NEW(); |
262 public: | 262 public: |
263 PendingText() | 263 PendingText() |
264 : whitespaceMode(WhitespaceUnknown) | 264 : whitespaceMode(WhitespaceUnknown) |
265 { | 265 { |
266 } | 266 } |
267 | 267 |
268 void append(PassRefPtrWillBeRawPtr<ContainerNode> newParent, PassRefPtrW
illBeRawPtr<Node> newNextChild, const String& newString, WhitespaceMode newWhite
spaceMode) | 268 void append(PassRefPtrWillBeRawPtr<ContainerNode> newParent, PassRefPtrW
illBeRawPtr<Node> newNextChild, const String& newString, WhitespaceMode newWhite
spaceMode) |
269 { | 269 { |
270 ASSERT(!parent || parent == newParent); | 270 ASSERT(!parent || parent == newParent); |
271 parent = newParent; | 271 parent = newParent; |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 // "whenever a node would be inserted into the current node, it must instead | 316 // "whenever a node would be inserted into the current node, it must instead |
317 // be foster parented." This flag tracks whether we're in that state. | 317 // be foster parented." This flag tracks whether we're in that state. |
318 bool m_redirectAttachToFosterParent; | 318 bool m_redirectAttachToFosterParent; |
319 | 319 |
320 bool m_inQuirksMode; | 320 bool m_inQuirksMode; |
321 }; | 321 }; |
322 | 322 |
323 } // namespace blink | 323 } // namespace blink |
324 | 324 |
325 #endif | 325 #endif |
OLD | NEW |