Chromium Code Reviews| Index: chrome/browser/extensions/api/socket/socket_api.cc |
| diff --git a/chrome/browser/extensions/api/socket/socket_api.cc b/chrome/browser/extensions/api/socket/socket_api.cc |
| index ca87d2c1899dbb5bf44685f83d4f7ae443d58028..afc5a5701d823be4c9cc4e40aad4f4b34bd43a89 100644 |
| --- a/chrome/browser/extensions/api/socket/socket_api.cc |
| +++ b/chrome/browser/extensions/api/socket/socket_api.cc |
| @@ -6,12 +6,11 @@ |
| #include "base/bind.h" |
| #include "chrome/browser/browser_process.h" |
| -#include "chrome/browser/extensions/api/api_resource_controller.h" |
| #include "chrome/browser/extensions/api/dns/host_resolver_wrapper.h" |
| #include "chrome/browser/extensions/api/socket/socket.h" |
| #include "chrome/browser/extensions/api/socket/tcp_socket.h" |
| #include "chrome/browser/extensions/api/socket/udp_socket.h" |
| -#include "chrome/browser/extensions/extension_service.h" |
| +#include "chrome/browser/extensions/extension_system.h" |
| #include "chrome/browser/io_thread.h" |
| #include "net/base/host_port_pair.h" |
| #include "net/base/io_buffer.h" |
| @@ -34,6 +33,18 @@ const char kSocketNotFoundError[] = "Socket not found"; |
| const char kSocketTypeInvalidError[] = "Socket type is not supported"; |
| const char kDnsLookupFailedError[] = "DNS resolution failed"; |
| +SocketExtensionFunction::SocketExtensionFunction() |
| + : manager_(NULL) { |
| +} |
| + |
| +SocketExtensionFunction::~SocketExtensionFunction() { |
| +} |
| + |
| +bool SocketExtensionFunction::PrePrepare() { |
| + manager_ = ExtensionSystem::Get(profile())->socket_manager(); |
| + return manager_ != NULL; |
| +} |
| + |
| void SocketExtensionFunction::Work() { |
|
asargent_no_longer_on_chrome
2012/07/16 18:08:25
nit: why do we bother overriding the default Async
miket_OOO
2012/07/16 19:46:02
Originally I believe it did do work, but we've sin
|
| } |
| @@ -122,7 +133,7 @@ void SocketCreateFunction::Work() { |
| DCHECK(socket); |
| DictionaryValue* result = new DictionaryValue(); |
| - result->SetInteger(kSocketIdKey, controller()->AddAPIResource(socket)); |
| + result->SetInteger(kSocketIdKey, manager_->Add(socket)); |
| SetResult(result); |
| } |
| @@ -132,8 +143,7 @@ bool SocketDestroyFunction::Prepare() { |
| } |
| void SocketDestroyFunction::Work() { |
| - if (!controller()->RemoveSocket(socket_id_)) |
| - error_ = kSocketNotFoundError; |
| + manager_->Remove(socket_id_); |
| } |
| SocketConnectFunction::SocketConnectFunction() { |
| @@ -163,7 +173,7 @@ void SocketConnectFunction::AfterDnsLookup(int lookup_result) { |
| } |
| void SocketConnectFunction::StartConnect() { |
| - Socket* socket = controller()->GetSocket(socket_id_); |
| + Socket* socket = manager_->Get(socket_id_); |
| if (!socket) { |
| error_ = kSocketNotFoundError; |
| OnConnect(-1); |
| @@ -185,7 +195,7 @@ bool SocketDisconnectFunction::Prepare() { |
| } |
| void SocketDisconnectFunction::Work() { |
| - Socket* socket = controller()->GetSocket(socket_id_); |
| + Socket* socket = manager_->Get(socket_id_); |
| if (socket) |
| socket->Disconnect(); |
| else |
| @@ -202,7 +212,7 @@ bool SocketBindFunction::Prepare() { |
| void SocketBindFunction::Work() { |
| int result = -1; |
| - Socket* socket = controller()->GetSocket(socket_id_); |
| + Socket* socket = manager_->Get(socket_id_); |
| if (socket) |
| result = socket->Bind(address_, port_); |
| else |
| @@ -224,7 +234,7 @@ bool SocketReadFunction::Prepare() { |
| } |
| void SocketReadFunction::AsyncWorkStart() { |
| - Socket* socket = controller()->GetSocket(params_->socket_id); |
| + Socket* socket = manager_->Get(params_->socket_id); |
| if (!socket) { |
| error_ = kSocketNotFoundError; |
| OnCompleted(-1, NULL); |
| @@ -272,7 +282,7 @@ bool SocketWriteFunction::Prepare() { |
| } |
| void SocketWriteFunction::AsyncWorkStart() { |
| - Socket* socket = controller()->GetSocket(socket_id_); |
| + Socket* socket = manager_->Get(socket_id_); |
| if (!socket) { |
| error_ = kSocketNotFoundError; |
| @@ -305,7 +315,7 @@ bool SocketRecvFromFunction::Prepare() { |
| } |
| void SocketRecvFromFunction::AsyncWorkStart() { |
| - Socket* socket = controller()->GetSocket(params_->socket_id); |
| + Socket* socket = manager_->Get(params_->socket_id); |
| if (!socket) { |
| error_ = kSocketNotFoundError; |
| OnCompleted(-1, NULL, std::string(), 0); |
| @@ -372,7 +382,7 @@ void SocketSendToFunction::AfterDnsLookup(int lookup_result) { |
| } |
| void SocketSendToFunction::StartSendTo() { |
| - Socket* socket = controller()->GetSocket(socket_id_); |
| + Socket* socket = manager_->Get(socket_id_); |
| if (!socket) { |
| error_ = kSocketNotFoundError; |
| OnCompleted(-1); |
| @@ -405,7 +415,7 @@ bool SocketSetKeepAliveFunction::Prepare() { |
| void SocketSetKeepAliveFunction::Work() { |
| bool result = false; |
| - Socket* socket = controller()->GetSocket(params_->socket_id); |
| + Socket* socket = manager_->Get(params_->socket_id); |
| if (socket) { |
| int delay = 0; |
| if (params_->delay.get()) |
| @@ -431,7 +441,7 @@ bool SocketSetNoDelayFunction::Prepare() { |
| void SocketSetNoDelayFunction::Work() { |
| bool result = false; |
| - Socket* socket = controller()->GetSocket(params_->socket_id); |
| + Socket* socket = manager_->Get(params_->socket_id); |
| if (socket) |
| result = socket->SetNoDelay(params_->no_delay); |
| else |