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

Side by Side Diff: net/server/web_socket_encoder.cc

Issue 2259823002: Re-write many calls to WrapUnique() with MakeUnique() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 3 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
« no previous file with comments | « net/server/http_server.cc ('k') | net/socket/fuzzed_socket_factory.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "net/server/web_socket_encoder.h" 5 #include "net/server/web_socket_encoder.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 } 212 }
213 213
214 WebSocketDeflateParameters response = offer; 214 WebSocketDeflateParameters response = offer;
215 if (offer.is_client_max_window_bits_specified() && 215 if (offer.is_client_max_window_bits_specified() &&
216 !offer.has_client_max_window_bits_value()) { 216 !offer.has_client_max_window_bits_value()) {
217 // We need to choose one value for the response. 217 // We need to choose one value for the response.
218 response.SetClientMaxWindowBits(15); 218 response.SetClientMaxWindowBits(15);
219 } 219 }
220 DCHECK(response.IsValidAsResponse()); 220 DCHECK(response.IsValidAsResponse());
221 DCHECK(offer.IsCompatibleWith(response)); 221 DCHECK(offer.IsCompatibleWith(response));
222 auto deflater = base::WrapUnique( 222 auto deflater = base::MakeUnique<WebSocketDeflater>(
223 new WebSocketDeflater(response.server_context_take_over_mode())); 223 response.server_context_take_over_mode());
224 auto inflater = base::WrapUnique( 224 auto inflater = base::MakeUnique<WebSocketInflater>(kInflaterChunkSize,
225 new WebSocketInflater(kInflaterChunkSize, kInflaterChunkSize)); 225 kInflaterChunkSize);
226 if (!deflater->Initialize(response.PermissiveServerMaxWindowBits()) || 226 if (!deflater->Initialize(response.PermissiveServerMaxWindowBits()) ||
227 !inflater->Initialize(response.PermissiveClientMaxWindowBits())) { 227 !inflater->Initialize(response.PermissiveClientMaxWindowBits())) {
228 // For some reason we cannot accept the parameters. 228 // For some reason we cannot accept the parameters.
229 continue; 229 continue;
230 } 230 }
231 *deflate_parameters = response; 231 *deflate_parameters = response;
232 return base::WrapUnique(new WebSocketEncoder( 232 return base::WrapUnique(new WebSocketEncoder(
233 FOR_SERVER, std::move(deflater), std::move(inflater))); 233 FOR_SERVER, std::move(deflater), std::move(inflater)));
234 } 234 }
235 235
(...skipping 22 matching lines...) Expand all
258 } 258 }
259 const auto& extension = parser.extensions()[0]; 259 const auto& extension = parser.extensions()[0];
260 WebSocketDeflateParameters params; 260 WebSocketDeflateParameters params;
261 std::string failure_message; 261 std::string failure_message;
262 if (!params.Initialize(extension, &failure_message) || 262 if (!params.Initialize(extension, &failure_message) ||
263 !params.IsValidAsResponse(&failure_message)) { 263 !params.IsValidAsResponse(&failure_message)) {
264 // TODO (yhirano): Fail the connection. 264 // TODO (yhirano): Fail the connection.
265 return base::WrapUnique(new WebSocketEncoder(FOR_CLIENT, nullptr, nullptr)); 265 return base::WrapUnique(new WebSocketEncoder(FOR_CLIENT, nullptr, nullptr));
266 } 266 }
267 267
268 auto deflater = base::WrapUnique( 268 auto deflater = base::MakeUnique<WebSocketDeflater>(
269 new WebSocketDeflater(params.client_context_take_over_mode())); 269 params.client_context_take_over_mode());
270 auto inflater = base::WrapUnique( 270 auto inflater = base::MakeUnique<WebSocketInflater>(kInflaterChunkSize,
271 new WebSocketInflater(kInflaterChunkSize, kInflaterChunkSize)); 271 kInflaterChunkSize);
272 if (!deflater->Initialize(params.PermissiveClientMaxWindowBits()) || 272 if (!deflater->Initialize(params.PermissiveClientMaxWindowBits()) ||
273 !inflater->Initialize(params.PermissiveServerMaxWindowBits())) { 273 !inflater->Initialize(params.PermissiveServerMaxWindowBits())) {
274 // TODO (yhirano): Fail the connection. 274 // TODO (yhirano): Fail the connection.
275 return base::WrapUnique(new WebSocketEncoder(FOR_CLIENT, nullptr, nullptr)); 275 return base::WrapUnique(new WebSocketEncoder(FOR_CLIENT, nullptr, nullptr));
276 } 276 }
277 277
278 return base::WrapUnique(new WebSocketEncoder(FOR_CLIENT, std::move(deflater), 278 return base::WrapUnique(new WebSocketEncoder(FOR_CLIENT, std::move(deflater),
279 std::move(inflater))); 279 std::move(inflater)));
280 } 280 }
281 281
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 return false; 346 return false;
347 scoped_refptr<IOBufferWithSize> buffer = 347 scoped_refptr<IOBufferWithSize> buffer =
348 deflater_->GetOutput(deflater_->CurrentOutputSize()); 348 deflater_->GetOutput(deflater_->CurrentOutputSize());
349 if (!buffer.get()) 349 if (!buffer.get())
350 return false; 350 return false;
351 *output = std::string(buffer->data(), buffer->size()); 351 *output = std::string(buffer->data(), buffer->size());
352 return true; 352 return true;
353 } 353 }
354 354
355 } // namespace net 355 } // namespace net
OLDNEW
« no previous file with comments | « net/server/http_server.cc ('k') | net/socket/fuzzed_socket_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698