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

Side by Side Diff: net/websockets/websocket_job.cc

Issue 5682008: Make members of Singleton<T> private and only visible to the singleton type. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 10 years 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/websockets/websocket_job.h" 5 #include "net/websockets/websocket_job.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/singleton.h" 9 #include "base/lazy_instance.h"
10 #include "base/string_tokenizer.h" 10 #include "base/string_tokenizer.h"
11 #include "googleurl/src/gurl.h" 11 #include "googleurl/src/gurl.h"
12 #include "net/base/net_errors.h" 12 #include "net/base/net_errors.h"
13 #include "net/base/net_log.h" 13 #include "net/base/net_log.h"
14 #include "net/base/cookie_policy.h" 14 #include "net/base/cookie_policy.h"
15 #include "net/base/cookie_store.h" 15 #include "net/base/cookie_store.h"
16 #include "net/base/io_buffer.h" 16 #include "net/base/io_buffer.h"
17 #include "net/http/http_util.h" 17 #include "net/http/http_util.h"
18 #include "net/url_request/url_request_context.h" 18 #include "net/url_request/url_request_context.h"
19 #include "net/websockets/websocket_frame_handler.h" 19 #include "net/websockets/websocket_frame_handler.h"
(...skipping 13 matching lines...) Expand all
33 33
34 net::SocketStreamJob* WebSocketJobFactory( 34 net::SocketStreamJob* WebSocketJobFactory(
35 const GURL& url, net::SocketStream::Delegate* delegate) { 35 const GURL& url, net::SocketStream::Delegate* delegate) {
36 net::WebSocketJob* job = new net::WebSocketJob(delegate); 36 net::WebSocketJob* job = new net::WebSocketJob(delegate);
37 job->InitSocketStream(new net::SocketStream(url, job)); 37 job->InitSocketStream(new net::SocketStream(url, job));
38 return job; 38 return job;
39 } 39 }
40 40
41 class WebSocketJobInitSingleton { 41 class WebSocketJobInitSingleton {
42 private: 42 private:
43 friend struct DefaultSingletonTraits<WebSocketJobInitSingleton>; 43 friend struct base::DefaultLazyInstanceTraits<WebSocketJobInitSingleton>;
44 WebSocketJobInitSingleton() { 44 WebSocketJobInitSingleton() {
45 net::SocketStreamJob::RegisterProtocolFactory("ws", WebSocketJobFactory); 45 net::SocketStreamJob::RegisterProtocolFactory("ws", WebSocketJobFactory);
46 net::SocketStreamJob::RegisterProtocolFactory("wss", WebSocketJobFactory); 46 net::SocketStreamJob::RegisterProtocolFactory("wss", WebSocketJobFactory);
47 } 47 }
48 }; 48 };
49 49
50 static base::LazyInstance<WebSocketJobInitSingleton> g_websocket_job_init(
51 base::LINKER_INITIALIZED);
52
50 } // anonymous namespace 53 } // anonymous namespace
51 54
52 namespace net { 55 namespace net {
53 56
54 // static 57 // static
55 void WebSocketJob::EnsureInit() { 58 void WebSocketJob::EnsureInit() {
56 Singleton<WebSocketJobInitSingleton>::get(); 59 g_websocket_job_init.Get();
57 } 60 }
58 61
59 WebSocketJob::WebSocketJob(SocketStream::Delegate* delegate) 62 WebSocketJob::WebSocketJob(SocketStream::Delegate* delegate)
60 : delegate_(delegate), 63 : delegate_(delegate),
61 state_(INITIALIZED), 64 state_(INITIALIZED),
62 waiting_(false), 65 waiting_(false),
63 callback_(NULL), 66 callback_(NULL),
64 handshake_request_(new WebSocketHandshakeRequestHandler), 67 handshake_request_(new WebSocketHandshakeRequestHandler),
65 handshake_response_(new WebSocketHandshakeResponseHandler), 68 handshake_response_(new WebSocketHandshakeResponseHandler),
66 handshake_request_sent_(0), 69 handshake_request_sent_(0),
(...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after
500 socket_->Close(); 503 socket_->Close();
501 return; 504 return;
502 } 505 }
503 current_buffer_ = new DrainableIOBuffer( 506 current_buffer_ = new DrainableIOBuffer(
504 send_frame_handler_->GetCurrentBuffer(), 507 send_frame_handler_->GetCurrentBuffer(),
505 send_frame_handler_->GetCurrentBufferSize()); 508 send_frame_handler_->GetCurrentBufferSize());
506 socket_->SendData(current_buffer_->data(), current_buffer_->BytesRemaining()); 509 socket_->SendData(current_buffer_->data(), current_buffer_->BytesRemaining());
507 } 510 }
508 511
509 } // namespace net 512 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698