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

Side by Side Diff: ash/system/audio/tray_volume.cc

Issue 10269017: Remove scoped_ptr for system tray views (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « ash/system/audio/tray_volume.h ('k') | ash/system/bluetooth/tray_bluetooth.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/audio/tray_volume.h" 5 #include "ash/system/audio/tray_volume.h"
6 6
7 #include "ash/shell.h" 7 #include "ash/shell.h"
8 #include "ash/system/tray/system_tray_delegate.h" 8 #include "ash/system/tray/system_tray_delegate.h"
9 #include "ash/system/tray/tray_constants.h" 9 #include "ash/system/tray/tray_constants.h"
10 #include "ash/system/tray/tray_views.h" 10 #include "ash/system/tray/tray_views.h"
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 VolumeButton* icon_; 152 VolumeButton* icon_;
153 views::Slider* slider_; 153 views::Slider* slider_;
154 154
155 DISALLOW_COPY_AND_ASSIGN(VolumeView); 155 DISALLOW_COPY_AND_ASSIGN(VolumeView);
156 }; 156 };
157 157
158 } // namespace tray 158 } // namespace tray
159 159
160 TrayVolume::TrayVolume() 160 TrayVolume::TrayVolume()
161 : TrayImageItem(IDR_AURA_UBER_TRAY_VOLUME_MUTE), 161 : TrayImageItem(IDR_AURA_UBER_TRAY_VOLUME_MUTE),
162 volume_view_(NULL),
162 is_default_view_(false) { 163 is_default_view_(false) {
163 } 164 }
164 165
165 TrayVolume::~TrayVolume() { 166 TrayVolume::~TrayVolume() {
166 } 167 }
167 168
168 bool TrayVolume::GetInitialVisibility() { 169 bool TrayVolume::GetInitialVisibility() {
169 return ash::Shell::GetInstance()->tray_delegate()->IsAudioMuted(); 170 return ash::Shell::GetInstance()->tray_delegate()->IsAudioMuted();
170 } 171 }
171 172
172 views::View* TrayVolume::CreateDefaultView(user::LoginStatus status) { 173 views::View* TrayVolume::CreateDefaultView(user::LoginStatus status) {
173 volume_view_.reset(new tray::VolumeView); 174 volume_view_ = new tray::VolumeView;
174 is_default_view_ = true; 175 is_default_view_ = true;
175 return volume_view_.get(); 176 return volume_view_;
176 } 177 }
177 178
178 views::View* TrayVolume::CreateDetailedView(user::LoginStatus status) { 179 views::View* TrayVolume::CreateDetailedView(user::LoginStatus status) {
179 volume_view_.reset(new tray::VolumeView); 180 volume_view_ = new tray::VolumeView;
180 is_default_view_ = false; 181 is_default_view_ = false;
181 return volume_view_.get(); 182 return volume_view_;
182 } 183 }
183 184
184 void TrayVolume::DestroyDefaultView() { 185 void TrayVolume::DestroyDefaultView() {
185 if (is_default_view_) 186 if (is_default_view_)
186 volume_view_.reset(); 187 volume_view_ = NULL;
187 } 188 }
188 189
189 void TrayVolume::DestroyDetailedView() { 190 void TrayVolume::DestroyDetailedView() {
190 if (!is_default_view_) 191 if (!is_default_view_)
191 volume_view_.reset(); 192 volume_view_ = NULL;
192 } 193 }
193 194
194 void TrayVolume::OnVolumeChanged(float percent) { 195 void TrayVolume::OnVolumeChanged(float percent) {
195 if (tray_view()) 196 if (tray_view())
196 tray_view()->SetVisible(GetInitialVisibility()); 197 tray_view()->SetVisible(GetInitialVisibility());
197 198
198 if (volume_view_.get()) { 199 if (volume_view_) {
199 volume_view_->SetVolumeLevel(percent); 200 volume_view_->SetVolumeLevel(percent);
200 SetDetailedViewCloseDelay(kTrayPopupAutoCloseDelayInSeconds); 201 SetDetailedViewCloseDelay(kTrayPopupAutoCloseDelayInSeconds);
201 return; 202 return;
202 } 203 }
203 PopupDetailedView(kTrayPopupAutoCloseDelayInSeconds, false); 204 PopupDetailedView(kTrayPopupAutoCloseDelayInSeconds, false);
204 } 205 }
205 206
206 } // namespace internal 207 } // namespace internal
207 } // namespace ash 208 } // namespace ash
OLDNEW
« no previous file with comments | « ash/system/audio/tray_volume.h ('k') | ash/system/bluetooth/tray_bluetooth.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698