/**
  * DiffViewHeader hook handler
  * @see https://www.mediawiki.org/wiki/Manual:Hooks/DiffViewHeader
  *
  * Redirect Diff page to mobile version if appropriate
  *
  * @param DifferenceEngine $diff DifferenceEngine object that's calling
  * @param Revision $oldRev Revision object of the "old" revision (may be null/invalid)
  * @param Revision $newRev Revision object of the "new" revision
  * @return bool
  */
 public static function onDiffViewHeader($diff, $oldRev, $newRev)
 {
     $context = MobileContext::singleton();
     // Only do redirects to MobileDiff if user is in mobile view and it's not a special page
     if ($context->shouldDisplayMobileView() && !$diff->getContext()->getTitle()->isSpecialPage()) {
         $output = $context->getOutput();
         $newRevId = $newRev->getId();
         // The MobileDiff page currently only supports showing a single revision, so
         // only redirect to MobileDiff if we are sure this isn't a multi-revision diff.
         if ($oldRev) {
             // Get the revision immediately before the new revision
             $prevRev = $newRev->getPrevious();
             if ($prevRev) {
                 $prevRevId = $prevRev->getId();
                 $oldRevId = $oldRev->getId();
                 if ($prevRevId === $oldRevId) {
                     $output->redirect(SpecialPage::getTitleFor('MobileDiff', $newRevId)->getFullURL());
                 }
             }
         } else {
             $output->redirect(SpecialPage::getTitleFor('MobileDiff', $newRevId)->getFullURL());
         }
     }
     return true;
 }