Index: chrome/browser/ui/webui/options2/chromeos/user_image_source.h |
diff --git a/chrome/browser/ui/webui/options2/chromeos/user_image_source.h b/chrome/browser/ui/webui/options2/chromeos/user_image_source.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ea38b4929ab36b1f43227af65e08b0f0dc063705 |
--- /dev/null |
+++ b/chrome/browser/ui/webui/options2/chromeos/user_image_source.h |
@@ -0,0 +1,44 @@ |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS2_CHROMEOS_USER_IMAGE_SOURCE_H_ |
+#define CHROME_BROWSER_UI_WEBUI_OPTIONS2_CHROMEOS_USER_IMAGE_SOURCE_H_ |
+#pragma once |
+ |
+#include <string> |
+#include <vector> |
+ |
+#include "base/basictypes.h" |
+#include "base/compiler_specific.h" |
+#include "chrome/browser/ui/webui/chrome_url_data_manager.h" |
+ |
+namespace chromeos { |
+ |
+// UserImageSource is the data source that serves user images for users that |
+// have it. |
+class UserImageSource : public ChromeURLDataManager::DataSource { |
+ public: |
+ UserImageSource(); |
+ |
+ // Called when the network layer has requested a resource underneath |
+ // the path we registered. |
+ virtual void StartDataRequest(const std::string& path, |
+ bool is_incognito, |
+ int request_id) OVERRIDE; |
+ |
+ virtual std::string GetMimeType(const std::string&) const OVERRIDE; |
+ |
+ // Returns PNG encoded image for user with specified email. |
+ // If there's no user with such email, returns the default image. |
+ std::vector<unsigned char> GetUserImage(const std::string& email) const; |
+ |
+ private: |
+ virtual ~UserImageSource(); |
+ |
+ DISALLOW_COPY_AND_ASSIGN(UserImageSource); |
+}; |
+ |
+} // namespace chromeos |
+ |
+#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS2_CHROMEOS_USER_IMAGE_SOURCE_H_ |