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

Side by Side Diff: Source/core/loader/FrameFetchContextTest.cpp

Issue 1328763002: Make the low priority iframe flag affect all resources in cross origin iframes (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase + remove unused top() override Created 5 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/loader/FrameFetchContext.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2015, Google Inc. All rights reserved. 2 * Copyright (c) 2015, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 preloadRequest.setForPreload(true); 424 preloadRequest.setForPreload(true);
425 425
426 FetchRequest deferredRequest(ResourceRequest("http://www.example.com"), Fetc hInitiatorInfo()); 426 FetchRequest deferredRequest(ResourceRequest("http://www.example.com"), Fetc hInitiatorInfo());
427 deferredRequest.setDefer(FetchRequest::LazyLoad); 427 deferredRequest.setDefer(FetchRequest::LazyLoad);
428 428
429 // Start with all experiments disabled. 429 // Start with all experiments disabled.
430 settings->setFEtchIncreaseAsyncScriptPriority(false); 430 settings->setFEtchIncreaseAsyncScriptPriority(false);
431 settings->setFEtchIncreaseFontPriority(false); 431 settings->setFEtchIncreaseFontPriority(false);
432 settings->setFEtchDeferLateScripts(false); 432 settings->setFEtchDeferLateScripts(false);
433 settings->setFEtchIncreasePriorities(false); 433 settings->setFEtchIncreasePriorities(false);
434 settings->setLowPriorityIframes(false);
435 434
436 // Base case, no priority change. Note that this triggers m_imageFetched, wh ich will matter for setFetchDeferLateScripts() case below. 435 // Base case, no priority change. Note that this triggers m_imageFetched, wh ich will matter for setFetchDeferLateScripts() case below.
437 EXPECT_EQ(ResourceLoadPriorityLow, fetchContext->modifyPriorityForExperiment s(ResourceLoadPriorityLow, Resource::Image, request)); 436 EXPECT_EQ(ResourceLoadPriorityLow, fetchContext->modifyPriorityForExperiment s(ResourceLoadPriorityLow, Resource::Image, request));
438 437
439 // Font priority with and without fetchIncreaseFontPriority() 438 // Font priority with and without fetchIncreaseFontPriority()
440 EXPECT_EQ(ResourceLoadPriorityMedium, fetchContext->modifyPriorityForExperim ents(ResourceLoadPriorityMedium, Resource::Font, request)); 439 EXPECT_EQ(ResourceLoadPriorityMedium, fetchContext->modifyPriorityForExperim ents(ResourceLoadPriorityMedium, Resource::Font, request));
441 settings->setFEtchIncreaseFontPriority(true); 440 settings->setFEtchIncreaseFontPriority(true);
442 EXPECT_EQ(ResourceLoadPriorityHigh, fetchContext->modifyPriorityForExperimen ts(ResourceLoadPriorityMedium, Resource::Font, request)); 441 EXPECT_EQ(ResourceLoadPriorityHigh, fetchContext->modifyPriorityForExperimen ts(ResourceLoadPriorityMedium, Resource::Font, request));
443 442
444 // Basic script cases 443 // Basic script cases
(...skipping 27 matching lines...) Expand all
472 // Re-test deferring late scripts. 471 // Re-test deferring late scripts.
473 settings->setFEtchDeferLateScripts(true); 472 settings->setFEtchDeferLateScripts(true);
474 EXPECT_EQ(ResourceLoadPriorityMedium, fetchContext->modifyPriorityForExperim ents(ResourceLoadPriorityMedium, Resource::Script, preloadRequest)); 473 EXPECT_EQ(ResourceLoadPriorityMedium, fetchContext->modifyPriorityForExperim ents(ResourceLoadPriorityMedium, Resource::Script, preloadRequest));
475 474
476 // Re-test increasing priority of async scripts. Should ignore general incra esed priorities. 475 // Re-test increasing priority of async scripts. Should ignore general incra esed priorities.
477 settings->setFEtchIncreaseAsyncScriptPriority(false); 476 settings->setFEtchIncreaseAsyncScriptPriority(false);
478 EXPECT_EQ(ResourceLoadPriorityLow, fetchContext->modifyPriorityForExperiment s(ResourceLoadPriorityMedium, Resource::Script, deferredRequest)); 477 EXPECT_EQ(ResourceLoadPriorityLow, fetchContext->modifyPriorityForExperiment s(ResourceLoadPriorityMedium, Resource::Script, deferredRequest));
479 settings->setFEtchIncreaseAsyncScriptPriority(true); 478 settings->setFEtchIncreaseAsyncScriptPriority(true);
480 EXPECT_EQ(ResourceLoadPriorityMedium, fetchContext->modifyPriorityForExperim ents(ResourceLoadPriorityMedium, Resource::Script, deferredRequest)); 479 EXPECT_EQ(ResourceLoadPriorityMedium, fetchContext->modifyPriorityForExperim ents(ResourceLoadPriorityMedium, Resource::Script, deferredRequest));
481 480
482 // Set up a child frame, test main resource load with and without setLowPrio rityIframes()
483 FrameFetchContext* childFetchContext = createChildFrame();
484 EXPECT_EQ(ResourceLoadPriorityVeryHigh, childFetchContext->modifyPriorityFor Experiments(ResourceLoadPriorityVeryHigh, Resource::MainResource, request));
485 settings->setLowPriorityIframes(true);
486 EXPECT_EQ(ResourceLoadPriorityVeryLow, childFetchContext->modifyPriorityForE xperiments(ResourceLoadPriorityVeryHigh, Resource::MainResource, request));
487
488 // Ensure we don't go out of bounds 481 // Ensure we don't go out of bounds
489 settings->setFEtchIncreasePriorities(true); 482 settings->setFEtchIncreasePriorities(true);
490 EXPECT_EQ(ResourceLoadPriorityVeryHigh, fetchContext->modifyPriorityForExper iments(ResourceLoadPriorityVeryHigh, Resource::Script, request)); 483 EXPECT_EQ(ResourceLoadPriorityVeryHigh, fetchContext->modifyPriorityForExper iments(ResourceLoadPriorityVeryHigh, Resource::Script, request));
491 settings->setFEtchIncreasePriorities(false); 484 settings->setFEtchIncreasePriorities(false);
492 settings->setFEtchDeferLateScripts(true); 485 settings->setFEtchDeferLateScripts(true);
493 EXPECT_EQ(ResourceLoadPriorityVeryLow, fetchContext->modifyPriorityForExperi ments(ResourceLoadPriorityVeryLow, Resource::Script, preloadRequest)); 486 EXPECT_EQ(ResourceLoadPriorityVeryLow, fetchContext->modifyPriorityForExperi ments(ResourceLoadPriorityVeryLow, Resource::Script, preloadRequest));
494 } 487 }
495 488
489 TEST_F(FrameFetchContextTest, ModifyPriorityForLowPriorityIframes)
490 {
491 Settings* settings = document->frame()->settings();
492 settings->setLowPriorityIframes(false);
493 FetchRequest request(ResourceRequest("http://www.example.com"), FetchInitiat orInfo());
494 FrameFetchContext* childFetchContext = createChildFrame();
495
496 // No low priority iframes, expect default values.
497 EXPECT_EQ(ResourceLoadPriorityVeryHigh, childFetchContext->modifyPriorityFor Experiments(ResourceLoadPriorityVeryHigh, Resource::MainResource, request));
498 EXPECT_EQ(ResourceLoadPriorityMedium, childFetchContext->modifyPriorityForEx periments(ResourceLoadPriorityMedium, Resource::Script, request));
499
500 // Low priority iframes enabled, everything should be low priority
501 settings->setLowPriorityIframes(true);
502 EXPECT_EQ(ResourceLoadPriorityVeryLow, childFetchContext->modifyPriorityForE xperiments(ResourceLoadPriorityVeryHigh, Resource::MainResource, request));
503 EXPECT_EQ(ResourceLoadPriorityVeryLow, childFetchContext->modifyPriorityForE xperiments(ResourceLoadPriorityMedium, Resource::Script, request));
504 }
505
496 } // namespace 506 } // namespace
OLDNEW
« no previous file with comments | « Source/core/loader/FrameFetchContext.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698