diff options
Diffstat (limited to 'chrome/browser/ui/webui/theme_source.cc')
-rw-r--r-- | chrome/browser/ui/webui/theme_source.cc | 61 |
1 files changed, 8 insertions, 53 deletions
diff --git a/chrome/browser/ui/webui/theme_source.cc b/chrome/browser/ui/webui/theme_source.cc index b51c05d..2c2a59b 100644 --- a/chrome/browser/ui/webui/theme_source.cc +++ b/chrome/browser/ui/webui/theme_source.cc @@ -6,7 +6,6 @@ #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" @@ -16,60 +15,21 @@ #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"; -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) { +static 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: @@ -86,9 +46,8 @@ ThemeSource::~ThemeSource() { void ThemeSource::StartDataRequest(const std::string& path, bool is_incognito, int request_id) { - // Default scale factor if not specified. - ui::ScaleFactor scale_factor; - std::string uncached_path = ParsePathAndScale(path, &scale_factor); + // Our path may include cachebuster arguments, so trim them off. + std::string uncached_path = StripQueryParams(path); if (uncached_path == kNewTabCSSPath || uncached_path == kNewIncognitoTabCSSPath) { @@ -101,7 +60,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, scale_factor); + SendThemeBitmap(request_id, resource_id); return; } } @@ -110,7 +69,7 @@ void ThemeSource::StartDataRequest(const std::string& path, } std::string ThemeSource::GetMimeType(const std::string& path) const { - std::string uncached_path = ParsePathAndScale(path, NULL); + std::string uncached_path = StripQueryParams(path); if (uncached_path == kNewTabCSSPath || uncached_path == kNewIncognitoTabCSSPath) { @@ -122,7 +81,7 @@ std::string ThemeSource::GetMimeType(const std::string& path) const { MessageLoop* ThemeSource::MessageLoopForRequestPath( const std::string& path) const { - std::string uncached_path = ParsePathAndScale(path, NULL); + std::string uncached_path = StripQueryParams(path); if (uncached_path == kNewTabCSSPath || uncached_path == kNewIncognitoTabCSSPath) { @@ -148,22 +107,18 @@ bool ThemeSource::ShouldReplaceExistingSource() const { //////////////////////////////////////////////////////////////////////////////// // ThemeSource, private: -void ThemeSource::SendThemeBitmap(int request_id, - int resource_id, - ui::ScaleFactor scale_factor) { +void ThemeSource::SendThemeBitmap(int request_id, int resource_id) { 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, scale_factor)); + SendResponse(request_id, rb.LoadDataResourceBytes(resource_id)); } } |