| Index: content/browser/webui/web_ui_data_source_impl.cc
|
| diff --git a/content/browser/webui/web_ui_data_source_impl.cc b/content/browser/webui/web_ui_data_source_impl.cc
|
| index a5364fbf2b2810e36be883d8a3bb4c7fc156ca31..2d6d24a916d5f43ec1a34d25881678357dd0c934 100644
|
| --- a/content/browser/webui/web_ui_data_source_impl.cc
|
| +++ b/content/browser/webui/web_ui_data_source_impl.cc
|
| @@ -61,6 +61,11 @@ class WebUIDataSourceImpl::InternalDataSource : public URLDataSource {
|
| bool ShouldAddContentSecurityPolicy() const override {
|
| return parent_->add_csp_;
|
| }
|
| + std::string GetContentSecurityPolicyScriptSrc() const override {
|
| + if (parent_->script_src_set_)
|
| + return parent_->script_src_;
|
| + return URLDataSource::GetContentSecurityPolicyScriptSrc();
|
| + }
|
| std::string GetContentSecurityPolicyObjectSrc() const override {
|
| if (parent_->object_src_set_)
|
| return parent_->object_src_;
|
| @@ -88,6 +93,7 @@ WebUIDataSourceImpl::WebUIDataSourceImpl(const std::string& source_name)
|
| source_name_(source_name),
|
| default_resource_(-1),
|
| add_csp_(true),
|
| + script_src_set_(false),
|
| object_src_set_(false),
|
| frame_src_set_(false),
|
| deny_xframe_options_(true),
|
| @@ -180,6 +186,12 @@ void WebUIDataSourceImpl::DisableContentSecurityPolicy() {
|
| add_csp_ = false;
|
| }
|
|
|
| +void WebUIDataSourceImpl::OverrideContentSecurityPolicyScriptSrc(
|
| + const std::string& data) {
|
| + script_src_set_ = true;
|
| + script_src_ = data;
|
| +}
|
| +
|
| void WebUIDataSourceImpl::OverrideContentSecurityPolicyObjectSrc(
|
| const std::string& data) {
|
| object_src_set_ = true;
|
|
|