1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "content/browser/streams/stream_handle_impl.h" 6 7 #include "content/browser/streams/stream.h" 8 #include "content/public/browser/browser_thread.h" 9 10 namespace content { 11 12 StreamHandleImpl::StreamHandleImpl(const base::WeakPtr<Stream>& stream, 13 const GURL& original_url, 14 const std::string& mime_type) 15 : stream_(stream), 16 url_(stream->url()), 17 original_url_(original_url), 18 mime_type_(mime_type), 19 stream_message_loop_(base::MessageLoopProxy::current().get()) {} 20 21 StreamHandleImpl::~StreamHandleImpl() { 22 stream_message_loop_->PostTask(FROM_HERE, 23 base::Bind(&Stream::CloseHandle, stream_)); 24 } 25 26 const GURL& StreamHandleImpl::GetURL() { 27 return url_; 28 } 29 30 const GURL& StreamHandleImpl::GetOriginalURL() { 31 return original_url_; 32 } 33 34 const std::string& StreamHandleImpl::GetMimeType() { 35 return mime_type_; 36 } 37 38 } // namespace content 39