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

Side by Side Diff: components/scheduler/renderer/render_widget_scheduling_state.cc

Issue 2118903002: scheduler: Move the Blink scheduler into Blink (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased 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
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "components/scheduler/renderer/render_widget_scheduling_state.h"
6
7 #include "components/scheduler/renderer/render_widget_signals.h"
8
9 namespace scheduler {
10
11 RenderWidgetSchedulingState::RenderWidgetSchedulingState(
12 RenderWidgetSignals* render_widget_scheduling_signals)
13 : render_widget_signals_(render_widget_scheduling_signals),
14 hidden_(false),
15 has_touch_handler_(false) {
16 render_widget_signals_->IncNumVisibleRenderWidgets();
17 }
18
19 RenderWidgetSchedulingState::~RenderWidgetSchedulingState() {
20 if (hidden_)
21 return;
22
23 render_widget_signals_->DecNumVisibleRenderWidgets();
24
25 if (has_touch_handler_) {
26 render_widget_signals_->DecNumVisibleRenderWidgetsWithTouchHandlers();
27 }
28 }
29
30 void RenderWidgetSchedulingState::SetHidden(bool hidden) {
31 if (hidden_ == hidden)
32 return;
33
34 hidden_ = hidden;
35
36 if (hidden_) {
37 render_widget_signals_->DecNumVisibleRenderWidgets();
38 if (has_touch_handler_) {
39 render_widget_signals_->DecNumVisibleRenderWidgetsWithTouchHandlers();
40 }
41 } else {
42 render_widget_signals_->IncNumVisibleRenderWidgets();
43 if (has_touch_handler_) {
44 render_widget_signals_->IncNumVisibleRenderWidgetsWithTouchHandlers();
45 }
46 }
47 }
48
49 void RenderWidgetSchedulingState::SetHasTouchHandler(bool has_touch_handler) {
50 if (has_touch_handler_ == has_touch_handler)
51 return;
52
53 has_touch_handler_ = has_touch_handler;
54
55 if (hidden_)
56 return;
57
58 if (has_touch_handler_) {
59 render_widget_signals_->IncNumVisibleRenderWidgetsWithTouchHandlers();
60 } else {
61 render_widget_signals_->DecNumVisibleRenderWidgetsWithTouchHandlers();
62 }
63 }
64
65 } // namespace scheduler
OLDNEW
« no previous file with comments | « components/scheduler/renderer/render_widget_scheduling_state.h ('k') | components/scheduler/renderer/render_widget_signals.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698