| OLD | NEW |
| 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/ui/webui/options/media_galleries_handler.h" | 5 #include "chrome/browser/ui/webui/options/media_galleries_handler.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/prefs/pref_service.h" | 8 #include "base/prefs/pref_service.h" |
| 9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
| 10 #include "chrome/browser/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 { "manageGalleriesButton", IDS_MEDIA_GALLERY_MANAGE_BUTTON }, | 40 { "manageGalleriesButton", IDS_MEDIA_GALLERY_MANAGE_BUTTON }, |
| 41 { "addNewGalleryButton", IDS_MEDIA_GALLERY_ADD_NEW_BUTTON }, | 41 { "addNewGalleryButton", IDS_MEDIA_GALLERY_ADD_NEW_BUTTON }, |
| 42 }; | 42 }; |
| 43 | 43 |
| 44 RegisterStrings(values, resources, arraysize(resources)); | 44 RegisterStrings(values, resources, arraysize(resources)); |
| 45 RegisterTitle(values, "manageMediaGalleries", | 45 RegisterTitle(values, "manageMediaGalleries", |
| 46 IDS_MEDIA_GALLERY_MANAGE_TITLE); | 46 IDS_MEDIA_GALLERY_MANAGE_TITLE); |
| 47 } | 47 } |
| 48 | 48 |
| 49 void MediaGalleriesHandler::InitializePage() { | 49 void MediaGalleriesHandler::InitializePage() { |
| 50 StorageMonitor::GetInstance()->EnsureInitialized( | 50 Profile* profile = Profile::FromWebUI(web_ui()); |
| 51 base::Bind(&MediaGalleriesHandler::InitializeOnStorageMonitorInit, | 51 MediaGalleriesPreferences* preferences = |
| 52 weak_ptr_factory_.GetWeakPtr())); | 52 g_browser_process->media_file_system_registry()->GetPreferences(profile); |
| 53 preferences->EnsureInitialized(base::Bind( |
| 54 &MediaGalleriesHandler::InitializeOnMediaGalleriesPreferencesInit, |
| 55 weak_ptr_factory_.GetWeakPtr())); |
| 53 } | 56 } |
| 54 | 57 |
| 55 void MediaGalleriesHandler::InitializeOnStorageMonitorInit() { | 58 void MediaGalleriesHandler::InitializeOnMediaGalleriesPreferencesInit() { |
| 56 Profile* profile = Profile::FromWebUI(web_ui()); | 59 Profile* profile = Profile::FromWebUI(web_ui()); |
| 57 if (!MediaGalleriesPreferences::APIHasBeenUsed(profile)) | 60 if (!MediaGalleriesPreferences::APIHasBeenUsed(profile)) |
| 58 return; | 61 return; |
| 59 | 62 |
| 60 if (pref_change_registrar_.IsEmpty()) { | 63 if (pref_change_registrar_.IsEmpty()) { |
| 61 pref_change_registrar_.Init(profile->GetPrefs()); | 64 pref_change_registrar_.Init(profile->GetPrefs()); |
| 62 pref_change_registrar_.Add( | 65 pref_change_registrar_.Add( |
| 63 prefs::kMediaGalleriesRememberedGalleries, | 66 prefs::kMediaGalleriesRememberedGalleries, |
| 64 base::Bind(&MediaGalleriesHandler::OnGalleriesChanged, | 67 base::Bind(&MediaGalleriesHandler::OnGalleriesChanged, |
| 65 base::Unretained(this))); | 68 base::Unretained(this))); |
| 66 } | 69 } |
| 67 | 70 |
| 68 OnGalleriesChanged(); | 71 OnGalleriesChanged(); |
| 69 } | 72 } |
| 70 | 73 |
| 71 void MediaGalleriesHandler::RegisterMessages() { | 74 void MediaGalleriesHandler::RegisterMessages() { |
| 72 StorageMonitor::GetInstance()->EnsureInitialized( | 75 Profile* profile = Profile::FromWebUI(web_ui()); |
| 73 base::Bind(&MediaGalleriesHandler::RegisterOnStorageMonitorInit, | 76 MediaGalleriesPreferences* preferences = |
| 74 weak_ptr_factory_.GetWeakPtr())); | 77 g_browser_process->media_file_system_registry()->GetPreferences(profile); |
| 78 preferences->EnsureInitialized(base::Bind( |
| 79 &MediaGalleriesHandler::RegisterOnPreferencesInit, |
| 80 weak_ptr_factory_.GetWeakPtr())); |
| 75 } | 81 } |
| 76 | 82 |
| 77 void MediaGalleriesHandler::RegisterOnStorageMonitorInit() { | 83 void MediaGalleriesHandler::RegisterOnPreferencesInit() { |
| 78 web_ui()->RegisterMessageCallback( | 84 web_ui()->RegisterMessageCallback( |
| 79 "addNewGallery", | 85 "addNewGallery", |
| 80 base::Bind(&MediaGalleriesHandler::HandleAddNewGallery, | 86 base::Bind(&MediaGalleriesHandler::HandleAddNewGallery, |
| 81 base::Unretained(this))); | 87 base::Unretained(this))); |
| 82 web_ui()->RegisterMessageCallback( | 88 web_ui()->RegisterMessageCallback( |
| 83 "forgetGallery", | 89 "forgetGallery", |
| 84 base::Bind(&MediaGalleriesHandler::HandleForgetGallery, | 90 base::Bind(&MediaGalleriesHandler::HandleForgetGallery, |
| 85 base::Unretained(this))); | 91 base::Unretained(this))); |
| 86 } | 92 } |
| 87 | 93 |
| 88 void MediaGalleriesHandler::OnGalleriesChanged() { | 94 void MediaGalleriesHandler::OnGalleriesChanged() { |
| 89 DCHECK(StorageMonitor::GetInstance()->IsInitialized()); | 95 DCHECK(StorageMonitor::GetInstance()->IsInitialized()); |
| 90 Profile* profile = Profile::FromWebUI(web_ui()); | 96 Profile* profile = Profile::FromWebUI(web_ui()); |
| 91 MediaGalleriesPreferences* preferences = | 97 MediaGalleriesPreferences* preferences = |
| 92 g_browser_process->media_file_system_registry()->GetPreferences(profile); | 98 g_browser_process->media_file_system_registry()->GetPreferences(profile); |
| 99 DCHECK(preferences->IsInitialized()); |
| 93 | 100 |
| 94 ListValue list; | 101 ListValue list; |
| 95 const MediaGalleriesPrefInfoMap& galleries = preferences->known_galleries(); | 102 const MediaGalleriesPrefInfoMap& galleries = preferences->known_galleries(); |
| 96 for (MediaGalleriesPrefInfoMap::const_iterator iter = galleries.begin(); | 103 for (MediaGalleriesPrefInfoMap::const_iterator iter = galleries.begin(); |
| 97 iter != galleries.end(); ++iter) { | 104 iter != galleries.end(); ++iter) { |
| 98 const MediaGalleryPrefInfo& gallery = iter->second; | 105 const MediaGalleryPrefInfo& gallery = iter->second; |
| 99 if (gallery.type == MediaGalleryPrefInfo::kBlackListed) | 106 if (gallery.type == MediaGalleryPrefInfo::kBlackListed) |
| 100 continue; | 107 continue; |
| 101 | 108 |
| 102 DictionaryValue* dict = new DictionaryValue(); | 109 DictionaryValue* dict = new DictionaryValue(); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 131 if (!args->GetString(0, &string_id) || | 138 if (!args->GetString(0, &string_id) || |
| 132 !base::StringToUint64(string_id, &id)) { | 139 !base::StringToUint64(string_id, &id)) { |
| 133 NOTREACHED(); | 140 NOTREACHED(); |
| 134 return; | 141 return; |
| 135 } | 142 } |
| 136 | 143 |
| 137 DCHECK(StorageMonitor::GetInstance()->IsInitialized()); | 144 DCHECK(StorageMonitor::GetInstance()->IsInitialized()); |
| 138 MediaGalleriesPreferences* preferences = | 145 MediaGalleriesPreferences* preferences = |
| 139 g_browser_process->media_file_system_registry()->GetPreferences( | 146 g_browser_process->media_file_system_registry()->GetPreferences( |
| 140 Profile::FromWebUI(web_ui())); | 147 Profile::FromWebUI(web_ui())); |
| 148 DCHECK(preferences->IsInitialized()); |
| 141 preferences->ForgetGalleryById(id); | 149 preferences->ForgetGalleryById(id); |
| 142 } | 150 } |
| 143 | 151 |
| 144 void MediaGalleriesHandler::FileSelected(const base::FilePath& path, | 152 void MediaGalleriesHandler::FileSelected(const base::FilePath& path, |
| 145 int index, | 153 int index, |
| 146 void* params) { | 154 void* params) { |
| 147 DCHECK(StorageMonitor::GetInstance()->IsInitialized()); | 155 DCHECK(StorageMonitor::GetInstance()->IsInitialized()); |
| 148 MediaGalleriesPreferences* preferences = | 156 MediaGalleriesPreferences* preferences = |
| 149 g_browser_process->media_file_system_registry()->GetPreferences( | 157 g_browser_process->media_file_system_registry()->GetPreferences( |
| 150 Profile::FromWebUI(web_ui())); | 158 Profile::FromWebUI(web_ui())); |
| 159 DCHECK(preferences->IsInitialized()); |
| 151 preferences->AddGalleryByPath(path); | 160 preferences->AddGalleryByPath(path); |
| 152 } | 161 } |
| 153 | 162 |
| 154 } // namespace options | 163 } // namespace options |
| OLD | NEW |