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 8cc83d3eb0110d32030bb2172d2e5155ca91093f..7d54b6b3ce6c3c7e0c60f9bd4c75ddacf2a3e5db 100644 |
| --- a/cc/input/main_thread_scrolling_reason.h |
| +++ b/cc/input/main_thread_scrolling_reason.h |
| @@ -31,6 +31,7 @@ struct MainThreadScrollingReason { |
| // animation running on the main thread or on the compositor thread. |
| kHandlingScrollFromMainThread = 1 << 13, |
| kCustomScrollbarScrolling = 1 << 15, |
| + kHasOpacity = 1 << 16, |
|
bokan
2016/12/13 14:38:56
kHasOpacityAndScrollDependent? A regular scroller
yigu
2016/12/13 20:54:10
It should scroll on main thread due to blending I
bokan
2016/12/14 13:28:58
Ah, of course, if it's transparent and low-DPI, we
bokan
2016/12/15 20:47:45
Hey Yi, I think this still hasn't been addressed.
|
| // Transient scrolling reasons. These are computed for each scroll begin. |
| kNonFastScrollableRegion = 1 << 5, |
| @@ -42,7 +43,7 @@ struct MainThreadScrollingReason { |
| kPageBasedScrolling = 1 << 12, |
| // The number of flags in this struct (excluding itself). |
| - kMainThreadScrollingReasonCount = 17, |
| + kMainThreadScrollingReasonCount = 18, |
| }; |
| // Returns true if the given MainThreadScrollingReason can be set by the main |
| @@ -52,7 +53,7 @@ struct MainThreadScrollingReason { |
| kNotScrollingOnMain | kHasBackgroundAttachmentFixedObjects | |
| kHasNonLayerViewportConstrainedObjects | kThreadedScrollingDisabled | |
| kScrollbarScrolling | kPageOverlay | kHandlingScrollFromMainThread | |
| - kCustomScrollbarScrolling; |
| + kCustomScrollbarScrolling | kHasOpacity; |
| return (reasons & reasons_set_by_main_thread) == reasons; |
| } |
| @@ -97,6 +98,8 @@ struct MainThreadScrollingReason { |
| tracedValue->AppendString("Handling scroll from main thread"); |
| if (reasons & MainThreadScrollingReason::kCustomScrollbarScrolling) |
| tracedValue->AppendString("Custom scrollbar scrolling"); |
| + if (reasons & MainThreadScrollingReason::kHasOpacity) |
| + tracedValue->AppendString("Has opacity"); |
| // Transient scrolling reasons. |
| if (reasons & MainThreadScrollingReason::kNonFastScrollableRegion) |