| 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 284f282edc8e1f2055c96c3f8b19963ecc02fc88..d75f598315a8405400aa619b932cf655aa3f07bf 100644
|
| --- a/chrome/browser/extensions/api/socket/socket_api.cc
|
| +++ b/chrome/browser/extensions/api/socket/socket_api.cc
|
| @@ -10,6 +10,7 @@
|
| #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/common/extensions/api/experimental.socket.h"
|
| #include "net/base/io_buffer.h"
|
| #include "net/base/ip_endpoint.h"
|
|
|
| @@ -141,7 +142,11 @@ void SocketBindFunction::Work() {
|
| }
|
|
|
| bool SocketReadFunction::Prepare() {
|
| - EXTENSION_FUNCTION_VALIDATE(args_->GetInteger(0, &socket_id_));
|
| + scoped_ptr<api::experimental_socket::Read::Params> params(
|
| + api::experimental_socket::Read::Params::Create(*args_));
|
| + EXTENSION_FUNCTION_VALIDATE(params.get());
|
| + socket_id_ = params->socket_id;
|
| + buffer_size_ = params->buffer_size.get() ? *params->buffer_size : 4096;
|
| return true;
|
| }
|
|
|
| @@ -154,10 +159,7 @@ void SocketReadFunction::AsyncWorkStart() {
|
| return;
|
| }
|
|
|
| - // TODO(miket): this is an arbitrary number. Can we come up with one that
|
| - // makes sense?
|
| - const int buffer_len = 2048;
|
| - socket->Read(buffer_len,
|
| + socket->Read(buffer_size_,
|
| base::Bind(&SocketReadFunction::OnCompleted, this));
|
| }
|
|
|
| @@ -236,7 +238,11 @@ void SocketWriteFunction::OnCompleted(int bytes_written) {
|
| SocketRecvFromFunction::~SocketRecvFromFunction() {}
|
|
|
| bool SocketRecvFromFunction::Prepare() {
|
| - EXTENSION_FUNCTION_VALIDATE(args_->GetInteger(0, &socket_id_));
|
| + scoped_ptr<api::experimental_socket::RecvFrom::Params> params(
|
| + api::experimental_socket::RecvFrom::Params::Create(*args_));
|
| + EXTENSION_FUNCTION_VALIDATE(params.get());
|
| + socket_id_ = params->socket_id;
|
| + buffer_size_ = params->buffer_size.get() ? *params->buffer_size : 4096;
|
| return true;
|
| }
|
|
|
| @@ -250,8 +256,7 @@ void SocketRecvFromFunction::AsyncWorkStart() {
|
| return;
|
| }
|
|
|
| - const int buffer_len = 2048;
|
| - socket->RecvFrom(buffer_len,
|
| + socket->RecvFrom(buffer_size_,
|
| base::Bind(&SocketRecvFromFunction::OnCompleted, this));
|
| }
|
|
|
|
|