Chromium Code Reviews| Index: chrome/browser/media_galleries/media_galleries_scan_result_controller.cc |
| diff --git a/chrome/browser/media_galleries/media_galleries_scan_result_dialog_controller.cc b/chrome/browser/media_galleries/media_galleries_scan_result_controller.cc |
| similarity index 75% |
| rename from chrome/browser/media_galleries/media_galleries_scan_result_dialog_controller.cc |
| rename to chrome/browser/media_galleries/media_galleries_scan_result_controller.cc |
| index b5cd3fe826f32b0d233a0e7556d118f45f3cbbe1..9462430c2a2fadb1e363e5ed930fbecb87198381 100644 |
| --- a/chrome/browser/media_galleries/media_galleries_scan_result_dialog_controller.cc |
| +++ b/chrome/browser/media_galleries/media_galleries_scan_result_controller.cc |
| @@ -2,7 +2,7 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#include "chrome/browser/media_galleries/media_galleries_scan_result_dialog_controller.h" |
| +#include "chrome/browser/media_galleries/media_galleries_scan_result_controller.h" |
| #include <algorithm> |
| #include <list> |
| @@ -32,11 +32,11 @@ using storage_monitor::StorageMonitor; |
| namespace { |
| -// Comparator for sorting OrderedScanResults -- more files first and then sorts |
| -// by absolute path. |
| +// Comparator for sorting Entries -- more files first and then sorts by |
| +// absolute path. |
| bool ScanResultsComparator( |
| - const MediaGalleriesScanResultDialogController::ScanResult& a, |
| - const MediaGalleriesScanResultDialogController::ScanResult& b) { |
| + const MediaGalleriesDialogController::Entry& a, |
| + const MediaGalleriesDialogController::Entry& b) { |
| int a_media_count = a.pref_info.audio_count + a.pref_info.image_count + |
| a.pref_info.video_count; |
| int b_media_count = b.pref_info.audio_count + b.pref_info.image_count + |
| @@ -49,7 +49,7 @@ bool ScanResultsComparator( |
| } // namespace |
| // static |
| -size_t MediaGalleriesScanResultDialogController::ScanResultCountForExtension( |
| +size_t MediaGalleriesScanResultController::ScanResultCountForExtension( |
| MediaGalleriesPreferences* preferences, |
| const extensions::Extension* extension) { |
| ScanResults scan_results; |
| @@ -58,18 +58,14 @@ size_t MediaGalleriesScanResultDialogController::ScanResultCountForExtension( |
| return scan_results.size(); |
| } |
| -MediaGalleriesScanResultDialogController:: |
| -MediaGalleriesScanResultDialogController( |
| +MediaGalleriesScanResultController::MediaGalleriesScanResultController( |
| content::WebContents* web_contents, |
| const extensions::Extension& extension, |
| const base::Closure& on_finish) |
| : web_contents_(web_contents), |
| extension_(&extension), |
| - on_finish_(on_finish) { |
| - // TODO(vandebo): Put this in the intializer list after GTK is removed. |
| -#if defined(USE_AURA) || defined(OS_MACOSX) |
| - create_dialog_callback_ = base::Bind(&MediaGalleriesScanResultDialog::Create); |
| -#endif // USE_AURA || OS_MACOSX |
| + on_finish_(on_finish), |
| + create_dialog_callback_(base::Bind(&MediaGalleriesDialog::Create)) { |
| preferences_ = |
| g_browser_process->media_file_system_registry()->GetPreferences( |
| GetProfile()); |
| @@ -77,17 +73,16 @@ MediaGalleriesScanResultDialogController( |
| // is self-deleting, and so won't be deleted until it can be shown |
| // and then closed. |
| preferences_->EnsureInitialized(base::Bind( |
| - &MediaGalleriesScanResultDialogController::OnPreferencesInitialized, |
| + &MediaGalleriesScanResultController::OnPreferencesInitialized, |
| base::Unretained(this))); |
| // Unretained is safe because |this| owns |context_menu_|. |
| context_menu_.reset(new MediaGalleryContextMenu(base::Bind( |
| - &MediaGalleriesScanResultDialogController::DidForgetGallery, |
| + &MediaGalleriesScanResultController::DidForgetEntry, |
| base::Unretained(this)))); |
| } |
| -MediaGalleriesScanResultDialogController:: |
| -MediaGalleriesScanResultDialogController( |
| +MediaGalleriesScanResultController::MediaGalleriesScanResultController( |
| const extensions::Extension& extension, |
| MediaGalleriesPreferences* preferences, |
| const CreateDialogCallback& create_dialog_callback, |
| @@ -100,8 +95,7 @@ MediaGalleriesScanResultDialogController( |
| OnPreferencesInitialized(); |
| } |
| -MediaGalleriesScanResultDialogController:: |
| -~MediaGalleriesScanResultDialogController() { |
| +MediaGalleriesScanResultController::~MediaGalleriesScanResultController() { |
| // |preferences_| may be NULL in tests. |
| if (preferences_) |
| preferences_->RemoveGalleryChangeObserver(this); |
| @@ -109,13 +103,13 @@ MediaGalleriesScanResultDialogController:: |
| StorageMonitor::GetInstance()->RemoveObserver(this); |
| } |
| -base::string16 MediaGalleriesScanResultDialogController::GetHeader() const { |
| +base::string16 MediaGalleriesScanResultController::GetHeader() const { |
| return l10n_util::GetStringFUTF16( |
| IDS_MEDIA_GALLERIES_SCAN_RESULT_DIALOG_HEADER, |
| base::UTF8ToUTF16(extension_->name())); |
| } |
| -base::string16 MediaGalleriesScanResultDialogController::GetSubtext() const { |
| +base::string16 MediaGalleriesScanResultController::GetSubtext() const { |
| extensions::MediaGalleriesPermission::CheckParam copy_to_param( |
| extensions::MediaGalleriesPermission::kCopyToPermission); |
| extensions::MediaGalleriesPermission::CheckParam delete_param( |
| @@ -138,9 +132,27 @@ base::string16 MediaGalleriesScanResultDialogController::GetSubtext() const { |
| return l10n_util::GetStringFUTF16(id, base::UTF8ToUTF16(extension_->name())); |
| } |
| -MediaGalleriesScanResultDialogController::OrderedScanResults |
| -MediaGalleriesScanResultDialogController::GetGalleryList() const { |
| - OrderedScanResults result; |
| +bool MediaGalleriesScanResultController::IsAcceptAllowed() const { |
| + return true; |
| +} |
| + |
| +bool MediaGalleriesScanResultController::ShouldShowFolderViewer( |
| + const Entry& entry) const { |
| + return entry.pref_info.IsGalleryAvailable(); |
| +} |
| + |
| +std::vector<base::string16> |
| +MediaGalleriesScanResultController::GetSectionHeaders() const { |
| + std::vector<base::string16> result; |
| + result.push_back(base::string16()); |
| + return result; |
| +} |
| + |
| +MediaGalleriesDialogController::Entries |
| +MediaGalleriesScanResultController::GetSectionEntries( |
| + size_t index) const { |
| + DCHECK_EQ(0U, index); |
| + Entries result; |
| result.reserve(scan_results_.size()); |
| for (ScanResults::const_iterator it = scan_results_.begin(); |
| it != scan_results_.end(); |
| @@ -151,15 +163,24 @@ MediaGalleriesScanResultDialogController::GetGalleryList() const { |
| return result; |
| } |
| -void MediaGalleriesScanResultDialogController::DidToggleGalleryId( |
| +base::string16 |
| +MediaGalleriesScanResultController::GetAuxiliaryButtonText() const { |
| + return base::string16(); |
| +} |
| + |
| +void MediaGalleriesScanResultController::DidClickAuxiliaryButton() { |
| + NOTREACHED(); |
| +} |
| + |
| +void MediaGalleriesScanResultController::DidToggleEntry( |
| MediaGalleryPrefId pref_id, bool selected) { |
| DCHECK(ContainsKey(scan_results_, pref_id)); |
| ScanResults::iterator entry = scan_results_.find(pref_id); |
| entry->second.selected = selected; |
| } |
| -void MediaGalleriesScanResultDialogController::DidClickOpenFolderViewer( |
| - MediaGalleryPrefId pref_id) const { |
| +void MediaGalleriesScanResultController::DidClickOpenFolderViewer( |
| + MediaGalleryPrefId pref_id) { |
| ScanResults::const_iterator entry = scan_results_.find(pref_id); |
| if (entry == scan_results_.end()) { |
| NOTREACHED(); |
| @@ -168,15 +189,20 @@ void MediaGalleriesScanResultDialogController::DidClickOpenFolderViewer( |
| platform_util::OpenItem(GetProfile(), entry->second.pref_info.AbsolutePath()); |
| } |
| -void MediaGalleriesScanResultDialogController::DidForgetGallery( |
| +void MediaGalleriesScanResultController::DidForgetEntry( |
| MediaGalleryPrefId pref_id) { |
| media_galleries::UsageCount(media_galleries::ADD_SCAN_RESULTS_FORGET_GALLERY); |
| results_to_remove_.insert(pref_id); |
| scan_results_.erase(pref_id); |
| - dialog_->UpdateResults(); |
| + dialog_->UpdateGalleries(); |
| +} |
| + |
| +base::string16 MediaGalleriesScanResultController::GetAcceptButtonText() const { |
| + return |
| + l10n_util::GetStringUTF16(IDS_MEDIA_GALLERIES_SCAN_RESULT_DIALOG_CONFIRM); |
|
Lei Zhang
2014/06/06 07:03:10
nit: add a new line after UTF16( instead?
vandebo (ex-Chrome)
2014/06/06 17:43:30
Done.
|
| } |
| -void MediaGalleriesScanResultDialogController::DialogFinished(bool accepted) { |
| +void MediaGalleriesScanResultController::DialogFinished(bool accepted) { |
| // No longer interested in preference updates (and the below code generates |
| // some). |
| // |preferences_| may be NULL in tests. |
| @@ -216,21 +242,22 @@ void MediaGalleriesScanResultDialogController::DialogFinished(bool accepted) { |
| delete this; |
| } |
| -content::WebContents* MediaGalleriesScanResultDialogController::web_contents() { |
| - return web_contents_; |
| -} |
| - |
| -ui::MenuModel* MediaGalleriesScanResultDialogController::GetContextMenu( |
| +ui::MenuModel* MediaGalleriesScanResultController::GetContextMenu( |
| MediaGalleryPrefId id) { |
| context_menu_->set_pref_id(id); |
| return context_menu_.get(); |
| } |
| +content::WebContents* MediaGalleriesScanResultController::WebContents() { |
| + return web_contents_; |
| +} |
| + |
| // static |
| -void MediaGalleriesScanResultDialogController::UpdateScanResultsFromPreferences( |
| +void MediaGalleriesScanResultController::UpdateScanResultsFromPreferences( |
| MediaGalleriesPreferences* preferences, |
| const extensions::Extension* extension, |
| - MediaGalleryPrefIdSet ignore_list, ScanResults* scan_results) { |
| + MediaGalleryPrefIdSet ignore_list, |
| + ScanResults* scan_results) { |
| DCHECK(preferences->IsInitialized()); |
| const MediaGalleriesPrefInfoMap& galleries = preferences->known_galleries(); |
| MediaGalleryPrefIdSet permitted = |
| @@ -249,7 +276,7 @@ void MediaGalleriesScanResultDialogController::UpdateScanResultsFromPreferences( |
| ScanResults::iterator existing = scan_results->find(gallery.pref_id); |
| if (existing == scan_results->end()) { |
| // Default to selected. |
| - (*scan_results)[gallery.pref_id] = ScanResult(gallery, true); |
| + (*scan_results)[gallery.pref_id] = Entry(gallery, true); |
| } else { |
| // Update pref_info, in case anything has been updated. |
| existing->second.pref_info = gallery; |
| @@ -277,7 +304,7 @@ void MediaGalleriesScanResultDialogController::UpdateScanResultsFromPreferences( |
| } |
| } |
| -void MediaGalleriesScanResultDialogController::OnPreferencesInitialized() { |
| +void MediaGalleriesScanResultController::OnPreferencesInitialized() { |
| // These may be NULL in tests. |
| if (StorageMonitor::GetInstance()) |
| StorageMonitor::GetInstance()->AddObserver(this); |
| @@ -287,78 +314,72 @@ void MediaGalleriesScanResultDialogController::OnPreferencesInitialized() { |
| results_to_remove_, &scan_results_); |
| } |
| - // TODO(vandebo): Remove the conditional after GTK is removed. |
| - if (!create_dialog_callback_.is_null()) |
| - dialog_.reset(create_dialog_callback_.Run(this)); |
| + dialog_.reset(create_dialog_callback_.Run(this)); |
| } |
| -void MediaGalleriesScanResultDialogController::OnPreferenceUpdate( |
| +void MediaGalleriesScanResultController::OnPreferenceUpdate( |
| const std::string& extension_id) { |
| if (extension_id == extension_->id()) { |
| UpdateScanResultsFromPreferences(preferences_, extension_, |
| results_to_remove_, &scan_results_); |
| - dialog_->UpdateResults(); |
| + dialog_->UpdateGalleries(); |
| } |
| } |
| -void MediaGalleriesScanResultDialogController::OnRemovableDeviceUpdate( |
| +void MediaGalleriesScanResultController::OnRemovableDeviceUpdate( |
| const std::string device_id) { |
| for (ScanResults::const_iterator it = scan_results_.begin(); |
| it != scan_results_.end(); |
| ++it) { |
| if (it->second.pref_info.device_id == device_id) { |
| - dialog_->UpdateResults(); |
| + dialog_->UpdateGalleries(); |
| return; |
| } |
| } |
| } |
| -Profile* MediaGalleriesScanResultDialogController::GetProfile() const { |
| +Profile* MediaGalleriesScanResultController::GetProfile() const { |
| return Profile::FromBrowserContext(web_contents_->GetBrowserContext()); |
| } |
| -void MediaGalleriesScanResultDialogController::OnRemovableStorageAttached( |
| +void MediaGalleriesScanResultController::OnRemovableStorageAttached( |
| const StorageInfo& info) { |
| OnRemovableDeviceUpdate(info.device_id()); |
| } |
| -void MediaGalleriesScanResultDialogController::OnRemovableStorageDetached( |
| +void MediaGalleriesScanResultController::OnRemovableStorageDetached( |
| const StorageInfo& info) { |
| OnRemovableDeviceUpdate(info.device_id()); |
| } |
| -void MediaGalleriesScanResultDialogController::OnPermissionAdded( |
| +void MediaGalleriesScanResultController::OnPermissionAdded( |
| MediaGalleriesPreferences* /*pref*/, |
| const std::string& extension_id, |
| MediaGalleryPrefId /*pref_id*/) { |
| OnPreferenceUpdate(extension_id); |
| } |
| -void MediaGalleriesScanResultDialogController::OnPermissionRemoved( |
| +void MediaGalleriesScanResultController::OnPermissionRemoved( |
| MediaGalleriesPreferences* /*pref*/, |
| const std::string& extension_id, |
| MediaGalleryPrefId /*pref_id*/) { |
| OnPreferenceUpdate(extension_id); |
| } |
| -void MediaGalleriesScanResultDialogController::OnGalleryAdded( |
| +void MediaGalleriesScanResultController::OnGalleryAdded( |
| MediaGalleriesPreferences* /*prefs*/, |
| MediaGalleryPrefId /*pref_id*/) { |
| OnPreferenceUpdate(extension_->id()); |
| } |
| -void MediaGalleriesScanResultDialogController::OnGalleryRemoved( |
| +void MediaGalleriesScanResultController::OnGalleryRemoved( |
| MediaGalleriesPreferences* /*prefs*/, |
| MediaGalleryPrefId /*pref_id*/) { |
| OnPreferenceUpdate(extension_->id()); |
| } |
| -void MediaGalleriesScanResultDialogController::OnGalleryInfoUpdated( |
| +void MediaGalleriesScanResultController::OnGalleryInfoUpdated( |
| MediaGalleriesPreferences* /*prefs*/, |
| MediaGalleryPrefId /*pref_id*/) { |
| OnPreferenceUpdate(extension_->id()); |
| } |
| - |
| -// MediaGalleriesScanResultDialog --------------------------------------------- |
| - |
| -MediaGalleriesScanResultDialog::~MediaGalleriesScanResultDialog() {} |