mediawiki.toolbar: Emit deprecation warnings

Callers to the EditPageBeforeEditToolbar hook can now return false to
signal that the toolbar is over-written, in which case this old code
won't be called (so no deprecation warnings for users of WikiEditor,
CodeEditor, etc.).

Bug: T30856
Depends-On: I5e755ef5dffb843368563511044d3123f14dc4bc
Change-Id: I3bed70a20e4b94fe3d04a00925b8012312202574
This commit is contained in:
James D. Forrester 2017-03-20 15:56:27 -07:00
parent c8e7720261
commit 14cffee7c1
4 changed files with 15 additions and 5 deletions

View file

@ -330,6 +330,11 @@ changes to languages because of Phabricator reports.
tooltipAccessKeyRegexp, updateTooltipAccessKeys.
* The ID of the <li> element containing the login link has changed from
'pt-login' to 'pt-login-private' in private wikis.
* The old, neglected "bulletin board style toolbar" in the edit form is now
deprecated (T30856). This old code dates from 2006, and was replaced in the
MediaWiki release tarball and in Wikimedia production by the WikiEditor
extension in 2010. It is only shown to users if no other editor was
installed, and leads to confusion.
== Compatibility ==

View file

@ -1417,7 +1417,8 @@ Allows modifying the edit checks below the textarea in the edit form.
'EditPageBeforeEditToolbar': Allows modifying the edit toolbar above the
textarea in the edit form.
&$toolbar: The toolbar HTMl
&$toolbar: The toolbar HTML
Hook subscribers can return false to avoid the default toolbar code being loaded.
'EditPageCopyrightWarning': Allow for site and per-namespace customization of
contribution/copyright notice.

View file

@ -4097,11 +4097,14 @@ HTML
}
$script .= '});';
$wgOut->addScript( ResourceLoader::makeInlineScript( $script ) );
$toolbar = '<div id="toolbar"></div>';
Hooks::run( 'EditPageBeforeEditToolbar', [ &$toolbar ] );
if ( Hooks::run( 'EditPageBeforeEditToolbar', [ &$toolbar ] ) ) {
// Only add the old toolbar cruft to the page payload if the toolbar has not
// been over-written by a hook caller
$wgOut->addScript( ResourceLoader::makeInlineScript( $script ) );
};
return $toolbar;
}

View file

@ -164,10 +164,11 @@
mw.log.deprecate( window, 'insertTags', toolbar.insertTags, 'Use mw.toolbar.insertTags instead.' );
// For backwards compatibility. Used to be called from EditPage.php, maybe other places as well.
mw.log.deprecate( toolbar, 'init', $.noop );
toolbar.init = $.noop;
// Expose API publicly
mw.toolbar = toolbar;
// @deprecated since MW 1.30
mw.log.deprecate( mw, 'toolbar', toolbar );
$( function () {
var i, button;