stream_handle_impl.h revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
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#ifndef CONTENT_BROWSER_STREAMS_STREAM_HANDLE_IMPL_H_ 6#define CONTENT_BROWSER_STREAMS_STREAM_HANDLE_IMPL_H_ 7 8#include "base/memory/weak_ptr.h" 9#include "base/synchronization/lock.h" 10#include "content/public/browser/stream_handle.h" 11 12namespace base { 13class MessageLoopProxy; 14} 15 16namespace content { 17 18class Stream; 19 20class StreamHandleImpl : public StreamHandle { 21 public: 22 StreamHandleImpl(const base::WeakPtr<Stream>& stream, 23 const GURL& original_url, 24 const std::string& mime_type); 25 virtual ~StreamHandleImpl(); 26 27 private: 28 // StreamHandle overrides 29 virtual const GURL& GetURL() OVERRIDE; 30 virtual const GURL& GetOriginalURL() OVERRIDE; 31 virtual const std::string& GetMimeType() OVERRIDE; 32 33 base::WeakPtr<Stream> stream_; 34 GURL url_; 35 GURL original_url_; 36 std::string mime_type_; 37 base::MessageLoopProxy* stream_message_loop_; 38}; 39 40} // namespace content 41 42#endif // CONTENT_BROWSER_STREAMS_STREAM_HANDLE_IMPL_H_ 43 44