Merge "selenium: Add jpeg-js to devDependencies"
[lhc/web/wiklou.git] / includes / OutputPage.php
index 1da8ac8..c45fce7 100644 (file)
@@ -548,15 +548,6 @@ class OutputPage extends ContextSource {
                $this->mModules = array_merge( $this->mModules, (array)$modules );
        }
 
-       /**
-        * @deprecated since 1.33 Use getModules() instead.
-        * @return array
-        */
-       public function getModuleScripts() {
-               wfDeprecated( __METHOD__, '1.33' );
-               return [];
-       }
-
        /**
         * Get the list of style-only modules to load on this page.
         *
@@ -2198,8 +2189,6 @@ class OutputPage extends ContextSource {
         * @return ParserOutput
         */
        private function parseInternal( $text, $title, $linestart, $tidy, $interface, $language ) {
-               global $wgParser;
-
                if ( is_null( $title ) ) {
                        throw new MWException( 'Empty $mTitle in ' . __METHOD__ );
                }
@@ -2212,7 +2201,7 @@ class OutputPage extends ContextSource {
                        $oldLang = $popts->setTargetLanguage( $language );
                }
 
-               $parserOutput = $wgParser->getFreshParser()->parse(
+               $parserOutput = MediaWikiServices::getInstance()->getParser()->getFreshParser()->parse(
                        $text, $title, $popts,
                        $linestart, true, $this->mRevisionId
                );
@@ -2527,6 +2516,37 @@ class OutputPage extends ContextSource {
                return $config->get( 'OriginTrials' );
        }
 
+       private function getReportTo() {
+               $config = $this->getConfig();
+
+               $expiry = $config->get( 'ReportToExpiry' );
+
+               if ( !$expiry ) {
+                       return false;
+               }
+
+               $endpoints = $config->get( 'ReportToEndpoints' );
+
+               if ( !$endpoints ) {
+                       return false;
+               }
+
+               $output = [ 'max_age' => $expiry, 'endpoints' => [] ];
+
+               foreach ( $endpoints as $endpoint ) {
+                       $output['endpoints'][] = [ 'url' => $endpoint ];
+               }
+
+               return json_encode( $output, JSON_UNESCAPED_SLASHES );
+       }
+
+       private function getFeaturePolicyReportOnly() {
+               $config = $this->getConfig();
+
+               $features = $config->get( 'FeaturePolicyReportOnly' );
+               return implode( ';', $features );
+       }
+
        /**
         * Send cache control HTTP headers
         */
@@ -2694,6 +2714,16 @@ class OutputPage extends ContextSource {
                        $response->header( "Origin-Trial: $originTrial", false );
                }
 
+               $reportTo = $this->getReportTo();
+               if ( $reportTo ) {
+                       $response->header( "Report-To: $reportTo" );
+               }
+
+               $featurePolicyReportOnly = $this->getFeaturePolicyReportOnly();
+               if ( $featurePolicyReportOnly ) {
+                       $response->header( "Feature-Policy-Report-Only: $featurePolicyReportOnly" );
+               }
+
                ContentSecurityPolicy::sendHeaders( $this );
 
                if ( $this->mArticleBodyOnly ) {
@@ -2959,46 +2989,6 @@ class OutputPage extends ContextSource {
                $this->addHTML( $message );
        }
 
-       /**
-        * @deprecated 1.32 Use OutputPage::showFatalError or throw FatalError instead.
-        */
-       public function showUnexpectedValueError( $name, $val ) {
-               wfDeprecated( __METHOD__, '1.32' );
-               $this->showFatalError( $this->msg( 'unexpected', $name, $val )->escaped() );
-       }
-
-       /**
-        * @deprecated 1.32 Use OutputPage::showFatalError or throw FatalError instead.
-        */
-       public function showFileCopyError( $old, $new ) {
-               wfDeprecated( __METHOD__, '1.32' );
-               $this->showFatalError( $this->msg( 'filecopyerror', $old, $new )->escaped() );
-       }
-
-       /**
-        * @deprecated 1.32 Use OutputPage::showFatalError or throw FatalError instead.
-        */
-       public function showFileRenameError( $old, $new ) {
-               wfDeprecated( __METHOD__, '1.32' );
-               $this->showFatalError( $this->msg( 'filerenameerror', $old, $new )->escaped() );
-       }
-
-       /**
-        * @deprecated 1.32 Use OutputPage::showFatalError or throw FatalError instead.
-        */
-       public function showFileDeleteError( $name ) {
-               wfDeprecated( __METHOD__, '1.32' );
-               $this->showFatalError( $this->msg( 'filedeleteerror', $name )->escaped() );
-       }
-
-       /**
-        * @deprecated 1.32 Use OutputPage::showFatalError or throw FatalError instead.
-        */
-       public function showFileNotFoundError( $name ) {
-               wfDeprecated( __METHOD__, '1.32' );
-               $this->showFatalError( $this->msg( 'filenotfound', $name )->escaped() );
-       }
-
        /**
         * Add a "return to" link pointing to a specified title
         *
@@ -3391,8 +3381,9 @@ class OutputPage extends ContextSource {
 
                $title = $this->getTitle();
                $ns = $title->getNamespace();
-               $canonicalNamespace = MWNamespace::exists( $ns )
-                       ? MWNamespace::getCanonicalName( $ns )
+               $nsInfo = MediaWikiServices::getInstance()->getNamespaceInfo();
+               $canonicalNamespace = $nsInfo->exists( $ns )
+                       ? $nsInfo->getCanonicalName( $ns )
                        : $title->getNsText();
 
                $sk = $this->getSkin();
@@ -4191,16 +4182,6 @@ class OutputPage extends ContextSource {
                wfDeprecated( __METHOD__, '1.31' );
        }
 
-       /**
-        * @return bool
-        * @since 1.23
-        * @deprecated since 1.31, use $poOptions to addParserOutput() instead.
-        */
-       public function sectionEditLinksEnabled() {
-               wfDeprecated( __METHOD__, '1.31' );
-               return true;
-       }
-
        /**
         * Helper function to setup the PHP implementation of OOUI to use in this request.
         *