Commit 7974e7ae authored by Robert Ogden's avatar Robert Ogden Committed by Commit Bot

Add Accept-Language header to IsolatedPrerender requests

This header is copied from prefs, per the design doc.

Bug: 1084186
Change-Id: Id99652bbf573b6aa6ede9230a7d6da5c23904acf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2207752Reviewed-by: default avatarTarun Bansal <tbansal@chromium.org>
Commit-Queue: Robert Ogden <robertogden@chromium.org>
Cr-Commit-Position: refs/heads/master@{#769841}
parent 842ba3f2
......@@ -45,6 +45,8 @@
#include "components/data_reduction_proxy/core/common/data_reduction_proxy_features.h"
#include "components/data_reduction_proxy/core/common/data_reduction_proxy_switches.h"
#include "components/data_reduction_proxy/proto/client_config.pb.h"
#include "components/language/core/browser/pref_names.h"
#include "components/prefs/pref_service.h"
#include "components/ukm/test_ukm_recorder.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/navigation_controller.h"
......@@ -60,6 +62,7 @@
#include "mojo/public/cpp/bindings/receiver.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "net/dns/mock_host_resolver.h"
#include "net/http/http_util.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
#include "net/test/embedded_test_server/embedded_test_server_connection_listener.h"
#include "net/test/embedded_test_server/http_request.h"
......@@ -577,6 +580,13 @@ class IsolatedPrerenderBrowserTest
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
origin_server_request_count_++;
origin_server_requests_.push_back(request.GetURL());
EXPECT_TRUE(request.headers.find("Accept-Language") !=
request.headers.end());
EXPECT_EQ(request.headers.find("Accept-Language")->second,
net::HttpUtil::GenerateAcceptLanguageHeader(
browser()->profile()->GetPrefs()->GetString(
language::prefs::kAcceptLanguages)));
}
// Called when |config_server_| receives a request for config fetch.
......
......@@ -27,7 +27,9 @@
#include "chrome/browser/profiles/profile.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_settings.h"
#include "components/google/core/common/google_util.h"
#include "components/language/core/browser/pref_names.h"
#include "components/page_load_metrics/browser/metrics_web_contents_observer.h"
#include "components/prefs/pref_service.h"
#include "components/search_engines/template_url_service.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/navigation_handle.h"
......@@ -41,6 +43,7 @@
#include "net/base/net_errors.h"
#include "net/cookies/cookie_store.h"
#include "net/http/http_status_code.h"
#include "net/http/http_util.h"
#include "net/traffic_annotation/network_traffic_annotation.h"
#include "services/network/public/cpp/resource_request.h"
#include "services/network/public/cpp/shared_url_loader_factory.h"
......@@ -787,6 +790,8 @@ void IsolatedPrerenderTabHelper::CreateIsolatedURLLoaderFactory() {
auto context_params = network::mojom::NetworkContextParams::New();
context_params->user_agent = ::GetUserAgent();
context_params->accept_language = net::HttpUtil::GenerateAcceptLanguageHeader(
profile_->GetPrefs()->GetString(language::prefs::kAcceptLanguages));
context_params->initial_custom_proxy_config =
isolated_prerender_service->proxy_configurator()
->CreateCustomProxyConfig();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment