Only run some MWDebug code when really needed:
authorAlexandre Emsenhuber <ialex@users.mediawiki.org>
Mon, 16 Jan 2012 21:29:05 +0000 (21:29 +0000)
committerAlexandre Emsenhuber <ialex@users.mediawiki.org>
Mon, 16 Jan 2012 21:29:05 +0000 (21:29 +0000)
* Add the mediawiki.debug module from OutputPage::addDefaultModules() along with other modules
* Get the request information when building the JS output instead of in Setup.php

includes/OutputPage.php
includes/Setup.php
includes/debug/Debug.php

index b9d46b4..9c46ff8 100644 (file)
@@ -2440,7 +2440,7 @@ $templates
         * Add the default ResourceLoader modules to this object
         */
        private function addDefaultModules() {
-               global $wgIncludeLegacyJavaScript, $wgUseAjax, $wgAjaxWatch, $wgEnableMWSuggest;
+               global $wgIncludeLegacyJavaScript, $wgDebugToolbar, $wgUseAjax, $wgAjaxWatch, $wgEnableMWSuggest;
 
                // Add base resources
                $this->addModules( array(
@@ -2453,6 +2453,10 @@ $templates
                        $this->addModules( 'mediawiki.legacy.wikibits' );
                }
 
+               if ( $wgDebugToolbar ) {
+                       $this->addModules( 'mediawiki.debug' );
+               }
+
                // Add various resources if required
                if ( $wgUseAjax ) {
                        $this->addModules( 'mediawiki.legacy.ajax' );
index 1cf803c..00df897 100644 (file)
@@ -427,7 +427,6 @@ if ( $wgCommandLineMode ) {
                }
        }
        wfDebug( "$debug\n" );
-       MWDebug::processRequest( $wgRequest );
 }
 
 wfProfileOut( $fname . '-misc1' );
index b5ee0d2..8b50838 100644 (file)
@@ -31,13 +31,6 @@ class MWDebug {
         */
        protected static $query = array();
 
-       /**
-        * Request information
-        *
-        * @var array
-        */
-       protected static $request = array();
-
        /**
         * Is the debugger enabled?
         *
@@ -59,7 +52,6 @@ class MWDebug {
         */
        public static function init() {
                self::$enabled = true;
-               RequestContext::getMain()->getOutput()->addModules( 'mediawiki.debug' );
        }
 
        /**
@@ -216,24 +208,6 @@ class MWDebug {
                unset( self::$query[$id]['_start'] );
        }
 
-       /**
-        * Processes a WebRequest object
-        *
-        * @param $request WebRequest
-        */
-       public static function processRequest( WebRequest $request ) {
-               if ( !self::$enabled ) {
-                       return;
-               }
-
-               self::$request = array(
-                       'method' => $_SERVER['REQUEST_METHOD'],
-                       'url' => $request->getRequestURL(),
-                       'headers' => $request->getAllHeaders(),
-                       'params' => $request->getValues(),
-               );
-       }
-
        /**
         * Returns a list of files included, along with their size
         *
@@ -267,6 +241,7 @@ class MWDebug {
 
                global $wgVersion, $wgRequestTime;
                MWDebug::log( 'MWDebug output complete' );
+               $request = $context->getRequest();
                $debugInfo = array(
                        'mwVersion' => $wgVersion,
                        'phpVersion' => PHP_VERSION,
@@ -274,7 +249,12 @@ class MWDebug {
                        'log' => self::$log,
                        'debugLog' => self::$debug,
                        'queries' => self::$query,
-                       'request' => self::$request,
+                       'request' => array(
+                               'method' => $_SERVER['REQUEST_METHOD'],
+                               'url' => $request->getRequestURL(),
+                               'headers' => $request->getAllHeaders(),
+                               'params' => $request->getValues(),
+                       ),
                        'memory' => $context->getLanguage()->formatSize( memory_get_usage() ),
                        'memoryPeak' => $context->getLanguage()->formatSize( memory_get_peak_usage() ),
                        'includes' => self::getFilesIncluded( $context ),