blob: bd6ac42845769dd1d15f1c163702eeed0abecdb1 [file] [log] [blame]
[email protected]7258def2011-05-17 19:53:001// 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
3// found in the LICENSE file.
4
5#ifndef NET_PROXY_MOCK_PROXY_SCRIPT_FETCHER_H_
6#define NET_PROXY_MOCK_PROXY_SCRIPT_FETCHER_H_
7#pragma once
8
9#include "base/compiler_specific.h"
10#include "googleurl/src/gurl.h"
11#include "net/proxy/proxy_script_fetcher.h"
12
13#include <string>
14
15namespace net {
16
17class URLRequestContext;
18
19// A mock ProxyScriptFetcher. No result will be returned to the fetch client
20// until we call NotifyFetchCompletion() to set the results.
21class MockProxyScriptFetcher : public ProxyScriptFetcher {
22 public:
23 MockProxyScriptFetcher();
24
25 // ProxyScriptFetcher implementation.
26 virtual int Fetch(const GURL& url,
27 string16* text,
28 CompletionCallback* callback) OVERRIDE;
29 virtual void Cancel() OVERRIDE;
30 virtual URLRequestContext* GetRequestContext() const OVERRIDE;
31
32 void NotifyFetchCompletion(int result, const std::string& ascii_text);
33 const GURL& pending_request_url() const;
34 bool has_pending_request() const;
35
36 private:
37 GURL pending_request_url_;
38 CompletionCallback* pending_request_callback_;
39 string16* pending_request_text_;
40};
41
42} // namespace net
43
44#endif // NET_PROXY_MOCK_PROXY_SCRIPT_FETCHER_H_