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

Side by Side Diff: chrome/browser/net/chrome_network_delegate.cc

Issue 233353003: Only commit cookie changes in prerenders after a prerender is shown (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Add browser tests, fix a bug in what was changed yesterday. Created 6 years, 7 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/net/chrome_network_delegate.h" 5 #include "chrome/browser/net/chrome_network_delegate.h"
6 6
7 #include <stdlib.h> 7 #include <stdlib.h>
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 11 matching lines...) Expand all
22 #include "chrome/browser/content_settings/cookie_settings.h" 22 #include "chrome/browser/content_settings/cookie_settings.h"
23 #include "chrome/browser/content_settings/tab_specific_content_settings.h" 23 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
24 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" 24 #include "chrome/browser/custom_handlers/protocol_handler_registry.h"
25 #include "chrome/browser/extensions/api/proxy/proxy_api.h" 25 #include "chrome/browser/extensions/api/proxy/proxy_api.h"
26 #include "chrome/browser/extensions/api/web_request/web_request_api.h" 26 #include "chrome/browser/extensions/api/web_request/web_request_api.h"
27 #include "chrome/browser/extensions/event_router_forwarder.h" 27 #include "chrome/browser/extensions/event_router_forwarder.h"
28 #include "chrome/browser/google/google_util.h" 28 #include "chrome/browser/google/google_util.h"
29 #include "chrome/browser/net/client_hints.h" 29 #include "chrome/browser/net/client_hints.h"
30 #include "chrome/browser/net/connect_interceptor.h" 30 #include "chrome/browser/net/connect_interceptor.h"
31 #include "chrome/browser/performance_monitor/performance_monitor.h" 31 #include "chrome/browser/performance_monitor/performance_monitor.h"
32 #include "chrome/browser/prerender/prerender_tracker.h"
32 #include "chrome/browser/profiles/profile_manager.h" 33 #include "chrome/browser/profiles/profile_manager.h"
33 #include "chrome/browser/task_manager/task_manager.h" 34 #include "chrome/browser/task_manager/task_manager.h"
34 #include "chrome/common/pref_names.h" 35 #include "chrome/common/pref_names.h"
35 #include "chrome/common/url_constants.h" 36 #include "chrome/common/url_constants.h"
36 #include "components/data_reduction_proxy/browser/data_reduction_proxy_metrics.h " 37 #include "components/data_reduction_proxy/browser/data_reduction_proxy_metrics.h "
37 #include "components/domain_reliability/monitor.h" 38 #include "components/domain_reliability/monitor.h"
38 #include "content/public/browser/browser_thread.h" 39 #include "content/public/browser/browser_thread.h"
39 #include "content/public/browser/render_frame_host.h" 40 #include "content/public/browser/render_frame_host.h"
40 #include "content/public/browser/render_view_host.h" 41 #include "content/public/browser/render_view_host.h"
41 #include "content/public/browser/resource_request_info.h" 42 #include "content/public/browser/resource_request_info.h"
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
353 BooleanPrefMember* enable_referrers) 354 BooleanPrefMember* enable_referrers)
354 : event_router_(event_router), 355 : event_router_(event_router),
355 profile_(NULL), 356 profile_(NULL),
356 enable_referrers_(enable_referrers), 357 enable_referrers_(enable_referrers),
357 enable_do_not_track_(NULL), 358 enable_do_not_track_(NULL),
358 force_google_safe_search_(NULL), 359 force_google_safe_search_(NULL),
359 url_blacklist_manager_(NULL), 360 url_blacklist_manager_(NULL),
360 domain_reliability_monitor_(NULL), 361 domain_reliability_monitor_(NULL),
361 received_content_length_(0), 362 received_content_length_(0),
362 original_content_length_(0), 363 original_content_length_(0),
363 first_request_(true) { 364 first_request_(true),
365 prerender_tracker_(NULL) {
364 DCHECK(event_router); 366 DCHECK(event_router);
365 DCHECK(enable_referrers); 367 DCHECK(enable_referrers);
366 } 368 }
367 369
368 ChromeNetworkDelegate::~ChromeNetworkDelegate() {} 370 ChromeNetworkDelegate::~ChromeNetworkDelegate() {}
369 371
370 void ChromeNetworkDelegate::set_extension_info_map( 372 void ChromeNetworkDelegate::set_extension_info_map(
371 extensions::InfoMap* extension_info_map) { 373 extensions::InfoMap* extension_info_map) {
372 extension_info_map_ = extension_info_map; 374 extension_info_map_ = extension_info_map;
373 } 375 }
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
737 if (content::ResourceRequestInfo::GetRenderFrameForRequest( 739 if (content::ResourceRequestInfo::GetRenderFrameForRequest(
738 &request, &render_process_id, &render_frame_id)) { 740 &request, &render_process_id, &render_frame_id)) {
739 BrowserThread::PostTask( 741 BrowserThread::PostTask(
740 BrowserThread::UI, FROM_HERE, 742 BrowserThread::UI, FROM_HERE,
741 base::Bind(&TabSpecificContentSettings::CookieChanged, 743 base::Bind(&TabSpecificContentSettings::CookieChanged,
742 render_process_id, render_frame_id, 744 render_process_id, render_frame_id,
743 request.url(), request.first_party_for_cookies(), 745 request.url(), request.first_party_for_cookies(),
744 cookie_line, *options, !allow)); 746 cookie_line, *options, !allow));
745 } 747 }
746 748
749 if (prerender_tracker_)
750 prerender_tracker_->OnCookieChangedForURL(render_process_id, request.url());
751
747 return allow; 752 return allow;
748 } 753 }
749 754
750 bool ChromeNetworkDelegate::OnCanAccessFile(const net::URLRequest& request, 755 bool ChromeNetworkDelegate::OnCanAccessFile(const net::URLRequest& request,
751 const base::FilePath& path) const { 756 const base::FilePath& path) const {
752 if (g_allow_file_access_) 757 if (g_allow_file_access_)
753 return true; 758 return true;
754 759
755 #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) 760 #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
756 return true; 761 return true;
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
861 data_reduction_proxy::DataReductionProxyRequestType request_type) { 866 data_reduction_proxy::DataReductionProxyRequestType request_type) {
862 DCHECK_GE(received_content_length, 0); 867 DCHECK_GE(received_content_length, 0);
863 DCHECK_GE(original_content_length, 0); 868 DCHECK_GE(original_content_length, 0);
864 StoreAccumulatedContentLength(received_content_length, 869 StoreAccumulatedContentLength(received_content_length,
865 original_content_length, 870 original_content_length,
866 request_type, 871 request_type,
867 reinterpret_cast<Profile*>(profile_)); 872 reinterpret_cast<Profile*>(profile_));
868 received_content_length_ += received_content_length; 873 received_content_length_ += received_content_length;
869 original_content_length_ += original_content_length; 874 original_content_length_ += original_content_length;
870 } 875 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698