Index: mojo/fetcher/data_fetcher.cc |
diff --git a/mojo/fetcher/data_fetcher.cc b/mojo/fetcher/data_fetcher.cc |
deleted file mode 100644 |
index d7b96013baa54b4f8e9f6a27b1241b96dfd190f8..0000000000000000000000000000000000000000 |
--- a/mojo/fetcher/data_fetcher.cc |
+++ /dev/null |
@@ -1,119 +0,0 @@ |
-// Copyright 2015 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 "mojo/fetcher/data_fetcher.h" |
- |
-#include <stdint.h> |
- |
-#include <utility> |
- |
-#include "base/bind.h" |
-#include "base/files/file_path.h" |
-#include "base/location.h" |
-#include "base/logging.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/thread_task_runner_handle.h" |
-#include "mojo/public/cpp/system/data_pipe.h" |
-#include "net/base/data_url.h" |
- |
-namespace mojo { |
-namespace fetcher { |
- |
-ScopedDataPipeConsumerHandle CreateConsumerHandleForString( |
- const std::string& data) { |
- if (data.size() > std::numeric_limits<uint32_t>::max()) |
- return ScopedDataPipeConsumerHandle(); |
- uint32_t num_bytes = static_cast<uint32_t>(data.size()); |
- MojoCreateDataPipeOptions options; |
- options.struct_size = sizeof(MojoCreateDataPipeOptions); |
- options.flags = MOJO_CREATE_DATA_PIPE_OPTIONS_FLAG_NONE; |
- options.element_num_bytes = 1; |
- options.capacity_num_bytes = num_bytes; |
- mojo::DataPipe data_pipe(options); |
- MojoResult result = |
- WriteDataRaw(data_pipe.producer_handle.get(), data.data(), &num_bytes, |
- MOJO_WRITE_DATA_FLAG_ALL_OR_NONE); |
- CHECK_EQ(MOJO_RESULT_OK, result); |
- return std::move(data_pipe.consumer_handle); |
-} |
- |
-// static |
-void DataFetcher::Start(const GURL& url, const FetchCallback& loader_callback) { |
- // The object manages its own lifespan. |
- new DataFetcher(url, loader_callback); |
-} |
- |
-DataFetcher::DataFetcher(const GURL& url, const FetchCallback& loader_callback) |
- : Fetcher(loader_callback), url_(url) { |
- BuildAndDispatchResponse(); |
-} |
- |
-DataFetcher::~DataFetcher() {} |
- |
-void DataFetcher::BuildAndDispatchResponse() { |
- response_ = URLResponse::New(); |
- response_->url = url_.spec(); |
- |
- response_->status_code = 400; // Bad request |
- if (url_.SchemeIs(url::kDataScheme)) { |
- std::string mime_type, charset, data; |
- if (net::DataURL::Parse(url_, &mime_type, &charset, &data)) { |
- response_->status_code = 200; |
- response_->mime_type = mime_type; |
- response_->charset = charset; |
- if (!data.empty()) |
- response_->body = CreateConsumerHandleForString(data); |
- } |
- } |
- |
- base::ThreadTaskRunnerHandle::Get()->PostTask( |
- FROM_HERE, base::Bind(loader_callback_, |
- base::Passed(make_scoped_ptr<Fetcher>(this)))); |
-} |
- |
-const GURL& DataFetcher::GetURL() const { |
- return url_; |
-} |
- |
-GURL DataFetcher::GetRedirectURL() const { |
- return GURL::EmptyGURL(); |
-} |
- |
-GURL DataFetcher::GetRedirectReferer() const { |
- return GURL::EmptyGURL(); |
-} |
- |
-URLResponsePtr DataFetcher::AsURLResponse(base::TaskRunner* task_runner, |
- uint32_t skip) { |
- DCHECK(response_); |
- return std::move(response_); |
-} |
- |
-void DataFetcher::AsPath( |
- base::TaskRunner* task_runner, |
- base::Callback<void(const base::FilePath&, bool)> callback) { |
- NOTIMPLEMENTED(); |
- base::ThreadTaskRunnerHandle::Get()->PostTask( |
- FROM_HERE, base::Bind(callback, base::FilePath(), false)); |
-} |
- |
-std::string DataFetcher::MimeType() { |
- DCHECK(response_); |
- return response_->mime_type; |
-} |
- |
-bool DataFetcher::HasMojoMagic() { |
- return false; |
-} |
- |
-bool DataFetcher::PeekFirstLine(std::string* line) { |
- // This is only called for 'mojo magic' (i.e. detecting shebang'ed |
- // content-handler. Since HasMojoMagic() returns false above, this should |
- // never be reached. |
- NOTREACHED(); |
- return false; |
-} |
- |
-} // namespace fetcher |
-} // namespace mojo |