diff --git a/atom/browser/api/atom_api_url_request.cc b/atom/browser/api/atom_api_url_request.cc index 5ded4cd52f..623487fa67 100644 --- a/atom/browser/api/atom_api_url_request.cc +++ b/atom/browser/api/atom_api_url_request.cc @@ -23,8 +23,9 @@ namespace mate { template<> struct Converter> { - static v8::Local ToV8(v8::Isolate* isolate, - scoped_refptr val) { + static v8::Local ToV8( + v8::Isolate* isolate, + scoped_refptr val) { mate::Dictionary dict = mate::Dictionary::CreateEmpty(isolate); if (val) { @@ -41,15 +42,18 @@ struct Converter> { template<> struct Converter> { - static v8::Local ToV8( - v8::Isolate* isolate, - scoped_refptr buffer) { - return node::Buffer::Copy(isolate, buffer->data(), buffer->size()).ToLocalChecked(); + v8::Isolate* isolate, + scoped_refptr buffer) { + return node::Buffer::Copy(isolate, + buffer->data(), + buffer->size()).ToLocalChecked(); } - static bool FromV8(v8::Isolate* isolate, v8::Local val, - scoped_refptr* out) { + static bool FromV8( + v8::Isolate* isolate, + v8::Local val, + scoped_refptr* out) { auto size = node::Buffer::Length(val); @@ -87,10 +91,9 @@ namespace atom { namespace api { -URLRequest::URLRequest(v8::Isolate* isolate, - v8::Local wrapper) +URLRequest::URLRequest(v8::Isolate* isolate, v8::Local wrapper) : weak_ptr_factory_(this) { - InitWith(isolate, wrapper); + InitWith(isolate, wrapper); } URLRequest::~URLRequest() { @@ -142,18 +145,20 @@ void URLRequest::BuildPrototype(v8::Isolate* isolate, .SetMethod("_getHeader", &URLRequest::GetHeader) .SetMethod("_removaHeader", &URLRequest::RemoveHeader) // Response APi - .SetProperty("statusCode", &URLRequest::StatusCode) - .SetProperty("statusMessage", &URLRequest::StatusMessage) - .SetProperty("rawResponseHeaders", &URLRequest::RawResponseHeaders) - .SetProperty("httpVersionMajor", &URLRequest::ResponseHttpVersionMajor) - .SetProperty("httpVersionMinor", &URLRequest::ResponseHttpVersionMinor); + .SetProperty("_statusCode", &URLRequest::StatusCode) + .SetProperty("_statusMessage", &URLRequest::StatusMessage) + .SetProperty("_rawResponseHeaders", &URLRequest::RawResponseHeaders) + .SetProperty("_httpVersionMajor", &URLRequest::ResponseHttpVersionMajor) + .SetProperty("_httpVersionMinor", &URLRequest::ResponseHttpVersionMinor); } -bool URLRequest::WriteBuffer(scoped_refptr buffer, bool is_last) { - atom_request_->WriteBuffer(buffer, is_last); - return true; +bool URLRequest::WriteBuffer( + scoped_refptr buffer, + bool is_last) { + return atom_request_->WriteBuffer(buffer, is_last); + } @@ -161,7 +166,8 @@ void URLRequest::Abort() { atom_request_->Abort(); } -bool URLRequest::SetHeader(const std::string& name, const std::string& value) { +bool URLRequest::SetHeader(const std::string& name, + const std::string& value) { if (!net::HttpUtil::IsValidHeaderName(name)) { return false; } @@ -181,7 +187,7 @@ void URLRequest::RemoveHeader(const std::string& name) { } void URLRequest::OnAuthenticationRequired( - scoped_refptr auth_info) { + scoped_refptr auth_info) { EmitRequestEvent( "login", auth_info.get(), @@ -194,7 +200,7 @@ void URLRequest::OnResponseStarted() { } void URLRequest::OnResponseData( - scoped_refptr buffer) { + scoped_refptr buffer) { if (!buffer || !buffer->data() || !buffer->size()) { return; } @@ -224,7 +230,8 @@ std::string URLRequest::StatusMessage() const { return result; } -scoped_refptr URLRequest::RawResponseHeaders() const { +scoped_refptr +URLRequest::RawResponseHeaders() const { return atom_request_->GetResponseHeaders(); } diff --git a/atom/browser/api/atom_api_url_request.h b/atom/browser/api/atom_api_url_request.h index 3831348f78..55bc516c4d 100644 --- a/atom/browser/api/atom_api_url_request.h +++ b/atom/browser/api/atom_api_url_request.h @@ -32,7 +32,8 @@ class URLRequest : public mate::EventEmitter { private: - bool WriteBuffer(scoped_refptr buffer, bool is_last); + bool WriteBuffer(scoped_refptr buffer, + bool is_last); void Abort(); bool SetHeader(const std::string& name, const std::string& value); std::string GetHeader(const std::string& name); @@ -86,7 +87,8 @@ void URLRequest::EmitRequestEvent(ArgTypes... args) { auto arguments = BuildArgsArray(args...); v8::Local _emitRequestEvent; auto wrapper = GetWrapper(); - if (mate::Dictionary(isolate(), wrapper).Get("_emitRequestEvent", &_emitRequestEvent)) + if (mate::Dictionary(isolate(), wrapper) + .Get("_emitRequestEvent", &_emitRequestEvent)) _emitRequestEvent->Call(wrapper, arguments.size(), arguments.data()); } @@ -96,7 +98,8 @@ void URLRequest::EmitResponseEvent(ArgTypes... args) { auto arguments = BuildArgsArray(args...); v8::Local _emitResponseEvent; auto wrapper = GetWrapper(); - if (mate::Dictionary(isolate(), wrapper).Get("_emitResponseEvent", &_emitResponseEvent)) + if (mate::Dictionary(isolate(), wrapper) + .Get("_emitResponseEvent", &_emitResponseEvent)) _emitResponseEvent->Call(wrapper, arguments.size(), arguments.data()); } diff --git a/atom/browser/net/atom_url_request.cc b/atom/browser/net/atom_url_request.cc index 09d787a51f..6afc0cbb04 100644 --- a/atom/browser/net/atom_url_request.cc +++ b/atom/browser/net/atom_url_request.cc @@ -14,9 +14,7 @@ namespace { - const int kBufferSize = 4096; - } // namespace namespace atom { @@ -31,6 +29,7 @@ public: : net::UploadBytesElementReader(buffer->data(), buffer->size()) , buffer_(buffer) { } + ~UploadOwnedIOBufferElementReader() override { } @@ -58,10 +57,10 @@ AtomURLRequest::~AtomURLRequest() { } scoped_refptr AtomURLRequest::Create( - AtomBrowserContext* browser_context, - const std::string& method, - const std::string& url, - base::WeakPtr delegate) { + AtomBrowserContext* browser_context, + const std::string& method, + const std::string& url, + base::WeakPtr delegate) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); DCHECK(browser_context); DCHECK(!url.empty()); @@ -74,7 +73,8 @@ scoped_refptr AtomURLRequest::Create( DCHECK(context); - scoped_refptr atom_url_request = new AtomURLRequest(delegate); + scoped_refptr atom_url_request = + new AtomURLRequest(delegate); atom_url_request->request_ = context->CreateRequest(GURL(url), net::RequestPriority::DEFAULT_PRIORITY, @@ -86,12 +86,13 @@ scoped_refptr AtomURLRequest::Create( } -void AtomURLRequest::WriteBuffer(scoped_refptr buffer, - bool is_last) { +bool AtomURLRequest::WriteBuffer( + scoped_refptr buffer, + bool is_last) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); - content::BrowserThread::PostTask( - content::BrowserThread::IO, FROM_HERE, - base::Bind(&AtomURLRequest::DoWriteBuffer, this, buffer, is_last)); + return content::BrowserThread::PostTask( + content::BrowserThread::IO, FROM_HERE, + base::Bind(&AtomURLRequest::DoWriteBuffer, this, buffer, is_last)); } void AtomURLRequest::SetChunkedUpload() { @@ -157,8 +158,9 @@ void AtomURLRequest::PassLoginInformation(const base::string16& username, } -void AtomURLRequest::DoWriteBuffer(scoped_refptr buffer, - bool is_last) { +void AtomURLRequest::DoWriteBuffer( + scoped_refptr buffer, + bool is_last) { DCHECK_CURRENTLY_ON(content::BrowserThread::IO); if (is_chunked_upload_) { @@ -197,15 +199,19 @@ void AtomURLRequest::DoWriteBuffer(scoped_refptr bu if (buffer) { // Handling potential empty buffers. - std::unique_ptr element_reader(internal::UploadOwnedIOBufferElementReader - ::CreateWithBuffer(std::move(buffer))); - upload_element_readers_.push_back(std::move(element_reader)); + using internal::UploadOwnedIOBufferElementReader; + auto element_reader = UploadOwnedIOBufferElementReader::CreateWithBuffer( + std::move(buffer)); + upload_element_readers_.push_back( + std::unique_ptr(element_reader)); } if (is_last) { - std::unique_ptr elements_upload_data_stream( - new net::ElementsUploadDataStream(std::move(upload_element_readers_), 0)); - request_->set_upload(std::move(elements_upload_data_stream)); + auto elements_upload_data_stream = new net::ElementsUploadDataStream( + std::move(upload_element_readers_), + 0); + request_->set_upload( + std::unique_ptr(elements_upload_data_stream)); request_->Start(); } } @@ -260,7 +266,8 @@ void AtomURLRequest::ReadResponse() { // completed immediately, without trying to read any data back (all we care // about is the response code and headers, which we already have). int bytes_read = 0; - if (request_->status().is_success() /* TODO && (request_type_ != URLFetcher::HEAD)*/) { + if (request_->status().is_success() + /* TODO && (request_type_ != URLFetcher::HEAD)*/) { if (!request_->Read(response_read_buffer_.get(), kBufferSize, &bytes_read)) bytes_read = -1; } @@ -268,7 +275,8 @@ void AtomURLRequest::ReadResponse() { } -void AtomURLRequest::OnReadCompleted(net::URLRequest* request, int bytes_read) { +void AtomURLRequest::OnReadCompleted(net::URLRequest* request, + int bytes_read) { DCHECK_CURRENTLY_ON(content::BrowserThread::IO); DCHECK_EQ(request, request_.get()); @@ -283,11 +291,14 @@ void AtomURLRequest::OnReadCompleted(net::URLRequest* request, int bytes_read) { // Failed to transfer data to UI thread. return; } - } while (request_->Read(response_read_buffer_.get(), kBufferSize, &bytes_read)); + } while (request_->Read(response_read_buffer_.get(), + kBufferSize, + &bytes_read)); const auto status = request_->status(); - if (!status.is_io_pending() /* TODO || request_type_ == URLFetcher::HEAD*/ ) { + if (!status.is_io_pending() + /* TODO || request_type_ == URLFetcher::HEAD*/ ) { content::BrowserThread::PostTask( content::BrowserThread::UI, FROM_HERE, @@ -301,12 +312,14 @@ bool AtomURLRequest::CopyAndPostBuffer(int bytes_read) { // data is only a wrapper for the async response_read_buffer_. // Make a deep copy of payload and transfer ownership to the UI thread. - scoped_refptr buffer_copy(new net::IOBufferWithSize(bytes_read)); + auto buffer_copy = new net::IOBufferWithSize(bytes_read); memcpy(buffer_copy->data(), response_read_buffer_->data(), bytes_read); return content::BrowserThread::PostTask( content::BrowserThread::UI, FROM_HERE, - base::Bind(&AtomURLRequest::InformDelegateResponseData, this, buffer_copy)); + base::Bind(&AtomURLRequest::InformDelegateResponseData, + this, + buffer_copy)); } diff --git a/atom/browser/net/atom_url_request.h b/atom/browser/net/atom_url_request.h index 3a923a002e..38f60c8d3b 100644 --- a/atom/browser/net/atom_url_request.h +++ b/atom/browser/net/atom_url_request.h @@ -34,7 +34,8 @@ public: const std::string& url, base::WeakPtr delegate); - void WriteBuffer(scoped_refptr buffer, bool is_last); + bool WriteBuffer(scoped_refptr buffer, + bool is_last); void SetChunkedUpload(); void Abort() const; void SetHeader(const std::string& name, const std::string& value) const; @@ -54,7 +55,8 @@ protected: private: friend class base::RefCountedThreadSafe; - void DoWriteBuffer(scoped_refptr buffer, bool is_last); + void DoWriteBuffer(scoped_refptr buffer, + bool is_last); void DoSetAuth(const base::string16& username, const base::string16& password) const; void DoCancelAuth() const; diff --git a/lib/browser/api/net.js b/lib/browser/api/net.js index d1d8cb7e7c..7392c7687c 100644 --- a/lib/browser/api/net.js +++ b/lib/browser/api/net.js @@ -15,15 +15,15 @@ class URLResponse extends EventEmitter { } get statusCode() { - return this.request.statusCode; + return this.request._statusCode; } get statusMessage() { - return this.request.statusMessage; + return this.request._statusMessage; } get headers() { - return this.request.rawResponseHeaders; + return this.request._rawResponseHeaders; } get httpVersion() { @@ -31,15 +31,15 @@ class URLResponse extends EventEmitter { } get httpVersionMajor() { - return this.request.httpVersionMajor; + return this.request._httpVersionMajor; } get httpVersionMinor() { - return this.request.httpVersionMinor; + return this.request._httpVersionMinor; } get rawHeaders() { - return this.request.rawResponseHeaders; + return this.request._rawResponseHeaders; } }