| Index: chrome/browser/ui/webui/theme_source.cc
|
| ===================================================================
|
| --- chrome/browser/ui/webui/theme_source.cc (revision 176942)
|
| +++ chrome/browser/ui/webui/theme_source.cc (working copy)
|
| @@ -11,7 +11,6 @@
|
| #include "chrome/browser/resources_util.h"
|
| #include "chrome/browser/themes/theme_service.h"
|
| #include "chrome/browser/themes/theme_service_factory.h"
|
| -#include "chrome/browser/ui/webui/chrome_url_data_manager.h"
|
| #include "chrome/browser/ui/webui/ntp/ntp_resource_cache.h"
|
| #include "chrome/browser/ui/webui/ntp/ntp_resource_cache_factory.h"
|
| #include "chrome/browser/ui/webui/web_ui_util.h"
|
| @@ -53,9 +52,10 @@
|
| return chrome::kChromeUIThemePath;
|
| }
|
|
|
| -void ThemeSource::StartDataRequest(const std::string& path,
|
| - bool is_incognito,
|
| - int request_id) {
|
| +void ThemeSource::StartDataRequest(
|
| + const std::string& path,
|
| + bool is_incognito,
|
| + const content::URLDataSource::GotDataCallback& callback) {
|
| // Default scale factor if not specified.
|
| ui::ScaleFactor scale_factor;
|
| std::string uncached_path;
|
| @@ -69,19 +69,19 @@
|
| DCHECK((uncached_path == kNewTabCSSPath && !is_incognito) ||
|
| (uncached_path == kNewIncognitoTabCSSPath && is_incognito));
|
|
|
| - url_data_source()->SendResponse(request_id, css_bytes_);
|
| + callback.Run(css_bytes_);
|
| return;
|
| }
|
|
|
|
|
| int resource_id = ResourcesUtil::GetThemeResourceId(uncached_path);
|
| if (resource_id != -1) {
|
| - SendThemeBitmap(request_id, resource_id, scale_factor);
|
| + SendThemeBitmap(callback, resource_id, scale_factor);
|
| return;
|
| }
|
|
|
| // We don't have any data to send back.
|
| - url_data_source()->SendResponse(request_id, NULL);
|
| + callback.Run(NULL);
|
| }
|
|
|
| std::string ThemeSource::GetMimeType(const std::string& path) const {
|
| @@ -115,7 +115,7 @@
|
| if (!ThemeService::IsThemeableImage(resource_id))
|
| return NULL;
|
|
|
| - return content::URLDataSourceDelegate::MessageLoopForRequestPath(path);
|
| + return content::URLDataSource::MessageLoopForRequestPath(path);
|
| }
|
|
|
| bool ThemeSource::ShouldReplaceExistingSource() const {
|
| @@ -127,9 +127,10 @@
|
| ////////////////////////////////////////////////////////////////////////////////
|
| // ThemeSource, private:
|
|
|
| -void ThemeSource::SendThemeBitmap(int request_id,
|
| - int resource_id,
|
| - ui::ScaleFactor scale_factor) {
|
| +void ThemeSource::SendThemeBitmap(
|
| + const content::URLDataSource::GotDataCallback& callback,
|
| + int resource_id,
|
| + ui::ScaleFactor scale_factor) {
|
| if (ThemeService::IsThemeableImage(resource_id)) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| ui::ThemeProvider* tp = ThemeServiceFactory::GetForProfile(profile_);
|
| @@ -137,12 +138,10 @@
|
|
|
| scoped_refptr<base::RefCountedMemory> image_data(tp->GetRawData(
|
| resource_id, scale_factor));
|
| - url_data_source()->SendResponse(request_id, image_data);
|
| + callback.Run(image_data);
|
| } else {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| const ResourceBundle& rb = ResourceBundle::GetSharedInstance();
|
| - url_data_source()->SendResponse(
|
| - request_id,
|
| - rb.LoadDataResourceBytesForScale(resource_id, scale_factor));
|
| + callback.Run(rb.LoadDataResourceBytesForScale(resource_id, scale_factor));
|
| }
|
| }
|
|
|