1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "config.h"
6#include "core/dom/IncrementLoadEventDelayCount.h"
7
8#include "core/dom/Document.h"
9
10namespace blink {
11
12PassOwnPtr<IncrementLoadEventDelayCount> IncrementLoadEventDelayCount::create(Document& document)
13{
14    return adoptPtr(new IncrementLoadEventDelayCount(document));
15}
16
17IncrementLoadEventDelayCount::IncrementLoadEventDelayCount(Document& document)
18    : m_document(&document)
19{
20    document.incrementLoadEventDelayCount();
21}
22
23IncrementLoadEventDelayCount::~IncrementLoadEventDelayCount()
24{
25    m_document->decrementLoadEventDelayCount();
26}
27
28void IncrementLoadEventDelayCount::documentChanged(Document& newDocument)
29{
30    newDocument.incrementLoadEventDelayCount();
31    m_document->decrementLoadEventDelayCount();
32    m_document = &newDocument;
33}
34}
35