| Index: chrome/browser/media_gallery/media_galleries_dialog_controller.cc
|
| diff --git a/chrome/browser/media_gallery/media_galleries_dialog_controller.cc b/chrome/browser/media_gallery/media_galleries_dialog_controller.cc
|
| index 29a61fa4940ec4fcb15b234fd60af7e0639e49f4..f259ca14a192a8667ba0fdff85bbe8e3e87e0232 100644
|
| --- a/chrome/browser/media_gallery/media_galleries_dialog_controller.cc
|
| +++ b/chrome/browser/media_gallery/media_galleries_dialog_controller.cc
|
| @@ -25,30 +25,36 @@ MediaGalleriesDialogController::MediaGalleriesDialogController(
|
| const Extension& extension,
|
| const base::Callback<void(void)>& on_finish)
|
| : tab_contents_(tab_contents),
|
| - extension_(extension),
|
| + extension_(&extension),
|
| on_finish_(on_finish),
|
| preferences_(MediaGalleriesPreferencesFactory::GetForProfile(
|
| - tab_contents_->profile())) {
|
| + tab_contents_->profile())) {
|
| LookUpPermissions();
|
|
|
| dialog_.reset(MediaGalleriesDialog::Create(this));
|
| }
|
|
|
| +MediaGalleriesDialogController::MediaGalleriesDialogController()
|
| + : tab_contents_(NULL),
|
| + extension_(NULL),
|
| + preferences_(NULL) {}
|
| +
|
| MediaGalleriesDialogController::~MediaGalleriesDialogController() {
|
| if (select_folder_dialog_.get())
|
| select_folder_dialog_->ListenerDestroyed();
|
| }
|
|
|
| string16 MediaGalleriesDialogController::GetHeader() {
|
| + std::string extension_name(extension_ ? extension_->name() : "");
|
| return l10n_util::GetStringFUTF16(IDS_MEDIA_GALLERIES_DIALOG_HEADER,
|
| - UTF8ToUTF16(extension_.name()));
|
| + UTF8ToUTF16(extension_name));
|
| }
|
|
|
| string16 MediaGalleriesDialogController::GetSubtext() {
|
| - if (extension_.HasAPIPermission(
|
| + if (extension_ && extension_->HasAPIPermission(
|
| extensions::APIPermission::kMediaGalleriesRead)) {
|
| return l10n_util::GetStringFUTF16(IDS_MEDIA_GALLERIES_DIALOG_READ_SUBTEXT,
|
| - UTF8ToUTF16(extension_.name()));
|
| + UTF8ToUTF16(extension_->name()));
|
| }
|
| // TODO(estade): handle write et al.
|
| return string16();
|
| @@ -149,7 +155,7 @@ void MediaGalleriesDialogController::LookUpPermissions() {
|
| }
|
|
|
| MediaGalleryPrefIdSet permitted =
|
| - preferences_->GalleriesForExtension(extension_);
|
| + preferences_->GalleriesForExtension(*extension_);
|
|
|
| for (MediaGalleryPrefIdSet::iterator iter = permitted.begin();
|
| iter != permitted.end(); ++iter) {
|
| @@ -161,7 +167,7 @@ void MediaGalleriesDialogController::SavePermissions() {
|
| for (KnownGalleryPermissions::iterator iter = known_galleries_.begin();
|
| iter != known_galleries_.end(); ++iter) {
|
| preferences_->SetGalleryPermissionForExtension(
|
| - extension_, iter->first, iter->second.allowed);
|
| + *extension_, iter->first, iter->second.allowed);
|
| }
|
|
|
| for (NewGalleryPermissions::iterator iter = new_galleries_.begin();
|
| @@ -174,7 +180,7 @@ void MediaGalleriesDialogController::SavePermissions() {
|
| MediaGalleryPrefId id = preferences_->AddGallery(
|
| gallery.device_id, gallery.display_name, gallery.path, true);
|
| preferences_->SetGalleryPermissionForExtension(
|
| - extension_, id, true);
|
| + *extension_, id, true);
|
| }
|
| }
|
|
|
|
|