Index: chrome/browser/ui/webui/options2/chromeos/wallpaper_thumbnail_source2.cc |
diff --git a/chrome/browser/ui/webui/options2/chromeos/wallpaper_thumbnail_source2.cc b/chrome/browser/ui/webui/options2/chromeos/wallpaper_thumbnail_source2.cc |
deleted file mode 100644 |
index 73f7e3f97a0a6554fea83d6e4a440b569cad2ace..0000000000000000000000000000000000000000 |
--- a/chrome/browser/ui/webui/options2/chromeos/wallpaper_thumbnail_source2.cc |
+++ /dev/null |
@@ -1,121 +0,0 @@ |
-// Copyright (c) 2012 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. |
- |
-#include "chrome/browser/ui/webui/options2/chromeos/wallpaper_thumbnail_source2.h" |
- |
-#include "ash/desktop_background/desktop_background_resources.h" |
-#include "base/memory/ref_counted_memory.h" |
-#include "base/memory/singleton.h" |
-#include "base/string_number_conversions.h" |
-#include "base/string_piece.h" |
-#include "base/string_util.h" |
-#include "base/stringprintf.h" |
-#include "base/threading/thread_restrictions.h" |
-#include "chrome/browser/chromeos/login/user_manager.h" |
-#include "chrome/browser/io_thread.h" |
-#include "chrome/browser/ui/webui/chrome_url_data_manager.h" |
-#include "chrome/common/url_constants.h" |
-#include "content/public/browser/browser_thread.h" |
-#include "grit/ui_resources.h" |
-#include "net/base/mime_util.h" |
-#include "ui/base/layout.h" |
-#include "ui/base/resource/resource_bundle.h" |
-#include "ui/gfx/codec/png_codec.h" |
- |
-namespace chromeos { |
-namespace options2 { |
- |
-namespace { |
- |
-const char kDefaultWallpaperPrefix[] = "default_"; |
-const char kCustomWallpaperPrefix[] = "custom_"; |
- |
-// Parse an integer from |path| and save it to |index|. For example, default_20 |
-// will set |index| to 20. |
-// |path| and |index| must not be NULL. |
-bool ParseIndexFromPath(const std::string& path, int* index) { |
- // TODO(bshe): We should probably save a string instead of index for |
- // extensibility. Remove this function when we migrate to string preference. |
- DCHECK(index); |
- if (!StartsWithASCII(path, kDefaultWallpaperPrefix, false)) |
- return false; |
- return base::StringToInt(base::StringPiece(path.begin() + |
- strlen(kDefaultWallpaperPrefix), path.end()), index); |
-} |
- |
-// Convert |path| to corresponding IDR. Return -1 if the path is invalid. |
-// |path| must not be NULL. |
-int PathToIDR(const std::string& path) { |
- int idr = -1; |
- int index = ash::GetInvalidWallpaperIndex(); |
- if (ParseIndexFromPath(path, &index)) |
- idr = ash::GetWallpaperInfo(index).thumb_id; |
- return idr; |
-} |
- |
-// True if |path| is a custom wallpaper thumbnail URL and set |email| parsed |
-// from |path|. |
-// custom url = "custom_|email|?date" where date is current time. |
-bool IsCustomWallpaperPath(const std::string& path, std::string* email) { |
- if (!StartsWithASCII(path, kCustomWallpaperPrefix, false)) |
- return false; |
- |
- std::string sub_path = path.substr(strlen(kCustomWallpaperPrefix)); |
- *email = sub_path.substr(0, sub_path.find_first_of("?")); |
- return true; |
-} |
- |
-} // namespace |
- |
-std::string GetDefaultWallpaperThumbnailURL(int index) { |
- return StringPrintf("%s%s%d", chrome::kChromeUIWallpaperThumbnailURL, |
- kDefaultWallpaperPrefix, index); |
-} |
- |
-bool IsDefaultWallpaperURL(const std::string url, int* wallpaper_index) { |
- DCHECK(wallpaper_index); |
- *wallpaper_index = ash::GetInvalidWallpaperIndex(); |
- if (!StartsWithASCII(url, chrome::kChromeUIWallpaperThumbnailURL, false)) |
- return false; |
- std::string sub_path = url.substr(strlen( |
- chrome::kChromeUIWallpaperThumbnailURL)); |
- return ParseIndexFromPath(sub_path, wallpaper_index); |
-} |
- |
-WallpaperThumbnailSource::WallpaperThumbnailSource() |
- : DataSource(chrome::kChromeUIWallpaperThumbnailHost, NULL) { |
-} |
- |
-WallpaperThumbnailSource::~WallpaperThumbnailSource() { |
-} |
- |
-void WallpaperThumbnailSource::StartDataRequest(const std::string& path, |
- bool is_incognito, |
- int request_id) { |
- std::string email; |
- if (IsCustomWallpaperPath(path, &email)) { |
- const chromeos::User* user = chromeos::UserManager::Get()->FindUser(email); |
- if (user) { |
- std::vector<unsigned char> data; |
- gfx::PNGCodec::EncodeBGRASkBitmap(user->wallpaper_thumbnail(), |
- false, &data); |
- SendResponse(request_id, new base::RefCountedBytes(data)); |
- return; |
- } |
- } |
- int idr = PathToIDR(path); |
- if (idr != -1) { |
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); |
- const ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
- SendResponse(request_id, rb.LoadDataResourceBytes(idr, |
- ui::SCALE_FACTOR_100P)); |
- } |
-} |
- |
-std::string WallpaperThumbnailSource::GetMimeType(const std::string&) const { |
- return "images/png"; |
-} |
- |
-} // namespace options2 |
-} // namespace chromeos |