* DifferenceEngine::loadRevisionData() wasn't updating $mNewid when loading the newer revision, which doesn't make too much sense if it ends up left as 0 (which is impossible)
Use JS to detect old Gecko versions known to have bogus implementation of overflow: auto for vertical sizing <div>s in table cells and change it to overflow: visible for an ugly but more-or-less-legible fallback behavior.
Use .diff-lineno class instead of hardcoding a <strong> and an alignment. Leaving default alignment does the right thing in both LTR and RTL; forcing left was unnecessary.
Also swapping alignment for the +/- marker column to improve look on RTL.
* move the addition of common/diffs.css from showDiffPage() to showDiff() which catches most 'legit' cases
* hack it in to a couple of uses where getDiff() is used and manually spit out
* hack around the hacked-up custom diff table in Oversight... that should be refactored in the base class
Diff style rules have been broken out to common/diff.css,
and the dupes removed from the default skin files.
Skins can still override the default rules.
Improvements over r22192, now known to work in:
* Firefox 2.0.0.3
* Opera 9.10 and 9.20
* Safari 2.0.4
* Konqueror 3.5.6
* MSIE/Win 7.0 (wide cells may produce vertical scrollbars as well)
* MSIE/Win 6.0 (wide cells are cropped instead of scrolling)
* MSIE/Mac 5.2.3 (wide words break instead of scrolling)
* iCab 3.0.3 (some cells provoke unnecessary horizontal scrollbar)
I've cleaned up the diff table formatting a bit, moving some attributes
from the HTML to the style sheet and consolidating the duplicated styles
into a common/diff.css file which is conditionally loaded for diff views.
Individual skins or site/user CSS can still override that style if they wish.
Opera-based browsers (incomplete, does not fix KHTML or MSIE)
This adds a <div> inside the <td> for diff content cells, and declares
the style for these <div>s to have overflow: auto.
In Gecko (tested Firefox 2.0) and Opera (tested 9.10 and over) this does
two things:
* The table layout treats the cells as the requested width instead of bloating
out to the widest line of content, so the table stays visible on screen
* The individual cells that are too long get horizontal scroll bars
Unfortunately this doesn't have the hoped-for effects in other tested browsers:
* MSIE 7
* Safari 2
* Konqueror 3.5
* iCab 3
But neither has it any ill effects, so... it's a start.
There's probably some other way to force the layout algorithm to behave
that I haven't quite stumbled on yet... Might have better luck with the
fixed table layout option, though that seems less friendly to the little
+ and - columns.
The C++ diff plugins will have to be updated to support this scheme, but
no harm will be done if they're not (just they won't do anything new).
pick up the appropriate tags, and documentation blobs for classes. This is
the same as per r20769, but with the grouping changes (e.g. removing "@{{") omitted.
Please be advised that more related documentation tweaks may follow later - e.g.
Doxygen generates a log file of warnings that is 574 Kb in size, when run over
the just the trunk/phase3 code ... eek! Thankfully, much of that is just
whining about functions without documentation ;-)
Minor doc tweaks to prevent some PHPDocumentor warnings or errors when run on the includes/ directory. PHPDocumentor uses a syntax very similar to javadoc - mostly we already use this, but there were a few scattered places that were adjusted to make them consistent with the rest of the code. In practical terms, these changes were made:
* @url becomes @link
* @fixme becomes @todo
* HTML tags in descriptions must be closed / balanced.
* @bug was removed (where the bug was long fixed), or changed into a @todo (in the few situations where the bug was still pending)
* @obsolete becomes @deprecated
* Things like "/**@{{" and "/**@}}*/" which cause "unknown tag" warnings were removed
* @access must be a valid access level.
* @desc tag not needed, removed.
* Doesn't seem to like @licence, will accept @license however.
* Use full comment block notation in a few places (i.e. open block with "/**", start each line with " *", and end block with " */")
Then additional to this, to get some class docs associated with their respective classes:
* Moved some docs to right above those classes (deleting blank lines, or moving descriptions from the file headers)
* Marked some classes without docs as "@todo document"
* (done up to "class MIMEsearchPage" on the "classtrees_MediaWiki.html" page for the includes/ directory)
* removing unused local vars
* removing used global declarations
* adding FIXMEs against extract() calls and lines that seem to be using uninitialized variables
* adding some array() declarations.