| 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 |