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

Unified Diff: chrome/browser/extensions/api/socket/socket_api.cc

Issue 10387021: Add bufferSize argument of socket.read() and socket.recvFrom() (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Update Created 8 years, 7 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 side-by-side diff with in-line comments
Download patch
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));
}
« no previous file with comments | « chrome/browser/extensions/api/socket/socket_api.h ('k') | chrome/common/extensions/api/experimental.socket.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698