Merge "Convert Special:DeletedContributions to use OOUI."
[lhc/web/wiklou.git] / includes / exception / BadTitleError.php
index 039b9c6..40c18a4 100644 (file)
 
 /**
  * Show an error page on a badtitle.
- * Similar to ErrorPage, but emit a 400 HTTP error code to let mobile
- * browser it is not really a valid content.
+ *
+ * Uses BadRequestError to emit a 400 HTTP error code to ensure caching proxies and
+ * mobile browsers know not to cache it as valid content. (T35646)
  *
  * @since 1.19
  * @ingroup Exception
  */
-class BadTitleError extends ErrorPageError {
+class BadTitleError extends BadRequestError {
        /**
         * @param string|Message|MalformedTitleException $msg A message key (default: 'badtitletext'), or
         *     a MalformedTitleException to figure out things from
         * @param array $params Parameter to wfMessage()
         */
-       public function __construct( $msg = 'badtitletext', $params = array() ) {
+       public function __construct( $msg = 'badtitletext', $params = [] ) {
                if ( $msg instanceof MalformedTitleException ) {
                        $errorMessage = $msg->getErrorMessage();
                        if ( !$errorMessage ) {
-                               parent::__construct( 'badtitle', 'badtitletext', array() );
+                               parent::__construct( 'badtitle', 'badtitletext', [] );
                        } else {
                                $errorMessageParams = $msg->getErrorMessageParameters();
                                parent::__construct( 'badtitle', $errorMessage, $errorMessageParams );
@@ -45,17 +46,4 @@ class BadTitleError extends ErrorPageError {
                        parent::__construct( 'badtitle', $msg, $params );
                }
        }
-
-       /**
-        * Just like ErrorPageError::report() but additionally set
-        * a 400 HTTP status code (bug 33646).
-        */
-       public function report() {
-               global $wgOut;
-
-               // bug 33646: a badtitle error page need to return an error code
-               // to let mobile browser now that it is not a normal page.
-               $wgOut->setStatusCode( 400 );
-               parent::report();
-       }
 }