| Index: mojo/services/network/network_service_delegate.cc
|
| diff --git a/mojo/services/network/network_service_delegate.cc b/mojo/services/network/network_service_delegate.cc
|
| index 296e2a21129848255e0aaa7767918561b4356c61..b3b1c8e8a4bf546bfa4e8ccdc22ddcebc2330811 100644
|
| --- a/mojo/services/network/network_service_delegate.cc
|
| +++ b/mojo/services/network/network_service_delegate.cc
|
| @@ -6,109 +6,23 @@
|
|
|
| #include "base/at_exit.h"
|
| #include "base/base_paths.h"
|
| -#include "base/bind.h"
|
| -#include "base/command_line.h"
|
| #include "base/files/file_path.h"
|
| #include "base/message_loop/message_loop.h"
|
| #include "base/path_service.h"
|
| #include "mojo/application/public/cpp/application_connection.h"
|
| -#include "mojo/common/message_pump_mojo.h"
|
| #include "mojo/services/network/network_service_impl.h"
|
| #include "mojo/services/network/url_loader_factory_impl.h"
|
| -#include "mojo/util/capture_util.h"
|
| -#include "sql/mojo/mojo_vfs.h"
|
|
|
| -namespace {
|
| +NetworkServiceDelegate::NetworkServiceDelegate() : app_(nullptr) {}
|
|
|
| -const char kSQLThreadName[] = "SQL_IO_Thread";
|
| -const char kUserDataDir[] = "user-data-dir";
|
| -
|
| -// SQL blocks on the filesystem service, so perform all SQL functions on a
|
| -// separate thread.
|
| -class SQLThread : public base::Thread {
|
| - public:
|
| - SQLThread(filesystem::DirectoryPtr directory)
|
| - : base::Thread(kSQLThreadName),
|
| - directory_info_(directory.PassInterface().Pass()) {
|
| - base::Thread::Options options;
|
| - options.message_pump_factory =
|
| - base::Bind(&mojo::common::MessagePumpMojo::Create);
|
| - StartWithOptions(options);
|
| - }
|
| - ~SQLThread() override { Stop(); }
|
| -
|
| - void Init() override {
|
| - filesystem::DirectoryPtr directory;
|
| - directory.Bind(directory_info_.Pass());
|
| - vfs_.reset(new sql::ScopedMojoFilesystemVFS(directory.Pass()));
|
| - }
|
| -
|
| - void CleanUp() override {
|
| - vfs_.reset();
|
| - }
|
| -
|
| - private:
|
| - // Our VFS which wraps sqlite so that we can reuse the current sqlite code.
|
| - scoped_ptr<sql::ScopedMojoFilesystemVFS> vfs_;
|
| -
|
| - // This member is used to safely pass data from one thread to another. It is
|
| - // set in the constructor and is consumed in Init().
|
| - mojo::InterfacePtrInfo<filesystem::Directory> directory_info_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(SQLThread);
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -NetworkServiceDelegate::NetworkServiceDelegate()
|
| - : app_(nullptr) {
|
| -}
|
| -
|
| -NetworkServiceDelegate::~NetworkServiceDelegate() {
|
| -}
|
| +NetworkServiceDelegate::~NetworkServiceDelegate() {}
|
|
|
| void NetworkServiceDelegate::Initialize(mojo::ApplicationImpl* app) {
|
| app_ = app;
|
| -
|
| -#if !defined(OS_ANDROID)
|
| - // TODO(erg): The following doesn't work when running the android
|
| - // apptests. It works in the mandoline shell (on desktop and on android), and
|
| - // in the apptests on desktop. However, on android, whenever we make the call
|
| - // to OpenFileSystem, the entire mojo system hangs to the point where writes
|
| - // to stderr that previously would have printed to our console aren't. The
|
| - // apptests are also fairly resistant to being run under gdb on android.
|
| - mojo::URLRequestPtr request(mojo::URLRequest::New());
|
| - request->url = mojo::String::From("mojo:filesystem");
|
| - app_->ConnectToService(request.Pass(), &files_);
|
| -
|
| - filesystem::FileError error = filesystem::FILE_ERROR_FAILED;
|
| - filesystem::DirectoryPtr directory;
|
| - files_->OpenFileSystem("origin", GetProxy(&directory), mojo::Capture(&error));
|
| - files_.WaitForIncomingResponse();
|
| -
|
| - io_worker_thread_.reset(new SQLThread(directory.Pass()));
|
| -#endif
|
| -
|
| - // TODO(erg): Find everything else that writes to the filesystem and
|
| - // transition it to proxying mojo:filesystem. We shouldn't have any path
|
| - // calculation code here, but sadly need it until the transition is done. In
|
| - // the mean time, manually handle the user-data-dir switch (which gets set in
|
| - // tests) so that tests are writing to a temp dir.
|
| base::FilePath base_path;
|
| - const base::CommandLine* command_line =
|
| - base::CommandLine::ForCurrentProcess();
|
| - if (command_line->HasSwitch(kUserDataDir)) {
|
| - base_path = command_line->GetSwitchValuePath(kUserDataDir);
|
| - } else {
|
| - CHECK(PathService::Get(base::DIR_TEMP, &base_path));
|
| - base_path = base_path.Append(FILE_PATH_LITERAL("network_service"));
|
| - }
|
| -
|
| - scoped_refptr<base::SequencedTaskRunner> worker_thread;
|
| -#if !defined(OS_ANDROID)
|
| - worker_thread = io_worker_thread_->task_runner();
|
| -#endif
|
| - context_.reset(new mojo::NetworkContext(base_path, worker_thread));
|
| + CHECK(PathService::Get(base::DIR_TEMP, &base_path));
|
| + base_path = base_path.Append(FILE_PATH_LITERAL("network_service"));
|
| + context_.reset(new mojo::NetworkContext(base_path));
|
| }
|
|
|
| bool NetworkServiceDelegate::ConfigureIncomingConnection(
|
| @@ -124,10 +38,6 @@
|
| // destruction and it is the last moment we know for sure that it is
|
| // running.
|
| context_.reset();
|
| -
|
| - // Destroy the io worker thread here so that we can commit any pending
|
| - // cookies here.
|
| - io_worker_thread_.reset();
|
| }
|
|
|
| void NetworkServiceDelegate::Create(
|
|
|