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

Side by Side Diff: chrome/browser/ui/webui/options/options_ui.cc

Issue 2774263002: Specify AllowCaching = false for dynamically-generated contents (Closed)
Patch Set: typo Created 3 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/webui/options/options_ui.h" 5 #include "chrome/browser/ui/webui/options/options_ui.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 public: 193 public:
194 // The constructor takes over ownership of |localized_strings|. 194 // The constructor takes over ownership of |localized_strings|.
195 explicit OptionsUIHTMLSource(base::DictionaryValue* localized_strings); 195 explicit OptionsUIHTMLSource(base::DictionaryValue* localized_strings);
196 196
197 // content::URLDataSource implementation. 197 // content::URLDataSource implementation.
198 std::string GetSource() const override; 198 std::string GetSource() const override;
199 void StartDataRequest( 199 void StartDataRequest(
200 const std::string& path, 200 const std::string& path,
201 const content::ResourceRequestInfo::WebContentsGetter& wc_getter, 201 const content::ResourceRequestInfo::WebContentsGetter& wc_getter,
202 const content::URLDataSource::GotDataCallback& callback) override; 202 const content::URLDataSource::GotDataCallback& callback) override;
203 bool AllowCaching() const override;
203 std::string GetMimeType(const std::string&) const override; 204 std::string GetMimeType(const std::string&) const override;
204 bool ShouldDenyXFrameOptions() const override; 205 bool ShouldDenyXFrameOptions() const override;
205 206
206 private: 207 private:
207 ~OptionsUIHTMLSource() override; 208 ~OptionsUIHTMLSource() override;
208 void CreateDataSourceMap(); 209 void CreateDataSourceMap();
209 210
210 // Localized strings collection. 211 // Localized strings collection.
211 std::unique_ptr<base::DictionaryValue> localized_strings_; 212 std::unique_ptr<base::DictionaryValue> localized_strings_;
212 std::map<std::string, int> path_to_idr_map_; 213 std::map<std::string, int> path_to_idr_map_;
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 std::string replaced = ui::ReplaceTemplateExpressions( 264 std::string replaced = ui::ReplaceTemplateExpressions(
264 base::StringPiece(response_bytes->front_as<char>(), 265 base::StringPiece(response_bytes->front_as<char>(),
265 response_bytes->size()), 266 response_bytes->size()),
266 replacements_); 267 replacements_);
267 response_bytes = base::RefCountedString::TakeString(&replaced); 268 response_bytes = base::RefCountedString::TakeString(&replaced);
268 } 269 }
269 270
270 callback.Run(response_bytes.get()); 271 callback.Run(response_bytes.get());
271 } 272 }
272 273
274 bool OptionsUIHTMLSource::AllowCaching() const {
275 // Should not be cached to reflect dynamically-generated contents that depends
276 // on the current locale.
277 return false;
278 }
279
273 std::string OptionsUIHTMLSource::GetMimeType(const std::string& path) const { 280 std::string OptionsUIHTMLSource::GetMimeType(const std::string& path) const {
274 if (base::EndsWith(path, ".js", base::CompareCase::INSENSITIVE_ASCII)) 281 if (base::EndsWith(path, ".js", base::CompareCase::INSENSITIVE_ASCII))
275 return "application/javascript"; 282 return "application/javascript";
276 283
277 return "text/html"; 284 return "text/html";
278 } 285 }
279 286
280 bool OptionsUIHTMLSource::ShouldDenyXFrameOptions() const { 287 bool OptionsUIHTMLSource::ShouldDenyXFrameOptions() const {
281 return false; 288 return false;
282 } 289 }
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 // Add only if handler's service is enabled. 636 // Add only if handler's service is enabled.
630 if (handler->IsEnabled()) { 637 if (handler->IsEnabled()) {
631 // Add handler to the list and also pass the ownership. 638 // Add handler to the list and also pass the ownership.
632 web_ui()->AddMessageHandler(std::move(handler)); 639 web_ui()->AddMessageHandler(std::move(handler));
633 handler_raw->GetLocalizedValues(localized_strings); 640 handler_raw->GetLocalizedValues(localized_strings);
634 handlers_.push_back(handler_raw); 641 handlers_.push_back(handler_raw);
635 } 642 }
636 } 643 }
637 644
638 } // namespace options 645 } // namespace options
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/extensions/extension_icon_source.cc ('k') | content/browser/webui/shared_resources_data_source.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698