| Index: chrome/browser/policy/testing_policy_url_fetcher_factory.cc
|
| diff --git a/chrome/browser/policy/testing_policy_url_fetcher_factory.cc b/chrome/browser/policy/testing_policy_url_fetcher_factory.cc
|
| deleted file mode 100644
|
| index cfea3aef8fa1720a1d8fd848d8d06bfb525e823e..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/policy/testing_policy_url_fetcher_factory.cc
|
| +++ /dev/null
|
| @@ -1,134 +0,0 @@
|
| -// 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/policy/testing_policy_url_fetcher_factory.h"
|
| -
|
| -#include "base/bind.h"
|
| -#include "chrome/browser/policy/logging_work_scheduler.h"
|
| -#include "chrome/browser/policy/proto/device_management_backend.pb.h"
|
| -#include "googleurl/src/gurl.h"
|
| -#include "googleurl/src/url_parse.h"
|
| -#include "net/http/http_request_headers.h"
|
| -#include "net/url_request/url_request.h"
|
| -#include "net/url_request/url_request_status.h"
|
| -
|
| -namespace {
|
| -
|
| -// Extracts the GET parameter by the name "request" from an URL.
|
| -std::string GetRequestType(const GURL& url) {
|
| - url_parse::Component query = url.parsed_for_possibly_invalid_spec().query;
|
| - url_parse::Component key, value;
|
| - const char* url_spec = url.spec().c_str();
|
| - while (url_parse::ExtractQueryKeyValue(url_spec, &query, &key, &value)) {
|
| - std::string key_str(url_spec, key.begin, key.len);
|
| - std::string value_str(url_spec, value.begin, value.len);
|
| - if (key_str == "request") {
|
| - return value_str;
|
| - }
|
| - }
|
| - return "";
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -namespace policy {
|
| -
|
| -// An URLFetcher that calls back to its factory to figure out what to respond.
|
| -class TestingPolicyURLFetcher : public net::TestURLFetcher {
|
| - public:
|
| - TestingPolicyURLFetcher(
|
| - const base::WeakPtr<TestingPolicyURLFetcherFactory>& parent,
|
| - const GURL& url,
|
| - net::URLFetcherDelegate* delegate);
|
| -
|
| - virtual void Start() OVERRIDE;
|
| - void Respond();
|
| -
|
| - virtual int GetResponseCode() const OVERRIDE {
|
| - return response_.response_code;
|
| - }
|
| -
|
| - virtual bool GetResponseAsString(
|
| - std::string* out_response_string) const OVERRIDE {
|
| - *out_response_string = response_.response_data;
|
| - return true;
|
| - }
|
| -
|
| - private:
|
| - TestURLResponse response_;
|
| - base::WeakPtr<TestingPolicyURLFetcherFactory> parent_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(TestingPolicyURLFetcher);
|
| -};
|
| -
|
| -TestingPolicyURLFetcher::TestingPolicyURLFetcher(
|
| - const base::WeakPtr<TestingPolicyURLFetcherFactory>& parent,
|
| - const GURL& url,
|
| - net::URLFetcherDelegate* delegate)
|
| - : TestURLFetcher(0, url, delegate),
|
| - parent_(parent) {
|
| - set_url(url);
|
| - set_status(net::URLRequestStatus(net::URLRequestStatus::SUCCESS, 0));
|
| -}
|
| -
|
| -void TestingPolicyURLFetcher::Start() {
|
| - if (!parent_.get()) return;
|
| -
|
| - std::string auth_header;
|
| - net::HttpRequestHeaders headers;
|
| - std::string request_type = GetRequestType(GetURL());
|
| - GetExtraRequestHeaders(&headers);
|
| - headers.GetHeader("Authorization", &auth_header);
|
| -
|
| - enterprise_management::DeviceManagementRequest request;
|
| - request.ParseFromString(upload_data());
|
| -
|
| - // The following method is mocked by the currently running test.
|
| - parent_->GetResponse(auth_header, request_type, request, &response_);
|
| -
|
| - // We need to channel this through the central event logger, so that ordering
|
| - // with other logged tasks that have a delay is preserved.
|
| - parent_->scheduler()->PostDelayedWork(
|
| - base::Bind(&TestingPolicyURLFetcher::Respond, base::Unretained(this)),
|
| - 0);
|
| -}
|
| -
|
| -void TestingPolicyURLFetcher::Respond() {
|
| - delegate()->OnURLFetchComplete(this);
|
| -}
|
| -
|
| -TestingPolicyURLFetcherFactory::TestingPolicyURLFetcherFactory(
|
| - EventLogger* logger)
|
| - : ScopedURLFetcherFactory(ALLOW_THIS_IN_INITIALIZER_LIST(this)),
|
| - logger_(logger),
|
| - scheduler_(new LoggingWorkScheduler(logger)),
|
| - ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)) {
|
| -}
|
| -
|
| -TestingPolicyURLFetcherFactory::~TestingPolicyURLFetcherFactory() {
|
| -}
|
| -
|
| -LoggingWorkScheduler* TestingPolicyURLFetcherFactory::scheduler() {
|
| - return scheduler_.get();
|
| -}
|
| -
|
| -void TestingPolicyURLFetcherFactory::GetResponse(
|
| - const std::string& auth_header,
|
| - const std::string& request_type,
|
| - const enterprise_management::DeviceManagementRequest& request,
|
| - TestURLResponse* response) {
|
| - logger_->RegisterEvent();
|
| - Intercept(auth_header, request_type, request, response);
|
| -}
|
| -
|
| -net::URLFetcher* TestingPolicyURLFetcherFactory::CreateURLFetcher(
|
| - int id,
|
| - const GURL& url,
|
| - net::URLFetcher::RequestType request_type,
|
| - net::URLFetcherDelegate* delegate) {
|
| - return new TestingPolicyURLFetcher(
|
| - weak_ptr_factory_.GetWeakPtr(), url, delegate);
|
| -}
|
| -
|
| -} // namespace policy
|
|
|