| 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 |