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

Reply via email to