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

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

Issue 1783433003: Increase priority of XHR in ResourcePriorities experiment. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added unit test Created 4 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
« no previous file with comments | « third_party/WebKit/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 459 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 470
471 // Start with all experiments disabled. 471 // Start with all experiments disabled.
472 settings->setFEtchIncreaseAsyncScriptPriority(false); 472 settings->setFEtchIncreaseAsyncScriptPriority(false);
473 settings->setFEtchIncreaseFontPriority(false); 473 settings->setFEtchIncreaseFontPriority(false);
474 settings->setFEtchDeferLateScripts(false); 474 settings->setFEtchDeferLateScripts(false);
475 settings->setFEtchIncreasePriorities(false); 475 settings->setFEtchIncreasePriorities(false);
476 476
477 // Base case, no priority change. Note that this triggers m_imageFetched, wh ich will matter for setFetchDeferLateScripts() case below. 477 // Base case, no priority change. Note that this triggers m_imageFetched, wh ich will matter for setFetchDeferLateScripts() case below.
478 EXPECT_EQ(ResourceLoadPriorityVeryLow, fetchContext->modifyPriorityForExperi ments(ResourceLoadPriorityVeryLow, Resource::Image, request, ResourcePriority::N otVisible)); 478 EXPECT_EQ(ResourceLoadPriorityVeryLow, fetchContext->modifyPriorityForExperi ments(ResourceLoadPriorityVeryLow, Resource::Image, request, ResourcePriority::N otVisible));
479 479
480 // RAW (XHR/Fetch) should default to Medium with no experiments running
481 EXPECT_EQ(ResourceLoadPriorityMedium, fetchContext->modifyPriorityForExperim ents(ResourceLoadPriorityMedium, Resource::Raw, request, ResourcePriority::NotVi sible));
482
480 // Image visibility should increase priority 483 // Image visibility should increase priority
481 EXPECT_EQ(ResourceLoadPriorityLow, fetchContext->modifyPriorityForExperiment s(ResourceLoadPriorityVeryLow, Resource::Image, request, ResourcePriority::Visib le)); 484 EXPECT_EQ(ResourceLoadPriorityLow, fetchContext->modifyPriorityForExperiment s(ResourceLoadPriorityVeryLow, Resource::Image, request, ResourcePriority::Visib le));
482 485
483 // Font priority with and without fetchIncreaseFontPriority() 486 // Font priority with and without fetchIncreaseFontPriority()
484 EXPECT_EQ(ResourceLoadPriorityMedium, fetchContext->modifyPriorityForExperim ents(ResourceLoadPriorityMedium, Resource::Font, request, ResourcePriority::NotV isible)); 487 EXPECT_EQ(ResourceLoadPriorityMedium, fetchContext->modifyPriorityForExperim ents(ResourceLoadPriorityMedium, Resource::Font, request, ResourcePriority::NotV isible));
485 settings->setFEtchIncreaseFontPriority(true); 488 settings->setFEtchIncreaseFontPriority(true);
486 EXPECT_EQ(ResourceLoadPriorityHigh, fetchContext->modifyPriorityForExperimen ts(ResourceLoadPriorityMedium, Resource::Font, request, ResourcePriority::NotVis ible)); 489 EXPECT_EQ(ResourceLoadPriorityHigh, fetchContext->modifyPriorityForExperimen ts(ResourceLoadPriorityMedium, Resource::Font, request, ResourcePriority::NotVis ible));
487 490
488 // Basic script cases 491 // Basic script cases
489 EXPECT_EQ(ResourceLoadPriorityMedium, fetchContext->modifyPriorityForExperim ents(ResourceLoadPriorityMedium, Resource::Script, request, ResourcePriority::No tVisible)); 492 EXPECT_EQ(ResourceLoadPriorityMedium, fetchContext->modifyPriorityForExperim ents(ResourceLoadPriorityMedium, Resource::Script, request, ResourcePriority::No tVisible));
490 EXPECT_EQ(ResourceLoadPriorityMedium, fetchContext->modifyPriorityForExperim ents(ResourceLoadPriorityMedium, Resource::Script, preloadRequest, ResourcePrior ity::NotVisible)); 493 EXPECT_EQ(ResourceLoadPriorityMedium, fetchContext->modifyPriorityForExperim ents(ResourceLoadPriorityMedium, Resource::Script, preloadRequest, ResourcePrior ity::NotVisible));
491 494
492 // Enable deferring late scripts. Preload priority should drop. 495 // Enable deferring late scripts. Preload priority should drop.
493 settings->setFEtchDeferLateScripts(true); 496 settings->setFEtchDeferLateScripts(true);
494 EXPECT_EQ(ResourceLoadPriorityLow, fetchContext->modifyPriorityForExperiment s(ResourceLoadPriorityMedium, Resource::Script, preloadRequest, ResourcePriority ::NotVisible)); 497 EXPECT_EQ(ResourceLoadPriorityLow, fetchContext->modifyPriorityForExperiment s(ResourceLoadPriorityMedium, Resource::Script, preloadRequest, ResourcePriority ::NotVisible));
495 498
496 // Enable increasing priority of async scripts. 499 // Enable increasing priority of async scripts.
497 EXPECT_EQ(ResourceLoadPriorityLow, fetchContext->modifyPriorityForExperiment s(ResourceLoadPriorityMedium, Resource::Script, deferredRequest, ResourcePriorit y::NotVisible)); 500 EXPECT_EQ(ResourceLoadPriorityLow, fetchContext->modifyPriorityForExperiment s(ResourceLoadPriorityMedium, Resource::Script, deferredRequest, ResourcePriorit y::NotVisible));
498 settings->setFEtchIncreaseAsyncScriptPriority(true); 501 settings->setFEtchIncreaseAsyncScriptPriority(true);
499 EXPECT_EQ(ResourceLoadPriorityMedium, fetchContext->modifyPriorityForExperim ents(ResourceLoadPriorityMedium, Resource::Script, deferredRequest, ResourcePrio rity::NotVisible)); 502 EXPECT_EQ(ResourceLoadPriorityMedium, fetchContext->modifyPriorityForExperim ents(ResourceLoadPriorityMedium, Resource::Script, deferredRequest, ResourcePrio rity::NotVisible));
500 503
501 // Enable increased priorities for the remainder. 504 // Enable increased priorities for the remainder.
502 settings->setFEtchIncreasePriorities(true); 505 settings->setFEtchIncreasePriorities(true);
503 506
504 // Re-test image priority based on visibility with increased priorities 507 // Re-test image priority based on visibility with increased priorities
505 EXPECT_EQ(ResourceLoadPriorityLow, fetchContext->modifyPriorityForExperiment s(ResourceLoadPriorityVeryLow, Resource::Image, request, ResourcePriority::NotVi sible)); 508 EXPECT_EQ(ResourceLoadPriorityLow, fetchContext->modifyPriorityForExperiment s(ResourceLoadPriorityVeryLow, Resource::Image, request, ResourcePriority::NotVi sible));
506 EXPECT_EQ(ResourceLoadPriorityHigh, fetchContext->modifyPriorityForExperimen ts(ResourceLoadPriorityVeryLow, Resource::Image, request, ResourcePriority::Visi ble)); 509 EXPECT_EQ(ResourceLoadPriorityHigh, fetchContext->modifyPriorityForExperimen ts(ResourceLoadPriorityVeryLow, Resource::Image, request, ResourcePriority::Visi ble));
507 510
511 // Re-test RAW (XHR/Fetch) with increased priorities
512 EXPECT_EQ(ResourceLoadPriorityHigh, fetchContext->modifyPriorityForExperimen ts(ResourceLoadPriorityMedium, Resource::Raw, request, ResourcePriority::NotVisi ble));
513
508 // Re-test font priority with increased prioriries 514 // Re-test font priority with increased prioriries
509 settings->setFEtchIncreaseFontPriority(false); 515 settings->setFEtchIncreaseFontPriority(false);
510 EXPECT_EQ(ResourceLoadPriorityHigh, fetchContext->modifyPriorityForExperimen ts(ResourceLoadPriorityMedium, Resource::Font, request, ResourcePriority::NotVis ible)); 516 EXPECT_EQ(ResourceLoadPriorityHigh, fetchContext->modifyPriorityForExperimen ts(ResourceLoadPriorityMedium, Resource::Font, request, ResourcePriority::NotVis ible));
511 settings->setFEtchIncreaseFontPriority(true); 517 settings->setFEtchIncreaseFontPriority(true);
512 EXPECT_EQ(ResourceLoadPriorityVeryHigh, fetchContext->modifyPriorityForExper iments(ResourceLoadPriorityMedium, Resource::Font, request, ResourcePriority::No tVisible)); 518 EXPECT_EQ(ResourceLoadPriorityVeryHigh, fetchContext->modifyPriorityForExper iments(ResourceLoadPriorityMedium, Resource::Font, request, ResourcePriority::No tVisible));
513 519
514 // Re-test basic script cases and deferring late script case with increased prioriries 520 // Re-test basic script cases and deferring late script case with increased prioriries
515 settings->setFEtchDeferLateScripts(false); 521 settings->setFEtchDeferLateScripts(false);
516 EXPECT_EQ(ResourceLoadPriorityVeryHigh, fetchContext->modifyPriorityForExper iments(ResourceLoadPriorityMedium, Resource::Script, request, ResourcePriority:: NotVisible)); 522 EXPECT_EQ(ResourceLoadPriorityVeryHigh, fetchContext->modifyPriorityForExper iments(ResourceLoadPriorityMedium, Resource::Script, request, ResourcePriority:: NotVisible));
517 EXPECT_EQ(ResourceLoadPriorityHigh, fetchContext->modifyPriorityForExperimen ts(ResourceLoadPriorityMedium, Resource::Script, preloadRequest, ResourcePriorit y::NotVisible)); 523 EXPECT_EQ(ResourceLoadPriorityHigh, fetchContext->modifyPriorityForExperimen ts(ResourceLoadPriorityMedium, Resource::Script, preloadRequest, ResourcePriorit y::NotVisible));
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
717 fetchContext->addAdditionalRequestHeaders(mainRequest, FetchMainResource ); 723 fetchContext->addAdditionalRequestHeaders(mainRequest, FetchMainResource );
718 EXPECT_EQ(mainRequest.isExternalRequest(), test.isExternalExpectation); 724 EXPECT_EQ(mainRequest.isExternalRequest(), test.isExternalExpectation);
719 725
720 ResourceRequest subRequest(test.url); 726 ResourceRequest subRequest(test.url);
721 fetchContext->addAdditionalRequestHeaders(subRequest, FetchSubresource); 727 fetchContext->addAdditionalRequestHeaders(subRequest, FetchSubresource);
722 EXPECT_EQ(subRequest.isExternalRequest(), test.isExternalExpectation); 728 EXPECT_EQ(subRequest.isExternalRequest(), test.isExternalExpectation);
723 } 729 }
724 } 730 }
725 731
726 } // namespace blink 732 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/loader/FrameFetchContext.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698