| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/policy/testing_policy_url_fetcher_factory.h" | 5 #include "chrome/browser/policy/testing_policy_url_fetcher_factory.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/callback.h" | |
| 9 #include "chrome/browser/policy/logging_work_scheduler.h" | 8 #include "chrome/browser/policy/logging_work_scheduler.h" |
| 9 #include "googleurl/src/gurl.h" |
| 10 #include "googleurl/src/url_parse.h" | 10 #include "googleurl/src/url_parse.h" |
| 11 #include "net/http/http_request_headers.h" | 11 #include "net/http/http_request_headers.h" |
| 12 #include "net/url_request/url_request.h" |
| 12 #include "net/url_request/url_request_status.h" | 13 #include "net/url_request/url_request_status.h" |
| 13 | 14 |
| 14 namespace { | 15 namespace { |
| 15 | 16 |
| 16 // Extracts the GET parameter by the name "request" from an URL. | 17 // Extracts the GET parameter by the name "request" from an URL. |
| 17 std::string GetRequestType(const GURL& url) { | 18 std::string GetRequestType(const GURL& url) { |
| 18 url_parse::Component query = url.parsed_for_possibly_invalid_spec().query; | 19 url_parse::Component query = url.parsed_for_possibly_invalid_spec().query; |
| 19 url_parse::Component key, value; | 20 url_parse::Component key, value; |
| 20 const char* url_spec = url.spec().c_str(); | 21 const char* url_spec = url.spec().c_str(); |
| 21 while (url_parse::ExtractQueryKeyValue(url_spec, &query, &key, &value)) { | 22 while (url_parse::ExtractQueryKeyValue(url_spec, &query, &key, &value)) { |
| (...skipping 12 matching lines...) Expand all Loading... |
| 34 | 35 |
| 35 // An URLFetcher that calls back to its factory to figure out what to respond. | 36 // An URLFetcher that calls back to its factory to figure out what to respond. |
| 36 class TestingPolicyURLFetcher : public URLFetcher { | 37 class TestingPolicyURLFetcher : public URLFetcher { |
| 37 public: | 38 public: |
| 38 TestingPolicyURLFetcher( | 39 TestingPolicyURLFetcher( |
| 39 const base::WeakPtr<TestingPolicyURLFetcherFactory>& parent, | 40 const base::WeakPtr<TestingPolicyURLFetcherFactory>& parent, |
| 40 const GURL& url, | 41 const GURL& url, |
| 41 URLFetcher::RequestType request_type, | 42 URLFetcher::RequestType request_type, |
| 42 URLFetcher::Delegate* delegate); | 43 URLFetcher::Delegate* delegate); |
| 43 | 44 |
| 44 virtual void Start(); | 45 virtual void Start() OVERRIDE; |
| 45 void Respond(); | 46 void Respond(); |
| 46 | 47 |
| 47 private: | 48 private: |
| 48 GURL url_; | 49 GURL url_; |
| 49 TestURLResponse response_; | 50 TestURLResponse response_; |
| 50 base::WeakPtr<TestingPolicyURLFetcherFactory> parent_; | 51 base::WeakPtr<TestingPolicyURLFetcherFactory> parent_; |
| 51 | 52 |
| 52 DISALLOW_COPY_AND_ASSIGN(TestingPolicyURLFetcher); | 53 DISALLOW_COPY_AND_ASSIGN(TestingPolicyURLFetcher); |
| 53 }; | 54 }; |
| 54 | 55 |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 116 URLFetcher* TestingPolicyURLFetcherFactory::CreateURLFetcher( | 117 URLFetcher* TestingPolicyURLFetcherFactory::CreateURLFetcher( |
| 117 int id, | 118 int id, |
| 118 const GURL& url, | 119 const GURL& url, |
| 119 URLFetcher::RequestType request_type, | 120 URLFetcher::RequestType request_type, |
| 120 URLFetcher::Delegate* delegate) { | 121 URLFetcher::Delegate* delegate) { |
| 121 return new TestingPolicyURLFetcher( | 122 return new TestingPolicyURLFetcher( |
| 122 weak_ptr_factory_.GetWeakPtr(), url, request_type, delegate); | 123 weak_ptr_factory_.GetWeakPtr(), url, request_type, delegate); |
| 123 } | 124 } |
| 124 | 125 |
| 125 } // namespace policy | 126 } // namespace policy |
| OLD | NEW |