diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-02-24 16:36:50 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-02-24 16:36:50 +0100 |
commit | ad0d549d4cc13433f77c1ac8f0ab379c83d93f28 (patch) | |
tree | b34b0daceb7c8e7fdde4b4ec43650ab7caadb0a9 /Source/WebCore/dom/ActiveDOMObject.cpp | |
parent | 03e12282df9aa1e1fb05a8b90f1cfc2e08764cec (diff) | |
download | qtwebkit-ad0d549d4cc13433f77c1ac8f0ab379c83d93f28.tar.gz |
Imported WebKit commit bb52bf3c0119e8a128cd93afe5572413a8617de9 (http://svn.webkit.org/repository/webkit/trunk@108790)
Diffstat (limited to 'Source/WebCore/dom/ActiveDOMObject.cpp')
-rw-r--r-- | Source/WebCore/dom/ActiveDOMObject.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Source/WebCore/dom/ActiveDOMObject.cpp b/Source/WebCore/dom/ActiveDOMObject.cpp index 39a4c4c6b..bb2ec2209 100644 --- a/Source/WebCore/dom/ActiveDOMObject.cpp +++ b/Source/WebCore/dom/ActiveDOMObject.cpp @@ -60,6 +60,9 @@ void ContextDestructionObserver::contextDestroyed() ActiveDOMObject::ActiveDOMObject(ScriptExecutionContext* scriptExecutionContext, void* upcastPointer) : ContextDestructionObserver(scriptExecutionContext) , m_pendingActivityCount(0) +#if !ASSERT_DISABLED + , m_suspendIfNeededCalled(false) +#endif { if (!m_scriptExecutionContext) return; @@ -73,10 +76,23 @@ ActiveDOMObject::~ActiveDOMObject() if (!m_scriptExecutionContext) return; + ASSERT(m_suspendIfNeededCalled); ASSERT(m_scriptExecutionContext->isContextThread()); m_scriptExecutionContext->willDestroyActiveDOMObject(this); } +void ActiveDOMObject::suspendIfNeeded() +{ +#if !ASSERT_DISABLED + ASSERT(!m_suspendIfNeededCalled); + m_suspendIfNeededCalled = true; +#endif + if (!m_scriptExecutionContext) + return; + + m_scriptExecutionContext->suspendActiveDOMObjectIfNeeded(this); +} + bool ActiveDOMObject::hasPendingActivity() const { return m_pendingActivityCount; |