summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortdresser <tdresser@chromium.org>2016-01-27 11:37:59 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-27 19:39:01 +0000
commit6a65e094c8932e539c583875c7c383ad0c27303e (patch)
treec3c5472745bb23ec016014f9599a7e387959768b
parent4e94624be1e68b4e40db44da883dcf28c130d71d (diff)
downloadchromium_src-6a65e094c8932e539c583875c7c383ad0c27303e.zip
chromium_src-6a65e094c8932e539c583875c7c383ad0c27303e.tar.gz
chromium_src-6a65e094c8932e539c583875c7c383ad0c27303e.tar.bz2
Fix broken MainThreadScrollingReason DCHECK.
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1640373002 Cr-Commit-Position: refs/heads/master@{#371843}
-rw-r--r--cc/blink/web_layer_impl.cc2
-rw-r--r--cc/input/main_thread_scrolling_reason.h4
-rw-r--r--cc/trees/layer_tree_host_impl.cc8
3 files changed, 8 insertions, 6 deletions
diff --git a/cc/blink/web_layer_impl.cc b/cc/blink/web_layer_impl.cc
index ce26503..cd10338 100644
--- a/cc/blink/web_layer_impl.cc
+++ b/cc/blink/web_layer_impl.cc
@@ -344,7 +344,7 @@ void WebLayerImpl::addMainThreadScrollingReasons(
// TODO(tdresser): This is comparing less than a bit flag but that's not valid
// if there is more than one reason given in |main_thread_scrolling_reasons|.
DCHECK_LE(main_thread_scrolling_reasons,
- cc::MainThreadScrollingReason::kMaxNonTransientScrollingReason);
+ cc::MainThreadScrollingReason::kMaxNonTransientScrollingReasons);
layer_->AddMainThreadScrollingReasons(main_thread_scrolling_reasons);
}
diff --git a/cc/input/main_thread_scrolling_reason.h b/cc/input/main_thread_scrolling_reason.h
index 4de70f7..50514e6 100644
--- a/cc/input/main_thread_scrolling_reason.h
+++ b/cc/input/main_thread_scrolling_reason.h
@@ -16,7 +16,9 @@ struct MainThreadScrollingReason {
enum : uint32_t { kThreadedScrollingDisabled = 1 << 2 };
enum : uint32_t { kScrollbarScrolling = 1 << 3 };
enum : uint32_t { kPageOverlay = 1 << 4 };
- enum : uint32_t { kMaxNonTransientScrollingReason = kPageOverlay };
+ // The maximum value reachable as a combination of the non-transient scrolling
+ // reasons.
+ enum : uint32_t { kMaxNonTransientScrollingReasons = (1 << 5) - 1 };
// Transient scrolling reasons. These are computed for each scroll begin.
enum : uint32_t { kNonFastScrollableRegion = 1 << 5 };
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
index 52be560..3ebc475 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -2500,10 +2500,10 @@ LayerImpl* LayerTreeHostImpl::FindScrollLayerForDeviceViewportPoint(
if (status.thread == SCROLL_ON_MAIN_THREAD) {
if (layer_impl->should_scroll_on_main_thread()) {
DCHECK_LE(status.main_thread_scrolling_reasons,
- MainThreadScrollingReason::kMaxNonTransientScrollingReason);
+ MainThreadScrollingReason::kMaxNonTransientScrollingReasons);
} else {
DCHECK_GT(status.main_thread_scrolling_reasons,
- MainThreadScrollingReason::kMaxNonTransientScrollingReason);
+ MainThreadScrollingReason::kMaxNonTransientScrollingReasons);
}
*scroll_on_main_thread = true;
@@ -2522,10 +2522,10 @@ LayerImpl* LayerTreeHostImpl::FindScrollLayerForDeviceViewportPoint(
if (status.thread == SCROLL_ON_MAIN_THREAD) {
if (layer_impl->should_scroll_on_main_thread()) {
DCHECK_LE(status.main_thread_scrolling_reasons,
- MainThreadScrollingReason::kMaxNonTransientScrollingReason);
+ MainThreadScrollingReason::kMaxNonTransientScrollingReasons);
} else {
DCHECK_GT(status.main_thread_scrolling_reasons,
- MainThreadScrollingReason::kMaxNonTransientScrollingReason);
+ MainThreadScrollingReason::kMaxNonTransientScrollingReasons);
}
*scroll_on_main_thread = true;