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

Side by Side Diff: chrome/browser/media_gallery/media_galleries_dialog_controller.cc

Issue 10823303: add unit tests for MediaGalleriesDialogGtk (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review Created 8 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 | Annotate | Revision Log
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 "chrome/browser/media_gallery/media_galleries_dialog_controller.h" 5 #include "chrome/browser/media_gallery/media_galleries_dialog_controller.h"
6 6
7 #include "base/path_service.h" 7 #include "base/path_service.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "chrome/browser/media_gallery/media_galleries_preferences_factory.h" 9 #include "chrome/browser/media_gallery/media_galleries_preferences_factory.h"
10 #include "chrome/browser/ui/chrome_select_file_policy.h" 10 #include "chrome/browser/ui/chrome_select_file_policy.h"
11 #include "chrome/browser/ui/tab_contents/tab_contents.h" 11 #include "chrome/browser/ui/tab_contents/tab_contents.h"
12 #include "chrome/common/chrome_paths.h" 12 #include "chrome/common/chrome_paths.h"
13 #include "chrome/common/extensions/extension.h" 13 #include "chrome/common/extensions/extension.h"
14 #include "content/public/browser/web_contents.h" 14 #include "content/public/browser/web_contents.h"
15 #include "content/public/browser/web_contents_view.h" 15 #include "content/public/browser/web_contents_view.h"
16 #include "grit/generated_resources.h" 16 #include "grit/generated_resources.h"
17 #include "ui/base/l10n/l10n_util.h" 17 #include "ui/base/l10n/l10n_util.h"
18 18
19 using extensions::Extension; 19 using extensions::Extension;
20 20
21 namespace chrome { 21 namespace chrome {
22 22
23 MediaGalleriesDialogController::MediaGalleriesDialogController( 23 MediaGalleriesDialogController::MediaGalleriesDialogController(
24 TabContents* tab_contents, 24 TabContents* tab_contents,
25 const Extension& extension, 25 const Extension& extension,
26 const base::Callback<void(void)>& on_finish) 26 const base::Callback<void(void)>& on_finish)
27 : tab_contents_(tab_contents), 27 : tab_contents_(tab_contents),
28 extension_(extension), 28 extension_(&extension),
29 on_finish_(on_finish), 29 on_finish_(on_finish),
30 preferences_(MediaGalleriesPreferencesFactory::GetForProfile( 30 preferences_(MediaGalleriesPreferencesFactory::GetForProfile(
31 tab_contents_->profile())) { 31 tab_contents_->profile())) {
32 LookUpPermissions(); 32 LookUpPermissions();
33 33
34 dialog_.reset(MediaGalleriesDialog::Create(this)); 34 dialog_.reset(MediaGalleriesDialog::Create(this));
35 } 35 }
36 36
37 MediaGalleriesDialogController::MediaGalleriesDialogController()
38 : tab_contents_(NULL),
39 extension_(NULL),
40 preferences_(NULL) {}
41
37 MediaGalleriesDialogController::~MediaGalleriesDialogController() { 42 MediaGalleriesDialogController::~MediaGalleriesDialogController() {
38 if (select_folder_dialog_.get()) 43 if (select_folder_dialog_.get())
39 select_folder_dialog_->ListenerDestroyed(); 44 select_folder_dialog_->ListenerDestroyed();
40 } 45 }
41 46
42 string16 MediaGalleriesDialogController::GetHeader() { 47 string16 MediaGalleriesDialogController::GetHeader() {
48 std::string extension_name(extension_ ? extension_->name() : "");
43 return l10n_util::GetStringFUTF16(IDS_MEDIA_GALLERIES_DIALOG_HEADER, 49 return l10n_util::GetStringFUTF16(IDS_MEDIA_GALLERIES_DIALOG_HEADER,
44 UTF8ToUTF16(extension_.name())); 50 UTF8ToUTF16(extension_name));
45 } 51 }
46 52
47 string16 MediaGalleriesDialogController::GetSubtext() { 53 string16 MediaGalleriesDialogController::GetSubtext() {
48 if (extension_.HasAPIPermission( 54 if (extension_ && extension_->HasAPIPermission(
49 extensions::APIPermission::kMediaGalleriesRead)) { 55 extensions::APIPermission::kMediaGalleriesRead)) {
50 return l10n_util::GetStringFUTF16(IDS_MEDIA_GALLERIES_DIALOG_READ_SUBTEXT, 56 return l10n_util::GetStringFUTF16(IDS_MEDIA_GALLERIES_DIALOG_READ_SUBTEXT,
51 UTF8ToUTF16(extension_.name())); 57 UTF8ToUTF16(extension_->name()));
52 } 58 }
53 // TODO(estade): handle write et al. 59 // TODO(estade): handle write et al.
54 return string16(); 60 return string16();
55 } 61 }
56 62
57 void MediaGalleriesDialogController::OnAddFolderClicked() { 63 void MediaGalleriesDialogController::OnAddFolderClicked() {
58 FilePath user_data_dir; 64 FilePath user_data_dir;
59 PathService::Get(chrome::DIR_USER_DATA, &user_data_dir); 65 PathService::Get(chrome::DIR_USER_DATA, &user_data_dir);
60 // TODO(estade): if file dialogs are disabled we need to handle it somehow. 66 // TODO(estade): if file dialogs are disabled we need to handle it somehow.
61 select_folder_dialog_ = 67 select_folder_dialog_ =
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 preferences_->known_galleries().begin(); 148 preferences_->known_galleries().begin();
143 iter != preferences_->known_galleries().end(); 149 iter != preferences_->known_galleries().end();
144 ++iter) { 150 ++iter) {
145 if (iter->second.type == MediaGalleryPrefInfo::kBlackListed) 151 if (iter->second.type == MediaGalleryPrefInfo::kBlackListed)
146 continue; 152 continue;
147 153
148 known_galleries_[iter->first] = GalleryPermission(iter->second, false); 154 known_galleries_[iter->first] = GalleryPermission(iter->second, false);
149 } 155 }
150 156
151 MediaGalleryPrefIdSet permitted = 157 MediaGalleryPrefIdSet permitted =
152 preferences_->GalleriesForExtension(extension_); 158 preferences_->GalleriesForExtension(*extension_);
153 159
154 for (MediaGalleryPrefIdSet::iterator iter = permitted.begin(); 160 for (MediaGalleryPrefIdSet::iterator iter = permitted.begin();
155 iter != permitted.end(); ++iter) { 161 iter != permitted.end(); ++iter) {
156 known_galleries_[*iter].allowed = true; 162 known_galleries_[*iter].allowed = true;
157 } 163 }
158 } 164 }
159 165
160 void MediaGalleriesDialogController::SavePermissions() { 166 void MediaGalleriesDialogController::SavePermissions() {
161 for (KnownGalleryPermissions::iterator iter = known_galleries_.begin(); 167 for (KnownGalleryPermissions::iterator iter = known_galleries_.begin();
162 iter != known_galleries_.end(); ++iter) { 168 iter != known_galleries_.end(); ++iter) {
163 preferences_->SetGalleryPermissionForExtension( 169 preferences_->SetGalleryPermissionForExtension(
164 extension_, iter->first, iter->second.allowed); 170 *extension_, iter->first, iter->second.allowed);
165 } 171 }
166 172
167 for (NewGalleryPermissions::iterator iter = new_galleries_.begin(); 173 for (NewGalleryPermissions::iterator iter = new_galleries_.begin();
168 iter != new_galleries_.end(); ++iter) { 174 iter != new_galleries_.end(); ++iter) {
169 // If the user added a gallery then unchecked it, forget about it. 175 // If the user added a gallery then unchecked it, forget about it.
170 if (!iter->allowed) 176 if (!iter->allowed)
171 continue; 177 continue;
172 178
173 const MediaGalleryPrefInfo& gallery = iter->pref_info; 179 const MediaGalleryPrefInfo& gallery = iter->pref_info;
174 MediaGalleryPrefId id = preferences_->AddGallery( 180 MediaGalleryPrefId id = preferences_->AddGallery(
175 gallery.device_id, gallery.display_name, gallery.path, true); 181 gallery.device_id, gallery.display_name, gallery.path, true);
176 preferences_->SetGalleryPermissionForExtension( 182 preferences_->SetGalleryPermissionForExtension(
177 extension_, id, true); 183 *extension_, id, true);
178 } 184 }
179 } 185 }
180 186
181 // MediaGalleries dialog ------------------------------------------------------- 187 // MediaGalleries dialog -------------------------------------------------------
182 188
183 MediaGalleriesDialog::~MediaGalleriesDialog() {} 189 MediaGalleriesDialog::~MediaGalleriesDialog() {}
184 190
185 } // namespace chrome 191 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698