CTTE: Use references more for the Document parser
[WebKit-https.git] / Source / WebCore / dom / DocumentParser.cpp
1 /*
2  * Copyright (C) 2010 Google, Inc. All Rights Reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 #include "config.h"
27 #include "DocumentParser.h"
28
29 #include <wtf/Assertions.h>
30
31 namespace WebCore {
32
33 DocumentParser::DocumentParser(Document& document)
34     : m_state(ParsingState)
35     , m_documentWasLoadedAsPartOfNavigation(false)
36     , m_document(&document)
37 {
38 }
39
40 DocumentParser::~DocumentParser()
41 {
42     // Document is expected to call detach() before releasing its ref.
43     // This ASSERT is slightly awkward for parsers with a fragment case
44     // as there is no Document to release the ref.
45     ASSERT(!m_document);
46 }
47
48 void DocumentParser::startParsing()
49 {
50     m_state = ParsingState;
51 }
52
53 void DocumentParser::prepareToStopParsing()
54 {
55     ASSERT(m_state == ParsingState);
56     m_state = StoppingState;
57 }
58
59 void DocumentParser::stopParsing()
60 {
61     m_state = StoppedState;
62 }
63
64 void DocumentParser::detach()
65 {
66     m_state = DetachedState;
67     m_document = 0;
68 }
69
70 void DocumentParser::suspendScheduledTasks()
71 {
72 }
73
74 void DocumentParser::resumeScheduledTasks()
75 {
76 }
77
78 } // namespace WebCore