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

Side by Side Diff: content/renderer/resource_fetcher_browsertest.cc

Issue 532773002: Implement ManifestFetcher, helper to fetch Web Manifests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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 #include "content/public/renderer/resource_fetcher.h" 5 #include "content/public/renderer/resource_fetcher.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 } 146 }
147 147
148 void ResourceFetcherDownloadOnRenderer(const GURL& url) { 148 void ResourceFetcherDownloadOnRenderer(const GURL& url) {
149 WebFrame* frame = GetRenderView()->GetWebView()->mainFrame(); 149 WebFrame* frame = GetRenderView()->GetWebView()->mainFrame();
150 150
151 scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate); 151 scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate);
152 scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url)); 152 scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url));
153 fetcher->Start(frame, 153 fetcher->Start(frame,
154 WebURLRequest::RequestContextInternal, 154 WebURLRequest::RequestContextInternal,
155 WebURLRequest::FrameTypeNone, 155 WebURLRequest::FrameTypeNone,
156 ResourceFetcher::PLATFORM_LOADER,
156 delegate->NewCallback()); 157 delegate->NewCallback());
157 158
158 delegate->WaitForResponse(); 159 delegate->WaitForResponse();
159 160
160 ASSERT_TRUE(delegate->completed()); 161 ASSERT_TRUE(delegate->completed());
161 EXPECT_EQ(delegate->response().httpStatusCode(), 200); 162 EXPECT_EQ(delegate->response().httpStatusCode(), 200);
162 std::string text = delegate->data(); 163 std::string text = delegate->data();
163 EXPECT_TRUE(text.find("Basic html test.") != std::string::npos); 164 EXPECT_TRUE(text.find("Basic html test.") != std::string::npos);
164 } 165 }
165 166
166 void ResourceFetcher404OnRenderer(const GURL& url) { 167 void ResourceFetcher404OnRenderer(const GURL& url) {
167 WebFrame* frame = GetRenderView()->GetWebView()->mainFrame(); 168 WebFrame* frame = GetRenderView()->GetWebView()->mainFrame();
168 169
169 scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate); 170 scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate);
170 scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url)); 171 scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url));
171 fetcher->Start(frame, 172 fetcher->Start(frame,
172 WebURLRequest::RequestContextInternal, 173 WebURLRequest::RequestContextInternal,
173 WebURLRequest::FrameTypeNone, 174 WebURLRequest::FrameTypeNone,
175 ResourceFetcher::PLATFORM_LOADER,
174 delegate->NewCallback()); 176 delegate->NewCallback());
175 177
176 delegate->WaitForResponse(); 178 delegate->WaitForResponse();
177 179
178 ASSERT_TRUE(delegate->completed()); 180 ASSERT_TRUE(delegate->completed());
179 EXPECT_EQ(delegate->response().httpStatusCode(), 404); 181 EXPECT_EQ(delegate->response().httpStatusCode(), 404);
180 EXPECT_TRUE(delegate->data().find("Not Found.") != std::string::npos); 182 EXPECT_TRUE(delegate->data().find("Not Found.") != std::string::npos);
181 } 183 }
182 184
183 void ResourceFetcherDidFailOnRenderer() { 185 void ResourceFetcherDidFailOnRenderer() {
184 WebFrame* frame = GetRenderView()->GetWebView()->mainFrame(); 186 WebFrame* frame = GetRenderView()->GetWebView()->mainFrame();
185 187
186 // Try to fetch a page on a site that doesn't exist. 188 // Try to fetch a page on a site that doesn't exist.
187 GURL url("http://localhost:1339/doesnotexist"); 189 GURL url("http://localhost:1339/doesnotexist");
188 scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate); 190 scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate);
189 scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url)); 191 scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url));
190 fetcher->Start(frame, 192 fetcher->Start(frame,
191 WebURLRequest::RequestContextInternal, 193 WebURLRequest::RequestContextInternal,
192 WebURLRequest::FrameTypeNone, 194 WebURLRequest::FrameTypeNone,
195 ResourceFetcher::PLATFORM_LOADER,
193 delegate->NewCallback()); 196 delegate->NewCallback());
194 197
195 delegate->WaitForResponse(); 198 delegate->WaitForResponse();
196 199
197 // When we fail, we still call the Delegate callback but we pass in empty 200 // When we fail, we still call the Delegate callback but we pass in empty
198 // values. 201 // values.
199 EXPECT_TRUE(delegate->completed()); 202 EXPECT_TRUE(delegate->completed());
200 EXPECT_TRUE(delegate->response().isNull()); 203 EXPECT_TRUE(delegate->response().isNull());
201 EXPECT_EQ(delegate->data(), std::string()); 204 EXPECT_EQ(delegate->data(), std::string());
202 EXPECT_FALSE(delegate->timed_out()); 205 EXPECT_FALSE(delegate->timed_out());
203 } 206 }
204 207
205 void ResourceFetcherTimeoutOnRenderer(const GURL& url) { 208 void ResourceFetcherTimeoutOnRenderer(const GURL& url) {
206 WebFrame* frame = GetRenderView()->GetWebView()->mainFrame(); 209 WebFrame* frame = GetRenderView()->GetWebView()->mainFrame();
207 210
208 scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate); 211 scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate);
209 scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url)); 212 scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url));
210 fetcher->Start(frame, 213 fetcher->Start(frame,
211 WebURLRequest::RequestContextInternal, 214 WebURLRequest::RequestContextInternal,
212 WebURLRequest::FrameTypeNone, 215 WebURLRequest::FrameTypeNone,
216 ResourceFetcher::PLATFORM_LOADER,
213 delegate->NewCallback()); 217 delegate->NewCallback());
214 fetcher->SetTimeout(base::TimeDelta()); 218 fetcher->SetTimeout(base::TimeDelta());
215 219
216 delegate->WaitForResponse(); 220 delegate->WaitForResponse();
217 221
218 // When we timeout, we still call the Delegate callback but we pass in empty 222 // When we timeout, we still call the Delegate callback but we pass in empty
219 // values. 223 // values.
220 EXPECT_TRUE(delegate->completed()); 224 EXPECT_TRUE(delegate->completed());
221 EXPECT_TRUE(delegate->response().isNull()); 225 EXPECT_TRUE(delegate->response().isNull());
222 EXPECT_EQ(delegate->data(), std::string()); 226 EXPECT_EQ(delegate->data(), std::string());
223 EXPECT_FALSE(delegate->timed_out()); 227 EXPECT_FALSE(delegate->timed_out());
224 } 228 }
225 229
226 void ResourceFetcherDeletedInCallbackOnRenderer(const GURL& url) { 230 void ResourceFetcherDeletedInCallbackOnRenderer(const GURL& url) {
227 WebFrame* frame = GetRenderView()->GetWebView()->mainFrame(); 231 WebFrame* frame = GetRenderView()->GetWebView()->mainFrame();
228 232
229 scoped_ptr<EvilFetcherDelegate> delegate(new EvilFetcherDelegate); 233 scoped_ptr<EvilFetcherDelegate> delegate(new EvilFetcherDelegate);
230 scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url)); 234 scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url));
231 fetcher->Start(frame, 235 fetcher->Start(frame,
232 WebURLRequest::RequestContextInternal, 236 WebURLRequest::RequestContextInternal,
233 WebURLRequest::FrameTypeNone, 237 WebURLRequest::FrameTypeNone,
238 ResourceFetcher::PLATFORM_LOADER,
234 delegate->NewCallback()); 239 delegate->NewCallback());
235 fetcher->SetTimeout(base::TimeDelta()); 240 fetcher->SetTimeout(base::TimeDelta());
236 delegate->SetFetcher(fetcher.release()); 241 delegate->SetFetcher(fetcher.release());
237 242
238 delegate->WaitForResponse(); 243 delegate->WaitForResponse();
239 EXPECT_FALSE(delegate->timed_out()); 244 EXPECT_FALSE(delegate->timed_out());
240 } 245 }
241 246
242 void ResourceFetcherPost(const GURL& url) { 247 void ResourceFetcherPost(const GURL& url) {
243 const char* kBody = "Really nifty POST body!"; 248 const char* kBody = "Really nifty POST body!";
244 249
245 WebFrame* frame = GetRenderView()->GetWebView()->mainFrame(); 250 WebFrame* frame = GetRenderView()->GetWebView()->mainFrame();
246 251
247 scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate); 252 scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate);
248 scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url)); 253 scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url));
249 fetcher->SetMethod("POST"); 254 fetcher->SetMethod("POST");
250 fetcher->SetBody(kBody); 255 fetcher->SetBody(kBody);
251 fetcher->Start(frame, 256 fetcher->Start(frame,
252 WebURLRequest::RequestContextInternal, 257 WebURLRequest::RequestContextInternal,
253 WebURLRequest::FrameTypeNone, 258 WebURLRequest::FrameTypeNone,
259 ResourceFetcher::PLATFORM_LOADER,
254 delegate->NewCallback()); 260 delegate->NewCallback());
255 261
256 delegate->WaitForResponse(); 262 delegate->WaitForResponse();
257 ASSERT_TRUE(delegate->completed()); 263 ASSERT_TRUE(delegate->completed());
258 EXPECT_EQ(delegate->response().httpStatusCode(), 200); 264 EXPECT_EQ(delegate->response().httpStatusCode(), 200);
259 EXPECT_EQ(kBody, delegate->data()); 265 EXPECT_EQ(kBody, delegate->data());
260 } 266 }
261 267
262 void ResourceFetcherSetHeader(const GURL& url) { 268 void ResourceFetcherSetHeader(const GURL& url) {
263 const char* kHeader = "Rather boring header."; 269 const char* kHeader = "Rather boring header.";
264 270
265 WebFrame* frame = GetRenderView()->GetWebView()->mainFrame(); 271 WebFrame* frame = GetRenderView()->GetWebView()->mainFrame();
266 272
267 scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate); 273 scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate);
268 scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url)); 274 scoped_ptr<ResourceFetcher> fetcher(ResourceFetcher::Create(url));
269 fetcher->SetHeader("header", kHeader); 275 fetcher->SetHeader("header", kHeader);
270 fetcher->Start(frame, 276 fetcher->Start(frame,
271 WebURLRequest::RequestContextInternal, 277 WebURLRequest::RequestContextInternal,
272 WebURLRequest::FrameTypeNone, 278 WebURLRequest::FrameTypeNone,
279 ResourceFetcher::PLATFORM_LOADER,
273 delegate->NewCallback()); 280 delegate->NewCallback());
274 281
275 delegate->WaitForResponse(); 282 delegate->WaitForResponse();
276 ASSERT_TRUE(delegate->completed()); 283 ASSERT_TRUE(delegate->completed());
277 EXPECT_EQ(delegate->response().httpStatusCode(), 200); 284 EXPECT_EQ(delegate->response().httpStatusCode(), 200);
278 EXPECT_EQ(kHeader, delegate->data()); 285 EXPECT_EQ(kHeader, delegate->data());
279 } 286 }
280 }; 287 };
281 288
282 #if defined(OS_ANDROID) 289 #if defined(OS_ANDROID)
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 ASSERT_TRUE(test_server()->Start()); 398 ASSERT_TRUE(test_server()->Start());
392 GURL url(test_server()->GetURL("echoheader?header")); 399 GURL url(test_server()->GetURL("echoheader?header"));
393 400
394 PostTaskToInProcessRendererAndWait( 401 PostTaskToInProcessRendererAndWait(
395 base::Bind( 402 base::Bind(
396 &ResourceFetcherTests::ResourceFetcherSetHeader, 403 &ResourceFetcherTests::ResourceFetcherSetHeader,
397 base::Unretained(this), url)); 404 base::Unretained(this), url));
398 } 405 }
399 406
400 } // namespace content 407 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/fetchers/web_url_loader_client_impl.cc ('k') | content/renderer/web_ui_mojo_context_state.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698