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 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
306 // re-enters the parser. | 306 // re-enters the parser. |
307 TaskQueue queue; | 307 TaskQueue queue; |
308 queue.swap(m_taskQueue); | 308 queue.swap(m_taskQueue); |
309 | 309 |
310 for (size_t i = 0; i < size; ++i) | 310 for (size_t i = 0; i < size; ++i) |
311 executeTask(queue[i]); | 311 executeTask(queue[i]); |
312 | 312 |
313 // We might be detached now. | 313 // We might be detached now. |
314 } | 314 } |
315 | 315 |
316 HTMLConstructionSite::HTMLConstructionSite(Document* document, ParserContentPoli
cy parserContentPolicy) | 316 HTMLConstructionSite::HTMLConstructionSite(Document& document, ParserContentPoli
cy parserContentPolicy) |
317 : m_document(document) | 317 : m_document(&document) |
318 , m_attachmentRoot(document) | 318 , m_attachmentRoot(document) |
319 , m_parserContentPolicy(parserContentPolicy) | 319 , m_parserContentPolicy(parserContentPolicy) |
320 , m_isParsingFragment(false) | 320 , m_isParsingFragment(false) |
321 , m_redirectAttachToFosterParent(false) | 321 , m_redirectAttachToFosterParent(false) |
322 , m_inQuirksMode(document->inQuirksMode()) | 322 , m_inQuirksMode(document.inQuirksMode()) |
323 { | 323 { |
324 ASSERT(m_document->isHTMLDocument() || m_document->isXHTMLDocument()); | 324 ASSERT(m_document->isHTMLDocument() || m_document->isXHTMLDocument()); |
325 } | 325 } |
326 | 326 |
327 HTMLConstructionSite::HTMLConstructionSite(DocumentFragment* fragment, ParserCon
tentPolicy parserContentPolicy) | 327 void HTMLConstructionSite::initFragmentParsing(DocumentFragment* fragment) |
328 : m_document(&fragment->document()) | |
329 , m_attachmentRoot(fragment) | |
330 , m_parserContentPolicy(parserContentPolicy) | |
331 , m_isParsingFragment(true) | |
332 , m_redirectAttachToFosterParent(false) | |
333 , m_inQuirksMode(fragment->document().inQuirksMode()) | |
334 { | 328 { |
335 ASSERT(m_document->isHTMLDocument() || m_document->isXHTMLDocument()); | 329 DCHECK_EQ(m_document, &fragment->document()); |
| 330 DCHECK_EQ(m_inQuirksMode, fragment->document().inQuirksMode()); |
| 331 DCHECK(!m_isParsingFragment); |
| 332 |
| 333 m_attachmentRoot = fragment; |
| 334 m_isParsingFragment = true; |
336 } | 335 } |
337 | 336 |
338 HTMLConstructionSite::~HTMLConstructionSite() | 337 HTMLConstructionSite::~HTMLConstructionSite() |
339 { | 338 { |
340 // Depending on why we're being destroyed it might be OK | 339 // Depending on why we're being destroyed it might be OK |
341 // to forget queued tasks, but currently we don't expect to. | 340 // to forget queued tasks, but currently we don't expect to. |
342 ASSERT(m_taskQueue.isEmpty()); | 341 ASSERT(m_taskQueue.isEmpty()); |
343 // Currently we assume that text will never be the last token in the | 342 // Currently we assume that text will never be the last token in the |
344 // document and that we'll always queue some additional task to cause it to
flush. | 343 // document and that we'll always queue some additional task to cause it to
flush. |
345 ASSERT(m_pendingText.isEmpty()); | 344 ASSERT(m_pendingText.isEmpty()); |
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
875 queueTask(task); | 874 queueTask(task); |
876 } | 875 } |
877 | 876 |
878 DEFINE_TRACE(HTMLConstructionSite::PendingText) | 877 DEFINE_TRACE(HTMLConstructionSite::PendingText) |
879 { | 878 { |
880 visitor->trace(parent); | 879 visitor->trace(parent); |
881 visitor->trace(nextChild); | 880 visitor->trace(nextChild); |
882 } | 881 } |
883 | 882 |
884 } // namespace blink | 883 } // namespace blink |
OLD | NEW |