| Index: ios/web/webui/web_ui_ios_data_source_impl.mm
|
| diff --git a/ios/web/webui/web_ui_ios_data_source_impl.mm b/ios/web/webui/web_ui_ios_data_source_impl.mm
|
| index 189722fac972e2c9eebe4512379345fc78878a54..b51e26fe17e65c72c14e3d03d14593fb102c155c 100644
|
| --- a/ios/web/webui/web_ui_ios_data_source_impl.mm
|
| +++ b/ios/web/webui/web_ui_ios_data_source_impl.mm
|
| @@ -9,7 +9,6 @@
|
| #include "base/bind.h"
|
| #include "base/memory/ref_counted_memory.h"
|
| #include "base/strings/string_util.h"
|
| -#include "base/strings/utf_string_conversions.h"
|
| #import "ios/web/public/web_client.h"
|
| #include "ui/base/webui/jstemplate_builder.h"
|
| #include "ui/base/webui/web_ui_util.h"
|
| @@ -66,7 +65,6 @@
|
| source_name_(source_name),
|
| default_resource_(-1),
|
| deny_xframe_options_(true),
|
| - load_time_data_defaults_added_(true),
|
| replace_existing_source_(true) {}
|
|
|
| WebUIIOSDataSourceImpl::~WebUIIOSDataSourceImpl() {}
|
| @@ -74,27 +72,16 @@
|
| void WebUIIOSDataSourceImpl::AddString(const std::string& name,
|
| const base::string16& value) {
|
| localized_strings_.SetString(name, value);
|
| - replacements_[name] = base::UTF16ToUTF8(value);
|
| }
|
|
|
| void WebUIIOSDataSourceImpl::AddString(const std::string& name,
|
| const std::string& value) {
|
| localized_strings_.SetString(name, value);
|
| - replacements_[name] = value;
|
| }
|
|
|
| void WebUIIOSDataSourceImpl::AddLocalizedString(const std::string& name,
|
| int ids) {
|
| localized_strings_.SetString(name, GetWebClient()->GetLocalizedString(ids));
|
| - replacements_[name] =
|
| - base::UTF16ToUTF8(GetWebClient()->GetLocalizedString(ids));
|
| -}
|
| -
|
| -void WebUIIOSDataSourceImpl::AddLocalizedStrings(
|
| - const base::DictionaryValue& localized_strings) {
|
| - localized_strings_.MergeDictionary(&localized_strings);
|
| - ui::TemplateReplacementsFromDictionaryValue(localized_strings,
|
| - &replacements_);
|
| }
|
|
|
| void WebUIIOSDataSourceImpl::AddBoolean(const std::string& name, bool value) {
|
| @@ -141,22 +128,9 @@
|
| return "text/html";
|
| }
|
|
|
| -void WebUIIOSDataSourceImpl::EnsureLoadTimeDataDefaultsAdded() {
|
| - if (!load_time_data_defaults_added_)
|
| - return;
|
| -
|
| - load_time_data_defaults_added_ = false;
|
| - base::DictionaryValue defaults;
|
| - webui::SetLoadTimeDataDefaults(web::GetWebClient()->GetApplicationLocale(),
|
| - &defaults);
|
| - AddLocalizedStrings(defaults);
|
| -}
|
| -
|
| void WebUIIOSDataSourceImpl::StartDataRequest(
|
| const std::string& path,
|
| const URLDataSourceIOS::GotDataCallback& callback) {
|
| - EnsureLoadTimeDataDefaultsAdded();
|
| -
|
| if (!json_path_.empty() && path == json_path_) {
|
| SendLocalizedStringsAsJSON(callback);
|
| return;
|
| @@ -168,30 +142,24 @@
|
| if (result != path_to_idr_map_.end())
|
| resource_id = result->second;
|
| DCHECK_NE(resource_id, -1);
|
| - SendFromResourceBundle(path, callback, resource_id);
|
| + SendFromResourceBundle(callback, resource_id);
|
| }
|
|
|
| void WebUIIOSDataSourceImpl::SendLocalizedStringsAsJSON(
|
| const URLDataSourceIOS::GotDataCallback& callback) {
|
| std::string template_data;
|
| + webui::SetLoadTimeDataDefaults(web::GetWebClient()->GetApplicationLocale(),
|
| + &localized_strings_);
|
| +
|
| webui::AppendJsonJS(&localized_strings_, &template_data);
|
| callback.Run(base::RefCountedString::TakeString(&template_data));
|
| }
|
|
|
| void WebUIIOSDataSourceImpl::SendFromResourceBundle(
|
| - const std::string& path,
|
| const URLDataSourceIOS::GotDataCallback& callback,
|
| int idr) {
|
| scoped_refptr<base::RefCountedMemory> response(
|
| GetWebClient()->GetDataResourceBytes(idr));
|
| -
|
| - if (response.get() && GetMimeType(path) == "text/html") {
|
| - std::string replaced = ui::ReplaceTemplateExpressions(
|
| - base::StringPiece(response->front_as<char>(), response->size()),
|
| - replacements_);
|
| - response = base::RefCountedString::TakeString(&replaced);
|
| - }
|
| -
|
| callback.Run(response);
|
| }
|
|
|
|
|