Do not override content format in EditPage when loading rev.
authorBrian Wolff <bawolff+wn@gmail.com>
Sun, 17 Jul 2016 06:25:46 +0000 (02:25 -0400)
committerBrian Wolff <bawolff+wn@gmail.com>
Sun, 17 Jul 2016 09:00:08 +0000 (05:00 -0400)
commitd8417e33795e4fe79690b41ee2d86406a282ef51
tree86221d508811081783a914cc4770edfca1bad3dc
parent86c82492ecf34bf2fbc140a61b148be7f203d772
Do not override content format in EditPage when loading rev.

getCurrentContent() previously would set $this->contentModel and
$this->contentFormat to the values from the current revision. I
do not believe this makes sense given how the method is called.

The method is used to load content to do a diff against in case of
the show diff button or edit conflict (and a couple other places).
In that case, one should clearly use the format the user is currently
editing in. Arguably if the content model is different the most
correct thing would be to convert the content model, except we already
error out in that case before reaching this point, so no point. The
only place where it could possibly make sense to override these variables
is in the getContentObject() method, however the majority of code paths
in that method do not alter $this->contentModel/format. Thus its more
consistent to not alter the contentModel/format state.

The previous code caused very confusing behaviour, where if you have a
content model that supports multiple formats, and the user selects a
non-default one (via &format=foo url parameter), everything would work
fine until hitting show diff.

Bug: T139249
Change-Id: I0b89e3d07290121b02eb6fc8483f68c2b44c878b
includes/EditPage.php