jenkins-bot has submitted this change and it was merged. Change subject: Don't unnecessarily fragment parser cache ......................................................................
Don't unnecessarily fragment parser cache All but one content transformation is applied post-parse rather than during the parse. These transformations, therefore, shouldn't be considered when generating the parser cache key. Changes: * Leave the "!responsiveimages=0" parser cache key fragment alone as responsive images are removed during the parse. * Remove all other parser cache key fragments. * Simplify MobileFrontendHooks::onPageRenderingHash. Change-Id: I343e5da5b416196147e83e517019c791cf678692 --- M includes/MobileFrontend.hooks.php M tests/phpunit/MobileFrontend.hooksTest.php 2 files changed, 51 insertions(+), 15 deletions(-) Approvals: Jdlrobson: Looks good to me, but someone else must approve jenkins-bot: Verified Phuedx: Looks good to me, approved diff --git a/includes/MobileFrontend.hooks.php b/includes/MobileFrontend.hooks.php index c870f14..6622b17 100644 --- a/includes/MobileFrontend.hooks.php +++ b/includes/MobileFrontend.hooks.php @@ -376,20 +376,11 @@ public static function onPageRenderingHash( &$confstr, User $user, &$forOptions ) { $context = MobileContext::singleton(); - if ( !$context->shouldDisplayMobileView() ) { - return; - } - - if ( $context->shouldStripResponsiveImages() ) { + if ( + $context->shouldDisplayMobileView() + && $context->shouldStripResponsiveImages() + ) { $confstr .= '!responsiveimages=0'; - } - - if ( $context->isLazyLoadImagesEnabled() ) { - $confstr .= '!lazyloadimages'; - } - - if ( $context->imagesDisabled() ) { - $confstr .= '!noimg'; } } diff --git a/tests/phpunit/MobileFrontend.hooksTest.php b/tests/phpunit/MobileFrontend.hooksTest.php index 4525f62..361164d 100644 --- a/tests/phpunit/MobileFrontend.hooksTest.php +++ b/tests/phpunit/MobileFrontend.hooksTest.php @@ -4,6 +4,13 @@ * @group MobileFrontend */ class MobileFrontendHooksTest extends MediaWikiTestCase { + + protected function setUp() { + parent::setUp(); + + MobileContext::resetInstanceForTesting(); + } + /** * Test no alternate/canonical link is set on Special:MobileCite * @@ -180,8 +187,6 @@ 'wgScriptPath' => '/w', 'wgScript' => '/w/index.php', ] ); - MobileContext::resetInstanceForTesting(); - $title = Title::newFromText( 'PurgeTest' ); $urls = $title->getCdnUrls(); @@ -195,4 +200,44 @@ $this->assertArrayEquals( $expected, $urls ); } + + /** + * @dataProvider provideOnPageRenderingHash + * @covers MobileFrontendHooks::onPageRenderingHash + * + * @param bool $shouldConfstrChange Whether $confstr parameter should have + * changed + * @param bool $forceMobileView + * @param bool $stripResponsiveImages + */ + public function testOnPageRenderingHash( + $shouldConfstrChange, + $forceMobileView, + $stripResponsiveImages + ) { + $context = MobileContext::singleton(); + $context->setForceMobileView( $forceMobileView ); + $context->setStripResponsiveImages( $stripResponsiveImages ); + + $expectedConfstr = $confstr = ''; + + if ( $shouldConfstrChange ) { + $expectedConfstr = '!responsiveimages=0'; + } + + $user = new User(); + $forOptions = []; + + MobileFrontendHooks::onPageRenderingHash( $confstr, $user, $forOptions ); + + $this->assertEquals( $expectedConfstr, $confstr ); + } + + public static function provideOnPageRenderingHash() { + return [ + [ true, true, true ], + [ false, true, false ], + [ false, false, true ], + ]; + } } -- To view, visit https://gerrit.wikimedia.org/r/284006 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I343e5da5b416196147e83e517019c791cf678692 Gerrit-PatchSet: 12 Gerrit-Project: mediawiki/extensions/MobileFrontend Gerrit-Branch: master Gerrit-Owner: Jdlrobson <jrob...@wikimedia.org> Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org> Gerrit-Reviewer: Jdlrobson <jrob...@wikimedia.org> Gerrit-Reviewer: Ori.livneh <o...@wikimedia.org> Gerrit-Reviewer: Phuedx <samsm...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits