Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(34)

Unified Diff: third_party/WebKit/Source/core/frame/FrameView.cpp

Issue 2816973002: Revert of Move logic of recording main thread scrolling reasons from cc to blink::ScrollManager (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/frame/FrameView.cpp
diff --git a/third_party/WebKit/Source/core/frame/FrameView.cpp b/third_party/WebKit/Source/core/frame/FrameView.cpp
index 3a1de8192a5537cc6b7ed616211a494a7adcfa36..06be35c16d1120abbe5f3da346e8b312e7347243 100644
--- a/third_party/WebKit/Source/core/frame/FrameView.cpp
+++ b/third_party/WebKit/Source/core/frame/FrameView.cpp
@@ -210,7 +210,10 @@
needs_scrollbars_update_(false),
suppress_adjust_view_size_(false),
allows_layout_invalidation_after_layout_clean_(true),
- main_thread_scrolling_reasons_(0) {
+ main_thread_scrolling_reasons_(0),
+ main_thread_scrolling_reasons_counter_(
+ MainThreadScrollingReason::kMainThreadScrollingReasonCount,
+ 0) {
Init();
}
@@ -5173,8 +5176,6 @@
if (frame.IsMainFrame())
main_thread_scrolling_reasons_ = reasons;
- DCHECK(!MainThreadScrollingReason::HasNonCompositedScrollReasons(
- main_thread_scrolling_reasons_));
}
MainThreadScrollingReasons FrameView::MainThreadScrollingReasonsPerFrame()
@@ -5233,7 +5234,6 @@
ToLocalFrame(frame)->View()->MainThreadScrollingReasonsPerFrame();
}
- DCHECK(!MainThreadScrollingReason::HasNonCompositedScrollReasons(reasons));
return reasons;
}
@@ -5265,6 +5265,29 @@
main_thread_scrolling_reasons_)
.c_str());
return result;
+}
+
+void FrameView::AdjustStyleRelatedMainThreadScrollingReasons(
+ const uint32_t reason,
+ bool increase) {
+ int index = MainThreadScrollingReason::getReasonIndex(reason);
+ DCHECK_GE(index, 0);
+ main_thread_scrolling_reasons_counter_[index] += increase ? 1 : -1;
+ DCHECK_GE(main_thread_scrolling_reasons_counter_[index], 0);
+}
+
+MainThreadScrollingReasons
+FrameView::GetStyleRelatedMainThreadScrollingReasons() const {
+ MainThreadScrollingReasons reasons =
+ static_cast<MainThreadScrollingReasons>(0);
+ for (uint32_t reason = 0;
+ reason < MainThreadScrollingReason::kMainThreadScrollingReasonCount;
+ ++reason) {
+ if (main_thread_scrolling_reasons_counter_[reason] > 0) {
+ reasons |= 1 << reason;
+ }
+ }
+ return reasons;
}
void FrameView::SetViewportIntersectionFromParent(
« no previous file with comments | « third_party/WebKit/Source/core/frame/FrameView.h ('k') | third_party/WebKit/Source/core/input/EventHandlerTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698