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

Side by Side Diff: chrome/browser/google_apis/drive_api_service.cc

Issue 15333013: Replace most of the occurrence of OperationRegistry with OperationRunner. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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/google_apis/drive_api_service.h" 5 #include "chrome/browser/google_apis/drive_api_service.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 return HasRefreshToken(); 267 return HasRefreshToken();
268 } 268 }
269 269
270 void DriveAPIService::CancelAll() { 270 void DriveAPIService::CancelAll() {
271 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 271 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
272 runner_->CancelAll(); 272 runner_->CancelAll();
273 } 273 }
274 274
275 bool DriveAPIService::CancelForFilePath(const base::FilePath& file_path) { 275 bool DriveAPIService::CancelForFilePath(const base::FilePath& file_path) {
276 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 276 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
277 return operation_registry()->CancelForFilePath(file_path); 277 return runner_->operation_registry()->CancelForFilePath(file_path);
278 } 278 }
279 279
280 std::string DriveAPIService::GetRootResourceId() const { 280 std::string DriveAPIService::GetRootResourceId() const {
281 return kDriveApiRootDirectoryResourceId; 281 return kDriveApiRootDirectoryResourceId;
282 } 282 }
283 283
284 void DriveAPIService::GetAllResourceList( 284 void DriveAPIService::GetAllResourceList(
285 const GetResourceListCallback& callback) { 285 const GetResourceListCallback& callback) {
286 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 286 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
287 DCHECK(!callback.is_null()); 287 DCHECK(!callback.is_null());
288 288
289 // The simplest way to fetch the all resources list looks files.list method, 289 // The simplest way to fetch the all resources list looks files.list method,
290 // but it seems impossible to know the returned list's changestamp. 290 // but it seems impossible to know the returned list's changestamp.
291 // Thus, instead, we use changes.list method with includeDeleted=false here. 291 // Thus, instead, we use changes.list method with includeDeleted=false here.
292 // The returned list should contain only resources currently existing. 292 // The returned list should contain only resources currently existing.
293 runner_->StartOperationWithRetry( 293 runner_->StartOperationWithRetry(
294 new GetChangelistOperation( 294 new GetChangelistOperation(
295 operation_registry(), 295 runner_.get(),
296 url_request_context_getter_, 296 url_request_context_getter_,
297 url_generator_, 297 url_generator_,
298 false, // include deleted 298 false, // include deleted
299 0, 299 0,
300 kMaxNumFilesResourcePerRequest, 300 kMaxNumFilesResourcePerRequest,
301 base::Bind(&ParseResourceListOnBlockingPoolAndRun, callback))); 301 base::Bind(&ParseResourceListOnBlockingPoolAndRun, callback)));
302 } 302 }
303 303
304 void DriveAPIService::GetResourceListInDirectory( 304 void DriveAPIService::GetResourceListInDirectory(
305 const std::string& directory_resource_id, 305 const std::string& directory_resource_id,
306 const GetResourceListCallback& callback) { 306 const GetResourceListCallback& callback) {
307 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 307 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
308 DCHECK(!directory_resource_id.empty()); 308 DCHECK(!directory_resource_id.empty());
309 DCHECK(!callback.is_null()); 309 DCHECK(!callback.is_null());
310 310
311 // Because children.list method on Drive API v2 returns only the list of 311 // Because children.list method on Drive API v2 returns only the list of
312 // children's references, but we need all file resource list. 312 // children's references, but we need all file resource list.
313 // So, here we use files.list method instead, with setting parents query. 313 // So, here we use files.list method instead, with setting parents query.
314 // After the migration from GData WAPI to Drive API v2, we should clean the 314 // After the migration from GData WAPI to Drive API v2, we should clean the
315 // code up by moving the resposibility to include "parents" in the query 315 // code up by moving the resposibility to include "parents" in the query
316 // to client side. 316 // to client side.
317 // We aren't interested in files in trash in this context, neither. 317 // We aren't interested in files in trash in this context, neither.
318 runner_->StartOperationWithRetry( 318 runner_->StartOperationWithRetry(
319 new GetFilelistOperation( 319 new GetFilelistOperation(
320 operation_registry(), 320 runner_.get(),
321 url_request_context_getter_, 321 url_request_context_getter_,
322 url_generator_, 322 url_generator_,
323 base::StringPrintf( 323 base::StringPrintf(
324 "'%s' in parents and trashed = false", 324 "'%s' in parents and trashed = false",
325 drive::util::EscapeQueryStringValue( 325 drive::util::EscapeQueryStringValue(
326 directory_resource_id).c_str()), 326 directory_resource_id).c_str()),
327 kMaxNumFilesResourcePerRequest, 327 kMaxNumFilesResourcePerRequest,
328 base::Bind(&ParseResourceListOnBlockingPoolAndRun, callback))); 328 base::Bind(&ParseResourceListOnBlockingPoolAndRun, callback)));
329 } 329 }
330 330
331 void DriveAPIService::Search(const std::string& search_query, 331 void DriveAPIService::Search(const std::string& search_query,
332 const GetResourceListCallback& callback) { 332 const GetResourceListCallback& callback) {
333 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 333 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
334 DCHECK(!search_query.empty()); 334 DCHECK(!search_query.empty());
335 DCHECK(!callback.is_null()); 335 DCHECK(!callback.is_null());
336 336
337 runner_->StartOperationWithRetry( 337 runner_->StartOperationWithRetry(
338 new GetFilelistOperation( 338 new GetFilelistOperation(
339 operation_registry(), 339 runner_.get(),
340 url_request_context_getter_, 340 url_request_context_getter_,
341 url_generator_, 341 url_generator_,
342 drive::util::TranslateQuery(search_query), 342 drive::util::TranslateQuery(search_query),
343 kMaxNumFilesResourcePerRequestForSearch, 343 kMaxNumFilesResourcePerRequestForSearch,
344 base::Bind(&ParseResourceListOnBlockingPoolAndRun, callback))); 344 base::Bind(&ParseResourceListOnBlockingPoolAndRun, callback)));
345 } 345 }
346 346
347 void DriveAPIService::SearchByTitle( 347 void DriveAPIService::SearchByTitle(
348 const std::string& title, 348 const std::string& title,
349 const std::string& directory_resource_id, 349 const std::string& directory_resource_id,
350 const GetResourceListCallback& callback) { 350 const GetResourceListCallback& callback) {
351 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 351 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
352 DCHECK(!title.empty()); 352 DCHECK(!title.empty());
353 DCHECK(!callback.is_null()); 353 DCHECK(!callback.is_null());
354 354
355 std::string query; 355 std::string query;
356 base::StringAppendF(&query, "title = '%s'", 356 base::StringAppendF(&query, "title = '%s'",
357 drive::util::EscapeQueryStringValue(title).c_str()); 357 drive::util::EscapeQueryStringValue(title).c_str());
358 if (!directory_resource_id.empty()) { 358 if (!directory_resource_id.empty()) {
359 base::StringAppendF( 359 base::StringAppendF(
360 &query, " and '%s' in parents", 360 &query, " and '%s' in parents",
361 drive::util::EscapeQueryStringValue(directory_resource_id).c_str()); 361 drive::util::EscapeQueryStringValue(directory_resource_id).c_str());
362 } 362 }
363 query += " and trashed = false"; 363 query += " and trashed = false";
364 364
365 runner_->StartOperationWithRetry( 365 runner_->StartOperationWithRetry(
366 new GetFilelistOperation( 366 new GetFilelistOperation(
367 operation_registry(), 367 runner_.get(),
368 url_request_context_getter_, 368 url_request_context_getter_,
369 url_generator_, 369 url_generator_,
370 query, 370 query,
371 kMaxNumFilesResourcePerRequest, 371 kMaxNumFilesResourcePerRequest,
372 base::Bind(&ParseResourceListOnBlockingPoolAndRun, callback))); 372 base::Bind(&ParseResourceListOnBlockingPoolAndRun, callback)));
373 } 373 }
374 374
375 void DriveAPIService::GetChangeList(int64 start_changestamp, 375 void DriveAPIService::GetChangeList(int64 start_changestamp,
376 const GetResourceListCallback& callback) { 376 const GetResourceListCallback& callback) {
377 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 377 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
378 DCHECK(!callback.is_null()); 378 DCHECK(!callback.is_null());
379 379
380 runner_->StartOperationWithRetry( 380 runner_->StartOperationWithRetry(
381 new GetChangelistOperation( 381 new GetChangelistOperation(
382 operation_registry(), 382 runner_.get(),
383 url_request_context_getter_, 383 url_request_context_getter_,
384 url_generator_, 384 url_generator_,
385 true, // include deleted 385 true, // include deleted
386 start_changestamp, 386 start_changestamp,
387 kMaxNumFilesResourcePerRequest, 387 kMaxNumFilesResourcePerRequest,
388 base::Bind(&ParseResourceListOnBlockingPoolAndRun, callback))); 388 base::Bind(&ParseResourceListOnBlockingPoolAndRun, callback)));
389 } 389 }
390 390
391 void DriveAPIService::ContinueGetResourceList( 391 void DriveAPIService::ContinueGetResourceList(
392 const GURL& override_url, 392 const GURL& override_url,
393 const GetResourceListCallback& callback) { 393 const GetResourceListCallback& callback) {
394 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 394 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
395 DCHECK(!callback.is_null()); 395 DCHECK(!callback.is_null());
396 396
397 runner_->StartOperationWithRetry( 397 runner_->StartOperationWithRetry(
398 new drive::ContinueGetFileListOperation( 398 new drive::ContinueGetFileListOperation(
399 operation_registry(), 399 runner_.get(),
400 url_request_context_getter_, 400 url_request_context_getter_,
401 override_url, 401 override_url,
402 base::Bind(&ParseResourceListOnBlockingPoolAndRun, callback))); 402 base::Bind(&ParseResourceListOnBlockingPoolAndRun, callback)));
403 } 403 }
404 404
405 void DriveAPIService::GetResourceEntry( 405 void DriveAPIService::GetResourceEntry(
406 const std::string& resource_id, 406 const std::string& resource_id,
407 const GetResourceEntryCallback& callback) { 407 const GetResourceEntryCallback& callback) {
408 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 408 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
409 DCHECK(!callback.is_null()); 409 DCHECK(!callback.is_null());
410 410
411 runner_->StartOperationWithRetry(new GetFileOperation( 411 runner_->StartOperationWithRetry(new GetFileOperation(
412 operation_registry(), 412 runner_.get(),
413 url_request_context_getter_, 413 url_request_context_getter_,
414 url_generator_, 414 url_generator_,
415 resource_id, 415 resource_id,
416 base::Bind(&ParseResourceEntryAndRun, callback))); 416 base::Bind(&ParseResourceEntryAndRun, callback)));
417 } 417 }
418 418
419 void DriveAPIService::GetAboutResource( 419 void DriveAPIService::GetAboutResource(
420 const GetAboutResourceCallback& callback) { 420 const GetAboutResourceCallback& callback) {
421 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 421 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
422 DCHECK(!callback.is_null()); 422 DCHECK(!callback.is_null());
423 423
424 runner_->StartOperationWithRetry( 424 runner_->StartOperationWithRetry(
425 new GetAboutOperation( 425 new GetAboutOperation(
426 operation_registry(), 426 runner_.get(),
427 url_request_context_getter_, 427 url_request_context_getter_,
428 url_generator_, 428 url_generator_,
429 callback)); 429 callback));
430 } 430 }
431 431
432 void DriveAPIService::GetAppList(const GetAppListCallback& callback) { 432 void DriveAPIService::GetAppList(const GetAppListCallback& callback) {
433 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 433 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
434 DCHECK(!callback.is_null()); 434 DCHECK(!callback.is_null());
435 435
436 runner_->StartOperationWithRetry(new GetApplistOperation( 436 runner_->StartOperationWithRetry(new GetApplistOperation(
437 operation_registry(), 437 runner_.get(),
438 url_request_context_getter_, 438 url_request_context_getter_,
439 url_generator_, 439 url_generator_,
440 base::Bind(&ParseAppListAndRun, callback))); 440 base::Bind(&ParseAppListAndRun, callback)));
441 } 441 }
442 442
443 void DriveAPIService::DownloadFile( 443 void DriveAPIService::DownloadFile(
444 const base::FilePath& virtual_path, 444 const base::FilePath& virtual_path,
445 const base::FilePath& local_cache_path, 445 const base::FilePath& local_cache_path,
446 const GURL& download_url, 446 const GURL& download_url,
447 const DownloadActionCallback& download_action_callback, 447 const DownloadActionCallback& download_action_callback,
448 const GetContentCallback& get_content_callback, 448 const GetContentCallback& get_content_callback,
449 const ProgressCallback& progress_callback) { 449 const ProgressCallback& progress_callback) {
450 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 450 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
451 DCHECK(!download_action_callback.is_null()); 451 DCHECK(!download_action_callback.is_null());
452 // get_content_callback may be null. 452 // get_content_callback may be null.
453 453
454 runner_->StartOperationWithRetry( 454 runner_->StartOperationWithRetry(
455 new DownloadFileOperation(operation_registry(), 455 new DownloadFileOperation(runner_.get(),
456 url_request_context_getter_, 456 url_request_context_getter_,
457 download_action_callback, 457 download_action_callback,
458 get_content_callback, 458 get_content_callback,
459 progress_callback, 459 progress_callback,
460 download_url, 460 download_url,
461 virtual_path, 461 virtual_path,
462 local_cache_path)); 462 local_cache_path));
463 } 463 }
464 464
465 void DriveAPIService::DeleteResource( 465 void DriveAPIService::DeleteResource(
466 const std::string& resource_id, 466 const std::string& resource_id,
467 const std::string& etag, 467 const std::string& etag,
468 const EntryActionCallback& callback) { 468 const EntryActionCallback& callback) {
469 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 469 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
470 DCHECK(!callback.is_null()); 470 DCHECK(!callback.is_null());
471 471
472 runner_->StartOperationWithRetry(new drive::TrashResourceOperation( 472 runner_->StartOperationWithRetry(new drive::TrashResourceOperation(
473 operation_registry(), 473 runner_.get(),
474 url_request_context_getter_, 474 url_request_context_getter_,
475 url_generator_, 475 url_generator_,
476 resource_id, 476 resource_id,
477 callback)); 477 callback));
478 } 478 }
479 479
480 void DriveAPIService::AddNewDirectory( 480 void DriveAPIService::AddNewDirectory(
481 const std::string& parent_resource_id, 481 const std::string& parent_resource_id,
482 const std::string& directory_name, 482 const std::string& directory_name,
483 const GetResourceEntryCallback& callback) { 483 const GetResourceEntryCallback& callback) {
484 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 484 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
485 DCHECK(!callback.is_null()); 485 DCHECK(!callback.is_null());
486 486
487 runner_->StartOperationWithRetry( 487 runner_->StartOperationWithRetry(
488 new drive::CreateDirectoryOperation( 488 new drive::CreateDirectoryOperation(
489 operation_registry(), 489 runner_.get(),
490 url_request_context_getter_, 490 url_request_context_getter_,
491 url_generator_, 491 url_generator_,
492 parent_resource_id, 492 parent_resource_id,
493 directory_name, 493 directory_name,
494 base::Bind(&ParseResourceEntryAndRun, callback))); 494 base::Bind(&ParseResourceEntryAndRun, callback)));
495 } 495 }
496 496
497 void DriveAPIService::CopyResource( 497 void DriveAPIService::CopyResource(
498 const std::string& resource_id, 498 const std::string& resource_id,
499 const std::string& parent_resource_id, 499 const std::string& parent_resource_id,
500 const std::string& new_name, 500 const std::string& new_name,
501 const GetResourceEntryCallback& callback) { 501 const GetResourceEntryCallback& callback) {
502 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 502 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
503 DCHECK(!callback.is_null()); 503 DCHECK(!callback.is_null());
504 504
505 runner_->StartOperationWithRetry( 505 runner_->StartOperationWithRetry(
506 new drive::CopyResourceOperation( 506 new drive::CopyResourceOperation(
507 operation_registry(), 507 runner_.get(),
508 url_request_context_getter_, 508 url_request_context_getter_,
509 url_generator_, 509 url_generator_,
510 resource_id, 510 resource_id,
511 parent_resource_id, 511 parent_resource_id,
512 new_name, 512 new_name,
513 base::Bind(&ParseResourceEntryAndRun, callback))); 513 base::Bind(&ParseResourceEntryAndRun, callback)));
514 } 514 }
515 515
516 void DriveAPIService::CopyHostedDocument( 516 void DriveAPIService::CopyHostedDocument(
517 const std::string& resource_id, 517 const std::string& resource_id,
518 const std::string& new_name, 518 const std::string& new_name,
519 const GetResourceEntryCallback& callback) { 519 const GetResourceEntryCallback& callback) {
520 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 520 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
521 DCHECK(!callback.is_null()); 521 DCHECK(!callback.is_null());
522 522
523 runner_->StartOperationWithRetry( 523 runner_->StartOperationWithRetry(
524 new drive::CopyResourceOperation( 524 new drive::CopyResourceOperation(
525 operation_registry(), 525 runner_.get(),
526 url_request_context_getter_, 526 url_request_context_getter_,
527 url_generator_, 527 url_generator_,
528 resource_id, 528 resource_id,
529 std::string(), // parent_resource_id. 529 std::string(), // parent_resource_id.
530 new_name, 530 new_name,
531 base::Bind(&ParseResourceEntryAndRun, callback))); 531 base::Bind(&ParseResourceEntryAndRun, callback)));
532 } 532 }
533 533
534 void DriveAPIService::RenameResource( 534 void DriveAPIService::RenameResource(
535 const std::string& resource_id, 535 const std::string& resource_id,
536 const std::string& new_name, 536 const std::string& new_name,
537 const EntryActionCallback& callback) { 537 const EntryActionCallback& callback) {
538 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 538 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
539 DCHECK(!callback.is_null()); 539 DCHECK(!callback.is_null());
540 540
541 runner_->StartOperationWithRetry( 541 runner_->StartOperationWithRetry(
542 new drive::RenameResourceOperation( 542 new drive::RenameResourceOperation(
543 operation_registry(), 543 runner_.get(),
544 url_request_context_getter_, 544 url_request_context_getter_,
545 url_generator_, 545 url_generator_,
546 resource_id, 546 resource_id,
547 new_name, 547 new_name,
548 callback)); 548 callback));
549 } 549 }
550 550
551 void DriveAPIService::AddResourceToDirectory( 551 void DriveAPIService::AddResourceToDirectory(
552 const std::string& parent_resource_id, 552 const std::string& parent_resource_id,
553 const std::string& resource_id, 553 const std::string& resource_id,
554 const EntryActionCallback& callback) { 554 const EntryActionCallback& callback) {
555 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 555 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
556 DCHECK(!callback.is_null()); 556 DCHECK(!callback.is_null());
557 557
558 runner_->StartOperationWithRetry( 558 runner_->StartOperationWithRetry(
559 new drive::InsertResourceOperation( 559 new drive::InsertResourceOperation(
560 operation_registry(), 560 runner_.get(),
561 url_request_context_getter_, 561 url_request_context_getter_,
562 url_generator_, 562 url_generator_,
563 parent_resource_id, 563 parent_resource_id,
564 resource_id, 564 resource_id,
565 callback)); 565 callback));
566 } 566 }
567 567
568 void DriveAPIService::RemoveResourceFromDirectory( 568 void DriveAPIService::RemoveResourceFromDirectory(
569 const std::string& parent_resource_id, 569 const std::string& parent_resource_id,
570 const std::string& resource_id, 570 const std::string& resource_id,
571 const EntryActionCallback& callback) { 571 const EntryActionCallback& callback) {
572 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 572 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
573 DCHECK(!callback.is_null()); 573 DCHECK(!callback.is_null());
574 574
575 runner_->StartOperationWithRetry( 575 runner_->StartOperationWithRetry(
576 new drive::DeleteResourceOperation( 576 new drive::DeleteResourceOperation(
577 operation_registry(), 577 runner_.get(),
578 url_request_context_getter_, 578 url_request_context_getter_,
579 url_generator_, 579 url_generator_,
580 parent_resource_id, 580 parent_resource_id,
581 resource_id, 581 resource_id,
582 callback)); 582 callback));
583 } 583 }
584 584
585 void DriveAPIService::InitiateUploadNewFile( 585 void DriveAPIService::InitiateUploadNewFile(
586 const base::FilePath& drive_file_path, 586 const base::FilePath& drive_file_path,
587 const std::string& content_type, 587 const std::string& content_type,
588 int64 content_length, 588 int64 content_length,
589 const std::string& parent_resource_id, 589 const std::string& parent_resource_id,
590 const std::string& title, 590 const std::string& title,
591 const InitiateUploadCallback& callback) { 591 const InitiateUploadCallback& callback) {
592 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 592 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
593 DCHECK(!callback.is_null()); 593 DCHECK(!callback.is_null());
594 594
595 runner_->StartOperationWithRetry( 595 runner_->StartOperationWithRetry(
596 new drive::InitiateUploadNewFileOperation( 596 new drive::InitiateUploadNewFileOperation(
597 operation_registry(), 597 runner_.get(),
598 url_request_context_getter_, 598 url_request_context_getter_,
599 url_generator_, 599 url_generator_,
600 drive_file_path, 600 drive_file_path,
601 content_type, 601 content_type,
602 content_length, 602 content_length,
603 parent_resource_id, 603 parent_resource_id,
604 title, 604 title,
605 callback)); 605 callback));
606 } 606 }
607 607
608 void DriveAPIService::InitiateUploadExistingFile( 608 void DriveAPIService::InitiateUploadExistingFile(
609 const base::FilePath& drive_file_path, 609 const base::FilePath& drive_file_path,
610 const std::string& content_type, 610 const std::string& content_type,
611 int64 content_length, 611 int64 content_length,
612 const std::string& resource_id, 612 const std::string& resource_id,
613 const std::string& etag, 613 const std::string& etag,
614 const InitiateUploadCallback& callback) { 614 const InitiateUploadCallback& callback) {
615 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 615 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
616 DCHECK(!callback.is_null()); 616 DCHECK(!callback.is_null());
617 617
618 runner_->StartOperationWithRetry( 618 runner_->StartOperationWithRetry(
619 new drive::InitiateUploadExistingFileOperation( 619 new drive::InitiateUploadExistingFileOperation(
620 operation_registry(), 620 runner_.get(),
621 url_request_context_getter_, 621 url_request_context_getter_,
622 url_generator_, 622 url_generator_,
623 drive_file_path, 623 drive_file_path,
624 content_type, 624 content_type,
625 content_length, 625 content_length,
626 resource_id, 626 resource_id,
627 etag, 627 etag,
628 callback)); 628 callback));
629 } 629 }
630 630
631 void DriveAPIService::ResumeUpload( 631 void DriveAPIService::ResumeUpload(
632 const base::FilePath& drive_file_path, 632 const base::FilePath& drive_file_path,
633 const GURL& upload_url, 633 const GURL& upload_url,
634 int64 start_position, 634 int64 start_position,
635 int64 end_position, 635 int64 end_position,
636 int64 content_length, 636 int64 content_length,
637 const std::string& content_type, 637 const std::string& content_type,
638 const base::FilePath& local_file_path, 638 const base::FilePath& local_file_path,
639 const UploadRangeCallback& callback, 639 const UploadRangeCallback& callback,
640 const ProgressCallback& progress_callback) { 640 const ProgressCallback& progress_callback) {
641 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 641 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
642 DCHECK(!callback.is_null()); 642 DCHECK(!callback.is_null());
643 643
644 runner_->StartOperationWithRetry( 644 runner_->StartOperationWithRetry(
645 new drive::ResumeUploadOperation( 645 new drive::ResumeUploadOperation(
646 operation_registry(), 646 runner_.get(),
647 url_request_context_getter_, 647 url_request_context_getter_,
648 drive_file_path, 648 drive_file_path,
649 upload_url, 649 upload_url,
650 start_position, 650 start_position,
651 end_position, 651 end_position,
652 content_length, 652 content_length,
653 content_type, 653 content_type,
654 local_file_path, 654 local_file_path,
655 base::Bind(&ParseResourceEntryForUploadRangeAndRun, callback), 655 base::Bind(&ParseResourceEntryForUploadRangeAndRun, callback),
656 progress_callback)); 656 progress_callback));
657 } 657 }
658 658
659 void DriveAPIService::GetUploadStatus( 659 void DriveAPIService::GetUploadStatus(
660 const base::FilePath& drive_file_path, 660 const base::FilePath& drive_file_path,
661 const GURL& upload_url, 661 const GURL& upload_url,
662 int64 content_length, 662 int64 content_length,
663 const UploadRangeCallback& callback) { 663 const UploadRangeCallback& callback) {
664 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 664 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
665 DCHECK(!callback.is_null()); 665 DCHECK(!callback.is_null());
666 666
667 runner_->StartOperationWithRetry(new drive::GetUploadStatusOperation( 667 runner_->StartOperationWithRetry(new drive::GetUploadStatusOperation(
668 operation_registry(), 668 runner_.get(),
669 url_request_context_getter_, 669 url_request_context_getter_,
670 drive_file_path, 670 drive_file_path,
671 upload_url, 671 upload_url,
672 content_length, 672 content_length,
673 base::Bind(&ParseResourceEntryForUploadRangeAndRun, callback))); 673 base::Bind(&ParseResourceEntryForUploadRangeAndRun, callback)));
674 } 674 }
675 675
676 void DriveAPIService::AuthorizeApp( 676 void DriveAPIService::AuthorizeApp(
677 const std::string& resource_id, 677 const std::string& resource_id,
678 const std::string& app_id, 678 const std::string& app_id,
679 const AuthorizeAppCallback& callback) { 679 const AuthorizeAppCallback& callback) {
680 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 680 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
681 DCHECK(!callback.is_null()); 681 DCHECK(!callback.is_null());
682 682
683 runner_->StartOperationWithRetry(new GetFileOperation( 683 runner_->StartOperationWithRetry(new GetFileOperation(
684 operation_registry(), 684 runner_.get(),
685 url_request_context_getter_, 685 url_request_context_getter_,
686 url_generator_, 686 url_generator_,
687 resource_id, 687 resource_id,
688 base::Bind(&ExtractOpenUrlAndRun, app_id, callback))); 688 base::Bind(&ExtractOpenUrlAndRun, app_id, callback)));
689 } 689 }
690 690
691 bool DriveAPIService::HasAccessToken() const { 691 bool DriveAPIService::HasAccessToken() const {
692 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 692 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
693 693
694 return runner_->auth_service()->HasAccessToken(); 694 return runner_->auth_service()->HasAccessToken();
695 } 695 }
696 696
697 bool DriveAPIService::HasRefreshToken() const { 697 bool DriveAPIService::HasRefreshToken() const {
698 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 698 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
699 699
700 return runner_->auth_service()->HasRefreshToken(); 700 return runner_->auth_service()->HasRefreshToken();
701 } 701 }
702 702
703 void DriveAPIService::ClearAccessToken() { 703 void DriveAPIService::ClearAccessToken() {
704 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 704 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
705 return runner_->auth_service()->ClearAccessToken(); 705 return runner_->auth_service()->ClearAccessToken();
706 } 706 }
707 707
708 void DriveAPIService::ClearRefreshToken() { 708 void DriveAPIService::ClearRefreshToken() {
709 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 709 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
710 return runner_->auth_service()->ClearRefreshToken(); 710 return runner_->auth_service()->ClearRefreshToken();
711 } 711 }
712 712
713 OperationRegistry* DriveAPIService::operation_registry() const {
714 return runner_->operation_registry();
715 }
716
717 void DriveAPIService::OnOAuth2RefreshTokenChanged() { 713 void DriveAPIService::OnOAuth2RefreshTokenChanged() {
718 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 714 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
719 if (CanStartOperation()) { 715 if (CanStartOperation()) {
720 FOR_EACH_OBSERVER( 716 FOR_EACH_OBSERVER(
721 DriveServiceObserver, observers_, OnReadyToPerformOperations()); 717 DriveServiceObserver, observers_, OnReadyToPerformOperations());
722 } else if (!HasRefreshToken()) { 718 } else if (!HasRefreshToken()) {
723 FOR_EACH_OBSERVER( 719 FOR_EACH_OBSERVER(
724 DriveServiceObserver, observers_, OnRefreshTokenInvalid()); 720 DriveServiceObserver, observers_, OnRefreshTokenInvalid());
725 } 721 }
726 } 722 }
727 723
728 } // namespace google_apis 724 } // namespace google_apis
OLDNEW
« no previous file with comments | « chrome/browser/google_apis/drive_api_service.h ('k') | chrome/browser/google_apis/gdata_contacts_operations.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698