| OLD | NEW |
| 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 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 519 | 519 |
| 520 if (common_params.referrer.url.is_valid()) { | 520 if (common_params.referrer.url.is_valid()) { |
| 521 WebString web_referrer = WebSecurityPolicy::generateReferrerHeader( | 521 WebString web_referrer = WebSecurityPolicy::generateReferrerHeader( |
| 522 common_params.referrer.policy, | 522 common_params.referrer.policy, |
| 523 common_params.url, | 523 common_params.url, |
| 524 WebString::fromUTF8(common_params.referrer.url.spec())); | 524 WebString::fromUTF8(common_params.referrer.url.spec())); |
| 525 if (!web_referrer.isEmpty()) | 525 if (!web_referrer.isEmpty()) |
| 526 request.setHTTPReferrer(web_referrer, common_params.referrer.policy); | 526 request.setHTTPReferrer(web_referrer, common_params.referrer.policy); |
| 527 } | 527 } |
| 528 | 528 |
| 529 request.setHTTPMethod(WebString::fromUTF8(common_params.method)); |
| 530 |
| 529 RequestExtraData* extra_data = new RequestExtraData(); | 531 RequestExtraData* extra_data = new RequestExtraData(); |
| 530 extra_data->set_stream_override(std::move(stream_override)); | 532 extra_data->set_stream_override(std::move(stream_override)); |
| 531 extra_data->set_lofi_state(common_params.lofi_state); | 533 extra_data->set_lofi_state(common_params.lofi_state); |
| 532 request.setExtraData(extra_data); | 534 request.setExtraData(extra_data); |
| 533 | 535 |
| 534 // Set the ui timestamp for this navigation. Currently the timestamp here is | 536 // Set the ui timestamp for this navigation. Currently the timestamp here is |
| 535 // only non empty when the navigation was triggered by an Android intent. The | 537 // only non empty when the navigation was triggered by an Android intent. The |
| 536 // timestamp is converted to a double version supported by blink. It will be | 538 // timestamp is converted to a double version supported by blink. It will be |
| 537 // passed back to the browser in the DidCommitProvisionalLoad and the | 539 // passed back to the browser in the DidCommitProvisionalLoad and the |
| 538 // DocumentLoadComplete IPCs. | 540 // DocumentLoadComplete IPCs. |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 594 static_cast<FrameMsg_UILoadMetricsReportType::Value>( | 596 static_cast<FrameMsg_UILoadMetricsReportType::Value>( |
| 595 request->inputPerfMetricReportPolicy()); | 597 request->inputPerfMetricReportPolicy()); |
| 596 | 598 |
| 597 const RequestExtraData* extra_data = | 599 const RequestExtraData* extra_data = |
| 598 static_cast<RequestExtraData*>(request->extraData()); | 600 static_cast<RequestExtraData*>(request->extraData()); |
| 599 DCHECK(extra_data); | 601 DCHECK(extra_data); |
| 600 return CommonNavigationParams( | 602 return CommonNavigationParams( |
| 601 request->url(), referrer, extra_data->transition_type(), | 603 request->url(), referrer, extra_data->transition_type(), |
| 602 FrameMsg_Navigate_Type::NORMAL, true, should_replace_current_entry, | 604 FrameMsg_Navigate_Type::NORMAL, true, should_replace_current_entry, |
| 603 ui_timestamp, report_type, GURL(), GURL(), extra_data->lofi_state(), | 605 ui_timestamp, report_type, GURL(), GURL(), extra_data->lofi_state(), |
| 604 base::TimeTicks::Now()); | 606 base::TimeTicks::Now(), request->httpMethod().latin1()); |
| 605 } | 607 } |
| 606 | 608 |
| 607 media::Context3D GetSharedMainThreadContext3D() { | 609 media::Context3D GetSharedMainThreadContext3D() { |
| 608 cc::ContextProvider* provider = | 610 cc::ContextProvider* provider = |
| 609 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); | 611 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); |
| 610 if (!provider) | 612 if (!provider) |
| 611 return media::Context3D(); | 613 return media::Context3D(); |
| 612 return media::Context3D(provider->ContextGL(), provider->GrContext()); | 614 return media::Context3D(provider->ContextGL(), provider->GrContext()); |
| 613 } | 615 } |
| 614 | 616 |
| (...skipping 4823 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5438 if (!start_params.extra_headers.empty() && !browser_side_navigation) { | 5440 if (!start_params.extra_headers.empty() && !browser_side_navigation) { |
| 5439 for (net::HttpUtil::HeadersIterator i(start_params.extra_headers.begin(), | 5441 for (net::HttpUtil::HeadersIterator i(start_params.extra_headers.begin(), |
| 5440 start_params.extra_headers.end(), | 5442 start_params.extra_headers.end(), |
| 5441 "\n"); | 5443 "\n"); |
| 5442 i.GetNext();) { | 5444 i.GetNext();) { |
| 5443 request.addHTTPHeaderField(WebString::fromUTF8(i.name()), | 5445 request.addHTTPHeaderField(WebString::fromUTF8(i.name()), |
| 5444 WebString::fromUTF8(i.values())); | 5446 WebString::fromUTF8(i.values())); |
| 5445 } | 5447 } |
| 5446 } | 5448 } |
| 5447 | 5449 |
| 5448 if (start_params.is_post && !browser_side_navigation) { | 5450 if (common_params.method == "POST" && !browser_side_navigation) { |
| 5449 request.setHTTPMethod(WebString::fromUTF8("POST")); | |
| 5450 | |
| 5451 // Set post data. | 5451 // Set post data. |
| 5452 WebHTTPBody http_body; | 5452 WebHTTPBody http_body; |
| 5453 http_body.initialize(); | 5453 http_body.initialize(); |
| 5454 const char* data = nullptr; | 5454 const char* data = nullptr; |
| 5455 if (start_params.browser_initiated_post_data.size()) { | 5455 if (start_params.browser_initiated_post_data.size()) { |
| 5456 data = reinterpret_cast<const char*>( | 5456 data = reinterpret_cast<const char*>( |
| 5457 &start_params.browser_initiated_post_data.front()); | 5457 &start_params.browser_initiated_post_data.front()); |
| 5458 } | 5458 } |
| 5459 http_body.appendData( | 5459 http_body.appendData( |
| 5460 WebData(data, start_params.browser_initiated_post_data.size())); | 5460 WebData(data, start_params.browser_initiated_post_data.size())); |
| (...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5731 DCHECK(frame_->parent() || | 5731 DCHECK(frame_->parent() || |
| 5732 GetRequestContextFrameTypeForWebURLRequest(*request) == | 5732 GetRequestContextFrameTypeForWebURLRequest(*request) == |
| 5733 REQUEST_CONTEXT_FRAME_TYPE_TOP_LEVEL); | 5733 REQUEST_CONTEXT_FRAME_TYPE_TOP_LEVEL); |
| 5734 DCHECK(!frame_->parent() || | 5734 DCHECK(!frame_->parent() || |
| 5735 GetRequestContextFrameTypeForWebURLRequest(*request) == | 5735 GetRequestContextFrameTypeForWebURLRequest(*request) == |
| 5736 REQUEST_CONTEXT_FRAME_TYPE_NESTED); | 5736 REQUEST_CONTEXT_FRAME_TYPE_NESTED); |
| 5737 | 5737 |
| 5738 Send(new FrameHostMsg_BeginNavigation( | 5738 Send(new FrameHostMsg_BeginNavigation( |
| 5739 routing_id_, | 5739 routing_id_, |
| 5740 MakeCommonNavigationParams(request, should_replace_current_entry), | 5740 MakeCommonNavigationParams(request, should_replace_current_entry), |
| 5741 BeginNavigationParams( | 5741 BeginNavigationParams(GetWebURLRequestHeaders(*request), |
| 5742 request->httpMethod().latin1(), GetWebURLRequestHeaders(*request), | 5742 GetLoadFlagsForWebURLRequest(*request), |
| 5743 GetLoadFlagsForWebURLRequest(*request), request->hasUserGesture(), | 5743 request->hasUserGesture(), |
| 5744 request->skipServiceWorker(), | 5744 request->skipServiceWorker(), |
| 5745 GetRequestContextTypeForWebURLRequest(*request)), | 5745 GetRequestContextTypeForWebURLRequest(*request)), |
| 5746 GetRequestBodyForWebURLRequest(*request))); | 5746 GetRequestBodyForWebURLRequest(*request))); |
| 5747 } | 5747 } |
| 5748 | 5748 |
| 5749 void RenderFrameImpl::LoadDataURL( | 5749 void RenderFrameImpl::LoadDataURL( |
| 5750 const CommonNavigationParams& params, | 5750 const CommonNavigationParams& params, |
| 5751 const RequestNavigationParams& request_params, | 5751 const RequestNavigationParams& request_params, |
| 5752 WebLocalFrame* frame, | 5752 WebLocalFrame* frame, |
| 5753 blink::WebFrameLoadType load_type, | 5753 blink::WebFrameLoadType load_type, |
| 5754 blink::WebHistoryItem item_for_history_navigation, | 5754 blink::WebHistoryItem item_for_history_navigation, |
| 5755 blink::WebHistoryLoadType history_load_type, | 5755 blink::WebHistoryLoadType history_load_type, |
| (...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6102 int match_count, | 6102 int match_count, |
| 6103 int ordinal, | 6103 int ordinal, |
| 6104 const WebRect& selection_rect, | 6104 const WebRect& selection_rect, |
| 6105 bool final_status_update) { | 6105 bool final_status_update) { |
| 6106 Send(new FrameHostMsg_Find_Reply(routing_id_, request_id, match_count, | 6106 Send(new FrameHostMsg_Find_Reply(routing_id_, request_id, match_count, |
| 6107 selection_rect, ordinal, | 6107 selection_rect, ordinal, |
| 6108 final_status_update)); | 6108 final_status_update)); |
| 6109 } | 6109 } |
| 6110 | 6110 |
| 6111 } // namespace content | 6111 } // namespace content |
| OLD | NEW |