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 |