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.
6 #include "core/frame/DeprecatedScheduleStyleRecalcDuringCompositingUpdate.h"
8 #include "wtf/Assertions.h"
12 DeprecatedScheduleStyleRecalcDuringCompositingUpdate::DeprecatedScheduleStyleRecalcDuringCompositingUpdate(DocumentLifecycle& lifecycle)
13 : m_lifecycle(lifecycle)
14 , m_deprecatedTransition(lifecycle.state(), DocumentLifecycle::StyleRecalcPending)
15 , m_originalState(lifecycle.state())
19 DeprecatedScheduleStyleRecalcDuringCompositingUpdate::~DeprecatedScheduleStyleRecalcDuringCompositingUpdate()
21 if (m_originalState != DocumentLifecycle::InStyleRecalc
22 && m_originalState != DocumentLifecycle::AfterPerformLayout
23 && m_originalState != DocumentLifecycle::InCompositingUpdate)
25 if (m_lifecycle.state() != m_originalState) {
26 ASSERT(m_lifecycle.state() == DocumentLifecycle::StyleRecalcPending);
27 m_lifecycle.advanceTo(m_originalState);