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

Side by Side Diff: chrome/browser/extensions/api/media_galleries_private/media_galleries_private_api.cc

Issue 282153002: Media Galleries: Enable chrome.mediaGalleriesPrivate.onGalleryChanged and friends on Linux. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 6 years, 7 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/extensions/api/media_galleries_private/media_galleries_ private_api.h" 5 #include "chrome/browser/extensions/api/media_galleries_private/media_galleries_ private_api.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 if (!GetGalleryFilePathAndId(pref_id, 187 if (!GetGalleryFilePathAndId(pref_id,
188 GetProfile(), 188 GetProfile(),
189 GetExtension(), 189 GetExtension(),
190 &gallery_file_path, 190 &gallery_file_path,
191 &gallery_pref_id)) { 191 &gallery_pref_id)) {
192 error_ = kInvalidGalleryIDError; 192 error_ = kInvalidGalleryIDError;
193 HandleResponse(gallery_pref_id, false); 193 HandleResponse(gallery_pref_id, false);
194 return; 194 return;
195 } 195 }
196 196
197 #if defined(OS_WIN) 197 #if defined(OS_WIN) || defined(OS_LINUX)
198 MediaGalleriesPrivateEventRouter* router = 198 MediaGalleriesPrivateEventRouter* router =
199 MediaGalleriesPrivateAPI::Get(GetProfile())->GetEventRouter(); 199 MediaGalleriesPrivateAPI::Get(GetProfile())->GetEventRouter();
200 DCHECK(router); 200 DCHECK(router);
201 content::BrowserThread::PostTaskAndReplyWithResult( 201 content::BrowserThread::PostTaskAndReplyWithResult(
202 content::BrowserThread::FILE, 202 content::BrowserThread::FILE,
203 FROM_HERE, 203 FROM_HERE,
204 base::Bind(&GalleryWatchManager::SetupGalleryWatch, 204 base::Bind(&GalleryWatchManager::SetupGalleryWatch,
205 GetProfile(), 205 GetProfile(),
206 gallery_pref_id, 206 gallery_pref_id,
207 gallery_file_path, 207 gallery_file_path,
208 extension_id(), 208 extension_id(),
209 router->AsWeakPtr()), 209 router->AsWeakPtr()),
210 base::Bind(&MediaGalleriesPrivateAddGalleryWatchFunction::HandleResponse, 210 base::Bind(&MediaGalleriesPrivateAddGalleryWatchFunction::HandleResponse,
211 this, 211 this,
212 gallery_pref_id)); 212 gallery_pref_id));
213 #else 213 #else
214 // Recursive gallery watch operation is not currently supported on 214 // Recursive gallery watch operation is not currently supported on Mac:
215 // non-windows platforms. Please refer to crbug.com/144491 for more details. 215 // crbug.com/144491
216 HandleResponse(gallery_pref_id, false); 216 HandleResponse(gallery_pref_id, false);
217 #endif 217 #endif
218 } 218 }
219 219
220 void MediaGalleriesPrivateAddGalleryWatchFunction::HandleResponse( 220 void MediaGalleriesPrivateAddGalleryWatchFunction::HandleResponse(
221 MediaGalleryPrefId gallery_id, 221 MediaGalleryPrefId gallery_id,
222 bool success) { 222 bool success) {
223 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 223 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
224 media_galleries_private::AddGalleryWatchResult result; 224 media_galleries_private::AddGalleryWatchResult result;
225 result.gallery_id = base::Uint64ToString(gallery_id); 225 result.gallery_id = base::Uint64ToString(gallery_id);
(...skipping 17 matching lines...) Expand all
243 243
244 MediaGalleriesPrivateRemoveGalleryWatchFunction:: 244 MediaGalleriesPrivateRemoveGalleryWatchFunction::
245 ~MediaGalleriesPrivateRemoveGalleryWatchFunction() { 245 ~MediaGalleriesPrivateRemoveGalleryWatchFunction() {
246 } 246 }
247 247
248 bool MediaGalleriesPrivateRemoveGalleryWatchFunction::RunAsync() { 248 bool MediaGalleriesPrivateRemoveGalleryWatchFunction::RunAsync() {
249 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 249 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
250 if (!render_view_host() || !render_view_host()->GetProcess()) 250 if (!render_view_host() || !render_view_host()->GetProcess())
251 return false; 251 return false;
252 252
253 // Remove gallery watch operation is currently supported on windows platforms. 253 // Remove gallery watch operation is currently supported on Mac:
254 // Please refer to crbug.com/144491 for more details. 254 // crbug.com/144491
255 scoped_ptr<RemoveGalleryWatch::Params> params( 255 scoped_ptr<RemoveGalleryWatch::Params> params(
256 RemoveGalleryWatch::Params::Create(*args_)); 256 RemoveGalleryWatch::Params::Create(*args_));
257 EXTENSION_FUNCTION_VALIDATE(params.get()); 257 EXTENSION_FUNCTION_VALIDATE(params.get());
258 258
259 MediaGalleriesPreferences* preferences = 259 MediaGalleriesPreferences* preferences =
260 g_browser_process->media_file_system_registry()->GetPreferences( 260 g_browser_process->media_file_system_registry()->GetPreferences(
261 GetProfile()); 261 GetProfile());
262 preferences->EnsureInitialized(base::Bind( 262 preferences->EnsureInitialized(base::Bind(
263 &MediaGalleriesPrivateRemoveGalleryWatchFunction::OnPreferencesInit, 263 &MediaGalleriesPrivateRemoveGalleryWatchFunction::OnPreferencesInit,
264 this, 264 this,
265 params->gallery_id)); 265 params->gallery_id));
266 return true; 266 return true;
267 } 267 }
268 268
269 void MediaGalleriesPrivateRemoveGalleryWatchFunction::OnPreferencesInit( 269 void MediaGalleriesPrivateRemoveGalleryWatchFunction::OnPreferencesInit(
270 const std::string& pref_id) { 270 const std::string& pref_id) {
271 #if defined(OS_WIN) 271 #if defined(OS_WIN) || defined(OS_LINUX)
272 base::FilePath gallery_file_path; 272 base::FilePath gallery_file_path;
273 MediaGalleryPrefId gallery_pref_id = 0; 273 MediaGalleryPrefId gallery_pref_id = 0;
274 if (!GetGalleryFilePathAndId(pref_id, 274 if (!GetGalleryFilePathAndId(pref_id,
275 GetProfile(), 275 GetProfile(),
276 GetExtension(), 276 GetExtension(),
277 &gallery_file_path, 277 &gallery_file_path,
278 &gallery_pref_id)) { 278 &gallery_pref_id)) {
279 error_ = kInvalidGalleryIDError; 279 error_ = kInvalidGalleryIDError;
280 SendResponse(false); 280 SendResponse(false);
281 return; 281 return;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 g_browser_process->media_file_system_registry()->GetPreferences( 313 g_browser_process->media_file_system_registry()->GetPreferences(
314 GetProfile()); 314 GetProfile());
315 preferences->EnsureInitialized(base::Bind( 315 preferences->EnsureInitialized(base::Bind(
316 &MediaGalleriesPrivateGetAllGalleryWatchFunction::OnPreferencesInit, 316 &MediaGalleriesPrivateGetAllGalleryWatchFunction::OnPreferencesInit,
317 this)); 317 this));
318 return true; 318 return true;
319 } 319 }
320 320
321 void MediaGalleriesPrivateGetAllGalleryWatchFunction::OnPreferencesInit() { 321 void MediaGalleriesPrivateGetAllGalleryWatchFunction::OnPreferencesInit() {
322 std::vector<std::string> result; 322 std::vector<std::string> result;
323 #if defined(OS_WIN) 323 #if defined(OS_WIN) || defined(OS_LINUX)
324 GalleryWatchStateTracker* state_tracker = MediaGalleriesPrivateAPI::Get( 324 GalleryWatchStateTracker* state_tracker = MediaGalleriesPrivateAPI::Get(
325 GetProfile())->GetGalleryWatchStateTracker(); 325 GetProfile())->GetGalleryWatchStateTracker();
326 MediaGalleryPrefIdSet gallery_ids = 326 MediaGalleryPrefIdSet gallery_ids =
327 state_tracker->GetAllWatchedGalleryIDsForExtension(extension_id()); 327 state_tracker->GetAllWatchedGalleryIDsForExtension(extension_id());
328 for (MediaGalleryPrefIdSet::const_iterator iter = gallery_ids.begin(); 328 for (MediaGalleryPrefIdSet::const_iterator iter = gallery_ids.begin();
329 iter != gallery_ids.end(); ++iter) { 329 iter != gallery_ids.end(); ++iter) {
330 result.push_back(base::Uint64ToString(*iter)); 330 result.push_back(base::Uint64ToString(*iter));
331 } 331 }
332 #endif 332 #endif
333 results_ = GetAllGalleryWatch::Results::Create(result); 333 results_ = GetAllGalleryWatch::Results::Create(result);
(...skipping 16 matching lines...) Expand all
350 MediaGalleriesPreferences* preferences = 350 MediaGalleriesPreferences* preferences =
351 g_browser_process->media_file_system_registry()->GetPreferences( 351 g_browser_process->media_file_system_registry()->GetPreferences(
352 GetProfile()); 352 GetProfile());
353 preferences->EnsureInitialized(base::Bind( 353 preferences->EnsureInitialized(base::Bind(
354 &MediaGalleriesPrivateRemoveAllGalleryWatchFunction::OnPreferencesInit, 354 &MediaGalleriesPrivateRemoveAllGalleryWatchFunction::OnPreferencesInit,
355 this)); 355 this));
356 return true; 356 return true;
357 } 357 }
358 358
359 void MediaGalleriesPrivateRemoveAllGalleryWatchFunction::OnPreferencesInit() { 359 void MediaGalleriesPrivateRemoveAllGalleryWatchFunction::OnPreferencesInit() {
360 #if defined(OS_WIN) 360 #if defined(OS_WIN) || defined(OS_LINUX)
361 MediaGalleriesPreferences* preferences = 361 MediaGalleriesPreferences* preferences =
362 g_browser_process->media_file_system_registry()->GetPreferences( 362 g_browser_process->media_file_system_registry()->GetPreferences(
363 GetProfile()); 363 GetProfile());
364 GalleryWatchStateTracker* state_tracker = MediaGalleriesPrivateAPI::Get( 364 GalleryWatchStateTracker* state_tracker = MediaGalleriesPrivateAPI::Get(
365 GetProfile())->GetGalleryWatchStateTracker(); 365 GetProfile())->GetGalleryWatchStateTracker();
366 state_tracker->RemoveAllGalleryWatchersForExtension( 366 state_tracker->RemoveAllGalleryWatchersForExtension(
367 extension_id(), preferences); 367 extension_id(), preferences);
368 #endif 368 #endif
369 SendResponse(true); 369 SendResponse(true);
370 } 370 }
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 } 413 }
414 } 414 }
415 415
416 SetResult(result_list); 416 SetResult(result_list);
417 SendResponse(true); 417 SendResponse(true);
418 418
419 return true; 419 return true;
420 } 420 }
421 421
422 } // namespace extensions 422 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698