Chromium Code Reviews| Index: cc/input/main_thread_scrolling_reason.h |
| diff --git a/cc/input/main_thread_scrolling_reason.h b/cc/input/main_thread_scrolling_reason.h |
| index 191318b60a336982efaff0e489ffcd56245033ce..85a8ea117b7f1df92bf94ec792e3993599026bc6 100644 |
| --- a/cc/input/main_thread_scrolling_reason.h |
| +++ b/cc/input/main_thread_scrolling_reason.h |
| @@ -32,6 +32,8 @@ struct MainThreadScrollingReason { |
| kHandlingScrollFromMainThread = 1 << 13, |
| kCustomScrollbarScrolling = 1 << 15, |
| kHasOpacity = 1 << 16, |
| + kHasTransform = 1 << 17, |
| + kBackgroundNotOpaqueInRect = 1 << 18, |
| // Transient scrolling reasons. These are computed for each scroll begin. |
| kNonFastScrollableRegion = 1 << 5, |
| @@ -43,7 +45,7 @@ struct MainThreadScrollingReason { |
| kPageBasedScrolling = 1 << 12, |
| // The number of flags in this struct (excluding itself). |
| - kMainThreadScrollingReasonCount = 18, |
| + kMainThreadScrollingReasonCount = 20, |
|
ajuma
2017/01/03 22:31:05
Should this be 19? (since the flag with the larges
yigu
2017/01/03 22:44:15
It should be 19 + 1. I read about the reason somew
yigu
2017/01/03 23:09:14
See https://codereview.chromium.org/2360113003 for
ajuma
2017/01/04 00:28:10
Thanks for looking into this.
|
| }; |
| // Returns true if the given MainThreadScrollingReason can be set by the main |
| @@ -53,7 +55,8 @@ struct MainThreadScrollingReason { |
| kNotScrollingOnMain | kHasBackgroundAttachmentFixedObjects | |
| kHasNonLayerViewportConstrainedObjects | kThreadedScrollingDisabled | |
| kScrollbarScrolling | kPageOverlay | kHandlingScrollFromMainThread | |
| - kCustomScrollbarScrolling | kHasOpacity; |
| + kCustomScrollbarScrolling | kHasOpacity | kHasTransform | |
| + kBackgroundNotOpaqueInRect; |
| return (reasons & reasons_set_by_main_thread) == reasons; |
| } |
| @@ -100,6 +103,10 @@ struct MainThreadScrollingReason { |
| tracedValue->AppendString("Custom scrollbar scrolling"); |
| if (reasons & MainThreadScrollingReason::kHasOpacity) |
| tracedValue->AppendString("Has opacity"); |
| + if (reasons & MainThreadScrollingReason::kHasTransform) |
| + tracedValue->AppendString("Has transform"); |
| + if (reasons & MainThreadScrollingReason::kBackgroundNotOpaqueInRect) |
| + tracedValue->AppendString("Background is not opaque in rect"); |
| // Transient scrolling reasons. |
| if (reasons & MainThreadScrollingReason::kNonFastScrollableRegion) |