| // 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_ |