Linker: Avoid Title in normaliseSpecialPage()
authorKunal Mehta <legoktm@member.fsf.org>
Thu, 25 Aug 2016 06:49:00 +0000 (23:49 -0700)
committerKunal Mehta <legoktm@member.fsf.org>
Thu, 25 Aug 2016 06:50:45 +0000 (23:50 -0700)
Now that SpecialPage::getTitleValueFor() exists, use it so that we can
avoid returning a Title object uncessarily.

Change-Id: I5bf605baf2ecad62e189421a2e5c556cc0b6f6ac

includes/Linker.php

index 5e540b9..d5507b7 100644 (file)
@@ -316,7 +316,7 @@ class Linker {
        /**
         * @since 1.16.3
         * @param LinkTarget $target
-        * @return LinkTarget|Title You will get back the same type you passed in, or a Title object
+        * @return LinkTarget
         */
        public static function normaliseSpecialPage( LinkTarget $target ) {
                if ( $target->getNamespace() == NS_SPECIAL ) {
@@ -324,7 +324,7 @@ class Linker {
                        if ( !$name ) {
                                return $target;
                        }
-                       $ret = SpecialPage::getTitleFor( $name, $subpage, $target->getFragment() );
+                       $ret = SpecialPage::getTitleValueFor( $name, $subpage, $target->getFragment() );
                        return $ret;
                } else {
                        return $target;
@@ -571,7 +571,9 @@ class Linker {
                                }
                        }
                } elseif ( isset( $frameParams['link-title'] ) && $frameParams['link-title'] !== '' ) {
-                       $mtoParams['custom-title-link'] = self::normaliseSpecialPage( $frameParams['link-title'] );
+                       $mtoParams['custom-title-link'] = Title::newFromLinkTarget(
+                               self::normaliseSpecialPage( $frameParams['link-title'] )
+                       );
                } elseif ( !empty( $frameParams['no-link'] ) ) {
                        // No link
                } else {