From 063cce733ee8d743bcece547d44045fde4105ddc Mon Sep 17 00:00:00 2001 From: jdlrobson Date: Wed, 13 Feb 2019 14:18:31 -0800 Subject: [PATCH] History page is now using pseudo elements for presentation |, ( and ) separators are now added via CSS rather than being made part of the HTML. Bug: T205581 Change-Id: I272770418ee544b22f8f94312daf07010b7a2273 --- includes/Linker.php | 9 +++++---- includes/actions/pagers/HistoryPager.php | 23 ++++++++++++++--------- tests/selenium/specs/page.js | 2 +- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/includes/Linker.php b/includes/Linker.php index decc13cb41..ec3b245606 100644 --- a/includes/Linker.php +++ b/includes/Linker.php @@ -1077,16 +1077,18 @@ class Linker { * @since 1.16.3 * @param Revision $rev * @param bool $isPublic Show only if all users can see it + * @param bool $useParentheses (optional) Wrap comments in parentheses where needed * @return string HTML */ - public static function revUserTools( $rev, $isPublic = false ) { + public static function revUserTools( $rev, $isPublic = false, $useParentheses = true ) { if ( $rev->isDeleted( Revision::DELETED_USER ) && $isPublic ) { $link = wfMessage( 'rev-deleted-user' )->escaped(); } elseif ( $rev->userCan( Revision::DELETED_USER ) ) { $userId = $rev->getUser( Revision::FOR_THIS_USER ); $userText = $rev->getUserText( Revision::FOR_THIS_USER ); $link = self::userLink( $userId, $userText ) - . self::userToolLinks( $userId, $userText ); + . self::userToolLinks( $userId, $userText, false, 0, null, + $useParentheses ); } else { $link = wfMessage( 'rev-deleted-user' )->escaped(); } @@ -1532,9 +1534,8 @@ class Linker { $stxt = wfMessage( 'historyempty' )->escaped(); } else { $stxt = wfMessage( 'nbytes' )->numParams( $size )->escaped(); - $stxt = wfMessage( 'parentheses' )->rawParams( $stxt )->escaped(); } - return "$stxt"; + return "$stxt"; } /** diff --git a/includes/actions/pagers/HistoryPager.php b/includes/actions/pagers/HistoryPager.php index d3a32d0e27..9e4080d2de 100644 --- a/includes/actions/pagers/HistoryPager.php +++ b/includes/actions/pagers/HistoryPager.php @@ -310,11 +310,12 @@ class HistoryPager extends ReverseChronologicalPager { $curlink = $this->curLink( $rev, $latest ); $lastlink = $this->lastLink( $rev, $next ); - $curLastlinks = $curlink . $this->historyPage->message['pipe-separator'] . $lastlink; + $curLastlinks = Html::rawElement( 'span', [], $curlink ) . + Html::rawElement( 'span', [], $lastlink ); $histLinks = Html::rawElement( 'span', - [ 'class' => 'mw-history-histlinks' ], - $this->msg( 'parentheses' )->rawParams( $curLastlinks )->escaped() + [ 'class' => 'mw-history-histlinks mw-changeslist-links' ], + $curLastlinks ); $diffButtons = $this->diffButtons( $rev, $firstInList ); @@ -362,7 +363,7 @@ class HistoryPager extends ReverseChronologicalPager { $s .= " $link"; $s .= $dirmark; $s .= " " . - Linker::revUserTools( $rev, true ) . ""; + Linker::revUserTools( $rev, true, false ) . ""; $s .= $dirmark; if ( $rev->isMinor() ) { @@ -374,12 +375,12 @@ class HistoryPager extends ReverseChronologicalPager { # Size is always public data $prevSize = $this->parentLens[$row->rev_parent_id] ?? 0; $sDiff = ChangesList::showCharacterDifference( $prevSize, $rev->getSize() ); - $fSize = Linker::formatRevisionSize( $rev->getSize() ); - $s .= ' . . ' . "$fSize $sDiff"; + $fSize = Linker::formatRevisionSize( $rev->getSize(), false ); + $s .= ' ' . "$fSize $sDiff"; } # Text following the character difference is added just before running hooks - $s2 = Linker::revComment( $rev, false, true ); + $s2 = Linker::revComment( $rev, false, true, false ); if ( $notificationtimestamp && ( $row->rev_timestamp >= $notificationtimestamp ) ) { $s2 .= ' ' . $this->msg( 'updatedmarker' )->escaped() . ''; @@ -427,7 +428,11 @@ class HistoryPager extends ReverseChronologicalPager { Hooks::run( 'HistoryRevisionTools', [ $rev, &$tools, $prevRev, $user ] ); if ( $tools ) { - $s2 .= ' ' . $this->msg( 'parentheses' )->rawParams( $lang->pipeList( $tools ) )->escaped(); + $s2 .= ' ' . Html::openElement( 'span', [ 'class' => 'mw-changeslist-links' ] ); + foreach ( $tools as $tool ) { + $s2 .= Html::rawElement( 'span', [], $tool ); + } + $s2 .= Html::closeElement( 'span' ); } # Tags @@ -443,7 +448,7 @@ class HistoryPager extends ReverseChronologicalPager { # Include separator between character difference and following text if ( $s2 !== '' ) { - $s .= ' . . ' . $s2; + $s .= ' ' . $s2; } $attribs = [ 'data-mw-revid' => $rev->getId() ]; diff --git a/tests/selenium/specs/page.js b/tests/selenium/specs/page.js index d35843b884..80e12cd56f 100644 --- a/tests/selenium/specs/page.js +++ b/tests/selenium/specs/page.js @@ -91,7 +91,7 @@ describe( 'Page', function () { // check HistoryPage.open( name ); - assert.strictEqual( HistoryPage.comment.getText(), `(Created or updated page with "${content}")` ); + assert.strictEqual( HistoryPage.comment.getText(), `Created or updated page with "${content}"` ); } ); it( 'should be deletable', function () { -- 2.20.1