| 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 501 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 512 | 512 |
| 513 if (common_params.referrer.url.is_valid()) { | 513 if (common_params.referrer.url.is_valid()) { |
| 514 WebString web_referrer = WebSecurityPolicy::generateReferrerHeader( | 514 WebString web_referrer = WebSecurityPolicy::generateReferrerHeader( |
| 515 common_params.referrer.policy, | 515 common_params.referrer.policy, |
| 516 common_params.url, | 516 common_params.url, |
| 517 WebString::fromUTF8(common_params.referrer.url.spec())); | 517 WebString::fromUTF8(common_params.referrer.url.spec())); |
| 518 if (!web_referrer.isEmpty()) | 518 if (!web_referrer.isEmpty()) |
| 519 request.setHTTPReferrer(web_referrer, common_params.referrer.policy); | 519 request.setHTTPReferrer(web_referrer, common_params.referrer.policy); |
| 520 } | 520 } |
| 521 | 521 |
| 522 if (common_params.is_post) |
| 523 request.setHTTPMethod(WebString::fromUTF8("POST")); |
| 524 |
| 522 RequestExtraData* extra_data = new RequestExtraData(); | 525 RequestExtraData* extra_data = new RequestExtraData(); |
| 523 extra_data->set_stream_override(std::move(stream_override)); | 526 extra_data->set_stream_override(std::move(stream_override)); |
| 524 request.setExtraData(extra_data); | 527 request.setExtraData(extra_data); |
| 525 | 528 |
| 526 // Set the ui timestamp for this navigation. Currently the timestamp here is | 529 // Set the ui timestamp for this navigation. Currently the timestamp here is |
| 527 // only non empty when the navigation was triggered by an Android intent. The | 530 // only non empty when the navigation was triggered by an Android intent. The |
| 528 // timestamp is converted to a double version supported by blink. It will be | 531 // timestamp is converted to a double version supported by blink. It will be |
| 529 // passed back to the browser in the DidCommitProvisionalLoad and the | 532 // passed back to the browser in the DidCommitProvisionalLoad and the |
| 530 // DocumentLoadComplete IPCs. | 533 // DocumentLoadComplete IPCs. |
| 531 base::TimeDelta ui_timestamp = common_params.ui_timestamp - base::TimeTicks(); | 534 base::TimeDelta ui_timestamp = common_params.ui_timestamp - base::TimeTicks(); |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 586 static_cast<FrameMsg_UILoadMetricsReportType::Value>( | 589 static_cast<FrameMsg_UILoadMetricsReportType::Value>( |
| 587 request->inputPerfMetricReportPolicy()); | 590 request->inputPerfMetricReportPolicy()); |
| 588 | 591 |
| 589 const RequestExtraData* extra_data = | 592 const RequestExtraData* extra_data = |
| 590 static_cast<RequestExtraData*>(request->extraData()); | 593 static_cast<RequestExtraData*>(request->extraData()); |
| 591 DCHECK(extra_data); | 594 DCHECK(extra_data); |
| 592 return CommonNavigationParams( | 595 return CommonNavigationParams( |
| 593 request->url(), referrer, extra_data->transition_type(), | 596 request->url(), referrer, extra_data->transition_type(), |
| 594 FrameMsg_Navigate_Type::NORMAL, true, should_replace_current_entry, | 597 FrameMsg_Navigate_Type::NORMAL, true, should_replace_current_entry, |
| 595 ui_timestamp, report_type, GURL(), GURL(), LOFI_UNSPECIFIED, | 598 ui_timestamp, report_type, GURL(), GURL(), LOFI_UNSPECIFIED, |
| 596 base::TimeTicks::Now()); | 599 base::TimeTicks::Now(), request->httpMethod().latin1() == "POST"); |
| 597 } | 600 } |
| 598 | 601 |
| 599 media::Context3D GetSharedMainThreadContext3D() { | 602 media::Context3D GetSharedMainThreadContext3D() { |
| 600 cc::ContextProvider* provider = | 603 cc::ContextProvider* provider = |
| 601 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); | 604 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); |
| 602 if (!provider) | 605 if (!provider) |
| 603 return media::Context3D(); | 606 return media::Context3D(); |
| 604 return media::Context3D(provider->ContextGL(), provider->GrContext()); | 607 return media::Context3D(provider->ContextGL(), provider->GrContext()); |
| 605 } | 608 } |
| 606 | 609 |
| (...skipping 4856 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5463 if (!start_params.extra_headers.empty() && !browser_side_navigation) { | 5466 if (!start_params.extra_headers.empty() && !browser_side_navigation) { |
| 5464 for (net::HttpUtil::HeadersIterator i(start_params.extra_headers.begin(), | 5467 for (net::HttpUtil::HeadersIterator i(start_params.extra_headers.begin(), |
| 5465 start_params.extra_headers.end(), | 5468 start_params.extra_headers.end(), |
| 5466 "\n"); | 5469 "\n"); |
| 5467 i.GetNext();) { | 5470 i.GetNext();) { |
| 5468 request.addHTTPHeaderField(WebString::fromUTF8(i.name()), | 5471 request.addHTTPHeaderField(WebString::fromUTF8(i.name()), |
| 5469 WebString::fromUTF8(i.values())); | 5472 WebString::fromUTF8(i.values())); |
| 5470 } | 5473 } |
| 5471 } | 5474 } |
| 5472 | 5475 |
| 5473 if (start_params.is_post && !browser_side_navigation) { | 5476 if (common_params.is_post && !browser_side_navigation) { |
| 5474 request.setHTTPMethod(WebString::fromUTF8("POST")); | |
| 5475 | |
| 5476 // Set post data. | 5477 // Set post data. |
| 5477 WebHTTPBody http_body; | 5478 WebHTTPBody http_body; |
| 5478 http_body.initialize(); | 5479 http_body.initialize(); |
| 5479 const char* data = nullptr; | 5480 const char* data = nullptr; |
| 5480 if (start_params.browser_initiated_post_data.size()) { | 5481 if (start_params.browser_initiated_post_data.size()) { |
| 5481 data = reinterpret_cast<const char*>( | 5482 data = reinterpret_cast<const char*>( |
| 5482 &start_params.browser_initiated_post_data.front()); | 5483 &start_params.browser_initiated_post_data.front()); |
| 5483 } | 5484 } |
| 5484 http_body.appendData( | 5485 http_body.appendData( |
| 5485 WebData(data, start_params.browser_initiated_post_data.size())); | 5486 WebData(data, start_params.browser_initiated_post_data.size())); |
| (...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5741 DCHECK(frame_->parent() || | 5742 DCHECK(frame_->parent() || |
| 5742 GetRequestContextFrameTypeForWebURLRequest(*request) == | 5743 GetRequestContextFrameTypeForWebURLRequest(*request) == |
| 5743 REQUEST_CONTEXT_FRAME_TYPE_TOP_LEVEL); | 5744 REQUEST_CONTEXT_FRAME_TYPE_TOP_LEVEL); |
| 5744 DCHECK(!frame_->parent() || | 5745 DCHECK(!frame_->parent() || |
| 5745 GetRequestContextFrameTypeForWebURLRequest(*request) == | 5746 GetRequestContextFrameTypeForWebURLRequest(*request) == |
| 5746 REQUEST_CONTEXT_FRAME_TYPE_NESTED); | 5747 REQUEST_CONTEXT_FRAME_TYPE_NESTED); |
| 5747 | 5748 |
| 5748 Send(new FrameHostMsg_BeginNavigation( | 5749 Send(new FrameHostMsg_BeginNavigation( |
| 5749 routing_id_, | 5750 routing_id_, |
| 5750 MakeCommonNavigationParams(request, should_replace_current_entry), | 5751 MakeCommonNavigationParams(request, should_replace_current_entry), |
| 5751 BeginNavigationParams( | 5752 BeginNavigationParams(GetWebURLRequestHeaders(*request), |
| 5752 request->httpMethod().latin1(), GetWebURLRequestHeaders(*request), | 5753 GetLoadFlagsForWebURLRequest(*request), |
| 5753 GetLoadFlagsForWebURLRequest(*request), request->hasUserGesture(), | 5754 request->hasUserGesture(), |
| 5754 request->skipServiceWorker(), | 5755 request->skipServiceWorker(), |
| 5755 GetRequestContextTypeForWebURLRequest(*request)), | 5756 GetRequestContextTypeForWebURLRequest(*request)), |
| 5756 GetRequestBodyForWebURLRequest(*request))); | 5757 GetRequestBodyForWebURLRequest(*request))); |
| 5757 } | 5758 } |
| 5758 | 5759 |
| 5759 void RenderFrameImpl::LoadDataURL(const CommonNavigationParams& params, | 5760 void RenderFrameImpl::LoadDataURL(const CommonNavigationParams& params, |
| 5760 const RequestNavigationParams& request_params, | 5761 const RequestNavigationParams& request_params, |
| 5761 WebFrame* frame, | 5762 WebFrame* frame, |
| 5762 blink::WebFrameLoadType load_type) { | 5763 blink::WebFrameLoadType load_type) { |
| 5763 // A loadData request with a specified base URL. | 5764 // A loadData request with a specified base URL. |
| 5764 GURL data_url = params.url; | 5765 GURL data_url = params.url; |
| 5765 #if defined(OS_ANDROID) | 5766 #if defined(OS_ANDROID) |
| (...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6131 int match_count, | 6132 int match_count, |
| 6132 int ordinal, | 6133 int ordinal, |
| 6133 const WebRect& selection_rect, | 6134 const WebRect& selection_rect, |
| 6134 bool final_status_update) { | 6135 bool final_status_update) { |
| 6135 Send(new FrameHostMsg_Find_Reply(routing_id_, request_id, match_count, | 6136 Send(new FrameHostMsg_Find_Reply(routing_id_, request_id, match_count, |
| 6136 selection_rect, ordinal, | 6137 selection_rect, ordinal, |
| 6137 final_status_update)); | 6138 final_status_update)); |
| 6138 } | 6139 } |
| 6139 | 6140 |
| 6140 } // namespace content | 6141 } // namespace content |
| OLD | NEW |