TheDJ has uploaded a new change for review.

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

Change subject: [WIP] Improve live loading
......................................................................

[WIP] Improve live loading

Needs more work on the loader scripts.

Bug: 72675
Change-Id: I2768861e387013dd4411e7d1093f0fff9c9b7b6b
---
M MwEmbedModules/EmbedPlayer/EmbedPlayer.loader.js
M TimedMediaHandler.hooks.php
M TimedMediaHandler_body.php
3 files changed, 21 insertions(+), 27 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/TimedMediaHandler 
refs/changes/21/172421/1

diff --git a/MwEmbedModules/EmbedPlayer/EmbedPlayer.loader.js 
b/MwEmbedModules/EmbedPlayer/EmbedPlayer.loader.js
index c9fd516..71f4475 100644
--- a/MwEmbedModules/EmbedPlayer/EmbedPlayer.loader.js
+++ b/MwEmbedModules/EmbedPlayer/EmbedPlayer.loader.js
@@ -5,7 +5,7 @@
        /**
        * Add a DOM ready check for player tags
        */
-       $( function() {
+       var embedPlayerInit = function( $content ) {
                var $selected = $( mw.config.get( 'EmbedPlayer.RewriteSelector' 
) );
                if ( $selected.length ) {
                        var inx = 0;
@@ -23,7 +23,8 @@
 
                        checkSetDone();
                }
-       } );
+       }
+       mw.hook( 'wikipage.content' ).add( embedPlayerInit );
 
        /**
        * Add the mwEmbed jQuery loader wrapper
@@ -66,4 +67,4 @@
                        } );
                } );
        };
-} )( window.mediaWiki, window.jQuery );
\ No newline at end of file
+} )( window.mediaWiki, window.jQuery );
diff --git a/TimedMediaHandler.hooks.php b/TimedMediaHandler.hooks.php
index 7ab2230..f796158 100644
--- a/TimedMediaHandler.hooks.php
+++ b/TimedMediaHandler.hooks.php
@@ -101,9 +101,6 @@
                // When image page is deleted so that we remove transcode 
settings / files.
                $wgHooks['FileDeleteComplete'][] = 
'TimedMediaHandlerHooks::onFileDeleteComplete';
 
-               // Add parser hook
-               $wgParserOutputHooks['TimedMediaHandler'] = array( 
'TimedMediaHandler', 'outputHook' );
-
                // Use a BeforePageDisplay hook to load the styles in pages 
that pull in media dynamically.
                // (Special:Upload, for example, when there is an "existing 
file" warning.)
                $wgHooks['BeforePageDisplay'][] = 
'TimedMediaHandlerHooks::pageOutputHook';
@@ -161,7 +158,11 @@
        public static function onImageOpenShowImageInlineBefore( $imagePage, 
$out ) {
                $handler = $imagePage->getDisplayedFile()->getHandler();
                if ( $handler !== false && $handler instanceof 
TimedMediaHandler ) {
-                       TimedMediaHandler::outputHook( $out, null, null );
+                       $out->addModules( array(
+                               'mw.EmbedPlayer',
+                               'mw.PopUpMediaTransform',
+                               'mw.TMHGalleryHook.js',
+                       ) );
                }
                return true;
        }
diff --git a/TimedMediaHandler_body.php b/TimedMediaHandler_body.php
index 9bd172a..9bf9ef0 100644
--- a/TimedMediaHandler_body.php
+++ b/TimedMediaHandler_body.php
@@ -188,6 +188,13 @@
        }
 
        /**
+        * Parser output hook only adds the PopUpMediaTransform
+        *
+        * The core embedPlayer module is part of a "loaderScript" so it does 
not need to
+        * be registered here.
+        *
+        * TODO move core loader to on-page script as to not include it on all 
pages.
+        *
         * @param $parser Parser
         * @param $file File
         */
@@ -197,26 +204,11 @@
                        return ;
                }
                $parserOutput->hasTimedMediaTransform = true;
-               $parserOutput->addOutputHook( 'TimedMediaHandler' );
-       }
-
-       /**
-        * Parser output hook only adds the PopUpMediaTransform
-        *
-        * The core embedPlayer module is part of a "loaderScript" so it does 
not need to
-        * be registered here.
-        *
-        * TODO move core loader to on-page script as to not include it on all 
pages.
-        *
-        * @param $outputPage OutputPage
-        * @param $parserOutput
-        * @param $data
-        */
-       static function outputHook( $outputPage, $parserOutput, $data ) {
-               // Add the PopUpMediaTransform code
-               $outputPage->addModuleScripts( 'mw.PopUpMediaTransform' );
-               $outputPage->addModuleStyles( 'mw.PopUpMediaTransform' );
-               $outputPage->addModules( 'mw.TMHGalleryHook.js' );
+               $parserOutput->addModules( array(
+                       'mw.EmbedPlayer',
+                       'mw.PopUpMediaTransform',
+                       'mw.TMHGalleryHook.js',
+               ) );
        }
 
        /**

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2768861e387013dd4411e7d1093f0fff9c9b7b6b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/TimedMediaHandler
Gerrit-Branch: master
Gerrit-Owner: TheDJ <hartman.w...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to