// Copyright (c) 2012 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 "chrome/browser/chromeos/drive/drive_protocol_handler.h" #include "base/logging.h" #include "base/threading/sequenced_worker_pool.h" #include "chrome/browser/chromeos/drive/drive_url_request_job.h" #include "chrome/browser/chromeos/drive/file_system_util.h" #include "content/public/browser/browser_thread.h" #include "net/url_request/url_request.h" #include "url/gurl.h" using content::BrowserThread; namespace drive { DriveProtocolHandler::DriveProtocolHandler(void* profile_id) : profile_id_(profile_id) { scoped_refptr blocking_pool = BrowserThread::GetBlockingPool(); blocking_task_runner_ = blocking_pool->GetSequencedTaskRunner(blocking_pool->GetSequenceToken()); } DriveProtocolHandler::~DriveProtocolHandler() { } net::URLRequestJob* DriveProtocolHandler::MaybeCreateJob( net::URLRequest* request, net::NetworkDelegate* network_delegate) const { DVLOG(1) << "Handling url: " << request->url().spec(); return new DriveURLRequestJob( base::Bind(&util::GetFileSystemByProfileId, profile_id_), blocking_task_runner_.get(), request, network_delegate); } } // namespace drive