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

Side by Side Diff: content/browser/resolve_proxy_msg_helper.cc

Issue 10068037: RefCounted types should not have public destructors, content/browser part 1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: MSVC fixes Created 8 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) 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/resolve_proxy_msg_helper.h" 5 #include "content/browser/resolve_proxy_msg_helper.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "content/common/view_messages.h" 10 #include "content/common/view_messages.h"
(...skipping 24 matching lines...) Expand all
35 void ResolveProxyMsgHelper::OnResolveProxy(const GURL& url, 35 void ResolveProxyMsgHelper::OnResolveProxy(const GURL& url,
36 IPC::Message* reply_msg) { 36 IPC::Message* reply_msg) {
37 // Enqueue the pending request. 37 // Enqueue the pending request.
38 pending_requests_.push_back(PendingRequest(url, reply_msg)); 38 pending_requests_.push_back(PendingRequest(url, reply_msg));
39 39
40 // If nothing is in progress, start. 40 // If nothing is in progress, start.
41 if (pending_requests_.size() == 1) 41 if (pending_requests_.size() == 1)
42 StartPendingRequest(); 42 StartPendingRequest();
43 } 43 }
44 44
45 ResolveProxyMsgHelper::~ResolveProxyMsgHelper() {
46 // Clear all pending requests if the ProxyService is still alive (if we have a
47 // default request context or override).
48 if (!pending_requests_.empty()) {
49 PendingRequest req = pending_requests_.front();
50 proxy_service_->CancelPacRequest(req.pac_req);
51 }
52
53 for (PendingRequestList::iterator it = pending_requests_.begin();
54 it != pending_requests_.end();
55 ++it) {
56 delete it->reply_msg;
57 }
58
59 pending_requests_.clear();
60 }
61
45 void ResolveProxyMsgHelper::OnResolveProxyCompleted(int result) { 62 void ResolveProxyMsgHelper::OnResolveProxyCompleted(int result) {
46 CHECK(!pending_requests_.empty()); 63 CHECK(!pending_requests_.empty());
47 64
48 const PendingRequest& completed_req = pending_requests_.front(); 65 const PendingRequest& completed_req = pending_requests_.front();
49 ViewHostMsg_ResolveProxy::WriteReplyParams( 66 ViewHostMsg_ResolveProxy::WriteReplyParams(
50 completed_req.reply_msg, result == net::OK, proxy_info_.ToPacString()); 67 completed_req.reply_msg, result == net::OK, proxy_info_.ToPacString());
51 Send(completed_req.reply_msg); 68 Send(completed_req.reply_msg);
52 69
53 // Clear the current (completed) request. 70 // Clear the current (completed) request.
54 pending_requests_.pop_front(); 71 pending_requests_.pop_front();
(...skipping 18 matching lines...) Expand all
73 int result = proxy_service_->ResolveProxy( 90 int result = proxy_service_->ResolveProxy(
74 req.url, &proxy_info_, 91 req.url, &proxy_info_,
75 base::Bind(&ResolveProxyMsgHelper::OnResolveProxyCompleted, 92 base::Bind(&ResolveProxyMsgHelper::OnResolveProxyCompleted,
76 base::Unretained(this)), 93 base::Unretained(this)),
77 &req.pac_req, net::BoundNetLog()); 94 &req.pac_req, net::BoundNetLog());
78 95
79 // Completed synchronously. 96 // Completed synchronously.
80 if (result != net::ERR_IO_PENDING) 97 if (result != net::ERR_IO_PENDING)
81 OnResolveProxyCompleted(result); 98 OnResolveProxyCompleted(result);
82 } 99 }
83
84 ResolveProxyMsgHelper::~ResolveProxyMsgHelper() {
85 // Clear all pending requests if the ProxyService is still alive (if we have a
86 // default request context or override).
87 if (!pending_requests_.empty()) {
88 PendingRequest req = pending_requests_.front();
89 proxy_service_->CancelPacRequest(req.pac_req);
90 }
91
92 for (PendingRequestList::iterator it = pending_requests_.begin();
93 it != pending_requests_.end();
94 ++it) {
95 delete it->reply_msg;
96 }
97
98 pending_requests_.clear();
99 }
OLDNEW
« no previous file with comments | « content/browser/resolve_proxy_msg_helper.h ('k') | content/browser/speech/speech_recognizer_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698