OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_view.h" | 5 #include "content/renderer/render_view.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <cmath> | 8 #include <cmath> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 2666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2677 | 2677 |
2678 void RenderView::didUpdateCurrentHistoryItem(WebFrame* frame) { | 2678 void RenderView::didUpdateCurrentHistoryItem(WebFrame* frame) { |
2679 StartNavStateSyncTimerIfNecessary(); | 2679 StartNavStateSyncTimerIfNecessary(); |
2680 } | 2680 } |
2681 | 2681 |
2682 void RenderView::assignIdentifierToRequest( | 2682 void RenderView::assignIdentifierToRequest( |
2683 WebFrame* frame, unsigned identifier, const WebURLRequest& request) { | 2683 WebFrame* frame, unsigned identifier, const WebURLRequest& request) { |
2684 // Ignore | 2684 // Ignore |
2685 } | 2685 } |
2686 | 2686 |
2687 void RenderView::willSendRequest( | 2687 void RenderView::willSendRequest(WebFrame* frame, |
2688 WebFrame* frame, unsigned identifier, WebURLRequest& request, | 2688 unsigned identifier, |
2689 const WebURLResponse& redirect_response) { | 2689 WebURLRequest& request, |
| 2690 const WebURLResponse& redirect_response) { |
2690 WebFrame* top_frame = frame->top(); | 2691 WebFrame* top_frame = frame->top(); |
2691 if (!top_frame) | 2692 if (!top_frame) |
2692 top_frame = frame; | 2693 top_frame = frame; |
2693 WebDataSource* provisional_data_source = top_frame->provisionalDataSource(); | 2694 WebDataSource* provisional_data_source = top_frame->provisionalDataSource(); |
2694 WebDataSource* top_data_source = top_frame->dataSource(); | 2695 WebDataSource* top_data_source = top_frame->dataSource(); |
2695 WebDataSource* data_source = | 2696 WebDataSource* data_source = |
2696 provisional_data_source ? provisional_data_source : top_data_source; | 2697 provisional_data_source ? provisional_data_source : top_data_source; |
2697 | 2698 |
2698 bool is_top_frame = (frame == top_frame); | |
2699 request.setExtraData( | |
2700 new RequestExtraData(is_top_frame, frame->identifier())); | |
2701 | |
2702 GURL request_url(request.url()); | 2699 GURL request_url(request.url()); |
2703 GURL new_url; | 2700 GURL new_url; |
2704 if (content::GetContentClient()->renderer()->WillSendRequest( | 2701 if (content::GetContentClient()->renderer()->WillSendRequest( |
2705 frame, request_url, &new_url)) { | 2702 frame, request_url, &new_url)) { |
2706 request.setURL(WebURL(new_url)); | 2703 request.setURL(WebURL(new_url)); |
2707 } | 2704 } |
2708 | 2705 |
2709 if (data_source) { | 2706 PageTransition::Type transition_type = PageTransition::LINK; |
2710 NavigationState* state = NavigationState::FromDataSource(data_source); | 2707 NavigationState* data_state = NavigationState::FromDataSource(data_source); |
2711 if (state && state->is_cache_policy_override_set()) | 2708 if (data_state) { |
2712 request.setCachePolicy(state->cache_policy_override()); | 2709 if (data_state->is_cache_policy_override_set()) |
| 2710 request.setCachePolicy(data_state->cache_policy_override()); |
| 2711 transition_type = data_state->transition_type(); |
2713 } | 2712 } |
2714 | 2713 |
2715 if (top_data_source) { | 2714 request.setExtraData(new RequestExtraData((frame == top_frame), |
2716 NavigationState* state = NavigationState::FromDataSource(top_data_source); | 2715 frame->identifier(), transition_type)); |
2717 // TODO(gavinp): separate out prefetching and prerender field trials | 2716 |
2718 // if the rel=prerender rel type is sticking around. | 2717 NavigationState* top_data_state = |
2719 if (state && (request.targetType() == WebURLRequest::TargetIsPrefetch || | 2718 NavigationState::FromDataSource(top_data_source); |
2720 request.targetType() == WebURLRequest::TargetIsPrerender)) | 2719 // TODO(gavinp): separate out prefetching and prerender field trials |
2721 state->set_was_prefetcher(true); | 2720 // if the rel=prerender rel type is sticking around. |
2722 } | 2721 if (top_data_state && |
| 2722 (request.targetType() == WebURLRequest::TargetIsPrefetch || |
| 2723 request.targetType() == WebURLRequest::TargetIsPrerender)) |
| 2724 top_data_state->set_was_prefetcher(true); |
2723 | 2725 |
2724 request.setRequestorID(routing_id_); | 2726 request.setRequestorID(routing_id_); |
2725 request.setHasUserGesture(frame->isProcessingUserGesture()); | 2727 request.setHasUserGesture(frame->isProcessingUserGesture()); |
2726 | 2728 |
2727 if (!renderer_preferences_.enable_referrers) | 2729 if (!renderer_preferences_.enable_referrers) |
2728 request.clearHTTPHeaderField("Referer"); | 2730 request.clearHTTPHeaderField("Referer"); |
2729 } | 2731 } |
2730 | 2732 |
2731 void RenderView::didReceiveResponse( | 2733 void RenderView::didReceiveResponse( |
2732 WebFrame* frame, unsigned identifier, const WebURLResponse& response) { | 2734 WebFrame* frame, unsigned identifier, const WebURLResponse& response) { |
(...skipping 1796 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4529 } | 4531 } |
4530 #endif | 4532 #endif |
4531 | 4533 |
4532 void RenderView::OnContextMenuClosed( | 4534 void RenderView::OnContextMenuClosed( |
4533 const webkit_glue::CustomContextMenuContext& custom_context) { | 4535 const webkit_glue::CustomContextMenuContext& custom_context) { |
4534 if (custom_context.is_pepper_menu) | 4536 if (custom_context.is_pepper_menu) |
4535 pepper_delegate_.OnContextMenuClosed(custom_context); | 4537 pepper_delegate_.OnContextMenuClosed(custom_context); |
4536 else | 4538 else |
4537 context_menu_node_.reset(); | 4539 context_menu_node_.reset(); |
4538 } | 4540 } |
OLD | NEW |