OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "chrome/browser/devtools/devtools_network_transaction.h" | |
6 | |
7 #include "base/guid.h" | |
8 #include "chrome/browser/devtools/devtools_network_controller.h" | |
9 #include "net/base/net_errors.h" | |
10 #include "net/http/http_network_transaction.h" | |
11 #include "net/http/http_request_info.h" | |
12 | |
13 DevToolsNetworkTransaction::DevToolsNetworkTransaction( | |
14 const base::WeakPtr<DevToolsNetworkController>& controller, | |
mmenke
2014/03/11 21:16:53
This is a weak ptr because devtools is destroyed b
eustas
2014/03/12 15:38:33
that was so in 1-st take. removed.
| |
15 scoped_ptr<net::HttpTransaction>& network_transaction) | |
16 : controller_(controller) | |
17 , id_(base::GenerateGUID()) | |
mmenke
2014/03/11 21:16:53
Do these have to be strings? Numeric IDs are much
eustas
2014/03/12 15:38:33
Done.
| |
18 , proxy_callback_(base::Bind(&DevToolsNetworkTransaction::OnCallback, | |
mmenke
2014/03/11 21:16:53
Commas go on previous line.
eustas
2014/03/12 15:38:33
Done.
| |
19 base::Unretained(this))) { | |
20 network_transaction_.swap(network_transaction); | |
mmenke
2014/03/11 21:16:53
Can set this in your initializer list: network_tr
eustas
2014/03/12 15:38:33
Cool! thanks.
| |
21 } | |
22 | |
23 DevToolsNetworkTransaction::~DevToolsNetworkTransaction() { | |
24 if (controller_) | |
25 controller_->RemoveTransaction(GetId()); | |
mmenke
2014/03/11 21:16:53
I think it's much cleaner to have the same class a
eustas
2014/03/12 15:38:33
Done.
| |
26 } | |
27 | |
28 std::string DevToolsNetworkTransaction::GetId() { | |
mmenke
2014/03/11 21:16:53
const std::string&?
eustas
2014/03/12 15:38:33
removed.
| |
29 return id_; | |
30 } | |
31 | |
32 const GURL& DevToolsNetworkTransaction::GetURL() { | |
33 return url_; | |
34 } | |
35 | |
36 void DevToolsNetworkTransaction::OnCallback(int rv) { | |
37 net::CompletionCallback callback = callback_; | |
38 callback_.Reset(); | |
39 callback.Run(rv); | |
40 } | |
41 | |
42 void DevToolsNetworkTransaction::Stop() { | |
43 net::CompletionCallback callback = callback_; | |
44 callback_.Reset(); | |
45 if (!callback.is_null()) | |
46 callback.Run(net::ERR_INTERNET_DISCONNECTED); | |
47 } | |
48 | |
49 int DevToolsNetworkTransaction::Start( | |
50 const net::HttpRequestInfo* request_info, | |
51 const net::CompletionCallback& callback, | |
52 const net::BoundNetLog& net_log) { | |
53 url_ = request_info->url; | |
54 | |
55 if (controller_ && controller_->IsBlockedURL(url_)) | |
56 return net::ERR_INTERNET_DISCONNECTED; | |
57 int rv = network_transaction_->Start(request_info, proxy_callback_, net_log); | |
58 if (rv == net::ERR_IO_PENDING) | |
59 callback_ = callback; | |
60 return rv; | |
61 } | |
62 | |
63 int DevToolsNetworkTransaction::RestartIgnoringLastError( | |
64 const net::CompletionCallback& callback) { | |
65 int rv = network_transaction_->RestartIgnoringLastError(proxy_callback_); | |
66 if (rv == net::ERR_IO_PENDING) | |
67 callback_ = callback; | |
68 return rv; | |
69 } | |
70 | |
71 int DevToolsNetworkTransaction::RestartWithCertificate( | |
72 net::X509Certificate* client_cert, | |
73 const net::CompletionCallback& callback) { | |
74 int rv = network_transaction_->RestartWithCertificate( | |
75 client_cert, proxy_callback_); | |
76 if (rv == net::ERR_IO_PENDING) | |
77 callback_ = callback; | |
78 return rv; | |
79 } | |
80 | |
81 int DevToolsNetworkTransaction::RestartWithAuth( | |
82 const net::AuthCredentials& credentials, | |
83 const net::CompletionCallback& callback) { | |
84 int rv = network_transaction_->RestartWithAuth(credentials, proxy_callback_); | |
85 if (rv == net::ERR_IO_PENDING) | |
86 callback_ = callback; | |
87 return rv; | |
88 } | |
89 | |
90 bool DevToolsNetworkTransaction::IsReadyToRestartForAuth() { | |
91 return network_transaction_->IsReadyToRestartForAuth(); | |
92 } | |
93 | |
94 int DevToolsNetworkTransaction::Read( | |
95 net::IOBuffer* buf, | |
96 int buf_len, | |
97 const net::CompletionCallback& callback) { | |
98 int rv = network_transaction_->Read(buf, buf_len, proxy_callback_); | |
99 if (rv == net::ERR_IO_PENDING) | |
100 callback_ = callback; | |
101 return rv; | |
102 } | |
103 | |
104 void DevToolsNetworkTransaction::StopCaching() { | |
105 network_transaction_->StopCaching(); | |
106 } | |
107 | |
108 bool DevToolsNetworkTransaction::GetFullRequestHeaders( | |
109 net::HttpRequestHeaders* headers) const { | |
110 return network_transaction_->GetFullRequestHeaders(headers); | |
111 } | |
112 | |
113 int64 DevToolsNetworkTransaction::GetTotalReceivedBytes() const { | |
114 return network_transaction_->GetTotalReceivedBytes(); | |
115 } | |
116 | |
117 void DevToolsNetworkTransaction::DoneReading() { | |
118 network_transaction_->DoneReading(); | |
119 } | |
120 | |
121 const net::HttpResponseInfo* DevToolsNetworkTransaction::GetResponseInfo() const | |
122 { | |
123 return network_transaction_->GetResponseInfo(); | |
124 } | |
125 | |
126 net::LoadState DevToolsNetworkTransaction::GetLoadState() const { | |
127 return network_transaction_->GetLoadState(); | |
128 } | |
129 | |
130 net::UploadProgress DevToolsNetworkTransaction::GetUploadProgress() const { | |
131 return network_transaction_->GetUploadProgress(); | |
132 } | |
133 | |
134 void DevToolsNetworkTransaction::SetQuicServerInfo( | |
135 net::QuicServerInfo* quic_server_info) {} | |
mmenke
2014/03/11 21:16:53
Should probably just call into network_transaction
eustas
2014/03/12 15:38:33
oops. didn't notice that one. done.
| |
136 | |
137 bool DevToolsNetworkTransaction::GetLoadTimingInfo( | |
138 net::LoadTimingInfo* load_timing_info) const { | |
139 return network_transaction_->GetLoadTimingInfo(load_timing_info); | |
140 } | |
141 | |
142 void DevToolsNetworkTransaction::SetPriority(net::RequestPriority priority) { | |
143 network_transaction_->SetPriority(priority); | |
144 } | |
145 | |
146 void DevToolsNetworkTransaction::SetWebSocketHandshakeStreamCreateHelper( | |
147 net::WebSocketHandshakeStreamBase::CreateHelper* create_helper) { | |
148 network_transaction_->SetWebSocketHandshakeStreamCreateHelper(create_helper); | |
149 } | |
150 | |
151 void DevToolsNetworkTransaction::SetBeforeNetworkStartCallback( | |
152 const BeforeNetworkStartCallback& callback) { | |
153 // TODO | |
154 network_transaction_->SetBeforeNetworkStartCallback(callback); | |
155 } | |
156 | |
157 int DevToolsNetworkTransaction::ResumeNetworkStart() { | |
158 return network_transaction_->ResumeNetworkStart(); | |
159 } | |
OLD | NEW |