Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1305)

Side by Side Diff: content/browser/frame_host/navigation_request.cc

Issue 1310743003: Consistently use LoFi for an entire page (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressing comments Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/frame_host/navigation_request.h" 5 #include "content/browser/frame_host/navigation_request.h"
6 6
7 #include "content/browser/frame_host/frame_tree.h" 7 #include "content/browser/frame_host/frame_tree.h"
8 #include "content/browser/frame_host/frame_tree_node.h" 8 #include "content/browser/frame_host/frame_tree_node.h"
9 #include "content/browser/frame_host/navigation_controller_impl.h" 9 #include "content/browser/frame_host/navigation_controller_impl.h"
10 #include "content/browser/frame_host/navigation_handle_impl.h" 10 #include "content/browser/frame_host/navigation_handle_impl.h"
11 #include "content/browser/frame_host/navigation_request_info.h" 11 #include "content/browser/frame_host/navigation_request_info.h"
12 #include "content/browser/frame_host/navigator.h" 12 #include "content/browser/frame_host/navigator.h"
13 #include "content/browser/loader/navigation_url_loader.h" 13 #include "content/browser/loader/navigation_url_loader.h"
14 #include "content/browser/site_instance_impl.h" 14 #include "content/browser/site_instance_impl.h"
15 #include "content/common/navigation_params.h"
15 #include "content/common/resource_request_body.h" 16 #include "content/common/resource_request_body.h"
16 #include "content/public/browser/navigation_controller.h" 17 #include "content/public/browser/navigation_controller.h"
17 #include "content/public/browser/stream_handle.h" 18 #include "content/public/browser/stream_handle.h"
18 #include "content/public/common/content_client.h" 19 #include "content/public/common/content_client.h"
19 #include "net/base/load_flags.h" 20 #include "net/base/load_flags.h"
20 #include "net/http/http_request_headers.h" 21 #include "net/http/http_request_headers.h"
21 #include "net/url_request/redirect_info.h" 22 #include "net/url_request/redirect_info.h"
22 23
23 namespace content { 24 namespace content {
24 25
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 const GURL& dest_url, 58 const GURL& dest_url,
58 const Referrer& dest_referrer, 59 const Referrer& dest_referrer,
59 const FrameNavigationEntry& frame_entry, 60 const FrameNavigationEntry& frame_entry,
60 const NavigationEntryImpl& entry, 61 const NavigationEntryImpl& entry,
61 FrameMsg_Navigate_Type::Value navigation_type, 62 FrameMsg_Navigate_Type::Value navigation_type,
62 bool is_same_document_history_load, 63 bool is_same_document_history_load,
63 base::TimeTicks navigation_start, 64 base::TimeTicks navigation_start,
64 NavigationControllerImpl* controller) { 65 NavigationControllerImpl* controller) {
65 std::string method = entry.GetHasPostData() ? "POST" : "GET"; 66 std::string method = entry.GetHasPostData() ? "POST" : "GET";
66 67
68 // TODO(megjablon): Do we want to turn LoFi off on reloads? Need decision.
69 LoFiState lofi_state =
70 (navigation_type == FrameMsg_Navigate_Type::RELOAD ||
71 navigation_type == FrameMsg_Navigate_Type::RELOAD_IGNORING_CACHE ||
72 navigation_type == FrameMsg_Navigate_Type::RELOAD_ORIGINAL_REQUEST_URL) ?
73 LOFI_OFF : LOFI_DEFAULT;
74
67 // Copy existing headers and add necessary headers that may not be present 75 // Copy existing headers and add necessary headers that may not be present
68 // in the RequestNavigationParams. 76 // in the RequestNavigationParams.
69 net::HttpRequestHeaders headers; 77 net::HttpRequestHeaders headers;
70 headers.AddHeadersFromString(entry.extra_headers()); 78 headers.AddHeadersFromString(entry.extra_headers());
71 headers.SetHeaderIfMissing(net::HttpRequestHeaders::kUserAgent, 79 headers.SetHeaderIfMissing(net::HttpRequestHeaders::kUserAgent,
72 GetContentClient()->GetUserAgent()); 80 GetContentClient()->GetUserAgent());
73 // TODO(clamy): match what blink is doing with accept headers. 81 // TODO(clamy): match what blink is doing with accept headers.
74 headers.SetHeaderIfMissing("Accept", "*/*"); 82 headers.SetHeaderIfMissing("Accept", "*/*");
75 83
76 // Fill POST data from the browser in the request body. 84 // Fill POST data from the browser in the request body.
(...skipping 11 matching lines...) Expand all
88 entry.ConstructCommonNavigationParams(dest_url, dest_referrer, 96 entry.ConstructCommonNavigationParams(dest_url, dest_referrer,
89 frame_entry, navigation_type), 97 frame_entry, navigation_type),
90 BeginNavigationParams(method, headers.ToString(), 98 BeginNavigationParams(method, headers.ToString(),
91 LoadFlagFromNavigationType(navigation_type), false), 99 LoadFlagFromNavigationType(navigation_type), false),
92 entry.ConstructRequestNavigationParams( 100 entry.ConstructRequestNavigationParams(
93 frame_entry, navigation_start, is_same_document_history_load, 101 frame_entry, navigation_start, is_same_document_history_load,
94 frame_tree_node->has_committed_real_load(), 102 frame_tree_node->has_committed_real_load(),
95 controller->GetPendingEntryIndex() == -1, 103 controller->GetPendingEntryIndex() == -1,
96 controller->GetIndexOfEntry(&entry), 104 controller->GetIndexOfEntry(&entry),
97 controller->GetLastCommittedEntryIndex(), 105 controller->GetLastCommittedEntryIndex(),
98 controller->GetEntryCount()), 106 controller->GetEntryCount(), lofi_state),
99 request_body, true, &frame_entry, &entry)); 107 request_body, true, &frame_entry, &entry));
100 return navigation_request.Pass(); 108 return navigation_request.Pass();
101 } 109 }
102 110
103 // static 111 // static
104 scoped_ptr<NavigationRequest> NavigationRequest::CreateRendererInitiated( 112 scoped_ptr<NavigationRequest> NavigationRequest::CreateRendererInitiated(
105 FrameTreeNode* frame_tree_node, 113 FrameTreeNode* frame_tree_node,
106 const CommonNavigationParams& common_params, 114 const CommonNavigationParams& common_params,
107 const BeginNavigationParams& begin_params, 115 const BeginNavigationParams& begin_params,
108 scoped_refptr<ResourceRequestBody> body, 116 scoped_refptr<ResourceRequestBody> body,
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 frame_tree_node_->navigator()->FailedNavigation( 245 frame_tree_node_->navigator()->FailedNavigation(
238 frame_tree_node_, has_stale_copy_in_cache, net_error); 246 frame_tree_node_, has_stale_copy_in_cache, net_error);
239 } 247 }
240 248
241 void NavigationRequest::OnRequestStarted(base::TimeTicks timestamp) { 249 void NavigationRequest::OnRequestStarted(base::TimeTicks timestamp) {
242 frame_tree_node_->navigator()->LogResourceRequestTime(timestamp, 250 frame_tree_node_->navigator()->LogResourceRequestTime(timestamp,
243 common_params_.url); 251 common_params_.url);
244 } 252 }
245 253
246 } // namespace content 254 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698