// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef SKY_ENGINE_CORE_DOM_INCREMENTLOADEVENTDELAYCOUNT_H_ #define SKY_ENGINE_CORE_DOM_INCREMENTLOADEVENTDELAYCOUNT_H_ #include "sky/engine/wtf/Noncopyable.h" #include "sky/engine/wtf/PassOwnPtr.h" #include "sky/engine/wtf/RefPtr.h" namespace blink { class Document; // A helper class that will increment a document's loadEventDelayCount on // contruction and decrement it on destruction (semantics similar to RefPtr). class IncrementLoadEventDelayCount { WTF_MAKE_NONCOPYABLE(IncrementLoadEventDelayCount); public: static PassOwnPtr create(Document&); ~IncrementLoadEventDelayCount(); // Increments the new document's count and decrements the old count. void documentChanged(Document& newDocument); private: IncrementLoadEventDelayCount(Document&); RefPtr m_document; }; } #endif // SKY_ENGINE_CORE_DOM_INCREMENTLOADEVENTDELAYCOUNT_H_