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 #ifndef IncrementLoadEventDelayCount_h 6 #define IncrementLoadEventDelayCount_h 7 8 #include "platform/heap/Handle.h" 9 #include "wtf/Noncopyable.h" 10 #include "wtf/RefPtr.h" 11 12 namespace WebCore { 13 14 class Document; 15 16 // A helper class that will increment a document's loadEventDelayCount on 17 // contruction and decrement it on destruction (semantics similar to RefPtr). 18 class IncrementLoadEventDelayCount { 19 WTF_MAKE_NONCOPYABLE(IncrementLoadEventDelayCount); 20 21 public: 22 IncrementLoadEventDelayCount(Document&); 23 ~IncrementLoadEventDelayCount(); 24 25 // Increments the new document's count and decrements the old count. 26 void documentChanged(Document& newDocument); 27 28 private: 29 RefPtrWillBePersistent<Document> m_document; 30 }; 31 } 32 33 #endif 34