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

Side by Side Diff: ash/system/tray_update.cc

Issue 683473005: Standardize usage of virtual/override/final specifiers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 1 month 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
« no previous file with comments | « ash/system/tray_update.h ('k') | ash/system/user/accounts_detailed_view.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "ash/system/tray_update.h" 5 #include "ash/system/tray_update.h"
6 6
7 #include "ash/root_window_controller.h" 7 #include "ash/root_window_controller.h"
8 #include "ash/shelf/shelf_layout_manager.h" 8 #include "ash/shelf/shelf_layout_manager.h"
9 #include "ash/shelf/shelf_widget.h" 9 #include "ash/shelf/shelf_widget.h"
10 #include "ash/shell.h" 10 #include "ash/shell.h"
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 78
79 base::string16 label = 79 base::string16 label =
80 info.factory_reset_required 80 info.factory_reset_required
81 ? bundle.GetLocalizedString( 81 ? bundle.GetLocalizedString(
82 IDS_ASH_STATUS_TRAY_RESTART_AND_POWERWASH_TO_UPDATE) 82 IDS_ASH_STATUS_TRAY_RESTART_AND_POWERWASH_TO_UPDATE)
83 : bundle.GetLocalizedString(IDS_ASH_STATUS_TRAY_UPDATE); 83 : bundle.GetLocalizedString(IDS_ASH_STATUS_TRAY_UPDATE);
84 AddChildView(new views::Label(label)); 84 AddChildView(new views::Label(label));
85 SetAccessibleName(label); 85 SetAccessibleName(label);
86 } 86 }
87 87
88 virtual ~UpdateView() {} 88 ~UpdateView() override {}
89 89
90 private: 90 private:
91 // Overridden from ActionableView. 91 // Overridden from ActionableView.
92 virtual bool PerformAction(const ui::Event& event) override { 92 bool PerformAction(const ui::Event& event) override {
93 ash::Shell::GetInstance()-> 93 ash::Shell::GetInstance()->
94 system_tray_delegate()->RequestRestartForUpdate(); 94 system_tray_delegate()->RequestRestartForUpdate();
95 return true; 95 return true;
96 } 96 }
97 97
98 DISALLOW_COPY_AND_ASSIGN(UpdateView); 98 DISALLOW_COPY_AND_ASSIGN(UpdateView);
99 }; 99 };
100 100
101 } 101 }
102 102
103 namespace ash { 103 namespace ash {
104 namespace tray { 104 namespace tray {
105 105
106 class UpdateNagger : public ui::LayerAnimationObserver { 106 class UpdateNagger : public ui::LayerAnimationObserver {
107 public: 107 public:
108 explicit UpdateNagger(SystemTrayItem* owner) 108 explicit UpdateNagger(SystemTrayItem* owner)
109 : owner_(owner) { 109 : owner_(owner) {
110 RestartTimer(); 110 RestartTimer();
111 owner_->system_tray()->GetWidget()->GetNativeView()->layer()-> 111 owner_->system_tray()->GetWidget()->GetNativeView()->layer()->
112 GetAnimator()->AddObserver(this); 112 GetAnimator()->AddObserver(this);
113 } 113 }
114 114
115 virtual ~UpdateNagger() { 115 ~UpdateNagger() override {
116 StatusAreaWidget* status_area = 116 StatusAreaWidget* status_area =
117 Shell::GetPrimaryRootWindowController()->shelf()->status_area_widget(); 117 Shell::GetPrimaryRootWindowController()->shelf()->status_area_widget();
118 if (status_area) { 118 if (status_area) {
119 status_area->system_tray()->GetWidget()->GetNativeView()->layer()-> 119 status_area->system_tray()->GetWidget()->GetNativeView()->layer()->
120 GetAnimator()->RemoveObserver(this); 120 GetAnimator()->RemoveObserver(this);
121 } 121 }
122 } 122 }
123 123
124 void RestartTimer() { 124 void RestartTimer() {
125 timer_.Stop(); 125 timer_.Stop();
126 timer_.Start(FROM_HERE, 126 timer_.Start(FROM_HERE,
127 base::TimeDelta::FromSeconds(kUpdateNaggingTimeSeconds), 127 base::TimeDelta::FromSeconds(kUpdateNaggingTimeSeconds),
128 this, 128 this,
129 &UpdateNagger::Nag); 129 &UpdateNagger::Nag);
130 } 130 }
131 131
132 private: 132 private:
133 void Nag() { 133 void Nag() {
134 owner_->PopupDetailedView(kShowUpdateNaggerForSeconds, false); 134 owner_->PopupDetailedView(kShowUpdateNaggerForSeconds, false);
135 } 135 }
136 136
137 // Overridden from ui::LayerAnimationObserver. 137 // Overridden from ui::LayerAnimationObserver.
138 virtual void OnLayerAnimationEnded( 138 void OnLayerAnimationEnded(ui::LayerAnimationSequence* sequence) override {
139 ui::LayerAnimationSequence* sequence) override {
140 // TODO(oshima): Find out if the updator will be shown on non 139 // TODO(oshima): Find out if the updator will be shown on non
141 // primary display. 140 // primary display.
142 if (Shell::GetPrimaryRootWindowController()->shelf()->IsVisible()) 141 if (Shell::GetPrimaryRootWindowController()->shelf()->IsVisible())
143 timer_.Stop(); 142 timer_.Stop();
144 else if (!timer_.IsRunning()) 143 else if (!timer_.IsRunning())
145 RestartTimer(); 144 RestartTimer();
146 } 145 }
147 146
148 virtual void OnLayerAnimationAborted( 147 void OnLayerAnimationAborted(ui::LayerAnimationSequence* sequence) override {}
149 ui::LayerAnimationSequence* sequence) override {}
150 148
151 virtual void OnLayerAnimationScheduled( 149 void OnLayerAnimationScheduled(
152 ui::LayerAnimationSequence* sequence) override {} 150 ui::LayerAnimationSequence* sequence) override {}
153 151
154 SystemTrayItem* owner_; 152 SystemTrayItem* owner_;
155 base::OneShotTimer<UpdateNagger> timer_; 153 base::OneShotTimer<UpdateNagger> timer_;
156 154
157 DISALLOW_COPY_AND_ASSIGN(UpdateNagger); 155 DISALLOW_COPY_AND_ASSIGN(UpdateNagger);
158 }; 156 };
159 157
160 } // namespace tray 158 } // namespace tray
161 159
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 SetImageFromResourceId(DecideResource(info.severity, false)); 196 SetImageFromResourceId(DecideResource(info.severity, false));
199 tray_view()->SetVisible(true); 197 tray_view()->SetVisible(true);
200 if (!Shell::GetPrimaryRootWindowController()->shelf()->IsVisible() && 198 if (!Shell::GetPrimaryRootWindowController()->shelf()->IsVisible() &&
201 !nagger_.get()) { 199 !nagger_.get()) {
202 // The shelf is not visible, and there is no nagger scheduled. 200 // The shelf is not visible, and there is no nagger scheduled.
203 nagger_.reset(new tray::UpdateNagger(this)); 201 nagger_.reset(new tray::UpdateNagger(this));
204 } 202 }
205 } 203 }
206 204
207 } // namespace ash 205 } // namespace ash
OLDNEW
« no previous file with comments | « ash/system/tray_update.h ('k') | ash/system/user/accounts_detailed_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698