Index: chrome/browser/ui/webui/screenshot_source.h |
diff --git a/chrome/browser/ui/webui/screenshot_source.h b/chrome/browser/ui/webui/screenshot_source.h |
index 6b5e214606d067ca6390f0d693e5f20760eeeb7f..57d619f6dce6cd6499f46f9ebc191ae6cb51d206 100644 |
--- a/chrome/browser/ui/webui/screenshot_source.h |
+++ b/chrome/browser/ui/webui/screenshot_source.h |
@@ -10,18 +10,27 @@ |
#include <vector> |
#include "base/basictypes.h" |
+#include "base/file_path.h" |
kinaba
2012/08/15 08:19:57
Forward declaration looks sufficient.
Jun Mukai
2012/08/15 08:30:42
Done.
|
#include "base/memory/linked_ptr.h" |
#include "chrome/browser/ui/webui/chrome_url_data_manager.h" |
+#if defined(OS_CHROMEOS) |
+#include "chrome/browser/chromeos/gdata/gdata_errorcode.h" |
+#include "chrome/browser/chromeos/gdata/gdata_files.h" |
+#endif |
+ |
typedef std::vector<unsigned char> ScreenshotData; |
typedef linked_ptr<ScreenshotData> ScreenshotDataPtr; |
+class Profile; |
+ |
// ScreenshotSource is the data source that serves screenshots (saved |
// or current) to the bug report html ui. |
class ScreenshotSource : public ChromeURLDataManager::DataSource { |
public: |
explicit ScreenshotSource( |
- std::vector<unsigned char>* current_screenshot); |
+ std::vector<unsigned char>* current_screenshot, |
+ Profile* profile); |
// Called when the network layer has requested a resource underneath |
// the path we registered. |
@@ -48,6 +57,16 @@ class ScreenshotSource : public ChromeURLDataManager::DataSource { |
// Send a saved screenshot image file specified by the given screenshot path |
// to the requestor. |
void SendSavedScreenshot(const std::string& screenshot_path, int request_id); |
+ |
+ // The actual task of sending a saved screenshot image file. It's separated |
+ // from SendSavedScreenshot to deal with the case that the download path is |
+ // under Google Drive. |
+ void SendSavedScreenshotInternal(const std::string& screenshot_path, |
+ int request_id, |
+ gdata::GDataFileError error, |
+ const FilePath& file, |
+ const std::string& mime_type, |
+ gdata::GDataFileType file_type); |
#endif |
// Sends the screenshot data to the requestor while caching it locally to the |
// class instance, indexed by path. |
@@ -58,6 +77,8 @@ class ScreenshotSource : public ChromeURLDataManager::DataSource { |
// Pointer to the screenshot data for the current screenshot. |
ScreenshotDataPtr current_screenshot_; |
+ Profile* profile_; |
+ |
// Key: Relative path to the screenshot (including filename) |
// Value: Pointer to the screenshot data associated with the path. |
std::map<std::string, ScreenshotDataPtr> cached_screenshots_; |