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

Side by Side Diff: cc/trees/latency_info_swap_promise_monitor.cc

Issue 2185823005: Make RenderViewImpl::OnForceRedraw more robust (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/trees/latency_info_swap_promise_monitor.h" 5 #include "cc/trees/latency_info_swap_promise_monitor.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include "base/threading/platform_thread.h" 9 #include "base/threading/platform_thread.h"
10 #include "cc/output/latency_info_swap_promise.h" 10 #include "cc/output/latency_info_swap_promise.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 } 52 }
53 53
54 void LatencyInfoSwapPromiseMonitor::OnSetNeedsCommitOnMain() { 54 void LatencyInfoSwapPromiseMonitor::OnSetNeedsCommitOnMain() {
55 if (AddRenderingScheduledComponent(latency_, true /* on_main */)) { 55 if (AddRenderingScheduledComponent(latency_, true /* on_main */)) {
56 std::unique_ptr<SwapPromise> swap_promise( 56 std::unique_ptr<SwapPromise> swap_promise(
57 new LatencyInfoSwapPromise(*latency_)); 57 new LatencyInfoSwapPromise(*latency_));
58 layer_tree_host_->QueueSwapPromise(std::move(swap_promise)); 58 layer_tree_host_->QueueSwapPromise(std::move(swap_promise));
59 } 59 }
60 } 60 }
61 61
62 void LatencyInfoSwapPromiseMonitor::OnSetNeedsForcedRedrawOnMain() {
63 std::unique_ptr<SwapPromise> swap_promise(
64 new LatencyInfoSwapPromise(*latency_));
65 layer_tree_host_->QueueForcedRedrawSwapPromise(std::move(swap_promise));
66 }
67
62 void LatencyInfoSwapPromiseMonitor::OnSetNeedsRedrawOnImpl() { 68 void LatencyInfoSwapPromiseMonitor::OnSetNeedsRedrawOnImpl() {
63 if (AddRenderingScheduledComponent(latency_, false /* on_main */)) { 69 if (AddRenderingScheduledComponent(latency_, false /* on_main */)) {
64 std::unique_ptr<SwapPromise> swap_promise( 70 std::unique_ptr<SwapPromise> swap_promise(
65 new LatencyInfoSwapPromise(*latency_)); 71 new LatencyInfoSwapPromise(*latency_));
66 // Queue a pinned swap promise on the active tree. This will allow 72 // Queue a pinned swap promise on the active tree. This will allow
67 // measurement of the time to the next SwapBuffers(). The swap 73 // measurement of the time to the next SwapBuffers(). The swap
68 // promise is pinned so that it is not interrupted by new incoming 74 // promise is pinned so that it is not interrupted by new incoming
69 // activations (which would otherwise break the swap promise). 75 // activations (which would otherwise break the swap promise).
70 layer_tree_host_impl_->active_tree()->QueuePinnedSwapPromise( 76 layer_tree_host_impl_->active_tree()->QueuePinnedSwapPromise(
71 std::move(swap_promise)); 77 std::move(swap_promise));
(...skipping 26 matching lines...) Expand all
98 *latency_, 104 *latency_,
99 ui::INPUT_EVENT_LATENCY_FORWARD_SCROLL_UPDATE_TO_MAIN_COMPONENT); 105 ui::INPUT_EVENT_LATENCY_FORWARD_SCROLL_UPDATE_TO_MAIN_COMPONENT);
100 std::unique_ptr<SwapPromise> swap_promise( 106 std::unique_ptr<SwapPromise> swap_promise(
101 new LatencyInfoSwapPromise(new_latency)); 107 new LatencyInfoSwapPromise(new_latency));
102 layer_tree_host_impl_->QueueSwapPromiseForMainThreadScrollUpdate( 108 layer_tree_host_impl_->QueueSwapPromiseForMainThreadScrollUpdate(
103 std::move(swap_promise)); 109 std::move(swap_promise));
104 } 110 }
105 } 111 }
106 112
107 } // namespace cc 113 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698