summaryrefslogtreecommitdiffstats
path: root/content/browser/streams/stream.cc
diff options
context:
space:
mode:
authorzork@chromium.org <zork@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-11 11:23:25 +0000
committerzork@chromium.org <zork@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-11 11:23:25 +0000
commite19a0936b577c524ee26d506c97bd5d48521cce5 (patch)
tree7c2528effbe49016f6291dfc092646fe05f41b11 /content/browser/streams/stream.cc
parenteb0e52e386277785069e84e5ab89077e43a011a6 (diff)
downloadchromium_src-e19a0936b577c524ee26d506c97bd5d48521cce5.zip
chromium_src-e19a0936b577c524ee26d506c97bd5d48521cce5.tar.gz
chromium_src-e19a0936b577c524ee26d506c97bd5d48521cce5.tar.bz2
Revert 187230
> Implement the Stream registry in content > > This is the first part of the content side of the Streams api. > See: > https://bugs.webkit.org/show_bug.cgi?id=110194 > https://dvcs.w3.org/hg/streams-api/raw-file/tip/Overview.htm > > BUG=171585 > > > Review URL: https://chromiumcodereview.appspot.com/12335087 TBR=zork@chromium.org Review URL: https://codereview.chromium.org/12611018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187274 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/streams/stream.cc')
-rw-r--r--content/browser/streams/stream.cc113
1 files changed, 0 insertions, 113 deletions
diff --git a/content/browser/streams/stream.cc b/content/browser/streams/stream.cc
deleted file mode 100644
index 0efec13..0000000
--- a/content/browser/streams/stream.cc
+++ /dev/null
@@ -1,113 +0,0 @@
-// Copyright (c) 2013 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 "content/browser/streams/stream.h"
-
-#include "base/bind.h"
-#include "base/message_loop_proxy.h"
-#include "content/browser/streams/stream_read_observer.h"
-#include "content/browser/streams/stream_registry.h"
-#include "content/browser/streams/stream_write_observer.h"
-#include "net/base/io_buffer.h"
-
-namespace {
-// Start throttling the connection at about 1MB.
-const size_t kDeferSizeThreshold = 40 * 32768;
-}
-
-namespace content {
-
-Stream::Stream(StreamRegistry* registry,
- StreamWriteObserver* write_observer,
- const GURL& security_origin,
- const GURL& url)
- : bytes_read_(0),
- can_add_data_(true),
- security_origin_(security_origin),
- url_(url),
- data_length_(0),
- registry_(registry),
- read_observer_(NULL),
- write_observer_(write_observer) {
- CreateByteStream(base::MessageLoopProxy::current(),
- base::MessageLoopProxy::current(),
- kDeferSizeThreshold,
- &writer_,
- &reader_);
-
- // Setup callback for writing.
- writer_->RegisterCallback(base::Bind(&Stream::OnSpaceAvailable, this));
- reader_->RegisterCallback(base::Bind(&Stream::OnDataAvailable, this));
-
- registry_->RegisterStream(this);
-}
-
-Stream::~Stream() {
-}
-
-bool Stream::SetReadObserver(StreamReadObserver* observer) {
- if (read_observer_)
- return false;
- read_observer_ = observer;
- return true;
-}
-
-void Stream::RemoveReadObserver(StreamReadObserver* observer) {
- DCHECK(observer == read_observer_);
- read_observer_ = NULL;
-}
-
-void Stream::AddData(scoped_refptr<net::IOBuffer> buffer, size_t size) {
- can_add_data_ = writer_->Write(buffer, size);
-}
-
-void Stream::Finalize() {
- writer_->Close(DOWNLOAD_INTERRUPT_REASON_NONE);
- writer_.reset(NULL);
-
- OnDataAvailable();
-}
-
-Stream::StreamState Stream::ReadRawData(net::IOBuffer* buf,
- int buf_size,
- int* bytes_read) {
- if (!data_) {
- data_length_ = 0;
- bytes_read_ = 0;
- ByteStreamReader::StreamState state = reader_->Read(&data_, &data_length_);
- switch (state) {
- case ByteStreamReader::STREAM_HAS_DATA:
- break;
- case ByteStreamReader::STREAM_COMPLETE:
- registry_->UnregisterStream(url());
- return STREAM_COMPLETE;
- case ByteStreamReader::STREAM_EMPTY:
- return STREAM_EMPTY;
- }
- }
-
- size_t remaining_bytes = data_length_ - bytes_read_;
- size_t to_read =
- static_cast<size_t>(buf_size) < remaining_bytes ?
- buf_size : remaining_bytes;
- memcpy(buf->data(), data_->data() + bytes_read_, to_read);
- bytes_read_ += to_read;
- if (bytes_read_ >= data_length_)
- data_ = NULL;
-
- *bytes_read = to_read;
- return STREAM_HAS_DATA;
-}
-
-void Stream::OnSpaceAvailable() {
- can_add_data_ = true;
- write_observer_->OnSpaceAvailable(this);
-}
-
-void Stream::OnDataAvailable() {
- read_observer_->OnDataAvailable(this);
-}
-
-} // namespace content
-