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

Side by Side Diff: chrome/browser/prerender/prerender_resource_throttle_unittest.cc

Issue 2484633004: Change Lo-Fi bool to bitmask to support multiple Previews types (Closed)
Patch Set: rebase Created 4 years 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 <set> 5 #include <set>
6 #include <utility> 6 #include <utility>
7 7
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "base/message_loop/message_loop.h" 11 #include "base/message_loop/message_loop.h"
12 #include "base/run_loop.h" 12 #include "base/run_loop.h"
13 #include "base/threading/sequenced_worker_pool.h" 13 #include "base/threading/sequenced_worker_pool.h"
14 #include "chrome/browser/net/url_request_mock_util.h" 14 #include "chrome/browser/net/url_request_mock_util.h"
15 #include "chrome/browser/prerender/prerender_contents.h" 15 #include "chrome/browser/prerender/prerender_contents.h"
16 #include "chrome/browser/prerender/prerender_manager.h" 16 #include "chrome/browser/prerender/prerender_manager.h"
17 #include "chrome/browser/prerender/prerender_resource_throttle.h" 17 #include "chrome/browser/prerender/prerender_resource_throttle.h"
18 #include "chrome/test/base/testing_browser_process.h" 18 #include "chrome/test/base/testing_browser_process.h"
19 #include "content/public/browser/resource_request_info.h" 19 #include "content/public/browser/resource_request_info.h"
20 #include "content/public/browser/resource_throttle.h" 20 #include "content/public/browser/resource_throttle.h"
21 #include "content/public/common/previews_state.h"
21 #include "content/public/test/test_browser_thread.h" 22 #include "content/public/test/test_browser_thread.h"
22 #include "ipc/ipc_message.h" 23 #include "ipc/ipc_message.h"
23 #include "net/base/request_priority.h" 24 #include "net/base/request_priority.h"
24 #include "net/test/url_request/url_request_mock_http_job.h" 25 #include "net/test/url_request/url_request_mock_http_job.h"
25 #include "net/url_request/redirect_info.h" 26 #include "net/url_request/redirect_info.h"
26 #include "net/url_request/url_request.h" 27 #include "net/url_request/url_request.h"
27 #include "net/url_request/url_request_test_util.h" 28 #include "net/url_request/url_request_test_util.h"
28 #include "testing/gtest/include/gtest/gtest.h" 29 #include "testing/gtest/include/gtest/gtest.h"
29 30
30 using content::BrowserThread; 31 using content::BrowserThread;
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 std::unique_ptr<net::URLRequest> request(url_request_context.CreateRequest( 212 std::unique_ptr<net::URLRequest> request(url_request_context.CreateRequest(
212 net::URLRequestMockHTTPJob::GetMockUrl("prerender/image-deferred.png"), 213 net::URLRequestMockHTTPJob::GetMockUrl("prerender/image-deferred.png"),
213 net::DEFAULT_PRIORITY, &delegate)); 214 net::DEFAULT_PRIORITY, &delegate));
214 content::ResourceRequestInfo::AllocateForTesting( 215 content::ResourceRequestInfo::AllocateForTesting(
215 request.get(), 216 request.get(),
216 content::RESOURCE_TYPE_IMAGE, 217 content::RESOURCE_TYPE_IMAGE,
217 NULL, 218 NULL,
218 kDefaultChildId, 219 kDefaultChildId,
219 kDefaultRouteId, 220 kDefaultRouteId,
220 MSG_ROUTING_NONE, 221 MSG_ROUTING_NONE,
221 false, // is_main_frame 222 false, // is_main_frame
222 false, // parent_is_main_frame 223 false, // parent_is_main_frame
223 true, // allow_download 224 true, // allow_download
224 true, // is_async 225 true, // is_async
225 false); // is_using_lofi 226 content::PREVIEWS_OFF); // previews_state
Nico 2017/01/09 22:35:03 ditto
megjablon 2017/01/10 22:30:01 Done.
226 227
227 // Install a prerender throttle. 228 // Install a prerender throttle.
228 PrerenderResourceThrottle throttle(request.get()); 229 PrerenderResourceThrottle throttle(request.get());
229 delegate.SetThrottle(&throttle); 230 delegate.SetThrottle(&throttle);
230 231
231 // Start the request and wait for a redirect. 232 // Start the request and wait for a redirect.
232 request->Start(); 233 request->Start();
233 delegate.Run(); 234 delegate.Run();
234 EXPECT_TRUE(delegate.was_deferred()); 235 EXPECT_TRUE(delegate.was_deferred());
235 // This calls WillRedirectRequestOnUI(). 236 // This calls WillRedirectRequestOnUI().
(...skipping 18 matching lines...) Expand all
254 std::unique_ptr<net::URLRequest> request(url_request_context.CreateRequest( 255 std::unique_ptr<net::URLRequest> request(url_request_context.CreateRequest(
255 net::URLRequestMockHTTPJob::GetMockUrl("prerender/image-deferred.png"), 256 net::URLRequestMockHTTPJob::GetMockUrl("prerender/image-deferred.png"),
256 net::DEFAULT_PRIORITY, &delegate)); 257 net::DEFAULT_PRIORITY, &delegate));
257 content::ResourceRequestInfo::AllocateForTesting( 258 content::ResourceRequestInfo::AllocateForTesting(
258 request.get(), 259 request.get(),
259 content::RESOURCE_TYPE_MAIN_FRAME, 260 content::RESOURCE_TYPE_MAIN_FRAME,
260 NULL, 261 NULL,
261 kDefaultChildId, 262 kDefaultChildId,
262 kDefaultRouteId, 263 kDefaultRouteId,
263 MSG_ROUTING_NONE, 264 MSG_ROUTING_NONE,
264 true, // is_main_frame 265 true, // is_main_frame
265 false, // parent_is_main_frame 266 false, // parent_is_main_frame
266 true, // allow_download 267 true, // allow_download
267 true, // is_async 268 true, // is_async
268 false); // is_using_lofi 269 content::PREVIEWS_OFF); // previews_state
269 270
270 // Install a prerender throttle. 271 // Install a prerender throttle.
271 PrerenderResourceThrottle throttle(request.get()); 272 PrerenderResourceThrottle throttle(request.get());
272 delegate.SetThrottle(&throttle); 273 delegate.SetThrottle(&throttle);
273 274
274 // Start the request and wait for a redirect. This time, it should 275 // Start the request and wait for a redirect. This time, it should
275 // not be deferred. 276 // not be deferred.
276 request->Start(); 277 request->Start();
277 delegate.Run(); 278 delegate.Run();
278 // This calls WillRedirectRequestOnUI(). 279 // This calls WillRedirectRequestOnUI().
(...skipping 16 matching lines...) Expand all
295 std::unique_ptr<net::URLRequest> request(url_request_context.CreateRequest( 296 std::unique_ptr<net::URLRequest> request(url_request_context.CreateRequest(
296 net::URLRequestMockHTTPJob::GetMockUrl("prerender/image-deferred.png"), 297 net::URLRequestMockHTTPJob::GetMockUrl("prerender/image-deferred.png"),
297 net::DEFAULT_PRIORITY, &delegate)); 298 net::DEFAULT_PRIORITY, &delegate));
298 content::ResourceRequestInfo::AllocateForTesting( 299 content::ResourceRequestInfo::AllocateForTesting(
299 request.get(), 300 request.get(),
300 content::RESOURCE_TYPE_XHR, 301 content::RESOURCE_TYPE_XHR,
301 NULL, 302 NULL,
302 kDefaultChildId, 303 kDefaultChildId,
303 kDefaultRouteId, 304 kDefaultRouteId,
304 MSG_ROUTING_NONE, 305 MSG_ROUTING_NONE,
305 false, // is_main_frame 306 false, // is_main_frame
306 false, // parent_is_main_frame 307 false, // parent_is_main_frame
307 true, // allow_download 308 true, // allow_download
308 false, // is_async 309 false, // is_async
309 false); // is_using_lofi 310 content::PREVIEWS_OFF); // previews_state
310 311
311 // Install a prerender throttle. 312 // Install a prerender throttle.
312 PrerenderResourceThrottle throttle(request.get()); 313 PrerenderResourceThrottle throttle(request.get());
313 delegate.SetThrottle(&throttle); 314 delegate.SetThrottle(&throttle);
314 315
315 // Start the request and wait for a redirect. 316 // Start the request and wait for a redirect.
316 request->Start(); 317 request->Start();
317 delegate.Run(); 318 delegate.Run();
318 // This calls WillRedirectRequestOnUI(). 319 // This calls WillRedirectRequestOnUI().
319 RunEvents(); 320 RunEvents();
320 321
321 // We should have cancelled the prerender. 322 // We should have cancelled the prerender.
322 EXPECT_EQ(FINAL_STATUS_BAD_DEFERRED_REDIRECT, 323 EXPECT_EQ(FINAL_STATUS_BAD_DEFERRED_REDIRECT,
323 test_contents()->final_status()); 324 test_contents()->final_status());
324 325
325 // Cleanup work so the prerender is gone. 326 // Cleanup work so the prerender is gone.
326 test_contents()->Cancel(); 327 test_contents()->Cancel();
327 RunEvents(); 328 RunEvents();
328 } 329 }
329 330
330 } // namespace prerender 331 } // namespace prerender
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698