Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: net/url_request/url_request_test_job.h

Issue 12701011: [Net] Propagate priority changes from URLRequest to HttpTransaction (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix use-after-free bug Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #ifndef NET_URL_REQUEST_URL_REQUEST_TEST_JOB_H_ 5 #ifndef NET_URL_REQUEST_URL_REQUEST_TEST_JOB_H_
6 #define NET_URL_REQUEST_URL_REQUEST_TEST_JOB_H_ 6 #define NET_URL_REQUEST_URL_REQUEST_TEST_JOB_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/memory/weak_ptr.h" 10 #include "base/memory/weak_ptr.h"
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 // notifications to send. This is not applicable when using auto_advance. 83 // notifications to send. This is not applicable when using auto_advance.
84 static bool ProcessOnePendingMessage(); 84 static bool ProcessOnePendingMessage();
85 85
86 // With auto advance enabled, the job will advance thru the stages without 86 // With auto advance enabled, the job will advance thru the stages without
87 // the caller having to call ProcessOnePendingMessage. Auto advance depends 87 // the caller having to call ProcessOnePendingMessage. Auto advance depends
88 // on having a message loop running. The default is to not auto advance. 88 // on having a message loop running. The default is to not auto advance.
89 // Should not be altered after the job has started. 89 // Should not be altered after the job has started.
90 bool auto_advance() { return auto_advance_; } 90 bool auto_advance() { return auto_advance_; }
91 void set_auto_advance(bool auto_advance) { auto_advance_ = auto_advance; } 91 void set_auto_advance(bool auto_advance) { auto_advance_ = auto_advance; }
92 92
93 RequestPriority priority() const { return priority_; }
94
93 // Factory method for protocol factory registration if callers don't subclass 95 // Factory method for protocol factory registration if callers don't subclass
94 static URLRequest::ProtocolFactory Factory; 96 static URLRequest::ProtocolFactory Factory;
95 97
96 // Job functions 98 // Job functions
99 virtual void SetPriority(RequestPriority priority) OVERRIDE;
97 virtual void Start() OVERRIDE; 100 virtual void Start() OVERRIDE;
98 virtual bool ReadRawData(IOBuffer* buf, 101 virtual bool ReadRawData(IOBuffer* buf,
99 int buf_size, 102 int buf_size,
100 int *bytes_read) OVERRIDE; 103 int *bytes_read) OVERRIDE;
101 virtual void Kill() OVERRIDE; 104 virtual void Kill() OVERRIDE;
102 virtual bool GetMimeType(std::string* mime_type) const OVERRIDE; 105 virtual bool GetMimeType(std::string* mime_type) const OVERRIDE;
103 virtual void GetResponseInfo(HttpResponseInfo* info) OVERRIDE; 106 virtual void GetResponseInfo(HttpResponseInfo* info) OVERRIDE;
104 virtual int GetResponseCode() const OVERRIDE; 107 virtual int GetResponseCode() const OVERRIDE;
105 virtual bool IsRedirectResponse(GURL* location, 108 virtual bool IsRedirectResponse(GURL* location,
106 int* http_status_code) OVERRIDE; 109 int* http_status_code) OVERRIDE;
(...skipping 18 matching lines...) Expand all
125 // Call to move the job along to the next operation. 128 // Call to move the job along to the next operation.
126 void AdvanceJob(); 129 void AdvanceJob();
127 130
128 // Called via InvokeLater to cause callbacks to occur after Start() returns. 131 // Called via InvokeLater to cause callbacks to occur after Start() returns.
129 virtual void StartAsync(); 132 virtual void StartAsync();
130 133
131 bool auto_advance_; 134 bool auto_advance_;
132 135
133 Stage stage_; 136 Stage stage_;
134 137
138 RequestPriority priority_;
139
135 // The headers the job should return, will be set in Start() if not provided 140 // The headers the job should return, will be set in Start() if not provided
136 // in the explicit ctor. 141 // in the explicit ctor.
137 scoped_refptr<HttpResponseHeaders> response_headers_; 142 scoped_refptr<HttpResponseHeaders> response_headers_;
138 143
139 // The data to send, will be set in Start() if not provided in the explicit 144 // The data to send, will be set in Start() if not provided in the explicit
140 // ctor. 145 // ctor.
141 std::string response_data_; 146 std::string response_data_;
142 147
143 // current offset within response_data_ 148 // current offset within response_data_
144 int offset_; 149 int offset_;
145 150
146 // Holds the buffer for an asynchronous ReadRawData call 151 // Holds the buffer for an asynchronous ReadRawData call
147 IOBuffer* async_buf_; 152 IOBuffer* async_buf_;
148 int async_buf_size_; 153 int async_buf_size_;
149 154
150 base::WeakPtrFactory<URLRequestTestJob> weak_factory_; 155 base::WeakPtrFactory<URLRequestTestJob> weak_factory_;
151 }; 156 };
152 157
153 } // namespace net 158 } // namespace net
154 159
155 #endif // NET_URL_REQUEST_URL_REQUEST_TEST_JOB_H_ 160 #endif // NET_URL_REQUEST_URL_REQUEST_TEST_JOB_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698