Legoktm has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/284391

Change subject: Specially handle Title objects in Title::newFromLinkTarget()
......................................................................

Specially handle Title objects in Title::newFromLinkTarget()

Every single caller of Title::newFromLinkTarget() already special cases
when the LinkTarget object is already a Title, so move that logic into
one function.

Change-Id: Iba5432ae01c87850e5b34893092427c5b1629188
---
M includes/Title.php
M includes/WatchedItem.php
M includes/WatchedItemStore.php
M includes/title/MediaWikiPageLinkRenderer.php
4 files changed, 9 insertions(+), 16 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/91/284391/1

diff --git a/includes/Title.php b/includes/Title.php
index 95588a2..3fd4631 100644
--- a/includes/Title.php
+++ b/includes/Title.php
@@ -248,6 +248,10 @@
         * @return Title
         */
        public static function newFromLinkTarget( LinkTarget $linkTarget ) {
+               if ( $linkTarget instanceof Title ) {
+                       // Special case if it's already a Title object
+                       return $linkTarget;
+               }
                return self::makeTitle(
                        $linkTarget->getNamespace(),
                        $linkTarget->getText(),
diff --git a/includes/WatchedItem.php b/includes/WatchedItem.php
index 0495536..4dbe0f6 100644
--- a/includes/WatchedItem.php
+++ b/includes/WatchedItem.php
@@ -140,11 +140,7 @@
         */
        public function getTitle() {
                if ( !$this->title ) {
-                       if ( $this->linkTarget instanceof Title ) {
-                               $this->title = $this->linkTarget;
-                       } else {
-                               $this->title = Title::newFromLinkTarget( 
$this->linkTarget );
-                       }
+                       $this->title = Title::newFromLinkTarget( 
$this->linkTarget );
                }
                return $this->title;
        }
diff --git a/includes/WatchedItemStore.php b/includes/WatchedItemStore.php
index 8ae7932..5e99f8e 100644
--- a/includes/WatchedItemStore.php
+++ b/includes/WatchedItemStore.php
@@ -905,12 +905,8 @@
         * @param LinkTarget $newTarget
         */
        public function duplicateAllAssociatedEntries( LinkTarget $oldTarget, 
LinkTarget $newTarget ) {
-               if ( !$oldTarget instanceof Title ) {
-                       $oldTarget = Title::newFromLinkTarget( $oldTarget );
-               }
-               if ( !$newTarget instanceof Title ) {
-                       $newTarget = Title::newFromLinkTarget( $newTarget );
-               }
+               $oldTarget = Title::newFromLinkTarget( $oldTarget );
+               $newTarget = Title::newFromLinkTarget( $newTarget );
 
                $this->duplicateEntry( $oldTarget->getSubjectPage(), 
$newTarget->getSubjectPage() );
                $this->duplicateEntry( $oldTarget->getTalkPage(), 
$newTarget->getTalkPage() );
diff --git a/includes/title/MediaWikiPageLinkRenderer.php 
b/includes/title/MediaWikiPageLinkRenderer.php
index 302c9e8..b458578 100644
--- a/includes/title/MediaWikiPageLinkRenderer.php
+++ b/includes/title/MediaWikiPageLinkRenderer.php
@@ -106,11 +106,8 @@
                // TODO: move the logic implemented by Linker here,
                // using $this->formatter and $this->baseUrl, and
                // re-implement Linker to use a HtmlPageLinkRenderer.
-               if ( $linkTarget instanceof Title ) {
-                       $title = $linkTarget;
-               } else {
-                       $title = Title::newFromLinkTarget( $linkTarget );
-               }
+
+               $title = Title::newFromLinkTarget( $linkTarget );
                $link = Linker::link( $title, htmlspecialchars( $text ) );
 
                return $link;

-- 
To view, visit https://gerrit.wikimedia.org/r/284391
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iba5432ae01c87850e5b34893092427c5b1629188
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Legoktm <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to