From 3f0f86b0caed75241fa71c95a5d73bc0164348c5 Mon Sep 17 00:00:00 2001 From: Andras Becsi Date: Tue, 18 Mar 2014 13:16:26 +0100 Subject: Update to new stable branch 1750 This also includes an updated ninja and chromium dependencies needed on Windows. Change-Id: Icd597d80ed3fa4425933c9f1334c3c2e31291c42 Reviewed-by: Zoltan Arvai Reviewed-by: Zeno Albisser --- .../content/browser/webui/url_data_manager_backend.cc | 18 ++++++++++++++++++ .../content/browser/webui/web_ui_data_source_impl.cc | 9 ++++++--- .../content/browser/webui/web_ui_data_source_impl.h | 2 +- .../browser/webui/web_ui_data_source_unittest.cc | 4 ++-- chromium/content/browser/webui/web_ui_impl.cc | 12 ++++++------ chromium/content/browser/webui/web_ui_impl.h | 10 +++++----- .../content/browser/webui/web_ui_message_handler.cc | 6 +++--- .../browser/webui/web_ui_message_handler_unittest.cc | 16 ++++++++-------- 8 files changed, 49 insertions(+), 28 deletions(-) (limited to 'chromium/content/browser/webui') diff --git a/chromium/content/browser/webui/url_data_manager_backend.cc b/chromium/content/browser/webui/url_data_manager_backend.cc index 1bcbdb76e9e..1e378007502 100644 --- a/chromium/content/browser/webui/url_data_manager_backend.cc +++ b/chromium/content/browser/webui/url_data_manager_backend.cc @@ -17,6 +17,7 @@ #include "base/memory/weak_ptr.h" #include "base/message_loop/message_loop.h" #include "base/strings/string_util.h" +#include "base/strings/stringprintf.h" #include "content/browser/fileapi/chrome_blob_storage_context.h" #include "content/browser/histogram_internals_request_job.h" #include "content/browser/net/view_blob_internals_job_factory.h" @@ -147,6 +148,10 @@ class URLRequestChromeJob : public net::URLRequestJob, deny_xframe_options_ = deny_xframe_options; } + void set_send_content_type_header(bool send_content_type_header) { + send_content_type_header_ = send_content_type_header; + } + // Returns true when job was generated from an incognito profile. bool is_incognito() const { return is_incognito_; @@ -188,6 +193,9 @@ class URLRequestChromeJob : public net::URLRequestJob, // If true, sets the "X-Frame-Options: DENY" header. bool deny_xframe_options_; + // If true, sets the "Content-Type: " header. + bool send_content_type_header_; + // True when job is generated from an incognito profile. const bool is_incognito_; @@ -211,6 +219,7 @@ URLRequestChromeJob::URLRequestChromeJob(net::URLRequest* request, content_security_policy_object_source_("object-src 'none';"), content_security_policy_frame_source_("frame-src 'none';"), deny_xframe_options_(true), + send_content_type_header_(false), is_incognito_(is_incognito), backend_(backend), weak_factory_(this) { @@ -267,6 +276,13 @@ void URLRequestChromeJob::GetResponseInfo(net::HttpResponseInfo* info) { if (!allow_caching_) info->headers->AddHeader("Cache-Control: no-cache"); + + if (send_content_type_header_ && !mime_type_.empty()) { + std::string content_type = + base::StringPrintf("%s:%s", net::HttpRequestHeaders::kContentType, + mime_type_.c_str()); + info->headers->AddHeader(content_type); + } } void URLRequestChromeJob::MimeTypeAvailable(const std::string& mime_type) { @@ -511,6 +527,8 @@ bool URLDataManagerBackend::StartRequest(const net::URLRequest* request, source->source()->GetContentSecurityPolicyFrameSrc()); job->set_deny_xframe_options( source->source()->ShouldDenyXFrameOptions()); + job->set_send_content_type_header( + source->source()->ShouldServeMimeTypeAsContentTypeHeader()); // Look up additional request info to pass down. int render_process_id = -1; diff --git a/chromium/content/browser/webui/web_ui_data_source_impl.cc b/chromium/content/browser/webui/web_ui_data_source_impl.cc index 9d0d17128a6..6775eb739da 100644 --- a/chromium/content/browser/webui/web_ui_data_source_impl.cc +++ b/chromium/content/browser/webui/web_ui_data_source_impl.cc @@ -10,8 +10,8 @@ #include "base/memory/ref_counted_memory.h" #include "base/strings/string_util.h" #include "content/public/common/content_client.h" -#include "ui/webui/jstemplate_builder.h" -#include "ui/webui/web_ui_util.h" +#include "ui/base/webui/jstemplate_builder.h" +#include "ui/base/webui/web_ui_util.h" namespace content { @@ -52,6 +52,9 @@ class WebUIDataSourceImpl::InternalDataSource : public URLDataSource { virtual bool ShouldReplaceExistingSource() const OVERRIDE { return parent_->replace_existing_source_; } + virtual bool AllowCaching() const OVERRIDE { + return false; + } virtual bool ShouldAddContentSecurityPolicy() const OVERRIDE { return parent_->add_csp_; } @@ -92,7 +95,7 @@ WebUIDataSourceImpl::~WebUIDataSourceImpl() { } void WebUIDataSourceImpl::AddString(const std::string& name, - const string16& value) { + const base::string16& value) { localized_strings_.SetString(name, value); } diff --git a/chromium/content/browser/webui/web_ui_data_source_impl.h b/chromium/content/browser/webui/web_ui_data_source_impl.h index 1f8100469e7..91ec087cfc0 100644 --- a/chromium/content/browser/webui/web_ui_data_source_impl.h +++ b/chromium/content/browser/webui/web_ui_data_source_impl.h @@ -28,7 +28,7 @@ class CONTENT_EXPORT WebUIDataSourceImpl public: // WebUIDataSource implementation: virtual void AddString(const std::string& name, - const string16& value) OVERRIDE; + const base::string16& value) OVERRIDE; virtual void AddString(const std::string& name, const std::string& value) OVERRIDE; virtual void AddLocalizedString(const std::string& name, int ids) OVERRIDE; diff --git a/chromium/content/browser/webui/web_ui_data_source_unittest.cc b/chromium/content/browser/webui/web_ui_data_source_unittest.cc index f384a43e94a..a5da7eb8211 100644 --- a/chromium/content/browser/webui/web_ui_data_source_unittest.cc +++ b/chromium/content/browser/webui/web_ui_data_source_unittest.cc @@ -25,10 +25,10 @@ class TestClient : public TestContentClient { TestClient() {} virtual ~TestClient() {} - virtual string16 GetLocalizedString(int message_id) const OVERRIDE { + virtual base::string16 GetLocalizedString(int message_id) const OVERRIDE { if (message_id == kDummyStringId) return UTF8ToUTF16(kDummyString); - return string16(); + return base::string16(); } diff --git a/chromium/content/browser/webui/web_ui_impl.cc b/chromium/content/browser/webui/web_ui_impl.cc index e54a6d8c27d..4774e4f17ac 100644 --- a/chromium/content/browser/webui/web_ui_impl.cc +++ b/chromium/content/browser/webui/web_ui_impl.cc @@ -27,10 +27,10 @@ namespace content { const WebUI::TypeID WebUI::kNoWebUI = NULL; // static -string16 WebUI::GetJavascriptCall( +base::string16 WebUI::GetJavascriptCall( const std::string& function_name, const std::vector& arg_list) { - string16 parameters; + base::string16 parameters; std::string json; for (size_t i = 0; i < arg_list.size(); ++i) { if (i > 0) @@ -106,11 +106,11 @@ ui::ScaleFactor WebUIImpl::GetDeviceScaleFactor() const { return GetScaleFactorForView(web_contents_->GetRenderWidgetHostView()); } -const string16& WebUIImpl::GetOverriddenTitle() const { +const base::string16& WebUIImpl::GetOverriddenTitle() const { return overridden_title_; } -void WebUIImpl::OverrideTitle(const string16& title) { +void WebUIImpl::OverrideTitle(const base::string16& title) { overridden_title_ = title; } @@ -144,7 +144,7 @@ void WebUIImpl::SetController(WebUIController* controller) { void WebUIImpl::CallJavascriptFunction(const std::string& function_name) { DCHECK(IsStringASCII(function_name)); - string16 javascript = ASCIIToUTF16(function_name + "();"); + base::string16 javascript = ASCIIToUTF16(function_name + "();"); ExecuteJavascript(javascript); } @@ -230,7 +230,7 @@ void WebUIImpl::AddMessageHandler(WebUIMessageHandler* handler) { handlers_.push_back(handler); } -void WebUIImpl::ExecuteJavascript(const string16& javascript) { +void WebUIImpl::ExecuteJavascript(const base::string16& javascript) { static_cast( web_contents_->GetRenderViewHost())->ExecuteJavascriptInWebFrame( ASCIIToUTF16(frame_xpath_), javascript); diff --git a/chromium/content/browser/webui/web_ui_impl.h b/chromium/content/browser/webui/web_ui_impl.h index de3059fcd49..8715e43e226 100644 --- a/chromium/content/browser/webui/web_ui_impl.h +++ b/chromium/content/browser/webui/web_ui_impl.h @@ -25,7 +25,7 @@ class CONTENT_EXPORT WebUIImpl : public WebUI, // Called by WebContentsImpl when the RenderView is first created. This is // *not* called for every page load because in some cases - // RenderViewHostManager will reuse RenderView instances. + // RenderFrameHostManager will reuse RenderView instances. void RenderViewCreated(RenderViewHost* render_view_host); // WebUI implementation: @@ -33,8 +33,8 @@ class CONTENT_EXPORT WebUIImpl : public WebUI, virtual WebUIController* GetController() const OVERRIDE; virtual void SetController(WebUIController* controller) OVERRIDE; virtual ui::ScaleFactor GetDeviceScaleFactor() const OVERRIDE; - virtual const string16& GetOverriddenTitle() const OVERRIDE; - virtual void OverrideTitle(const string16& title) OVERRIDE; + virtual const base::string16& GetOverriddenTitle() const OVERRIDE; + virtual void OverrideTitle(const base::string16& title) OVERRIDE; virtual PageTransition GetLinkTransitionType() const OVERRIDE; virtual void SetLinkTransitionType(PageTransition type) OVERRIDE; virtual int GetBindings() const OVERRIDE; @@ -78,7 +78,7 @@ class CONTENT_EXPORT WebUIImpl : public WebUI, const base::ListValue& args); // Execute a string of raw Javascript on the page. - void ExecuteJavascript(const string16& javascript); + void ExecuteJavascript(const base::string16& javascript); // A map of message name -> message handling callback. typedef std::map MessageCallbackMap; @@ -86,7 +86,7 @@ class CONTENT_EXPORT WebUIImpl : public WebUI, // Options that may be overridden by individual Web UI implementations. The // bool options default to false. See the public getters for more information. - string16 overridden_title_; // Defaults to empty string. + base::string16 overridden_title_; // Defaults to empty string. PageTransition link_transition_type_; // Defaults to LINK. int bindings_; // The bindings from BindingsPolicy that should be enabled for // this page. diff --git a/chromium/content/browser/webui/web_ui_message_handler.cc b/chromium/content/browser/webui/web_ui_message_handler.cc index db554c0ed85..57b2c46b86d 100644 --- a/chromium/content/browser/webui/web_ui_message_handler.cc +++ b/chromium/content/browser/webui/web_ui_message_handler.cc @@ -36,12 +36,12 @@ bool WebUIMessageHandler::ExtractDoubleValue(const ListValue* value, return false; } -string16 WebUIMessageHandler::ExtractStringValue(const ListValue* value) { - string16 string16_value; +base::string16 WebUIMessageHandler::ExtractStringValue(const ListValue* value) { + base::string16 string16_value; if (value->GetString(0, &string16_value)) return string16_value; NOTREACHED(); - return string16(); + return base::string16(); } } // namespace content diff --git a/chromium/content/browser/webui/web_ui_message_handler_unittest.cc b/chromium/content/browser/webui/web_ui_message_handler_unittest.cc index e38acd7e311..33cdb61fb11 100644 --- a/chromium/content/browser/webui/web_ui_message_handler_unittest.cc +++ b/chromium/content/browser/webui/web_ui_message_handler_unittest.cc @@ -14,9 +14,9 @@ namespace content { TEST(WebUIMessageHandlerTest, ExtractIntegerValue) { ListValue list; int value, zero_value = 0, neg_value = -1234, pos_value = 1234; - string16 zero_string(UTF8ToUTF16("0")); - string16 neg_string(UTF8ToUTF16("-1234")); - string16 pos_string(UTF8ToUTF16("1234")); + base::string16 zero_string(UTF8ToUTF16("0")); + base::string16 neg_string(UTF8ToUTF16("-1234")); + base::string16 pos_string(UTF8ToUTF16("1234")); list.Append(new base::FundamentalValue(zero_value)); EXPECT_TRUE(WebUIMessageHandler::ExtractIntegerValue(&list, &value)); @@ -51,9 +51,9 @@ TEST(WebUIMessageHandlerTest, ExtractIntegerValue) { TEST(WebUIMessageHandlerTest, ExtractDoubleValue) { base::ListValue list; double value, zero_value = 0.0, neg_value = -1234.5, pos_value = 1234.5; - string16 zero_string(UTF8ToUTF16("0")); - string16 neg_string(UTF8ToUTF16("-1234.5")); - string16 pos_string(UTF8ToUTF16("1234.5")); + base::string16 zero_string(UTF8ToUTF16("0")); + base::string16 neg_string(UTF8ToUTF16("-1234.5")); + base::string16 pos_string(UTF8ToUTF16("1234.5")); list.Append(new base::FundamentalValue(zero_value)); EXPECT_TRUE(WebUIMessageHandler::ExtractDoubleValue(&list, &value)); @@ -87,10 +87,10 @@ TEST(WebUIMessageHandlerTest, ExtractDoubleValue) { TEST(WebUIMessageHandlerTest, ExtractStringValue) { base::ListValue list; - string16 in_string(UTF8ToUTF16( + base::string16 in_string(UTF8ToUTF16( "The facts, though interesting, are irrelevant.")); list.Append(new base::StringValue(in_string)); - string16 out_string = WebUIMessageHandler::ExtractStringValue(&list); + base::string16 out_string = WebUIMessageHandler::ExtractStringValue(&list); EXPECT_EQ(in_string, out_string); } -- cgit v1.2.1