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

Unified Diff: chrome_frame/urlmon_upload_data_stream.cc

Issue 126143005: Remove Chrome Frame code and resources. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync to r244038 Created 6 years, 11 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
« no previous file with comments | « chrome_frame/urlmon_upload_data_stream.h ('k') | chrome_frame/urlmon_upload_data_stream_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome_frame/urlmon_upload_data_stream.cc
diff --git a/chrome_frame/urlmon_upload_data_stream.cc b/chrome_frame/urlmon_upload_data_stream.cc
deleted file mode 100644
index 2fe2ed0b71f0d1a26ecbb7380d6b628f330055a3..0000000000000000000000000000000000000000
--- a/chrome_frame/urlmon_upload_data_stream.cc
+++ /dev/null
@@ -1,153 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome_frame/urlmon_upload_data_stream.h"
-
-#include "net/base/io_buffer.h"
-#include "net/base/net_errors.h"
-#include "net/base/upload_bytes_element_reader.h"
-#include "net/base/upload_file_element_reader.h"
-
-namespace {
-
-// Creates UploadDataStream from UploadData.
-net::UploadDataStream* CreateUploadDataStream(net::UploadData* upload_data) {
- net::UploadDataStream* upload_data_stream = NULL;
- const ScopedVector<net::UploadElement>& elements = upload_data->elements();
-
- if (upload_data->is_chunked()) {
- // Use AppendChunk when data is chunked.
- upload_data_stream = new net::UploadDataStream(
- net::UploadDataStream::CHUNKED, upload_data->identifier());
-
- for (size_t i = 0; i < elements.size(); ++i) {
- const net::UploadElement& element = *elements[i];
- const bool is_last_chunk =
- i == elements.size() - 1 && upload_data->last_chunk_appended();
- DCHECK_EQ(net::UploadElement::TYPE_BYTES, element.type());
- upload_data_stream->AppendChunk(element.bytes(), element.bytes_length(),
- is_last_chunk);
- }
- } else {
- // Not chunked.
- ScopedVector<net::UploadElementReader> element_readers;
- for (size_t i = 0; i < elements.size(); ++i) {
- const net::UploadElement& element = *elements[i];
- net::UploadElementReader* reader = NULL;
- switch (element.type()) {
- case net::UploadElement::TYPE_BYTES:
- reader = new net::UploadBytesElementReader(element.bytes(),
- element.bytes_length());
- break;
- case net::UploadElement::TYPE_FILE:
- reader = new net::UploadFileElementReaderSync(
- element.file_path(),
- element.file_range_offset(),
- element.file_range_length(),
- element.expected_file_modification_time());
- break;
- }
- DCHECK(reader);
- element_readers.push_back(reader);
- }
- upload_data_stream = new net::UploadDataStream(element_readers.Pass(),
- upload_data->identifier());
- }
- return upload_data_stream;
-}
-
-} // namespace
-
-bool UrlmonUploadDataStream::Initialize(net::UploadData* upload_data) {
- upload_data_ = upload_data;
- request_body_stream_.reset(CreateUploadDataStream(upload_data));
- return request_body_stream_->Init(net::CompletionCallback()) == net::OK;
-}
-
-STDMETHODIMP UrlmonUploadDataStream::Read(void* pv, ULONG cb, ULONG* read) {
- if (pv == NULL) {
- NOTREACHED();
- return E_POINTER;
- }
-
- // Have we already read past the end of the stream?
- if (request_body_stream_->IsEOF()) {
- if (read) {
- *read = 0;
- }
- return S_FALSE;
- }
-
- // The data in request_body_stream_ can be smaller than 'cb' so it's not
- // guaranteed that we'll be able to read total_bytes_to_copy bytes.
- uint64 total_bytes_to_copy = cb;
-
- uint64 bytes_copied = 0;
-
- char* write_pointer = reinterpret_cast<char*>(pv);
- while (bytes_copied < total_bytes_to_copy) {
- size_t bytes_to_copy_now = total_bytes_to_copy - bytes_copied;
-
- scoped_refptr<net::IOBufferWithSize> buf(
- new net::IOBufferWithSize(bytes_to_copy_now));
- int bytes_read = request_body_stream_->Read(buf, buf->size(),
- net::CompletionCallback());
- DCHECK_NE(net::ERR_IO_PENDING, bytes_read);
- if (bytes_read == 0) // Reached the end of the stream.
- break;
-
- memcpy(write_pointer, buf->data(), bytes_read);
-
- // Advance our copy tally
- bytes_copied += bytes_read;
-
- // Advance our write pointer
- write_pointer += bytes_read;
- }
-
- DCHECK_LE(bytes_copied, total_bytes_to_copy);
-
- if (read) {
- *read = static_cast<ULONG>(bytes_copied);
- }
-
- return S_OK;
-}
-
-STDMETHODIMP UrlmonUploadDataStream::Seek(LARGE_INTEGER move, DWORD origin,
- ULARGE_INTEGER* new_pos) {
- // UploadDataStream is really not very seek-able, so for now allow
- // STREAM_SEEK_SETs to work with a 0 offset, but fail on everything else.
- if (origin == STREAM_SEEK_SET && move.QuadPart == 0) {
- if (request_body_stream_->position() != 0) {
- request_body_stream_.reset(CreateUploadDataStream(upload_data_));
- const int result = request_body_stream_->Init(net::CompletionCallback());
- DCHECK_EQ(net::OK, result);
- }
- if (new_pos) {
- new_pos->QuadPart = 0;
- }
- return S_OK;
- }
-
- DCHECK(false) << __FUNCTION__;
- return STG_E_INVALIDFUNCTION;
-}
-
-STDMETHODIMP UrlmonUploadDataStream::Stat(STATSTG *stat_stg,
- DWORD grf_stat_flag) {
- if (stat_stg == NULL)
- return E_POINTER;
-
- memset(stat_stg, 0, sizeof(STATSTG));
- if (0 == (grf_stat_flag & STATFLAG_NONAME)) {
- const wchar_t kStreamBuffer[] = L"PostStream";
- stat_stg->pwcsName =
- static_cast<wchar_t*>(::CoTaskMemAlloc(sizeof(kStreamBuffer)));
- lstrcpy(stat_stg->pwcsName, kStreamBuffer);
- }
- stat_stg->type = STGTY_STREAM;
- stat_stg->cbSize.QuadPart = request_body_stream_->size();
- return S_OK;
-}
« no previous file with comments | « chrome_frame/urlmon_upload_data_stream.h ('k') | chrome_frame/urlmon_upload_data_stream_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698