blob: 5c9439d7f7838a16b6f84ef6ffa9f0b9199266be [file] [log] [blame]
// Copyright 2019 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 CC_TREES_PAINT_HOLDING_COMMIT_TRIGGER_H_
#define CC_TREES_PAINT_HOLDING_COMMIT_TRIGGER_H_
#include "cc/trees/paint_holding_reason.h"
namespace cc {
enum class PaintHoldingCommitTrigger {
// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
// The Paint Holding flag is not enabled
kFeatureDisabled = 0,
// Paint Holding is not allowed due to different origin or wrong protocol
kDisallowed = 1,
// The commit was triggered by first contentful paint (FCP)
kFirstContentfulPaint = 2,
// The commit was triggered by a timeout waiting for FCP
kTimeoutFCP = 3,
// The timeout was never set, probably due to non-main frame
kNotDeferred = 4,
// The commit was triggered by a document transition start
kDocumentTransition = 5,
// The commit was triggered by a timeout waiting for document transition start
kTimeoutDocumentTransition = 6,
// Required for UMA enum
kMaxValue = kTimeoutDocumentTransition
};
PaintHoldingCommitTrigger ReasonToTimeoutTrigger(PaintHoldingReason reason);
} // namespace cc
#endif // CC_TREES_PAINT_HOLDING_COMMIT_TRIGGER_H_