Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / net / filter / mock_filter_context.h
blob91a64d22ac584e5e9b83a5a09e4c3c5150ec664a
1 // Copyright 2014 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.
5 #ifndef NET_FILTER_MOCK_FILTER_CONTEXT_H_
6 #define NET_FILTER_MOCK_FILTER_CONTEXT_H_
8 #include <string>
10 #include "base/memory/scoped_ptr.h"
11 #include "net/filter/filter.h"
12 #include "url/gurl.h"
14 namespace net {
16 class URLRequestContext;
18 class MockFilterContext : public FilterContext {
19 public:
20 MockFilterContext();
21 virtual ~MockFilterContext();
23 void SetMimeType(const std::string& mime_type) { mime_type_ = mime_type; }
24 void SetURL(const GURL& gurl) { gurl_ = gurl; }
25 void SetContentDisposition(const std::string& disposition) {
26 content_disposition_ = disposition;
28 void SetRequestTime(const base::Time time) { request_time_ = time; }
29 void SetCached(bool is_cached) { is_cached_content_ = is_cached; }
30 void SetDownload(bool is_download) { is_download_ = is_download; }
31 void SetResponseCode(int response_code) { response_code_ = response_code; }
32 void SetSdchResponse(bool is_sdch_response) {
33 is_sdch_response_ = is_sdch_response;
35 URLRequestContext* GetModifiableURLRequestContext() const {
36 return context_.get();
39 // After a URLRequest's destructor is called, some interfaces may become
40 // unstable. This method is used to signal that state, so we can tag use
41 // of those interfaces as coding errors.
42 void NukeUnstableInterfaces();
44 virtual bool GetMimeType(std::string* mime_type) const OVERRIDE;
46 // What URL was used to access this data?
47 // Return false if gurl is not present.
48 virtual bool GetURL(GURL* gurl) const OVERRIDE;
50 // What Content-Disposition did the server supply for this data?
51 // Return false if Content-Disposition was not present.
52 virtual bool GetContentDisposition(std::string* disposition) const OVERRIDE;
54 // What was this data requested from a server?
55 virtual base::Time GetRequestTime() const OVERRIDE;
57 // Is data supplied from cache, or fresh across the net?
58 virtual bool IsCachedContent() const OVERRIDE;
60 // Is this a download?
61 virtual bool IsDownload() const OVERRIDE;
63 // Was this data flagged as a response to a request with an SDCH dictionary?
64 virtual bool IsSdchResponse() const OVERRIDE;
66 // How many bytes were fed to filter(s) so far?
67 virtual int64 GetByteReadCount() const OVERRIDE;
69 virtual int GetResponseCode() const OVERRIDE;
71 // The URLRequestContext associated with the request.
72 virtual const URLRequestContext* GetURLRequestContext() const OVERRIDE;
74 virtual void RecordPacketStats(StatisticSelector statistic) const OVERRIDE {}
76 private:
77 int buffer_size_;
78 std::string mime_type_;
79 std::string content_disposition_;
80 GURL gurl_;
81 base::Time request_time_;
82 bool is_cached_content_;
83 bool is_download_;
84 bool is_sdch_response_;
85 bool ok_to_call_get_url_;
86 int response_code_;
87 scoped_ptr<URLRequestContext> context_;
89 DISALLOW_COPY_AND_ASSIGN(MockFilterContext);
92 } // namespace net
94 #endif // NET_FILTER_MOCK_FILTER_CONTEXT_H_