Jdlrobson has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/110649

Change subject: Avoid flash of styles when loading tablets
......................................................................

Avoid flash of styles when loading tablets

Use some clever data attributes / JS magic.

Change-Id: I60822b222afad319fd7419f0b04ffe1ba74cc863
---
M includes/Resources.php
M includes/skins/SkinMinervaBeta.php
M javascripts/common/application.js
3 files changed, 26 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend 
refs/changes/49/110649/1

diff --git a/includes/Resources.php b/includes/Resources.php
index a9628e9..72c1cf7 100644
--- a/includes/Resources.php
+++ b/includes/Resources.php
@@ -193,6 +193,7 @@
                ),
                'scripts' => array(
                        'javascripts/modules/lastEdited/lastEditedBeta.js',
+                       'javascripts/common/matchMedia.js',
                ),
                'messages' => array(
                        // LastEditedBeta.js
diff --git a/includes/skins/SkinMinervaBeta.php 
b/includes/skins/SkinMinervaBeta.php
index ba65489..871d2dc 100644
--- a/includes/skins/SkinMinervaBeta.php
+++ b/includes/skins/SkinMinervaBeta.php
@@ -11,9 +11,33 @@
                }
                # Replace page content before DOMParse to make sure images are 
scrubbed and Zero transformations are applied
                $this->handleNewPages( $out );
+               $this->prepareResponsiveStyles();
                parent::outputPage( $out );
        }
 
+       protected function prepareResponsiveStyles() {
+               global $wgMFDeviceWidthTablet;
+
+               $url = ResourceLoader::makeLoaderURL(
+                       array( 'tablet.styles' ),
+                       $this->getLanguage()->getCode(),
+                       $this->getSkinName(),
+                       null,
+                       null,
+                       ResourceLoader::inDebugMode(),
+                       'styles'
+               );
+               $attrs = array(
+                       'data-href' => $url,
+                       'rel' => 'stylesheet',
+                       'data-media' => '(min-width: ' . $wgMFDeviceWidthTablet 
.'px)'
+               );
+               $out = $this->getOutput();
+               $out->addHeadItem( 'responsiveStyles', Html::element( 'link', 
$attrs ) );
+               $out->addHeadItem( 'responsiveScript', Html::inlineScript(
+                       "mw.matchMedia();"
+               ) );
+       }
        protected function getSearchPlaceHolderText() {
                return wfMessage( 'mobile-frontend-placeholder-beta' )->text();
        }
diff --git a/javascripts/common/application.js 
b/javascripts/common/application.js
index 19519f7..9e58f8b 100644
--- a/javascripts/common/application.js
+++ b/javascripts/common/application.js
@@ -109,7 +109,7 @@
         * @function
         */
        function loadWideScreenModules() {
-               var modules = [ 'tablet.styles' ];
+               var modules = [];
                if ( isWideScreen() && $( 'body' ).hasClass( 'skin-minerva' ) 
&& M.isBetaGroupMember() ) {
                        // Adjust screen for tablets
                        if ( inNamespace( '' ) ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/110649
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I60822b222afad319fd7419f0b04ffe1ba74cc863
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to