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

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

Issue 7624031: Treat files downloaded from the address bar as "always safe" (including extensions per discussion... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 9 years, 4 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
OLDNEW
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698