| 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 | 9 |
| 10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
| (...skipping 2504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2515 request.firstPartyForCookies(), | 2515 request.firstPartyForCookies(), |
| 2516 &new_url)) { | 2516 &new_url)) { |
| 2517 request.setURL(WebURL(new_url)); | 2517 request.setURL(WebURL(new_url)); |
| 2518 } | 2518 } |
| 2519 | 2519 |
| 2520 if (internal_data->is_cache_policy_override_set()) | 2520 if (internal_data->is_cache_policy_override_set()) |
| 2521 request.setCachePolicy(internal_data->cache_policy_override()); | 2521 request.setCachePolicy(internal_data->cache_policy_override()); |
| 2522 | 2522 |
| 2523 // The request's extra data may indicate that we should set a custom user | 2523 // The request's extra data may indicate that we should set a custom user |
| 2524 // agent. This needs to be done here, after WebKit is through with setting the | 2524 // agent. This needs to be done here, after WebKit is through with setting the |
| 2525 // user agent on its own. | 2525 // user agent on its own. Similarly, it may indicate that we should set an |
| 2526 // X-Requested-With header. This must be done here to avoid breaking CORS |
| 2527 // checks. |
| 2526 WebString custom_user_agent; | 2528 WebString custom_user_agent; |
| 2529 WebString requested_with; |
| 2527 if (request.extraData()) { | 2530 if (request.extraData()) { |
| 2528 RequestExtraData* old_extra_data = | 2531 RequestExtraData* old_extra_data = |
| 2529 static_cast<RequestExtraData*>( | 2532 static_cast<RequestExtraData*>(request.extraData()); |
| 2530 request.extraData()); | 2533 |
| 2531 custom_user_agent = old_extra_data->custom_user_agent(); | 2534 custom_user_agent = old_extra_data->custom_user_agent(); |
| 2532 | |
| 2533 if (!custom_user_agent.isNull()) { | 2535 if (!custom_user_agent.isNull()) { |
| 2534 if (custom_user_agent.isEmpty()) | 2536 if (custom_user_agent.isEmpty()) |
| 2535 request.clearHTTPHeaderField("User-Agent"); | 2537 request.clearHTTPHeaderField("User-Agent"); |
| 2536 else | 2538 else |
| 2537 request.setHTTPHeaderField("User-Agent", custom_user_agent); | 2539 request.setHTTPHeaderField("User-Agent", custom_user_agent); |
| 2538 } | 2540 } |
| 2541 |
| 2542 requested_with = old_extra_data->requested_with(); |
| 2543 if (!requested_with.isNull()) { |
| 2544 if (requested_with.isEmpty()) |
| 2545 request.clearHTTPHeaderField("X-Requested-With"); |
| 2546 else |
| 2547 request.setHTTPHeaderField("X-Requested-With", requested_with); |
| 2548 } |
| 2539 } | 2549 } |
| 2540 | 2550 |
| 2541 // Add the default accept header for frame request if it has not been set | 2551 // Add the default accept header for frame request if it has not been set |
| 2542 // already. | 2552 // already. |
| 2543 if ((request.frameType() == blink::WebURLRequest::FrameTypeTopLevel || | 2553 if ((request.frameType() == blink::WebURLRequest::FrameTypeTopLevel || |
| 2544 request.frameType() == blink::WebURLRequest::FrameTypeNested) && | 2554 request.frameType() == blink::WebURLRequest::FrameTypeNested) && |
| 2545 request.httpHeaderField(WebString::fromUTF8(kAcceptHeader)).isEmpty()) { | 2555 request.httpHeaderField(WebString::fromUTF8(kAcceptHeader)).isEmpty()) { |
| 2546 request.setHTTPHeaderField(WebString::fromUTF8(kAcceptHeader), | 2556 request.setHTTPHeaderField(WebString::fromUTF8(kAcceptHeader), |
| 2547 WebString::fromUTF8(kDefaultAcceptHeader)); | 2557 WebString::fromUTF8(kDefaultAcceptHeader)); |
| 2548 } | 2558 } |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2591 parent_routing_id = -1; | 2601 parent_routing_id = -1; |
| 2592 } else if (parent->isWebLocalFrame()) { | 2602 } else if (parent->isWebLocalFrame()) { |
| 2593 parent_routing_id = FromWebFrame(parent)->GetRoutingID(); | 2603 parent_routing_id = FromWebFrame(parent)->GetRoutingID(); |
| 2594 } else { | 2604 } else { |
| 2595 parent_routing_id = RenderFrameProxy::FromWebFrame(parent)->routing_id(); | 2605 parent_routing_id = RenderFrameProxy::FromWebFrame(parent)->routing_id(); |
| 2596 } | 2606 } |
| 2597 | 2607 |
| 2598 RequestExtraData* extra_data = new RequestExtraData(); | 2608 RequestExtraData* extra_data = new RequestExtraData(); |
| 2599 extra_data->set_visibility_state(render_view_->visibilityState()); | 2609 extra_data->set_visibility_state(render_view_->visibilityState()); |
| 2600 extra_data->set_custom_user_agent(custom_user_agent); | 2610 extra_data->set_custom_user_agent(custom_user_agent); |
| 2611 extra_data->set_requested_with(requested_with); |
| 2601 extra_data->set_render_frame_id(routing_id_); | 2612 extra_data->set_render_frame_id(routing_id_); |
| 2602 extra_data->set_is_main_frame(frame == top_frame); | 2613 extra_data->set_is_main_frame(frame == top_frame); |
| 2603 extra_data->set_frame_origin( | 2614 extra_data->set_frame_origin( |
| 2604 GURL(frame->document().securityOrigin().toString())); | 2615 GURL(frame->document().securityOrigin().toString())); |
| 2605 extra_data->set_parent_is_main_frame(frame->parent() == top_frame); | 2616 extra_data->set_parent_is_main_frame(frame->parent() == top_frame); |
| 2606 extra_data->set_parent_render_frame_id(parent_routing_id); | 2617 extra_data->set_parent_render_frame_id(parent_routing_id); |
| 2607 extra_data->set_allow_download(navigation_state->allow_download()); | 2618 extra_data->set_allow_download(navigation_state->allow_download()); |
| 2608 extra_data->set_transition_type(transition_type); | 2619 extra_data->set_transition_type(transition_type); |
| 2609 extra_data->set_should_replace_current_entry(should_replace_current_entry); | 2620 extra_data->set_should_replace_current_entry(should_replace_current_entry); |
| 2610 extra_data->set_transferred_request_child_id( | 2621 extra_data->set_transferred_request_child_id( |
| (...skipping 1108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3719 | 3730 |
| 3720 #if defined(ENABLE_BROWSER_CDMS) | 3731 #if defined(ENABLE_BROWSER_CDMS) |
| 3721 RendererCdmManager* RenderFrameImpl::GetCdmManager() { | 3732 RendererCdmManager* RenderFrameImpl::GetCdmManager() { |
| 3722 if (!cdm_manager_) | 3733 if (!cdm_manager_) |
| 3723 cdm_manager_ = new RendererCdmManager(this); | 3734 cdm_manager_ = new RendererCdmManager(this); |
| 3724 return cdm_manager_; | 3735 return cdm_manager_; |
| 3725 } | 3736 } |
| 3726 #endif // defined(ENABLE_BROWSER_CDMS) | 3737 #endif // defined(ENABLE_BROWSER_CDMS) |
| 3727 | 3738 |
| 3728 } // namespace content | 3739 } // namespace content |
| OLD | NEW |