| Index: chrome/browser/prerender/prerender_manager.cc
|
| diff --git a/chrome/browser/prerender/prerender_manager.cc b/chrome/browser/prerender/prerender_manager.cc
|
| index 5d3bf457b1d8d35ac5971e504204f4255e9980a2..e4dfb19c7cef312817c55b56b2e27c23a1debc43 100644
|
| --- a/chrome/browser/prerender/prerender_manager.cc
|
| +++ b/chrome/browser/prerender/prerender_manager.cc
|
| @@ -21,7 +21,6 @@
|
| #include "base/metrics/field_trial.h"
|
| #include "base/metrics/histogram_macros.h"
|
| #include "base/single_thread_task_runner.h"
|
| -#include "base/strings/string_util.h"
|
| #include "base/sys_info.h"
|
| #include "base/threading/thread_task_runner_handle.h"
|
| #include "base/time/time.h"
|
| @@ -61,7 +60,6 @@
|
| #include "content/public/browser/web_contents_delegate.h"
|
| #include "content/public/common/url_constants.h"
|
| #include "extensions/common/constants.h"
|
| -#include "net/http/http_request_headers.h"
|
| #include "ui/gfx/geometry/rect.h"
|
|
|
| using content::BrowserThread;
|
| @@ -80,22 +78,6 @@ const int kPeriodicCleanupIntervalMs = 1000;
|
| // Length of prerender history, for display in chrome://net-internals
|
| const int kHistoryLength = 100;
|
|
|
| -// Check if |extra_headers| requested via chrome::NavigateParams::extra_headers
|
| -// are the same as what the HTTP server saw when serving prerendered contents.
|
| -// PrerenderContents::StartPrerendering doesn't specify any extra headers when
|
| -// calling content::NavigationController::LoadURLWithParams, but in reality
|
| -// Blink will always add an Upgrade-Insecure-Requests http request header, so
|
| -// that HTTP request for prerendered contents always includes this header.
|
| -// Because of this, it is okay to show prerendered contents even if
|
| -// |extra_headers| contains "Upgrade-Insecure-Requests" header.
|
| -bool AreExtraHeadersCompatibleWithPrerenderContents(
|
| - const std::string& extra_headers) {
|
| - net::HttpRequestHeaders parsed_headers;
|
| - parsed_headers.AddHeadersFromString(extra_headers);
|
| - parsed_headers.RemoveHeader("upgrade-insecure-requests");
|
| - return parsed_headers.IsEmpty();
|
| -}
|
| -
|
| } // namespace
|
|
|
| class PrerenderManager::OnCloseWebContentsDeleter
|
| @@ -316,14 +298,9 @@ bool PrerenderManager::MaybeUsePrerenderedPage(const GURL& url,
|
| WebContents* web_contents = params->target_contents;
|
| DCHECK(!IsWebContentsPrerendering(web_contents, nullptr));
|
|
|
| - // Don't prerender if the navigation involves some special parameters that
|
| - // are different from what was used by PrerenderContents::StartPrerendering
|
| - // (which always uses GET method and doesn't specify any extra headers when
|
| - // calling content::NavigationController::LoadURLWithParams).
|
| - if (params->uses_post ||
|
| - !AreExtraHeadersCompatibleWithPrerenderContents(params->extra_headers)) {
|
| + // Don't prerender if the navigation involves some special parameters.
|
| + if (params->uses_post || !params->extra_headers.empty())
|
| return false;
|
| - }
|
|
|
| DeleteOldEntries();
|
| to_delete_prerenders_.clear();
|
|
|