summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui
diff options
context:
space:
mode:
authorflackr@chromium.org <flackr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-17 21:05:40 +0000
committerflackr@chromium.org <flackr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-17 21:05:40 +0000
commitbebfb2ed2025f1e0f99dbcf3aa9af48cc6e8ac0f (patch)
tree2858dc6858da0f4c70b7d4fa2d11ba02ca83fde6 /chrome/browser/ui
parentc145c83565c8c019f97d0280d12c623352e1c58e (diff)
downloadchromium_src-bebfb2ed2025f1e0f99dbcf3aa9af48cc6e8ac0f.zip
chromium_src-bebfb2ed2025f1e0f99dbcf3aa9af48cc6e8ac0f.tar.gz
chromium_src-bebfb2ed2025f1e0f99dbcf3aa9af48cc6e8ac0f.tar.bz2
Select theme resources from ResourceBundle at requested scale factor.
Return the best match for a requested scale factor when fetching raw image data from ResourceBundle. TBR=aa,abodenha BUG=123611 TEST=ResourceBundle.LoadImageResourceBytes Review URL: https://chromiumcodereview.appspot.com/10387010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137734 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui')
-rw-r--r--chrome/browser/ui/pdf/pdf_unsupported_feature.cc4
-rw-r--r--chrome/browser/ui/webui/about_ui.cc20
-rw-r--r--chrome/browser/ui/webui/bookmarks_ui.cc6
-rw-r--r--chrome/browser/ui/webui/chrome_web_ui_data_source.cc4
-rw-r--r--chrome/browser/ui/webui/chromeos/login/oobe_ui.cc4
-rw-r--r--chrome/browser/ui/webui/chromeos/mobile_setup_ui.cc3
-rw-r--r--chrome/browser/ui/webui/chromeos/proxy_settings_ui.cc3
-rw-r--r--chrome/browser/ui/webui/chromeos/register_page_ui.cc4
-rw-r--r--chrome/browser/ui/webui/chromeos/sim_unlock_ui.cc3
-rw-r--r--chrome/browser/ui/webui/chromeos/system_info_ui.cc3
-rw-r--r--chrome/browser/ui/webui/conflicts_ui.cc3
-rw-r--r--chrome/browser/ui/webui/crashes_ui.cc4
-rw-r--r--chrome/browser/ui/webui/devtools_ui.cc3
-rw-r--r--chrome/browser/ui/webui/downloads_ui.cc4
-rw-r--r--chrome/browser/ui/webui/extensions/extension_icon_source.cc6
-rw-r--r--chrome/browser/ui/webui/favicon_source.cc8
-rw-r--r--chrome/browser/ui/webui/flags_ui.cc5
-rw-r--r--chrome/browser/ui/webui/history_ui.cc4
-rw-r--r--chrome/browser/ui/webui/ntp/new_tab_ui.cc4
-rw-r--r--chrome/browser/ui/webui/ntp/ntp_resource_cache.cc10
-rw-r--r--chrome/browser/ui/webui/ntp/ntp_resource_cache_android.cc6
-rw-r--r--chrome/browser/ui/webui/options2/chromeos/wallpaper_thumbnail_source2.cc4
-rw-r--r--chrome/browser/ui/webui/options2/options_ui2.cc8
-rw-r--r--chrome/browser/ui/webui/plugins_ui.cc5
-rw-r--r--chrome/browser/ui/webui/sessions_ui.cc4
-rw-r--r--chrome/browser/ui/webui/shared_resources_data_source.cc2
-rw-r--r--chrome/browser/ui/webui/theme_source.cc61
-rw-r--r--chrome/browser/ui/webui/theme_source.h5
-rw-r--r--chrome/browser/ui/webui/web_ui_browsertest.cc2
-rw-r--r--chrome/browser/ui/webui/web_ui_util.cc4
30 files changed, 149 insertions, 57 deletions
diff --git a/chrome/browser/ui/pdf/pdf_unsupported_feature.cc b/chrome/browser/ui/pdf/pdf_unsupported_feature.cc
index 340dba0..8924fcc 100644
--- a/chrome/browser/ui/pdf/pdf_unsupported_feature.cc
+++ b/chrome/browser/ui/pdf/pdf_unsupported_feature.cc
@@ -31,6 +31,7 @@
#include "grit/generated_resources.h"
#include "grit/theme_resources_standard.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/image/image.h"
#include "webkit/plugins/npapi/plugin_group.h"
@@ -204,7 +205,8 @@ class PDFUnsupportedFeatureInterstitial
l10n_util::GetStringUTF16(IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_CANCEL));
base::StringPiece html(ResourceBundle::GetSharedInstance().
- GetRawDataResource(IDR_READER_OUT_OF_DATE_HTML));
+ GetRawDataResource(IDR_READER_OUT_OF_DATE_HTML,
+ ui::SCALE_FACTOR_NONE));
return jstemplate_builder::GetI18nTemplateHtml(html, &strings);
}
diff --git a/chrome/browser/ui/webui/about_ui.cc b/chrome/browser/ui/webui/about_ui.cc
index 89fd4fa..6d7d77c 100644
--- a/chrome/browser/ui/webui/about_ui.cc
+++ b/chrome/browser/ui/webui/about_ui.cc
@@ -65,6 +65,7 @@
#include "net/base/escape.h"
#include "net/base/net_util.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
#include "v8/include/v8.h"
#include "webkit/glue/user_agent.h"
@@ -72,8 +73,8 @@
#include "webkit/plugins/webplugininfo.h"
#if defined(OS_LINUX) || defined(OS_OPENBSD)
-#include "content/public/common/sandbox_linux.h"
#include "content/public/browser/zygote_host_linux.h"
+#include "content/public/common/sandbox_linux.h"
#endif
#if defined(OS_WIN)
@@ -246,7 +247,7 @@ class ChromeOSTermsHandler
// Do nothing if OEM EULA load failed.
if (contents_.empty() && path_ != chrome::kOemEulaURLPath) {
contents_ = ResourceBundle::GetSharedInstance().GetRawDataResource(
- IDR_TERMS_HTML).as_string();
+ IDR_TERMS_HTML, ui::SCALE_FACTOR_NONE).as_string();
}
source_->FinishDataRequest(contents_, request_id_);
}
@@ -839,7 +840,8 @@ void FinishMemoryDataRequest(const std::string& path,
source->FinishDataRequest(
ResourceBundle::GetSharedInstance().GetRawDataResource(
path == kMemoryJsPath ? IDR_ABOUT_MEMORY_JS :
- IDR_ABOUT_MEMORY_HTML).as_string(), request_id);
+ IDR_ABOUT_MEMORY_HTML,
+ ui::SCALE_FACTOR_NONE).as_string(), request_id);
}
}
@@ -990,8 +992,8 @@ std::string AboutStats(const std::string& query) {
} else {
// Get about_stats.html/js from resource bundle.
data = ResourceBundle::GetSharedInstance().GetRawDataResource(
- (query == kStatsJsPath ? IDR_ABOUT_STATS_JS : IDR_ABOUT_STATS_HTML)).
- as_string();
+ (query == kStatsJsPath ? IDR_ABOUT_STATS_JS : IDR_ABOUT_STATS_HTML),
+ ui::SCALE_FACTOR_NONE).as_string();
if (query != kStatsJsPath) {
// Clear the timer list since we stored the data in the timers list
@@ -1086,7 +1088,7 @@ std::string AboutVersionStaticContent(const std::string& query) {
return ResourceBundle::GetSharedInstance().GetRawDataResource(
query == kVersionJsPath ?
IDR_ABOUT_VERSION_JS :
- IDR_ABOUT_VERSION_HTML).as_string();
+ IDR_ABOUT_VERSION_HTML, ui::SCALE_FACTOR_NONE).as_string();
}
std::string AboutVersionStrings(DictionaryValue* localized_strings,
@@ -1387,7 +1389,7 @@ void AboutUIHTMLSource::StartDataRequest(const std::string& path,
} else if (host == chrome::kChromeUICreditsHost) {
int idr = (path == kCreditsJsPath) ? IDR_CREDITS_JS : IDR_CREDITS_HTML;
response = ResourceBundle::GetSharedInstance().GetRawDataResource(
- idr).as_string();
+ idr, ui::SCALE_FACTOR_NONE).as_string();
#if defined(OS_CHROMEOS)
} else if (host == chrome::kChromeUICryptohomeHost) {
FinishCryptohomeDataRequest(this, path, request_id);
@@ -1418,7 +1420,7 @@ void AboutUIHTMLSource::StartDataRequest(const std::string& path,
response = AboutNetwork(path);
} else if (host == chrome::kChromeUIOSCreditsHost) {
response = ResourceBundle::GetSharedInstance().GetRawDataResource(
- IDR_OS_CREDITS_HTML).as_string();
+ IDR_OS_CREDITS_HTML, ui::SCALE_FACTOR_NONE).as_string();
#endif
#if defined(OS_LINUX) || defined(OS_OPENBSD)
} else if (host == chrome::kChromeUISandboxHost) {
@@ -1432,7 +1434,7 @@ void AboutUIHTMLSource::StartDataRequest(const std::string& path,
return;
#else
response = ResourceBundle::GetSharedInstance().GetRawDataResource(
- IDR_TERMS_HTML).as_string();
+ IDR_TERMS_HTML, ui::SCALE_FACTOR_NONE).as_string();
#endif
} else if (host == chrome::kChromeUIVersionHost) {
if (path == kStringsJsPath) {
diff --git a/chrome/browser/ui/webui/bookmarks_ui.cc b/chrome/browser/ui/webui/bookmarks_ui.cc
index 8154368..de67b3e 100644
--- a/chrome/browser/ui/webui/bookmarks_ui.cc
+++ b/chrome/browser/ui/webui/bookmarks_ui.cc
@@ -19,10 +19,11 @@
#include "chrome/common/url_constants.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_ui.h"
+#include "googleurl/src/gurl.h"
#include "grit/theme_resources.h"
#include "grit/theme_resources_standard.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
-#include "googleurl/src/gurl.h"
using content::WebContents;
@@ -70,5 +71,6 @@ BookmarksUI::BookmarksUI(content::WebUI* web_ui) : WebUIController(web_ui) {
// static
base::RefCountedMemory* BookmarksUI::GetFaviconResourceBytes() {
return ResourceBundle::GetSharedInstance().
- LoadDataResourceBytes(IDR_BOOKMARKS_FAVICON);
+ LoadDataResourceBytes(IDR_BOOKMARKS_FAVICON,
+ ui::SCALE_FACTOR_100P);
}
diff --git a/chrome/browser/ui/webui/chrome_web_ui_data_source.cc b/chrome/browser/ui/webui/chrome_web_ui_data_source.cc
index d4a1c67..1fa1457 100644
--- a/chrome/browser/ui/webui/chrome_web_ui_data_source.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_data_source.cc
@@ -10,6 +10,7 @@
#include "base/string_util.h"
#include "chrome/common/jstemplate_builder.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
ChromeWebUIDataSource::ChromeWebUIDataSource(const std::string& source_name)
@@ -86,6 +87,7 @@ void ChromeWebUIDataSource::SendLocalizedStringsAsJSON(int request_id) {
void ChromeWebUIDataSource::SendFromResourceBundle(int request_id, int idr) {
scoped_refptr<base::RefCountedStaticMemory> response(
- ResourceBundle::GetSharedInstance().LoadDataResourceBytes(idr));
+ ResourceBundle::GetSharedInstance().LoadDataResourceBytes(
+ idr, ui::SCALE_FACTOR_NONE));
SendResponse(request_id, response);
}
diff --git a/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
index eda42a7..0b36cd9 100644
--- a/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
+++ b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
@@ -35,6 +35,7 @@
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_ui.h"
#include "grit/browser_resources.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
using content::WebContents;
@@ -107,7 +108,8 @@ void OobeUIHTMLSource::StartDataRequest(const std::string& path,
std::string OobeUIHTMLSource::GetDataResource(int resource_id) const {
const base::StringPiece html(
- ResourceBundle::GetSharedInstance().GetRawDataResource(resource_id));
+ ResourceBundle::GetSharedInstance().GetRawDataResource(
+ resource_id, ui::SCALE_FACTOR_NONE));
return jstemplate_builder::GetI18nTemplateHtml(html,
localized_strings_.get());
}
diff --git a/chrome/browser/ui/webui/chromeos/mobile_setup_ui.cc b/chrome/browser/ui/webui/chromeos/mobile_setup_ui.cc
index 98dd59a..bf875d7 100644
--- a/chrome/browser/ui/webui/chromeos/mobile_setup_ui.cc
+++ b/chrome/browser/ui/webui/chromeos/mobile_setup_ui.cc
@@ -44,6 +44,7 @@
#include "grit/generated_resources.h"
#include "grit/locale_settings.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
using content::BrowserThread;
@@ -483,7 +484,7 @@ void MobileSetupUIHTMLSource::StartDataRequest(const std::string& path,
static const base::StringPiece html(
ResourceBundle::GetSharedInstance().GetRawDataResource(
- IDR_MOBILE_SETUP_PAGE_HTML));
+ IDR_MOBILE_SETUP_PAGE_HTML, ui::SCALE_FACTOR_NONE));
std::string full_html = jstemplate_builder::GetI18nTemplateHtml(html,
&strings);
diff --git a/chrome/browser/ui/webui/chromeos/proxy_settings_ui.cc b/chrome/browser/ui/webui/chromeos/proxy_settings_ui.cc
index 4a4d7c9..ebd296b 100644
--- a/chrome/browser/ui/webui/chromeos/proxy_settings_ui.cc
+++ b/chrome/browser/ui/webui/chromeos/proxy_settings_ui.cc
@@ -20,6 +20,7 @@
#include "content/public/browser/web_ui.h"
#include "content/public/browser/web_ui_message_handler.h"
#include "grit/browser_resources.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
using content::WebContents;
@@ -59,7 +60,7 @@ void ProxySettingsHTMLSource::StartDataRequest(const std::string& path,
static const base::StringPiece html(
ResourceBundle::GetSharedInstance().GetRawDataResource(
- IDR_PROXY_SETTINGS_HTML));
+ IDR_PROXY_SETTINGS_HTML, ui::SCALE_FACTOR_NONE));
std::string full_html = jstemplate_builder::GetI18nTemplateHtml(
html, localized_strings_.get());
diff --git a/chrome/browser/ui/webui/chromeos/register_page_ui.cc b/chrome/browser/ui/webui/chromeos/register_page_ui.cc
index 394a928..ca1889a 100644
--- a/chrome/browser/ui/webui/chromeos/register_page_ui.cc
+++ b/chrome/browser/ui/webui/chromeos/register_page_ui.cc
@@ -31,6 +31,7 @@
#include "content/public/browser/web_ui_message_handler.h"
#include "googleurl/src/gurl.h"
#include "grit/browser_resources.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
using content::WebContents;
@@ -167,7 +168,8 @@ void RegisterPageUIHTMLSource::StartDataRequest(const std::string& path,
scoped_refptr<base::RefCountedMemory> html_bytes(
ResourceBundle::GetSharedInstance().LoadDataResourceBytes(
- IDR_HOST_REGISTRATION_PAGE_HTML));
+ IDR_HOST_REGISTRATION_PAGE_HTML,
+ ui::SCALE_FACTOR_NONE));
SendResponse(request_id, html_bytes);
}
diff --git a/chrome/browser/ui/webui/chromeos/sim_unlock_ui.cc b/chrome/browser/ui/webui/chromeos/sim_unlock_ui.cc
index a097d71..ea7825e 100644
--- a/chrome/browser/ui/webui/chromeos/sim_unlock_ui.cc
+++ b/chrome/browser/ui/webui/chromeos/sim_unlock_ui.cc
@@ -30,6 +30,7 @@
#include "grit/browser_resources.h"
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
using content::BrowserThread;
@@ -305,7 +306,7 @@ void SimUnlockUIHTMLSource::StartDataRequest(const std::string& path,
static const base::StringPiece html(
ResourceBundle::GetSharedInstance().GetRawDataResource(
- IDR_SIM_UNLOCK_HTML));
+ IDR_SIM_UNLOCK_HTML, ui::SCALE_FACTOR_NONE));
std::string full_html = jstemplate_builder::GetI18nTemplateHtml(html,
&strings);
diff --git a/chrome/browser/ui/webui/chromeos/system_info_ui.cc b/chrome/browser/ui/webui/chromeos/system_info_ui.cc
index 0109bc4..8b3b599 100644
--- a/chrome/browser/ui/webui/chromeos/system_info_ui.cc
+++ b/chrome/browser/ui/webui/chromeos/system_info_ui.cc
@@ -34,6 +34,7 @@
#include "net/base/directory_lister.h"
#include "net/base/escape.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
using content::WebContents;
@@ -146,7 +147,7 @@ void SystemInfoUIHTMLSource::SyslogsComplete(
}
static const base::StringPiece systeminfo_html(
ResourceBundle::GetSharedInstance().GetRawDataResource(
- IDR_ABOUT_SYS_HTML));
+ IDR_ABOUT_SYS_HTML, ui::SCALE_FACTOR_NONE));
std::string full_html = jstemplate_builder::GetTemplatesHtml(
systeminfo_html, &strings, "t" /* template root node id */);
diff --git a/chrome/browser/ui/webui/conflicts_ui.cc b/chrome/browser/ui/webui/conflicts_ui.cc
index 75c1816..d5e8ed9 100644
--- a/chrome/browser/ui/webui/conflicts_ui.cc
+++ b/chrome/browser/ui/webui/conflicts_ui.cc
@@ -33,6 +33,7 @@
#include "grit/theme_resources.h"
#include "grit/theme_resources_standard.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
using content::UserMetricsAction;
@@ -174,7 +175,7 @@ ConflictsUI::ConflictsUI(content::WebUI* web_ui) : WebUIController(web_ui) {
base::RefCountedMemory* ConflictsUI::GetFaviconResourceBytes() {
return static_cast<base::RefCountedMemory*>(
ResourceBundle::GetSharedInstance().LoadDataResourceBytes(
- IDR_CONFLICT_FAVICON));
+ IDR_CONFLICT_FAVICON, ui::SCALE_FACTOR_NONE));
}
#endif
diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/crashes_ui.cc
index f8c5760..bf68b06 100644
--- a/chrome/browser/ui/webui/crashes_ui.cc
+++ b/chrome/browser/ui/webui/crashes_ui.cc
@@ -30,6 +30,7 @@
#include "grit/theme_resources.h"
#include "grit/theme_resources_standard.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
#if defined(OS_CHROMEOS)
@@ -172,7 +173,8 @@ CrashesUI::CrashesUI(content::WebUI* web_ui) : WebUIController(web_ui) {
// static
base::RefCountedMemory* CrashesUI::GetFaviconResourceBytes() {
return ResourceBundle::GetSharedInstance().
- LoadDataResourceBytes(IDR_SAD_FAVICON);
+ LoadDataResourceBytes(IDR_SAD_FAVICON,
+ ui::SCALE_FACTOR_NONE);
}
// static
diff --git a/chrome/browser/ui/webui/devtools_ui.cc b/chrome/browser/ui/webui/devtools_ui.cc
index 14b04f4..a58de6a 100644
--- a/chrome/browser/ui/webui/devtools_ui.cc
+++ b/chrome/browser/ui/webui/devtools_ui.cc
@@ -19,6 +19,7 @@
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_ui.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
using content::BrowserThread;
@@ -66,7 +67,7 @@ void DevToolsDataSource::StartDataRequest(const std::string& path,
" with --debug-devtools.";
const ResourceBundle& rb = ResourceBundle::GetSharedInstance();
scoped_refptr<base::RefCountedStaticMemory> bytes(rb.LoadDataResourceBytes(
- resource_id));
+ resource_id, ui::SCALE_FACTOR_NONE));
SendResponse(request_id, bytes);
}
diff --git a/chrome/browser/ui/webui/downloads_ui.cc b/chrome/browser/ui/webui/downloads_ui.cc
index efc035b..57b7f7a 100644
--- a/chrome/browser/ui/webui/downloads_ui.cc
+++ b/chrome/browser/ui/webui/downloads_ui.cc
@@ -24,6 +24,7 @@
#include "grit/generated_resources.h"
#include "grit/theme_resources.h"
#include "grit/theme_resources_standard.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
using content::DownloadManager;
@@ -103,5 +104,6 @@ DownloadsUI::DownloadsUI(content::WebUI* web_ui) : WebUIController(web_ui) {
// static
base::RefCountedMemory* DownloadsUI::GetFaviconResourceBytes() {
return ResourceBundle::GetSharedInstance().
- LoadDataResourceBytes(IDR_DOWNLOADS_FAVICON);
+ LoadDataResourceBytes(IDR_DOWNLOADS_FAVICON,
+ ui::SCALE_FACTOR_NONE);
}
diff --git a/chrome/browser/ui/webui/extensions/extension_icon_source.cc b/chrome/browser/ui/webui/extensions/extension_icon_source.cc
index a8bbec6..519832d 100644
--- a/chrome/browser/ui/webui/extensions/extension_icon_source.cc
+++ b/chrome/browser/ui/webui/extensions/extension_icon_source.cc
@@ -19,10 +19,11 @@
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_resource.h"
#include "chrome/common/url_constants.h"
+#include "googleurl/src/gurl.h"
#include "grit/component_extension_resources_map.h"
#include "grit/theme_resources.h"
-#include "googleurl/src/gurl.h"
#include "skia/ext/image_operations.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/codec/png_codec.h"
#include "ui/gfx/color_utils.h"
@@ -90,7 +91,8 @@ GURL ExtensionIconSource::GetIconURL(const Extension* extension,
// static
SkBitmap* ExtensionIconSource::LoadImageByResourceId(int resource_id) {
std::string contents = ResourceBundle::GetSharedInstance()
- .GetRawDataResource(resource_id).as_string();
+ .GetRawDataResource(resource_id,
+ ui::SCALE_FACTOR_100P).as_string();
// Convert and return it.
const unsigned char* data =
diff --git a/chrome/browser/ui/webui/favicon_source.cc b/chrome/browser/ui/webui/favicon_source.cc
index 4a1b3c0..6fa19b9 100644
--- a/chrome/browser/ui/webui/favicon_source.cc
+++ b/chrome/browser/ui/webui/favicon_source.cc
@@ -12,6 +12,7 @@
#include "grit/locale_settings.h"
#include "grit/ui_resources.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
FaviconSource::FaviconSource(Profile* profile, IconType type)
@@ -96,7 +97,8 @@ void FaviconSource::StartDataRequest(const std::string& path,
request_size_map_.erase(request_id);
SendResponse(request_id,
ResourceBundle::GetSharedInstance().LoadDataResourceBytes(
- history::kPrepopulatedPages[i].favicon_id));
+ history::kPrepopulatedPages[i].favicon_id,
+ ui::SCALE_FACTOR_100P));
return;
}
}
@@ -148,14 +150,14 @@ void FaviconSource::SendDefaultResponse(int request_id) {
if (!default_favicon_large_.get()) {
default_favicon_large_ =
ResourceBundle::GetSharedInstance().LoadDataResourceBytes(
- IDR_DEFAULT_LARGE_FAVICON);
+ IDR_DEFAULT_LARGE_FAVICON, ui::SCALE_FACTOR_100P);
}
bytes = default_favicon_large_;
} else {
if (!default_favicon_.get()) {
default_favicon_ =
ResourceBundle::GetSharedInstance().LoadDataResourceBytes(
- IDR_DEFAULT_FAVICON);
+ IDR_DEFAULT_FAVICON, ui::SCALE_FACTOR_100P);
}
bytes = default_favicon_;
}
diff --git a/chrome/browser/ui/webui/flags_ui.cc b/chrome/browser/ui/webui/flags_ui.cc
index 2e7da67..42bf58b 100644
--- a/chrome/browser/ui/webui/flags_ui.cc
+++ b/chrome/browser/ui/webui/flags_ui.cc
@@ -26,9 +26,10 @@
#include "grit/browser_resources.h"
#include "grit/chromium_strings.h"
#include "grit/generated_resources.h"
-#include "grit/theme_resources_standard.h"
#include "grit/theme_resources.h"
+#include "grit/theme_resources_standard.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
#if defined(OS_CHROMEOS)
@@ -169,7 +170,7 @@ FlagsUI::FlagsUI(content::WebUI* web_ui) : WebUIController(web_ui) {
// static
base::RefCountedMemory* FlagsUI::GetFaviconResourceBytes() {
return ResourceBundle::GetSharedInstance().
- LoadDataResourceBytes(IDR_FLAGS);
+ LoadDataResourceBytes(IDR_FLAGS, ui::SCALE_FACTOR_100P);
}
// static
diff --git a/chrome/browser/ui/webui/history_ui.cc b/chrome/browser/ui/webui/history_ui.cc
index 1f3c0fa..158e976 100644
--- a/chrome/browser/ui/webui/history_ui.cc
+++ b/chrome/browser/ui/webui/history_ui.cc
@@ -45,6 +45,7 @@
#include "grit/theme_resources_standard.h"
#include "net/base/escape.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
using content::UserMetricsAction;
@@ -485,5 +486,6 @@ const GURL HistoryUI::GetHistoryURLWithSearchText(const string16& text) {
// static
base::RefCountedMemory* HistoryUI::GetFaviconResourceBytes() {
return ResourceBundle::GetSharedInstance().
- LoadDataResourceBytes(IDR_HISTORY_FAVICON);
+ LoadDataResourceBytes(IDR_HISTORY_FAVICON,
+ ui::SCALE_FACTOR_100P);
}
diff --git a/chrome/browser/ui/webui/ntp/new_tab_ui.cc b/chrome/browser/ui/webui/ntp/new_tab_ui.cc
index 2ad684e..1a4f5e8 100644
--- a/chrome/browser/ui/webui/ntp/new_tab_ui.cc
+++ b/chrome/browser/ui/webui/ntp/new_tab_ui.cc
@@ -53,6 +53,8 @@
#include "grit/generated_resources.h"
#include "grit/theme_resources.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/layout.h"
+#include "ui/base/resource/resource_bundle.h"
#if !defined(OS_ANDROID)
#include "chrome/browser/ui/webui/ntp/app_launcher_handler.h"
@@ -355,7 +357,7 @@ void NewTabUI::NewTabHTMLSource::StartDataRequest(const std::string& path,
scoped_refptr<base::RefCountedStaticMemory> resource_bytes(
it->second.second ?
ResourceBundle::GetSharedInstance().LoadDataResourceBytes(
- it->second.second) :
+ it->second.second, ui::SCALE_FACTOR_NONE) :
new base::RefCountedStaticMemory);
SendResponse(request_id, resource_bytes);
return;
diff --git a/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc b/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
index fd46886..034fc9f 100644
--- a/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
+++ b/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
@@ -45,6 +45,7 @@
#include "grit/theme_resources.h"
#include "ui/base/animation/animation.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/base/theme_provider.h"
#include "ui/gfx/color_utils.h"
@@ -291,7 +292,7 @@ void NTPResourceCache::CreateNewTabIncognitoHTML() {
static const base::StringPiece incognito_tab_html(
ResourceBundle::GetSharedInstance().GetRawDataResource(
- new_tab_html_idr));
+ new_tab_html_idr, ui::SCALE_FACTOR_NONE));
std::string full_html = jstemplate_builder::GetI18nTemplateHtml(
incognito_tab_html, &localized_strings);
@@ -427,7 +428,8 @@ void NTPResourceCache::CreateNewTabHTML() {
// Load the new tab page appropriate for this build
base::StringPiece new_tab_html(ResourceBundle::GetSharedInstance().
- GetRawDataResource(IDR_NEW_TAB_4_HTML));
+ GetRawDataResource(IDR_NEW_TAB_4_HTML,
+ ui::SCALE_FACTOR_NONE));
jstemplate_builder::UseVersion2 version2;
std::string full_html =
jstemplate_builder::GetI18nTemplateHtml(new_tab_html, &load_time_data);
@@ -458,7 +460,7 @@ void NTPResourceCache::CreateNewTabIncognitoCSS() {
// Get our template.
static const base::StringPiece new_tab_theme_css(
ResourceBundle::GetSharedInstance().GetRawDataResource(
- IDR_NEW_INCOGNITO_TAB_THEME_CSS));
+ IDR_NEW_INCOGNITO_TAB_THEME_CSS, ui::SCALE_FACTOR_NONE));
// Create the string from our template and the replacements.
std::string full_css = ReplaceStringPlaceholders(
@@ -553,7 +555,7 @@ void NTPResourceCache::CreateNewTabCSS() {
// Get our template.
static const base::StringPiece new_tab_theme_css(
ResourceBundle::GetSharedInstance().GetRawDataResource(
- IDR_NEW_TAB_4_THEME_CSS));
+ IDR_NEW_TAB_4_THEME_CSS, ui::SCALE_FACTOR_NONE));
// Create the string from our template and the replacements.
std::string css_string;
diff --git a/chrome/browser/ui/webui/ntp/ntp_resource_cache_android.cc b/chrome/browser/ui/webui/ntp/ntp_resource_cache_android.cc
index db8d468..61d6230 100644
--- a/chrome/browser/ui/webui/ntp/ntp_resource_cache_android.cc
+++ b/chrome/browser/ui/webui/ntp/ntp_resource_cache_android.cc
@@ -4,11 +4,11 @@
#include "chrome/browser/ui/webui/ntp/ntp_resource_cache.h"
+#include "base/memory/ref_counted_memory.h"
#include "base/string16.h"
#include "base/string_piece.h"
#include "base/utf_string_conversions.h"
#include "base/values.h"
-#include "base/memory/ref_counted_memory.h"
#include "chrome/browser/google/google_util.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/webui/chrome_url_data_manager.h"
@@ -19,6 +19,7 @@
#include "grit/browser_resources.h"
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
using content::BrowserThread;
@@ -73,7 +74,8 @@ void NTPResourceCache::CreateNewTabHTML() {
ChromeURLDataManager::DataSource::SetFontAndTextDirection(&localized_strings);
base::StringPiece new_tab_html(ResourceBundle::GetSharedInstance().
- GetRawDataResource(IDR_NEW_TAB_4_HTML));
+ GetRawDataResource(IDR_NEW_TAB_4_HTML,
+ ui::SCALE_FACTOR_NONE));
const char* new_tab_link = kLearnMoreIncognitoUrl;
string16 learnMoreLink = ASCIIToUTF16(
diff --git a/chrome/browser/ui/webui/options2/chromeos/wallpaper_thumbnail_source2.cc b/chrome/browser/ui/webui/options2/chromeos/wallpaper_thumbnail_source2.cc
index bc38e2d..73f7e3f 100644
--- a/chrome/browser/ui/webui/options2/chromeos/wallpaper_thumbnail_source2.cc
+++ b/chrome/browser/ui/webui/options2/chromeos/wallpaper_thumbnail_source2.cc
@@ -19,6 +19,7 @@
#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"
@@ -107,7 +108,8 @@ void WallpaperThumbnailSource::StartDataRequest(const std::string& path,
if (idr != -1) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
const ResourceBundle& rb = ResourceBundle::GetSharedInstance();
- SendResponse(request_id, rb.LoadDataResourceBytes(idr));
+ SendResponse(request_id, rb.LoadDataResourceBytes(idr,
+ ui::SCALE_FACTOR_100P));
}
}
diff --git a/chrome/browser/ui/webui/options2/options_ui2.cc b/chrome/browser/ui/webui/options2/options_ui2.cc
index 33b13b7..8edd569 100644
--- a/chrome/browser/ui/webui/options2/options_ui2.cc
+++ b/chrome/browser/ui/webui/options2/options_ui2.cc
@@ -57,6 +57,7 @@
#include "grit/theme_resources.h"
#include "grit/theme_resources_standard.h"
#include "net/base/escape.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
#if defined(OS_CHROMEOS)
@@ -149,11 +150,11 @@ void OptionsUIHTMLSource::StartDataRequest(const std::string& path,
} else if (path == kOptionsBundleJsFile) {
// Return (and cache) the options javascript code.
response_bytes = ResourceBundle::GetSharedInstance().LoadDataResourceBytes(
- IDR_OPTIONS2_BUNDLE_JS);
+ IDR_OPTIONS2_BUNDLE_JS, ui::SCALE_FACTOR_NONE);
} else {
// Return (and cache) the main options html page as the default.
response_bytes = ResourceBundle::GetSharedInstance().LoadDataResourceBytes(
- IDR_OPTIONS2_HTML);
+ IDR_OPTIONS2_HTML, ui::SCALE_FACTOR_NONE);
}
SendResponse(request_id, response_bytes);
@@ -355,7 +356,8 @@ void OptionsUI::ProcessAutocompleteSuggestions(
// static
base::RefCountedMemory* OptionsUI::GetFaviconResourceBytes() {
return ResourceBundle::GetSharedInstance().
- LoadDataResourceBytes(IDR_SETTINGS_FAVICON);
+ LoadDataResourceBytes(IDR_SETTINGS_FAVICON,
+ ui::SCALE_FACTOR_100P);
}
void OptionsUI::InitializeHandlers() {
diff --git a/chrome/browser/ui/webui/plugins_ui.cc b/chrome/browser/ui/webui/plugins_ui.cc
index 34aef3c..901ff58 100644
--- a/chrome/browser/ui/webui/plugins_ui.cc
+++ b/chrome/browser/ui/webui/plugins_ui.cc
@@ -19,9 +19,9 @@
#include "base/values.h"
#include "chrome/browser/content_settings/host_content_settings_map.h"
#include "chrome/browser/plugin_prefs.h"
-#include "chrome/browser/prefs/scoped_user_pref_update.h"
#include "chrome/browser/prefs/pref_member.h"
#include "chrome/browser/prefs/pref_service.h"
+#include "chrome/browser/prefs/scoped_user_pref_update.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_window.h"
@@ -42,6 +42,7 @@
#include "grit/theme_resources.h"
#include "grit/theme_resources_standard.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
#include "webkit/plugins/npapi/plugin_group.h"
@@ -483,7 +484,7 @@ PluginsUI::PluginsUI(content::WebUI* web_ui) : WebUIController(web_ui) {
// static
base::RefCountedMemory* PluginsUI::GetFaviconResourceBytes() {
return ResourceBundle::GetSharedInstance().
- LoadDataResourceBytes(IDR_PLUGIN);
+ LoadDataResourceBytes(IDR_PLUGIN, ui::SCALE_FACTOR_100P);
}
// static
diff --git a/chrome/browser/ui/webui/sessions_ui.cc b/chrome/browser/ui/webui/sessions_ui.cc
index 3743b31..cb68200 100644
--- a/chrome/browser/ui/webui/sessions_ui.cc
+++ b/chrome/browser/ui/webui/sessions_ui.cc
@@ -28,6 +28,7 @@
#include "grit/theme_resources.h"
#include "grit/theme_resources_standard.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
using content::WebContents;
@@ -270,5 +271,6 @@ SessionsUI::SessionsUI(content::WebUI* web_ui) : WebUIController(web_ui) {
// static
base::RefCountedMemory* SessionsUI::GetFaviconResourceBytes() {
return ResourceBundle::GetSharedInstance().
- LoadDataResourceBytes(IDR_HISTORY_FAVICON);
+ LoadDataResourceBytes(IDR_HISTORY_FAVICON,
+ ui::SCALE_FACTOR_100P);
}
diff --git a/chrome/browser/ui/webui/shared_resources_data_source.cc b/chrome/browser/ui/webui/shared_resources_data_source.cc
index 378b8e3..2d6630b 100644
--- a/chrome/browser/ui/webui/shared_resources_data_source.cc
+++ b/chrome/browser/ui/webui/shared_resources_data_source.cc
@@ -76,7 +76,7 @@ void SharedResourcesDataSource::StartDataRequest(const std::string& path,
DCHECK_NE(-1, idr) << " path: " << path;
const ResourceBundle& rb = ResourceBundle::GetSharedInstance();
scoped_refptr<base::RefCountedStaticMemory> bytes(
- rb.LoadDataResourceBytes(idr));
+ rb.LoadDataResourceBytes(idr, ui::SCALE_FACTOR_NONE));
SendResponse(request_id, bytes);
}
diff --git a/chrome/browser/ui/webui/theme_source.cc b/chrome/browser/ui/webui/theme_source.cc
index 2c2a59b..b51c05d 100644
--- a/chrome/browser/ui/webui/theme_source.cc
+++ b/chrome/browser/ui/webui/theme_source.cc
@@ -6,6 +6,7 @@
#include "base/memory/ref_counted_memory.h"
#include "base/message_loop.h"
+#include "base/string_number_conversions.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/resources_util.h"
#include "chrome/browser/themes/theme_service.h"
@@ -15,21 +16,60 @@
#include "chrome/common/url_constants.h"
#include "content/public/browser/browser_thread.h"
#include "googleurl/src/gurl.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/base/theme_provider.h"
using content::BrowserThread;
+namespace {
+
// use a resource map rather than hard-coded strings.
static const char* kNewTabCSSPath = "css/new_tab_theme.css";
static const char* kNewIncognitoTabCSSPath = "css/incognito_new_tab_theme.css";
-static std::string StripQueryParams(const std::string& path) {
+struct ScaleFactorMap {
+ const char* name;
+ ui::ScaleFactor scale_factor;
+};
+
+const ScaleFactorMap kScaleFactorMap[] = {
+ { "1x", ui::SCALE_FACTOR_100P },
+ { "2x", ui::SCALE_FACTOR_200P },
+};
+
+std::string StripQueryParams(const std::string& path) {
GURL path_url = GURL(std::string(chrome::kChromeUIScheme) + "://" +
std::string(chrome::kChromeUIThemePath) + "/" + path);
return path_url.path().substr(1); // path() always includes a leading '/'.
}
+std::string ParsePathAndScale(const std::string& path,
+ ui::ScaleFactor* scale_factor) {
+ // Our path may include cachebuster arguments, so trim them off.
+ std::string uncached_path = StripQueryParams(path);
+ if (scale_factor)
+ *scale_factor = ui::SCALE_FACTOR_100P;
+
+ // Detect and parse resource string ending in @<scale>x.
+ std::size_t pos = uncached_path.rfind('@');
+ if (pos != std::string::npos) {
+ if (scale_factor) {
+ for (size_t i = 0; i < arraysize(kScaleFactorMap); i++) {
+ if (uncached_path.compare(pos + 1, uncached_path.length() - pos - 1,
+ kScaleFactorMap[i].name) == 0) {
+ *scale_factor = kScaleFactorMap[i].scale_factor;
+ }
+ }
+ }
+ // Strip scale factor specification from path.
+ uncached_path = uncached_path.substr(0, pos);
+ }
+ return uncached_path;
+}
+
+} // namespace
+
////////////////////////////////////////////////////////////////////////////////
// ThemeSource, public:
@@ -46,8 +86,9 @@ ThemeSource::~ThemeSource() {
void ThemeSource::StartDataRequest(const std::string& path,
bool is_incognito,
int request_id) {
- // Our path may include cachebuster arguments, so trim them off.
- std::string uncached_path = StripQueryParams(path);
+ // Default scale factor if not specified.
+ ui::ScaleFactor scale_factor;
+ std::string uncached_path = ParsePathAndScale(path, &scale_factor);
if (uncached_path == kNewTabCSSPath ||
uncached_path == kNewIncognitoTabCSSPath) {
@@ -60,7 +101,7 @@ void ThemeSource::StartDataRequest(const std::string& path,
} else {
int resource_id = ResourcesUtil::GetThemeResourceId(uncached_path);
if (resource_id != -1) {
- SendThemeBitmap(request_id, resource_id);
+ SendThemeBitmap(request_id, resource_id, scale_factor);
return;
}
}
@@ -69,7 +110,7 @@ void ThemeSource::StartDataRequest(const std::string& path,
}
std::string ThemeSource::GetMimeType(const std::string& path) const {
- std::string uncached_path = StripQueryParams(path);
+ std::string uncached_path = ParsePathAndScale(path, NULL);
if (uncached_path == kNewTabCSSPath ||
uncached_path == kNewIncognitoTabCSSPath) {
@@ -81,7 +122,7 @@ std::string ThemeSource::GetMimeType(const std::string& path) const {
MessageLoop* ThemeSource::MessageLoopForRequestPath(
const std::string& path) const {
- std::string uncached_path = StripQueryParams(path);
+ std::string uncached_path = ParsePathAndScale(path, NULL);
if (uncached_path == kNewTabCSSPath ||
uncached_path == kNewIncognitoTabCSSPath) {
@@ -107,18 +148,22 @@ bool ThemeSource::ShouldReplaceExistingSource() const {
////////////////////////////////////////////////////////////////////////////////
// ThemeSource, private:
-void ThemeSource::SendThemeBitmap(int request_id, int resource_id) {
+void ThemeSource::SendThemeBitmap(int request_id,
+ int resource_id,
+ ui::ScaleFactor scale_factor) {
if (ThemeService::IsThemeableImage(resource_id)) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
ui::ThemeProvider* tp = ThemeServiceFactory::GetForProfile(profile_);
DCHECK(tp);
+ // TODO(flackr): Pass scale factor when fetching themeable images.
scoped_refptr<base::RefCountedMemory> image_data(tp->GetRawData(
resource_id));
SendResponse(request_id, image_data);
} else {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
const ResourceBundle& rb = ResourceBundle::GetSharedInstance();
- SendResponse(request_id, rb.LoadDataResourceBytes(resource_id));
+ SendResponse(request_id,
+ rb.LoadDataResourceBytes(resource_id, scale_factor));
}
}
diff --git a/chrome/browser/ui/webui/theme_source.h b/chrome/browser/ui/webui/theme_source.h
index 9e6c30e..5b58d1c 100644
--- a/chrome/browser/ui/webui/theme_source.h
+++ b/chrome/browser/ui/webui/theme_source.h
@@ -9,6 +9,7 @@
#include <string>
#include "chrome/browser/ui/webui/chrome_url_data_manager.h"
+#include "ui/base/layout.h"
class Profile;
@@ -38,7 +39,9 @@ class ThemeSource : public ChromeURLDataManager::DataSource {
private:
// Fetch and send the theme bitmap.
- void SendThemeBitmap(int request_id, int resource_id);
+ void SendThemeBitmap(int request_id,
+ int resource_id,
+ ui::ScaleFactor scale_factor);
// The original profile (never an OTR profile).
Profile* profile_;
diff --git a/chrome/browser/ui/webui/web_ui_browsertest.cc b/chrome/browser/ui/webui/web_ui_browsertest.cc
index 2a7e0bf..ac95ea2 100644
--- a/chrome/browser/ui/webui/web_ui_browsertest.cc
+++ b/chrome/browser/ui/webui/web_ui_browsertest.cc
@@ -322,7 +322,7 @@ void WebUIBrowserTest::SetUpInProcessBrowserTestFixture() {
FilePath resources_pack_path;
PathService::Get(chrome::FILE_RESOURCES_PACK, &resources_pack_path);
ResourceBundle::GetSharedInstance().AddDataPack(
- resources_pack_path, ui::ResourceHandle::kScaleFactor100x);
+ resources_pack_path, ui::SCALE_FACTOR_100P);
FilePath mockPath;
ASSERT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &mockPath));
diff --git a/chrome/browser/ui/webui/web_ui_util.cc b/chrome/browser/ui/webui/web_ui_util.cc
index 4ef88e0..46d2824 100644
--- a/chrome/browser/ui/webui/web_ui_util.cc
+++ b/chrome/browser/ui/webui/web_ui_util.cc
@@ -11,6 +11,7 @@
#include "base/memory/ref_counted_memory.h"
#include "base/values.h"
#include "chrome/browser/disposition_utils.h"
+#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/codec/png_codec.h"
@@ -30,7 +31,8 @@ std::string GetImageDataUrl(const SkBitmap& bitmap) {
std::string GetImageDataUrlFromResource(int res) {
// Load resource icon and covert to base64 encoded data url
base::RefCountedStaticMemory* icon_data =
- ResourceBundle::GetSharedInstance().LoadDataResourceBytes(res);
+ ResourceBundle::GetSharedInstance().LoadDataResourceBytes(res,
+ ui::SCALE_FACTOR_100P);
if (!icon_data)
return std::string();
scoped_refptr<base::RefCountedMemory> raw_icon(icon_data);