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/chromeos/gdata/gdata_util.h" | 5 #include "chrome/browser/chromeos/gdata/gdata_util.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 Browser* browser = browser::FindLastActiveWithProfile(profile); | 106 Browser* browser = browser::FindLastActiveWithProfile(profile); |
107 if (browser) { | 107 if (browser) { |
108 browser->OpenURL(content::OpenURLParams(*edit_url, content::Referrer(), | 108 browser->OpenURL(content::OpenURLParams(*edit_url, content::Referrer(), |
109 CURRENT_TAB, content::PAGE_TRANSITION_TYPED, false)); | 109 CURRENT_TAB, content::PAGE_TRANSITION_TYPED, false)); |
110 } | 110 } |
111 } | 111 } |
112 | 112 |
113 // Invoked upon completion of GetEntryInfoByResourceId initiated by | 113 // Invoked upon completion of GetEntryInfoByResourceId initiated by |
114 // ModifyGDataFileResourceUrl. | 114 // ModifyGDataFileResourceUrl. |
115 void OnGetEntryInfoByResourceId(Profile* profile, | 115 void OnGetEntryInfoByResourceId(Profile* profile, |
116 const std::string& resource_id, | 116 const std::string& resource_id, |
117 GDataFileError error, | 117 DriveFileError error, |
118 const FilePath& /* gdata_file_path */, | 118 const FilePath& /* gdata_file_path */, |
119 scoped_ptr<DriveEntryProto> entry_proto) { | 119 scoped_ptr<DriveEntryProto> entry_proto) { |
120 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 120 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
121 | 121 |
122 if (error != GDATA_FILE_OK) | 122 if (error != DRIVE_FILE_OK) |
123 return; | 123 return; |
124 | 124 |
125 DCHECK(entry_proto.get()); | 125 DCHECK(entry_proto.get()); |
126 const std::string& base_name = entry_proto->base_name(); | 126 const std::string& base_name = entry_proto->base_name(); |
127 const GURL edit_url = GetFileResourceUrl(resource_id, base_name); | 127 const GURL edit_url = GetFileResourceUrl(resource_id, base_name); |
128 OpenEditURLUIThread(profile, &edit_url); | 128 OpenEditURLUIThread(profile, &edit_url); |
129 DVLOG(1) << "OnFindEntryByResourceId " << edit_url; | 129 DVLOG(1) << "OnFindEntryByResourceId " << edit_url; |
130 } | 130 } |
131 | 131 |
132 // Invoked upon completion of GetEntryInfoByPath initiated by | 132 // Invoked upon completion of GetEntryInfoByPath initiated by |
133 // InsertDriveCachePathPermissions. | 133 // InsertDriveCachePathPermissions. |
134 void OnGetEntryInfoForInsertDriveCachePathsPermissions( | 134 void OnGetEntryInfoForInsertDriveCachePathsPermissions( |
135 Profile* profile, | 135 Profile* profile, |
136 std::vector<std::pair<FilePath, int> >* cache_paths, | 136 std::vector<std::pair<FilePath, int> >* cache_paths, |
137 const base::Closure& callback, | 137 const base::Closure& callback, |
138 GDataFileError error, | 138 DriveFileError error, |
139 scoped_ptr<DriveEntryProto> entry_proto) { | 139 scoped_ptr<DriveEntryProto> entry_proto) { |
140 DCHECK(profile); | 140 DCHECK(profile); |
141 DCHECK(cache_paths); | 141 DCHECK(cache_paths); |
142 DCHECK(!callback.is_null()); | 142 DCHECK(!callback.is_null()); |
143 | 143 |
144 if (entry_proto.get() && !entry_proto->has_file_specific_info()) | 144 if (entry_proto.get() && !entry_proto->has_file_specific_info()) |
145 error = GDATA_FILE_ERROR_NOT_FOUND; | 145 error = DRIVE_FILE_ERROR_NOT_FOUND; |
146 | 146 |
147 DriveCache* cache = GetDriveCache(profile); | 147 DriveCache* cache = GetDriveCache(profile); |
148 if (!cache || error != GDATA_FILE_OK) { | 148 if (!cache || error != DRIVE_FILE_OK) { |
149 callback.Run(); | 149 callback.Run(); |
150 return; | 150 return; |
151 } | 151 } |
152 | 152 |
153 DCHECK(entry_proto.get()); | 153 DCHECK(entry_proto.get()); |
154 const std::string& resource_id = entry_proto->resource_id(); | 154 const std::string& resource_id = entry_proto->resource_id(); |
155 const std::string& file_md5 = entry_proto->file_specific_info().file_md5(); | 155 const std::string& file_md5 = entry_proto->file_specific_info().file_md5(); |
156 | 156 |
157 // We check permissions for raw cache file paths only for read-only | 157 // We check permissions for raw cache file paths only for read-only |
158 // operations (when fileEntry.file() is called), so read only permissions | 158 // operations (when fileEntry.file() is called), so read only permissions |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
411 *extra_extension = (extension_count > 1) ? extensions[extension_count - 2] : | 411 *extra_extension = (extension_count > 1) ? extensions[extension_count - 2] : |
412 std::string(); | 412 std::string(); |
413 } | 413 } |
414 | 414 |
415 bool IsDriveV2ApiEnabled() { | 415 bool IsDriveV2ApiEnabled() { |
416 static bool enabled = CommandLine::ForCurrentProcess()->HasSwitch( | 416 static bool enabled = CommandLine::ForCurrentProcess()->HasSwitch( |
417 switches::kEnableDriveV2Api); | 417 switches::kEnableDriveV2Api); |
418 return enabled; | 418 return enabled; |
419 } | 419 } |
420 | 420 |
421 base::PlatformFileError GDataFileErrorToPlatformError( | 421 base::PlatformFileError DriveFileErrorToPlatformError( |
422 gdata::GDataFileError error) { | 422 gdata::DriveFileError error) { |
423 switch (error) { | 423 switch (error) { |
424 case gdata::GDATA_FILE_OK: | 424 case gdata::DRIVE_FILE_OK: |
425 return base::PLATFORM_FILE_OK; | 425 return base::PLATFORM_FILE_OK; |
426 | 426 |
427 case gdata::GDATA_FILE_ERROR_FAILED: | 427 case gdata::DRIVE_FILE_ERROR_FAILED: |
428 return base::PLATFORM_FILE_ERROR_FAILED; | 428 return base::PLATFORM_FILE_ERROR_FAILED; |
429 | 429 |
430 case gdata::GDATA_FILE_ERROR_IN_USE: | 430 case gdata::DRIVE_FILE_ERROR_IN_USE: |
431 return base::PLATFORM_FILE_ERROR_IN_USE; | 431 return base::PLATFORM_FILE_ERROR_IN_USE; |
432 | 432 |
433 case gdata::GDATA_FILE_ERROR_EXISTS: | 433 case gdata::DRIVE_FILE_ERROR_EXISTS: |
434 return base::PLATFORM_FILE_ERROR_EXISTS; | 434 return base::PLATFORM_FILE_ERROR_EXISTS; |
435 | 435 |
436 case gdata::GDATA_FILE_ERROR_NOT_FOUND: | 436 case gdata::DRIVE_FILE_ERROR_NOT_FOUND: |
437 return base::PLATFORM_FILE_ERROR_NOT_FOUND; | 437 return base::PLATFORM_FILE_ERROR_NOT_FOUND; |
438 | 438 |
439 case gdata::GDATA_FILE_ERROR_ACCESS_DENIED: | 439 case gdata::DRIVE_FILE_ERROR_ACCESS_DENIED: |
440 return base::PLATFORM_FILE_ERROR_ACCESS_DENIED; | 440 return base::PLATFORM_FILE_ERROR_ACCESS_DENIED; |
441 | 441 |
442 case gdata::GDATA_FILE_ERROR_TOO_MANY_OPENED: | 442 case gdata::DRIVE_FILE_ERROR_TOO_MANY_OPENED: |
443 return base::PLATFORM_FILE_ERROR_TOO_MANY_OPENED; | 443 return base::PLATFORM_FILE_ERROR_TOO_MANY_OPENED; |
444 | 444 |
445 case gdata::GDATA_FILE_ERROR_NO_MEMORY: | 445 case gdata::DRIVE_FILE_ERROR_NO_MEMORY: |
446 return base::PLATFORM_FILE_ERROR_NO_MEMORY; | 446 return base::PLATFORM_FILE_ERROR_NO_MEMORY; |
447 | 447 |
448 case gdata::GDATA_FILE_ERROR_NO_SPACE: | 448 case gdata::DRIVE_FILE_ERROR_NO_SPACE: |
449 return base::PLATFORM_FILE_ERROR_NO_SPACE; | 449 return base::PLATFORM_FILE_ERROR_NO_SPACE; |
450 | 450 |
451 case gdata::GDATA_FILE_ERROR_NOT_A_DIRECTORY: | 451 case gdata::DRIVE_FILE_ERROR_NOT_A_DIRECTORY: |
452 return base::PLATFORM_FILE_ERROR_NOT_A_DIRECTORY; | 452 return base::PLATFORM_FILE_ERROR_NOT_A_DIRECTORY; |
453 | 453 |
454 case gdata::GDATA_FILE_ERROR_INVALID_OPERATION: | 454 case gdata::DRIVE_FILE_ERROR_INVALID_OPERATION: |
455 return base::PLATFORM_FILE_ERROR_INVALID_OPERATION; | 455 return base::PLATFORM_FILE_ERROR_INVALID_OPERATION; |
456 | 456 |
457 case gdata::GDATA_FILE_ERROR_SECURITY: | 457 case gdata::DRIVE_FILE_ERROR_SECURITY: |
458 return base::PLATFORM_FILE_ERROR_SECURITY; | 458 return base::PLATFORM_FILE_ERROR_SECURITY; |
459 | 459 |
460 case gdata::GDATA_FILE_ERROR_ABORT: | 460 case gdata::DRIVE_FILE_ERROR_ABORT: |
461 return base::PLATFORM_FILE_ERROR_ABORT; | 461 return base::PLATFORM_FILE_ERROR_ABORT; |
462 | 462 |
463 case gdata::GDATA_FILE_ERROR_NOT_A_FILE: | 463 case gdata::DRIVE_FILE_ERROR_NOT_A_FILE: |
464 return base::PLATFORM_FILE_ERROR_NOT_A_FILE; | 464 return base::PLATFORM_FILE_ERROR_NOT_A_FILE; |
465 | 465 |
466 case gdata::GDATA_FILE_ERROR_NOT_EMPTY: | 466 case gdata::DRIVE_FILE_ERROR_NOT_EMPTY: |
467 return base::PLATFORM_FILE_ERROR_NOT_EMPTY; | 467 return base::PLATFORM_FILE_ERROR_NOT_EMPTY; |
468 | 468 |
469 case gdata::GDATA_FILE_ERROR_INVALID_URL: | 469 case gdata::DRIVE_FILE_ERROR_INVALID_URL: |
470 return base::PLATFORM_FILE_ERROR_INVALID_URL; | 470 return base::PLATFORM_FILE_ERROR_INVALID_URL; |
471 | 471 |
472 case gdata::GDATA_FILE_ERROR_NO_CONNECTION: | 472 case gdata::DRIVE_FILE_ERROR_NO_CONNECTION: |
473 return base::PLATFORM_FILE_ERROR_FAILED; | 473 return base::PLATFORM_FILE_ERROR_FAILED; |
474 } | 474 } |
475 | 475 |
476 NOTREACHED(); | 476 NOTREACHED(); |
477 return base::PLATFORM_FILE_ERROR_FAILED; | 477 return base::PLATFORM_FILE_ERROR_FAILED; |
478 } | 478 } |
479 | 479 |
480 bool GetTimeFromString(const base::StringPiece& raw_value, | 480 bool GetTimeFromString(const base::StringPiece& raw_value, |
481 base::Time* parsed_time) { | 481 base::Time* parsed_time) { |
482 base::StringPiece date; | 482 base::StringPiece date; |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
603 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 603 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
604 if (IsUnderGDataMountPoint(path)) { | 604 if (IsUnderGDataMountPoint(path)) { |
605 FileWriteHelper* file_write_helper = GetFileWriteHelper(profile); | 605 FileWriteHelper* file_write_helper = GetFileWriteHelper(profile); |
606 if (!file_write_helper) | 606 if (!file_write_helper) |
607 return; | 607 return; |
608 FilePath remote_path(ExtractGDataPath(path)); | 608 FilePath remote_path(ExtractGDataPath(path)); |
609 file_write_helper->PrepareWritableFileAndRun(remote_path, callback); | 609 file_write_helper->PrepareWritableFileAndRun(remote_path, callback); |
610 } else { | 610 } else { |
611 if (!callback.is_null()) { | 611 if (!callback.is_null()) { |
612 content::BrowserThread::GetBlockingPool()->PostTask( | 612 content::BrowserThread::GetBlockingPool()->PostTask( |
613 FROM_HERE, base::Bind(callback, GDATA_FILE_OK, path)); | 613 FROM_HERE, base::Bind(callback, DRIVE_FILE_OK, path)); |
614 } | 614 } |
615 } | 615 } |
616 } | 616 } |
617 | 617 |
618 GDataFileError GDataToGDataFileError(GDataErrorCode status) { | 618 DriveFileError GDataToDriveFileError(GDataErrorCode status) { |
619 switch (status) { | 619 switch (status) { |
620 case HTTP_SUCCESS: | 620 case HTTP_SUCCESS: |
621 case HTTP_CREATED: | 621 case HTTP_CREATED: |
622 return GDATA_FILE_OK; | 622 return DRIVE_FILE_OK; |
623 case HTTP_UNAUTHORIZED: | 623 case HTTP_UNAUTHORIZED: |
624 case HTTP_FORBIDDEN: | 624 case HTTP_FORBIDDEN: |
625 return GDATA_FILE_ERROR_ACCESS_DENIED; | 625 return DRIVE_FILE_ERROR_ACCESS_DENIED; |
626 case HTTP_NOT_FOUND: | 626 case HTTP_NOT_FOUND: |
627 return GDATA_FILE_ERROR_NOT_FOUND; | 627 return DRIVE_FILE_ERROR_NOT_FOUND; |
628 case GDATA_PARSE_ERROR: | 628 case GDATA_PARSE_ERROR: |
629 case GDATA_FILE_ERROR: | 629 case GDATA_FILE_ERROR: |
630 return GDATA_FILE_ERROR_ABORT; | 630 return DRIVE_FILE_ERROR_ABORT; |
631 case GDATA_NO_CONNECTION: | 631 case GDATA_NO_CONNECTION: |
632 return GDATA_FILE_ERROR_NO_CONNECTION; | 632 return DRIVE_FILE_ERROR_NO_CONNECTION; |
633 default: | 633 default: |
634 return GDATA_FILE_ERROR_FAILED; | 634 return DRIVE_FILE_ERROR_FAILED; |
635 } | 635 } |
636 } | 636 } |
637 | 637 |
638 void PostBlockingPoolSequencedTask( | 638 void PostBlockingPoolSequencedTask( |
639 const tracked_objects::Location& from_here, | 639 const tracked_objects::Location& from_here, |
640 base::SequencedTaskRunner* blocking_task_runner, | 640 base::SequencedTaskRunner* blocking_task_runner, |
641 const base::Closure& task) { | 641 const base::Closure& task) { |
642 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 642 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
643 | 643 |
644 const bool posted = blocking_task_runner->PostTask(from_here, task); | 644 const bool posted = blocking_task_runner->PostTask(from_here, task); |
645 DCHECK(posted); | 645 DCHECK(posted); |
646 } | 646 } |
647 | 647 |
648 void PostBlockingPoolSequencedTaskAndReply( | 648 void PostBlockingPoolSequencedTaskAndReply( |
649 const tracked_objects::Location& from_here, | 649 const tracked_objects::Location& from_here, |
650 base::SequencedTaskRunner* blocking_task_runner, | 650 base::SequencedTaskRunner* blocking_task_runner, |
651 const base::Closure& request_task, | 651 const base::Closure& request_task, |
652 const base::Closure& reply_task) { | 652 const base::Closure& reply_task) { |
653 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 653 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
654 | 654 |
655 const bool posted = blocking_task_runner->PostTaskAndReply( | 655 const bool posted = blocking_task_runner->PostTaskAndReply( |
656 from_here, request_task, reply_task); | 656 from_here, request_task, reply_task); |
657 DCHECK(posted); | 657 DCHECK(posted); |
658 } | 658 } |
659 | 659 |
660 } // namespace util | 660 } // namespace util |
661 } // namespace gdata | 661 } // namespace gdata |
OLD | NEW |