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

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 203853003: Merge weburlrequest_extradata_impl.cc/h into content/child/request_extra_data.cc/h (attempt #2) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nits Created 6 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « content/renderer/pepper/url_request_info_util.cc ('k') | webkit/child/webkit_child.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/renderer/render_frame_impl.h" 5 #include "content/renderer/render_frame_impl.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 return -1; 145 return -1;
146 146
147 if (item.httpBody().isNull()) 147 if (item.httpBody().isNull())
148 return -1; 148 return -1;
149 149
150 return item.httpBody().identifier(); 150 return item.httpBody().identifier();
151 } 151 }
152 152
153 WebURLResponseExtraDataImpl* GetExtraDataFromResponse( 153 WebURLResponseExtraDataImpl* GetExtraDataFromResponse(
154 const WebURLResponse& response) { 154 const WebURLResponse& response) {
155 return static_cast<WebURLResponseExtraDataImpl*>( 155 return static_cast<WebURLResponseExtraDataImpl*>(response.extraData());
156 response.extraData());
157 } 156 }
158 157
159 void GetRedirectChain(WebDataSource* ds, std::vector<GURL>* result) { 158 void GetRedirectChain(WebDataSource* ds, std::vector<GURL>* result) {
160 // Replace any occurrences of swappedout:// with about:blank. 159 // Replace any occurrences of swappedout:// with about:blank.
161 const WebURL& blank_url = GURL(kAboutBlankURL); 160 const WebURL& blank_url = GURL(kAboutBlankURL);
162 WebVector<WebURL> urls; 161 WebVector<WebURL> urls;
163 ds->redirectChain(urls); 162 ds->redirectChain(urls);
164 result->reserve(urls.size()); 163 result->reserve(urls.size());
165 for (size_t i = 0; i < urls.size(); ++i) { 164 for (size_t i = 0; i < urls.size(); ++i) {
166 if (urls[i] != GURL(kSwappedOutURL)) 165 if (urls[i] != GURL(kSwappedOutURL))
(...skipping 1749 matching lines...) Expand 10 before | Expand all | Expand 10 after
1916 blink::WebURLRequest& request) { 1915 blink::WebURLRequest& request) {
1917 DCHECK(!frame_ || frame_ == frame); 1916 DCHECK(!frame_ || frame_ == frame);
1918 // FIXME(kohei): This will never be set. 1917 // FIXME(kohei): This will never be set.
1919 WebString custom_user_agent; 1918 WebString custom_user_agent;
1920 1919
1921 DCHECK(!request.extraData()); 1920 DCHECK(!request.extraData());
1922 1921
1923 bool was_after_preconnect_request = true; 1922 bool was_after_preconnect_request = true;
1924 // The args after |was_after_preconnect_request| are not used, and set to 1923 // The args after |was_after_preconnect_request| are not used, and set to
1925 // correct values at |willSendRequest|. 1924 // correct values at |willSendRequest|.
1926 request.setExtraData(new webkit_glue::WebURLRequestExtraDataImpl( 1925 RequestExtraData* extra_data = new RequestExtraData();
1927 custom_user_agent, was_after_preconnect_request)); 1926 extra_data->set_custom_user_agent(custom_user_agent);
1927 extra_data->set_was_after_preconnect_request(was_after_preconnect_request);
1928 request.setExtraData(extra_data);
1928 } 1929 }
1929 1930
1930 void RenderFrameImpl::willSendRequest( 1931 void RenderFrameImpl::willSendRequest(
1931 blink::WebFrame* frame, 1932 blink::WebFrame* frame,
1932 unsigned identifier, 1933 unsigned identifier,
1933 blink::WebURLRequest& request, 1934 blink::WebURLRequest& request,
1934 const blink::WebURLResponse& redirect_response) { 1935 const blink::WebURLResponse& redirect_response) {
1935 DCHECK(!frame_ || frame_ == frame); 1936 DCHECK(!frame_ || frame_ == frame);
1936 // The request my be empty during tests. 1937 // The request my be empty during tests.
1937 if (request.url().isEmpty()) 1938 if (request.url().isEmpty())
(...skipping 28 matching lines...) Expand all
1966 1967
1967 if (internal_data->is_cache_policy_override_set()) 1968 if (internal_data->is_cache_policy_override_set())
1968 request.setCachePolicy(internal_data->cache_policy_override()); 1969 request.setCachePolicy(internal_data->cache_policy_override());
1969 1970
1970 // The request's extra data may indicate that we should set a custom user 1971 // The request's extra data may indicate that we should set a custom user
1971 // agent. This needs to be done here, after WebKit is through with setting the 1972 // agent. This needs to be done here, after WebKit is through with setting the
1972 // user agent on its own. 1973 // user agent on its own.
1973 WebString custom_user_agent; 1974 WebString custom_user_agent;
1974 bool was_after_preconnect_request = false; 1975 bool was_after_preconnect_request = false;
1975 if (request.extraData()) { 1976 if (request.extraData()) {
1976 webkit_glue::WebURLRequestExtraDataImpl* old_extra_data = 1977 RequestExtraData* old_extra_data =
1977 static_cast<webkit_glue::WebURLRequestExtraDataImpl*>( 1978 static_cast<RequestExtraData*>(
1978 request.extraData()); 1979 request.extraData());
1979 custom_user_agent = old_extra_data->custom_user_agent(); 1980 custom_user_agent = old_extra_data->custom_user_agent();
1980 was_after_preconnect_request = 1981 was_after_preconnect_request =
1981 old_extra_data->was_after_preconnect_request(); 1982 old_extra_data->was_after_preconnect_request();
1982 1983
1983 if (!custom_user_agent.isNull()) { 1984 if (!custom_user_agent.isNull()) {
1984 if (custom_user_agent.isEmpty()) 1985 if (custom_user_agent.isEmpty())
1985 request.clearHTTPHeaderField("User-Agent"); 1986 request.clearHTTPHeaderField("User-Agent");
1986 else 1987 else
1987 request.setHTTPHeaderField("User-Agent", custom_user_agent); 1988 request.setHTTPHeaderField("User-Agent", custom_user_agent);
(...skipping 29 matching lines...) Expand all
2017 } 2018 }
2018 } else if (frame->dataSource()) { 2019 } else if (frame->dataSource()) {
2019 ServiceWorkerNetworkProvider* provider = 2020 ServiceWorkerNetworkProvider* provider =
2020 ServiceWorkerNetworkProvider::FromDocumentState( 2021 ServiceWorkerNetworkProvider::FromDocumentState(
2021 DocumentState::FromDataSource(frame->dataSource())); 2022 DocumentState::FromDataSource(frame->dataSource()));
2022 provider_id = provider->provider_id(); 2023 provider_id = provider->provider_id();
2023 } 2024 }
2024 2025
2025 int parent_routing_id = frame->parent() ? 2026 int parent_routing_id = frame->parent() ?
2026 FromWebFrame(frame->parent())->GetRoutingID() : -1; 2027 FromWebFrame(frame->parent())->GetRoutingID() : -1;
2027 request.setExtraData( 2028 RequestExtraData* extra_data = new RequestExtraData();
2028 new RequestExtraData(render_view_->visibilityState(), 2029 extra_data->set_visibility_state(render_view_->visibilityState());
2029 custom_user_agent, 2030 extra_data->set_custom_user_agent(custom_user_agent);
2030 was_after_preconnect_request, 2031 extra_data->set_was_after_preconnect_request(was_after_preconnect_request);
2031 routing_id_, 2032 extra_data->set_render_frame_id(routing_id_);
2032 (frame == top_frame), 2033 extra_data->set_is_main_frame(frame == top_frame);
2033 GURL(frame->document().securityOrigin().toString()), 2034 extra_data->set_frame_origin(
2034 frame->parent() == top_frame, 2035 GURL(frame->document().securityOrigin().toString()));
2035 parent_routing_id, 2036 extra_data->set_parent_is_main_frame(frame->parent() == top_frame);
2036 navigation_state->allow_download(), 2037 extra_data->set_parent_render_frame_id(parent_routing_id);
2037 transition_type, 2038 extra_data->set_allow_download(navigation_state->allow_download());
2038 should_replace_current_entry, 2039 extra_data->set_transition_type(transition_type);
2039 navigation_state->transferred_request_child_id(), 2040 extra_data->set_should_replace_current_entry(should_replace_current_entry);
2040 navigation_state->transferred_request_request_id(), 2041 extra_data->set_transferred_request_child_id(
2041 provider_id)); 2042 navigation_state->transferred_request_child_id());
2043 extra_data->set_transferred_request_request_id(
2044 navigation_state->transferred_request_request_id());
2045 extra_data->set_service_worker_provider_id(provider_id);
2046 request.setExtraData(extra_data);
2042 2047
2043 DocumentState* top_document_state = 2048 DocumentState* top_document_state =
2044 DocumentState::FromDataSource(top_data_source); 2049 DocumentState::FromDataSource(top_data_source);
2045 if (top_document_state) { 2050 if (top_document_state) {
2046 // TODO(gavinp): separate out prefetching and prerender field trials 2051 // TODO(gavinp): separate out prefetching and prerender field trials
2047 // if the rel=prerender rel type is sticking around. 2052 // if the rel=prerender rel type is sticking around.
2048 if (request.targetType() == WebURLRequest::TargetIsPrefetch) 2053 if (request.targetType() == WebURLRequest::TargetIsPrefetch)
2049 top_document_state->set_was_prefetcher(true); 2054 top_document_state->set_was_prefetcher(true);
2050 2055
2051 if (was_after_preconnect_request) 2056 if (was_after_preconnect_request)
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
2096 // If we are in view source mode, then just let the user see the source of 2101 // If we are in view source mode, then just let the user see the source of
2097 // the server's error page. 2102 // the server's error page.
2098 if (frame->isViewSourceModeEnabled()) 2103 if (frame->isViewSourceModeEnabled())
2099 return; 2104 return;
2100 2105
2101 DocumentState* document_state = 2106 DocumentState* document_state =
2102 DocumentState::FromDataSource(frame->provisionalDataSource()); 2107 DocumentState::FromDataSource(frame->provisionalDataSource());
2103 int http_status_code = response.httpStatusCode(); 2108 int http_status_code = response.httpStatusCode();
2104 2109
2105 // Record page load flags. 2110 // Record page load flags.
2106 WebURLResponseExtraDataImpl* extra_data = GetExtraDataFromResponse(response); 2111 WebURLResponseExtraDataImpl* extra_data =
2112 GetExtraDataFromResponse(response);
2107 if (extra_data) { 2113 if (extra_data) {
2108 document_state->set_was_fetched_via_spdy( 2114 document_state->set_was_fetched_via_spdy(
2109 extra_data->was_fetched_via_spdy()); 2115 extra_data->was_fetched_via_spdy());
2110 document_state->set_was_npn_negotiated( 2116 document_state->set_was_npn_negotiated(
2111 extra_data->was_npn_negotiated()); 2117 extra_data->was_npn_negotiated());
2112 document_state->set_npn_negotiated_protocol( 2118 document_state->set_npn_negotiated_protocol(
2113 extra_data->npn_negotiated_protocol()); 2119 extra_data->npn_negotiated_protocol());
2114 document_state->set_was_alternate_protocol_available( 2120 document_state->set_was_alternate_protocol_available(
2115 extra_data->was_alternate_protocol_available()); 2121 extra_data->was_alternate_protocol_available());
2116 document_state->set_connection_info( 2122 document_state->set_connection_info(
(...skipping 796 matching lines...) Expand 10 before | Expand all | Expand 10 after
2913 selection_text_offset_ = offset; 2919 selection_text_offset_ = offset;
2914 selection_range_ = range; 2920 selection_range_ = range;
2915 // This IPC is dispatched by RenderWidetHost, so use its routing ID. 2921 // This IPC is dispatched by RenderWidetHost, so use its routing ID.
2916 Send(new ViewHostMsg_SelectionChanged( 2922 Send(new ViewHostMsg_SelectionChanged(
2917 GetRenderWidget()->routing_id(), text, offset, range)); 2923 GetRenderWidget()->routing_id(), text, offset, range));
2918 } 2924 }
2919 GetRenderWidget()->UpdateSelectionBounds(); 2925 GetRenderWidget()->UpdateSelectionBounds();
2920 } 2926 }
2921 2927
2922 } // namespace content 2928 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/pepper/url_request_info_util.cc ('k') | webkit/child/webkit_child.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698