| 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/feedback_ui.h" | 5 #include "chrome/browser/ui/webui/feedback_ui.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 98 } | 98 } |
| 99 | 99 |
| 100 std::string GetUserEmail() { | 100 std::string GetUserEmail() { |
| 101 chromeos::UserManager* manager = chromeos::UserManager::Get(); | 101 chromeos::UserManager* manager = chromeos::UserManager::Get(); |
| 102 if (!manager) | 102 if (!manager) |
| 103 return std::string(); | 103 return std::string(); |
| 104 else | 104 else |
| 105 return manager->GetLoggedInUser().display_email(); | 105 return manager->GetLoggedInUser().display_email(); |
| 106 } | 106 } |
| 107 | 107 |
| 108 bool ScreenshotDriveTimestampComp(const gdata::DriveEntryProto& entry1, | 108 bool ScreenshotDriveTimestampComp(const drive::DriveEntryProto& entry1, |
| 109 const gdata::DriveEntryProto& entry2) { | 109 const drive::DriveEntryProto& entry2) { |
| 110 return entry1.file_info().last_modified() > | 110 return entry1.file_info().last_modified() > |
| 111 entry2.file_info().last_modified(); | 111 entry2.file_info().last_modified(); |
| 112 } | 112 } |
| 113 | 113 |
| 114 void ReadDirectoryCallback(size_t max_saved, | 114 void ReadDirectoryCallback(size_t max_saved, |
| 115 std::vector<std::string>* saved_screenshots, | 115 std::vector<std::string>* saved_screenshots, |
| 116 base::Closure callback, | 116 base::Closure callback, |
| 117 gdata::DriveFileError error, | 117 drive::DriveFileError error, |
| 118 bool hide_hosted_documents, | 118 bool hide_hosted_documents, |
| 119 scoped_ptr<gdata::DriveEntryProtoVector> entries) { | 119 scoped_ptr<drive::DriveEntryProtoVector> entries) { |
| 120 if (error != gdata::DRIVE_FILE_OK) { | 120 if (error != drive::DRIVE_FILE_OK) { |
| 121 callback.Run(); | 121 callback.Run(); |
| 122 return; | 122 return; |
| 123 } | 123 } |
| 124 | 124 |
| 125 size_t max_scan = std::min(kMaxNumScanFiles, entries->size()); | 125 size_t max_scan = std::min(kMaxNumScanFiles, entries->size()); |
| 126 std::vector<gdata::DriveEntryProto> screenshot_entries; | 126 std::vector<drive::DriveEntryProto> screenshot_entries; |
| 127 for (size_t i = 0; i < max_scan; ++i) { | 127 for (size_t i = 0; i < max_scan; ++i) { |
| 128 const gdata::DriveEntryProto& entry = (*entries)[i]; | 128 const drive::DriveEntryProto& entry = (*entries)[i]; |
| 129 if (StartsWithASCII(entry.base_name(), | 129 if (StartsWithASCII(entry.base_name(), |
| 130 ScreenshotSource::kScreenshotPrefix, true) && | 130 ScreenshotSource::kScreenshotPrefix, true) && |
| 131 EndsWith(entry.base_name(), | 131 EndsWith(entry.base_name(), |
| 132 ScreenshotSource::kScreenshotSuffix, true)) { | 132 ScreenshotSource::kScreenshotSuffix, true)) { |
| 133 screenshot_entries.push_back(entry); | 133 screenshot_entries.push_back(entry); |
| 134 } | 134 } |
| 135 } | 135 } |
| 136 | 136 |
| 137 size_t sort_size = std::min(max_saved, screenshot_entries.size()); | 137 size_t sort_size = std::min(max_saved, screenshot_entries.size()); |
| 138 std::partial_sort(screenshot_entries.begin(), | 138 std::partial_sort(screenshot_entries.begin(), |
| 139 screenshot_entries.begin() + sort_size, | 139 screenshot_entries.begin() + sort_size, |
| 140 screenshot_entries.end(), | 140 screenshot_entries.end(), |
| 141 ScreenshotDriveTimestampComp); | 141 ScreenshotDriveTimestampComp); |
| 142 for (size_t i = 0; i < sort_size; ++i) { | 142 for (size_t i = 0; i < sort_size; ++i) { |
| 143 const gdata::DriveEntryProto& entry = screenshot_entries[i]; | 143 const drive::DriveEntryProto& entry = screenshot_entries[i]; |
| 144 saved_screenshots->push_back( | 144 saved_screenshots->push_back( |
| 145 std::string(ScreenshotSource::kScreenshotUrlRoot) + | 145 std::string(ScreenshotSource::kScreenshotUrlRoot) + |
| 146 std::string(ScreenshotSource::kScreenshotSaved) + | 146 std::string(ScreenshotSource::kScreenshotSaved) + |
| 147 entry.resource_id()); | 147 entry.resource_id()); |
| 148 } | 148 } |
| 149 callback.Run(); | 149 callback.Run(); |
| 150 } | 150 } |
| 151 | 151 |
| 152 #else | 152 #else |
| 153 | 153 |
| (...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 551 } | 551 } |
| 552 | 552 |
| 553 #if defined(OS_CHROMEOS) | 553 #if defined(OS_CHROMEOS) |
| 554 void FeedbackHandler::HandleRefreshSavedScreenshots(const ListValue*) { | 554 void FeedbackHandler::HandleRefreshSavedScreenshots(const ListValue*) { |
| 555 std::vector<std::string>* saved_screenshots = new std::vector<std::string>; | 555 std::vector<std::string>* saved_screenshots = new std::vector<std::string>; |
| 556 FilePath filepath = DownloadPrefs::FromBrowserContext( | 556 FilePath filepath = DownloadPrefs::FromBrowserContext( |
| 557 tab_->GetBrowserContext())->DownloadPath(); | 557 tab_->GetBrowserContext())->DownloadPath(); |
| 558 base::Closure refresh_callback = base::Bind( | 558 base::Closure refresh_callback = base::Bind( |
| 559 &FeedbackHandler::RefreshSavedScreenshotsCallback, | 559 &FeedbackHandler::RefreshSavedScreenshotsCallback, |
| 560 AsWeakPtr(), base::Owned(saved_screenshots)); | 560 AsWeakPtr(), base::Owned(saved_screenshots)); |
| 561 if (gdata::util::IsUnderDriveMountPoint(filepath)) { | 561 if (drive::util::IsUnderDriveMountPoint(filepath)) { |
| 562 GetMostRecentScreenshotsDrive( | 562 GetMostRecentScreenshotsDrive( |
| 563 filepath, saved_screenshots, kMaxSavedScreenshots, refresh_callback); | 563 filepath, saved_screenshots, kMaxSavedScreenshots, refresh_callback); |
| 564 } else { | 564 } else { |
| 565 BrowserThread::PostTaskAndReply( | 565 BrowserThread::PostTaskAndReply( |
| 566 BrowserThread::FILE, FROM_HERE, | 566 BrowserThread::FILE, FROM_HERE, |
| 567 base::Bind(&FeedbackUI::GetMostRecentScreenshots, filepath, | 567 base::Bind(&FeedbackUI::GetMostRecentScreenshots, filepath, |
| 568 base::Unretained(saved_screenshots), kMaxSavedScreenshots), | 568 base::Unretained(saved_screenshots), kMaxSavedScreenshots), |
| 569 refresh_callback); | 569 refresh_callback); |
| 570 } | 570 } |
| 571 } | 571 } |
| 572 | 572 |
| 573 void FeedbackHandler::RefreshSavedScreenshotsCallback( | 573 void FeedbackHandler::RefreshSavedScreenshotsCallback( |
| 574 std::vector<std::string>* saved_screenshots) { | 574 std::vector<std::string>* saved_screenshots) { |
| 575 ListValue screenshots_list; | 575 ListValue screenshots_list; |
| 576 for (size_t i = 0; i < saved_screenshots->size(); ++i) | 576 for (size_t i = 0; i < saved_screenshots->size(); ++i) |
| 577 screenshots_list.Append(new StringValue((*saved_screenshots)[i])); | 577 screenshots_list.Append(new StringValue((*saved_screenshots)[i])); |
| 578 web_ui()->CallJavascriptFunction("setupSavedScreenshots", screenshots_list); | 578 web_ui()->CallJavascriptFunction("setupSavedScreenshots", screenshots_list); |
| 579 } | 579 } |
| 580 | 580 |
| 581 void FeedbackHandler::GetMostRecentScreenshotsDrive( | 581 void FeedbackHandler::GetMostRecentScreenshotsDrive( |
| 582 const FilePath& filepath, std::vector<std::string>* saved_screenshots, | 582 const FilePath& filepath, std::vector<std::string>* saved_screenshots, |
| 583 size_t max_saved, base::Closure callback) { | 583 size_t max_saved, base::Closure callback) { |
| 584 gdata::DriveFileSystemInterface* file_system = | 584 drive::DriveFileSystemInterface* file_system = |
| 585 gdata::DriveSystemServiceFactory::GetForProfile( | 585 drive::DriveSystemServiceFactory::GetForProfile( |
| 586 Profile::FromWebUI(web_ui()))->file_system(); | 586 Profile::FromWebUI(web_ui()))->file_system(); |
| 587 file_system->ReadDirectoryByPath( | 587 file_system->ReadDirectoryByPath( |
| 588 gdata::util::ExtractDrivePath(filepath), | 588 drive::util::ExtractDrivePath(filepath), |
| 589 base::Bind(&ReadDirectoryCallback, max_saved, saved_screenshots, | 589 base::Bind(&ReadDirectoryCallback, max_saved, saved_screenshots, |
| 590 callback)); | 590 callback)); |
| 591 } | 591 } |
| 592 #endif | 592 #endif |
| 593 | 593 |
| 594 | 594 |
| 595 void FeedbackHandler::HandleSendReport(const ListValue* list_value) { | 595 void FeedbackHandler::HandleSendReport(const ListValue* list_value) { |
| 596 if (!feedback_data_) { | 596 if (!feedback_data_) { |
| 597 LOG(ERROR) << "Bug report hasn't been intialized yet."; | 597 LOG(ERROR) << "Bug report hasn't been intialized yet."; |
| 598 return; | 598 return; |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 747 screenshot_filepaths.begin() + sort_size, | 747 screenshot_filepaths.begin() + sort_size, |
| 748 screenshot_filepaths.end(), | 748 screenshot_filepaths.end(), |
| 749 ScreenshotTimestampComp); | 749 ScreenshotTimestampComp); |
| 750 for (size_t i = 0; i < sort_size; ++i) | 750 for (size_t i = 0; i < sort_size; ++i) |
| 751 saved_screenshots->push_back( | 751 saved_screenshots->push_back( |
| 752 std::string(ScreenshotSource::kScreenshotUrlRoot) + | 752 std::string(ScreenshotSource::kScreenshotUrlRoot) + |
| 753 std::string(ScreenshotSource::kScreenshotSaved) + | 753 std::string(ScreenshotSource::kScreenshotSaved) + |
| 754 screenshot_filepaths[i]); | 754 screenshot_filepaths[i]); |
| 755 } | 755 } |
| 756 #endif | 756 #endif |
| OLD | NEW |