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

Side by Side Diff: chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.cc

Issue 213623005: CameraPresenceNotifier observers removal supported. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.h" 5 #include "chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.h"
6 6
7 #include "ash/audio/sounds.h" 7 #include "ash/audio/sounds.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 30 matching lines...) Expand all
41 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); 41 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance();
42 media::SoundsManager* manager = media::SoundsManager::Get(); 42 media::SoundsManager* manager = media::SoundsManager::Get();
43 manager->Initialize(SOUND_OBJECT_DELETE, 43 manager->Initialize(SOUND_OBJECT_DELETE,
44 bundle.GetRawDataResource(IDR_SOUND_OBJECT_DELETE_WAV)); 44 bundle.GetRawDataResource(IDR_SOUND_OBJECT_DELETE_WAV));
45 manager->Initialize(SOUND_CAMERA_SNAP, 45 manager->Initialize(SOUND_CAMERA_SNAP,
46 bundle.GetRawDataResource(IDR_SOUND_CAMERA_SNAP_WAV)); 46 bundle.GetRawDataResource(IDR_SOUND_CAMERA_SNAP_WAV));
47 } 47 }
48 48
49 UserImageScreenHandler::~UserImageScreenHandler() { 49 UserImageScreenHandler::~UserImageScreenHandler() {
50 if (screen_) { 50 if (screen_) {
51 CameraPresenceNotifier::GetInstance()->RemoveObserver(screen_);
ygorshenin1 2014/04/03 11:45:49 Please, leave the call to RemoveObserver().
52 screen_->OnActorDestroyed(this); 51 screen_->OnActorDestroyed(this);
53 } 52 }
54 } 53 }
55 54
56 void UserImageScreenHandler::Initialize() { 55 void UserImageScreenHandler::Initialize() {
57 if (show_on_init_) { 56 if (show_on_init_) {
58 Show(); 57 Show();
59 show_on_init_ = false; 58 show_on_init_ = false;
60 } 59 }
61 } 60 }
(...skipping 13 matching lines...) Expand all
75 74
76 // When shown, query camera presence. 75 // When shown, query camera presence.
77 if (!screen_) 76 if (!screen_)
78 return; 77 return;
79 CameraPresenceNotifier::GetInstance()->AddObserver(screen_); 78 CameraPresenceNotifier::GetInstance()->AddObserver(screen_);
80 if (is_ready_) 79 if (is_ready_)
81 screen_->OnScreenReady(); 80 screen_->OnScreenReady();
82 } 81 }
83 82
84 void UserImageScreenHandler::Hide() { 83 void UserImageScreenHandler::Hide() {
85 CameraPresenceNotifier::GetInstance()->RemoveObserver(screen_); 84 if (screen_)
ygorshenin1 2014/04/03 11:45:49 It's OK to remove NULL from observer list.
85 CameraPresenceNotifier::GetInstance()->RemoveObserver(screen_);
86 } 86 }
87 87
88 void UserImageScreenHandler::PrepareToShow() { 88 void UserImageScreenHandler::PrepareToShow() {
89 } 89 }
90 90
91 void UserImageScreenHandler::DeclareLocalizedValues( 91 void UserImageScreenHandler::DeclareLocalizedValues(
92 LocalizedValuesBuilder* builder) { 92 LocalizedValuesBuilder* builder) {
93 builder->Add("userImageScreenTitle", IDS_USER_IMAGE_SCREEN_TITLE); 93 builder->Add("userImageScreenTitle", IDS_USER_IMAGE_SCREEN_TITLE);
94 builder->Add("userImageScreenDescription", 94 builder->Add("userImageScreenDescription",
95 IDS_OPTIONS_CHANGE_PICTURE_DIALOG_TEXT); 95 IDS_OPTIONS_CHANGE_PICTURE_DIALOG_TEXT);
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 218
219 void UserImageScreenHandler::HideCurtain() { 219 void UserImageScreenHandler::HideCurtain() {
220 CallJS("hideCurtain"); 220 CallJS("hideCurtain");
221 } 221 }
222 222
223 void UserImageScreenHandler::SetProfilePictureEnabled(bool enabled) { 223 void UserImageScreenHandler::SetProfilePictureEnabled(bool enabled) {
224 CallJS("setProfilePictureEnabled", enabled); 224 CallJS("setProfilePictureEnabled", enabled);
225 } 225 }
226 226
227 } // namespace chromeos 227 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698