| Index: chrome/browser/prerender/prerender_resource_handler.cc
|
| ===================================================================
|
| --- chrome/browser/prerender/prerender_resource_handler.cc (revision 75394)
|
| +++ chrome/browser/prerender/prerender_resource_handler.cc (working copy)
|
| @@ -14,32 +14,16 @@
|
|
|
| namespace {
|
|
|
| -bool ShouldPrerenderURL(const GURL& url) {
|
| - if (!url.is_valid())
|
| - return false;
|
| - if (!url.SchemeIs("http")) {
|
| - RecordFinalStatus(FINAL_STATUS_HTTPS);
|
| - return false;
|
| - }
|
| - return true;
|
| -}
|
| -
|
| -bool ValidateAliasURLs(const std::vector<GURL>& urls) {
|
| - for (std::vector<GURL>::const_iterator it = urls.begin();
|
| - it != urls.end();
|
| - ++it) {
|
| - if (!ShouldPrerenderURL(*it))
|
| - return false;
|
| - }
|
| - return true;
|
| -}
|
| -
|
| -bool ShouldPrerender(const ResourceResponse* response) {
|
| +bool ShouldPrerender(const GURL& url, const ResourceResponse* response) {
|
| if (!response)
|
| return false;
|
| const ResourceResponseHead& rrh = response->response_head;
|
| + if (!url.is_valid())
|
| + return false;
|
| if (!rrh.headers)
|
| return false;
|
| + if (!(url.SchemeIs("http") || url.SchemeIs("https")))
|
| + return false;
|
| if (rrh.mime_type != "text/html")
|
| return false;
|
| if (rrh.headers->response_code() != 200)
|
| @@ -57,8 +41,6 @@
|
| return NULL;
|
| if (!(request.load_flags() & net::LOAD_PREFETCH))
|
| return NULL;
|
| - if (!ShouldPrerenderURL(request.url()))
|
| - return NULL;
|
| if (request.method() != "GET")
|
| return NULL;
|
| return new PrerenderResourceHandler(request,
|
| @@ -107,8 +89,6 @@
|
| bool will_redirect = next_handler_->OnRequestRedirected(
|
| request_id, url, response, defer);
|
| if (will_redirect) {
|
| - if (!ShouldPrerenderURL(url))
|
| - return false;
|
| alias_urls_.push_back(url);
|
| url_ = url;
|
| }
|
| @@ -117,8 +97,7 @@
|
|
|
| bool PrerenderResourceHandler::OnResponseStarted(int request_id,
|
| ResourceResponse* response) {
|
| - if (ShouldPrerender(response)) {
|
| - DCHECK(ValidateAliasURLs(alias_urls_));
|
| + if (ShouldPrerender(url_, response)) {
|
| BrowserThread::PostTask(
|
| BrowserThread::UI,
|
| FROM_HERE,
|
| @@ -137,8 +116,6 @@
|
| bool* defer) {
|
| bool will_start = next_handler_->OnWillStart(request_id, url, defer);
|
| if (will_start) {
|
| - if (!ShouldPrerenderURL(url))
|
| - return false;
|
| alias_urls_.push_back(url);
|
| url_ = url;
|
| }
|
|
|