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

Side by Side Diff: content/browser/ssl/ssl_error_handler.cc

Issue 9453028: Fix ExpiredCertAndGoBackTests (Closed)
Patch Set: Remove old comment Created 8 years, 10 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
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/browser/ssl/ssl_error_handler.h" 5 #include "content/browser/ssl/ssl_error_handler.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "content/browser/renderer_host/render_view_host.h" 8 #include "content/browser/renderer_host/render_view_host.h"
9 #include "content/browser/renderer_host/resource_dispatcher_host.h" 9 #include "content/browser/renderer_host/resource_dispatcher_host.h"
10 #include "content/browser/renderer_host/resource_dispatcher_host_request_info.h" 10 #include "content/browser/renderer_host/resource_dispatcher_host_request_info.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 128
129 // It is important that we notify the net::URLRequest only once. If we try 129 // It is important that we notify the net::URLRequest only once. If we try
130 // to notify the request twice, it may no longer exist and |this| might have 130 // to notify the request twice, it may no longer exist and |this| might have
131 // already have been deleted. 131 // already have been deleted.
132 DCHECK(!request_has_been_notified_); 132 DCHECK(!request_has_been_notified_);
133 if (request_has_been_notified_) 133 if (request_has_been_notified_)
134 return; 134 return;
135 135
136 net::URLRequest* request = 136 net::URLRequest* request =
137 resource_dispatcher_host_->GetURLRequest(request_id_); 137 resource_dispatcher_host_->GetURLRequest(request_id_);
138 if (request) { 138 if (request && request->is_pending()) {
darin (slow to review) 2012/02/27 19:26:25 oh, hmm... have you considered cancelling the req
tpayne 2012/02/27 19:30:51 I haven't seen any instances where the request had
wtc 2012/02/28 20:02:12 tpayne: do you know why the request may be not pen
tpayne 2012/02/28 21:53:58 The state that is causing the flakiness is request
tpayne 2012/02/29 01:15:11 The original cancel is occurring with this stack:
tpayne 2012/02/29 01:58:24 One more level up, it turns out that NavigateToPen
139 // The request can be NULL if it was cancelled by the renderer (as the 139 // The request can be NULL if it was cancelled by the renderer (as the
140 // result of the user navigating to a new page from the location bar). 140 // result of the user navigating to a new page from the location bar).
141 DVLOG(1) << "CompleteCancelRequest() url: " << request->url().spec(); 141 DVLOG(1) << "CompleteCancelRequest() url: " << request->url().spec();
142 SSLCertErrorHandler* cert_error = AsSSLCertErrorHandler(); 142 SSLCertErrorHandler* cert_error = AsSSLCertErrorHandler();
143 if (cert_error) 143 if (cert_error)
144 request->SimulateSSLError(error, cert_error->ssl_info()); 144 request->SimulateSSLError(error, cert_error->ssl_info());
145 else 145 else
146 request->SimulateError(error); 146 request->SimulateError(error);
147 } 147 }
148 request_has_been_notified_ = true; 148 request_has_been_notified_ = true;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 // already have been deleted. 183 // already have been deleted.
184 DCHECK(!request_has_been_notified_); 184 DCHECK(!request_has_been_notified_);
185 if (request_has_been_notified_) 185 if (request_has_been_notified_)
186 return; 186 return;
187 187
188 request_has_been_notified_ = true; 188 request_has_been_notified_ = true;
189 189
190 // We're done with this object on the IO thread. 190 // We're done with this object on the IO thread.
191 Release(); 191 Release();
192 } 192 }
OLDNEW
« chrome/browser/ssl/ssl_browser_tests.cc ('K') | « chrome/browser/ssl/ssl_browser_tests.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698