OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |