Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3726)

Unified Diff: chrome/browser/ui/webui/chrome_web_ui_data_source.cc

Issue 11885021: Don't derive from ChromeURLDataManager::DataSource, and instead have these classes implement a dele… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: nits Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/chrome_web_ui_data_source.cc
===================================================================
--- chrome/browser/ui/webui/chrome_web_ui_data_source.cc (revision 176443)
+++ chrome/browser/ui/webui/chrome_web_ui_data_source.cc (working copy)
@@ -14,19 +14,18 @@
#include "ui/base/resource/resource_bundle.h"
ChromeWebUIDataSource::ChromeWebUIDataSource(const std::string& source_name)
- : DataSource(source_name, MessageLoop::current()),
+ : URLDataSource(source_name, this),
+ source_name_(source_name),
default_resource_(-1),
json_js_format_v2_(false) {
+ url_data_source_ = this;
}
-ChromeWebUIDataSource::ChromeWebUIDataSource(const std::string& source_name,
- MessageLoop* loop)
- : DataSource(source_name, loop),
- default_resource_(-1),
- json_js_format_v2_(false) {
-}
-
ChromeWebUIDataSource::~ChromeWebUIDataSource() {
+ // TODO(jam): since temporarily ChromeWebUIDataSource is a URLDataSource and a
+ // content::URLDataSourceDelegate, NULL the delegate pointer out to avoid a
+ // double delete.
+ release_delegate();
}
void ChromeWebUIDataSource::AddString(const std::string& name,
@@ -54,6 +53,10 @@
filter_callback_ = callback;
}
+std::string ChromeWebUIDataSource::GetSource() {
+ return source_name_;
+}
+
std::string ChromeWebUIDataSource::GetMimeType(const std::string& path) const {
if (EndsWith(path, ".js", false))
return "application/javascript";
@@ -73,8 +76,7 @@
if (!filter_callback_.is_null() &&
filter_callback_.Run(
path,
- base::Bind(&ChromeURLDataManager::DataSource::SendResponse,
- this, request_id))) {
+ base::Bind(&URLDataSource::SendResponse, this, request_id))) {
return;
}
@@ -94,7 +96,7 @@
void ChromeWebUIDataSource::SendLocalizedStringsAsJSON(int request_id) {
std::string template_data;
- SetFontAndTextDirection(&localized_strings_);
+ URLDataSource::SetFontAndTextDirection(&localized_strings_);
scoped_ptr<jstemplate_builder::UseVersion2> version2;
if (json_js_format_v2_)

Powered by Google App Engine
This is Rietveld 408576698