Index: Source/core/rendering/RenderNamedFlowThread.cpp |
diff --git a/Source/core/rendering/RenderNamedFlowThread.cpp b/Source/core/rendering/RenderNamedFlowThread.cpp |
index f83f46c78a403812d6227a5676ff8ffd2cbd0b6e..f9b34f54d7b876398c1a6570d30932ef32687ac2 100644 |
--- a/Source/core/rendering/RenderNamedFlowThread.cpp |
+++ b/Source/core/rendering/RenderNamedFlowThread.cpp |
@@ -55,6 +55,7 @@ RenderNamedFlowThread* RenderNamedFlowThread::createAnonymous(Document* document |
RenderNamedFlowThread::RenderNamedFlowThread(PassRefPtr<NamedFlow> namedFlow) |
: m_namedFlow(namedFlow) |
, m_regionLayoutUpdateEventTimer(this, &RenderNamedFlowThread::regionLayoutUpdateEventTimerFired) |
+ , m_regionOversetChangeEventTimer(this, &RenderNamedFlowThread::regionOversetChangeEventTimerFired) |
{ |
} |
@@ -425,6 +426,14 @@ void RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent() |
m_regionLayoutUpdateEventTimer.startOneShot(0); |
} |
+void RenderNamedFlowThread::dispatchRegionOversetChangeEvent() |
+{ |
+ RenderFlowThread::dispatchRegionOversetChangeEvent(); |
+ |
+ if (!m_regionOversetChangeEventTimer.isActive() && m_namedFlow->hasEventListeners()) |
+ m_regionOversetChangeEventTimer.startOneShot(0); |
+} |
+ |
void RenderNamedFlowThread::regionLayoutUpdateEventTimerFired(Timer<RenderNamedFlowThread>*) |
{ |
ASSERT(m_namedFlow); |
@@ -432,6 +441,13 @@ void RenderNamedFlowThread::regionLayoutUpdateEventTimerFired(Timer<RenderNamedF |
m_namedFlow->dispatchRegionLayoutUpdateEvent(); |
} |
+void RenderNamedFlowThread::regionOversetChangeEventTimerFired(Timer<RenderNamedFlowThread>*) |
+{ |
+ ASSERT(m_namedFlow); |
+ |
+ m_namedFlow->dispatchRegionOversetChangeEvent(); |
+} |
+ |
void RenderNamedFlowThread::setMarkForDestruction() |
{ |
if (m_namedFlow->flowState() == NamedFlow::FlowStateNull) |