From 106f3578525886faf187c3006d543ef3e622d580 Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Mon, 8 Jul 2013 19:07:14 +0200 Subject: [PATCH] mw.ViewPageTarget.init: Only bind edit section links on view page The handler for the Edit tab already is in this conditional, for edit section we were making the assumption that they only ever appear on a view page, but that's wrong. They're also shown on a diff against the latest revision of the page. Bug: 50925 Change-Id: I802e548cbcdc03cfca66129466668854604bc3e7 --- .../ve-mw/init/targets/ve.init.mw.ViewPageTarget.init.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/ve-mw/init/targets/ve.init.mw.ViewPageTarget.init.js b/modules/ve-mw/init/targets/ve.init.mw.ViewPageTarget.init.js index 575436c770..0b0cd5903c 100644 --- a/modules/ve-mw/init/targets/ve.init.mw.ViewPageTarget.init.js +++ b/modules/ve-mw/init/targets/ve.init.mw.ViewPageTarget.init.js @@ -247,7 +247,14 @@ // Events $heading.on( { 'mouseenter': expandSoon, 'mouseleave': shrinkSoon } ); $links.on( { 'focus': expand, 'blur': shrinkSoon } ); - $editLink.click( init.onEditSectionLinkClick ); + if ( isViewPage ) { + // Only init without refresh if we're on a view page. Though section edit links + // are rarely shown on non-view pages, they appear in one other case, namely + // when on a diff against the latest version of a page. In that case we mustn't + // init without refresh as that'd initialise for the wrong rev id (bug 50925) + // and would preserve the wrong DOM with a diff on top. + $editLink.click( init.onEditSectionLinkClick ); + } // Initialization $editSourceLink