Merge "Match salt of WatchAction::show() and getWatchToken()"
[lhc/web/wiklou.git] / includes / context / DerivativeContext.php
index b8966f0..09c3939 100644 (file)
@@ -1,7 +1,5 @@
 <?php
 /**
- * Request-dependant objects containers.
- *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
@@ -17,8 +15,6 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  * http://www.gnu.org/copyleft/gpl.html
  *
- * @since 1.19
- *
  * @author Daniel Friesen
  * @file
  */
@@ -28,8 +24,9 @@
  * but allow individual pieces of context to be changed locally
  * eg: A ContextSource that can inherit from the main RequestContext but have
  *     a different Title instance set on it.
+ * @since 1.19
  */
-class DerivativeContext extends ContextSource {
+class DerivativeContext extends ContextSource implements MutableContext {
        /**
         * @var WebRequest
         */
@@ -70,6 +67,11 @@ class DerivativeContext extends ContextSource {
         */
        private $config;
 
+       /**
+        * @var Stats
+        */
+       private $stats;
+
        /**
         * Constructor
         * @param IContextSource $context Context to inherit from
@@ -100,6 +102,19 @@ class DerivativeContext extends ContextSource {
                }
        }
 
+       /**
+        * Get the stats object
+        *
+        * @return BufferingStatsdDataFactory
+        */
+       public function getStats() {
+               if ( !is_null( $this->stats ) ) {
+                       return $this->stats;
+               } else {
+                       return $this->getContext()->getStats();
+               }
+       }
+
        /**
         * Set the WebRequest object
         *