Make userWasLastToEdit reusable.

Make userWasLastToEdit a static method in the Revision class, so it can be
reused by extensions, etc.

Change-Id: Ib44423c3544dabab3be7fe6eb675315f2480838e
Limit the Title backlink cache to two instances.

Change-Id: I1e17a3de20d7c84a9818a850d4b7cc2898f72dc2
Various javascript optimizations (fixes bug 39959)

* (bug 39959) Right click to edit section causing browser hangs

  The :has() selector has gotten significantly slower in
  jQuery 1.8.1 however the reason it affected us so much is
  partly because of the very inefficient way we used it.

  Namely duplicated 6 times and evaluated from a live() binding
  In order words, on every instance of the event.

  Optimizing by
  - only select headings, do the :has implicitly by checking
    for the result of .find().
  - document.on(.., selector) instead of .live()
  - remove redundant and overkill 'return false'

  Results in Firefox 15/Chrome 21:
  - up to 130x (one hundred and thirty) faster!

* /resources/* (except for third party libs)
  - Use .on() instead of bind, delegate or live
  - Use .off() instead of unbind, undelegate or die
  - Use document.getElementById instead of $('#' + variable)
    not for performance but for predictability/security.
    (e.g. rel="foo.bar" should select id="foo.bar" not
    id="foo" class="bar")

  - Fix some minor whitespace and code conventions.

Change-Id: I2fefb5376d0de40f4997a3a1763eee23fcd3e7fa
(bug 33445) Remove default right margin on wikitables.

This makes sure that wikitables can be full width.

When right or left floating a table, use class="wikitable floatleft"
or class="wikitable floatright" to explicitly add a proper margin.

Change-Id: I107d8d8da0a07055c320767cadb7a691f344a394
(bug 40072) Add semantic CSS classes to identify changes list items

In the special pages containing changes list, adding the following
CSS classes to revision rows:
    - mw-changeslist-date
    - mw-changeslist-title
    - mw-changeslist-separator (matching the dots, ". .")

This enhancement has been implemented to the following special pages:
    - [[Special:Contributions]]
    - [[Special:DeletedContributions]]
    - [[Special:RecentChanges]]
    - [[Special:Watchlist]]

It's also implemented on pages history.

Change-Id: I2385ef21d9aed4bdbe4971bfcfa28efaf058e7dd
Fix fatal error in rcprop=loginfo

There was a recentchanges row on enwiki whose rc_params looked like
array('4::tags'=>array('db-g11')), and the tag name wasn't set
recursively so the inner array didn't get a tag name.

This still generates invalid XML of course, because <4::tags> isn't a
valid tag, but at least it doesn't fatal any more. RAWR XML GRUMBLE

Change-Id: Ibb775df4bd010bdce5632914f789230d8626c9e7
enhance jquery.spinner, keeping backwards compatibility

Replaced single `id` argument to $.createSpinner with an options object.
The options allow one to set the id (as before), spinner size (small or
large), and its display mode (inline or block). Analogic change was made
to $.fn.injectSpinner.

Default options are kept the same as they used to be, and old-style calls
still work. However, the definition of .mw-spinner CSS class has been
changed (although, with a bit of hairy code, it could be kept
compatible...).

These changes should be enough to allow us to replace old usages of
.mw-small-spinner and .mw-ajax-loader classes, as defined in shared.css.

This is a reimplementation of the idea described in Ie55ffb6b.

Copied spinner.gif and ajax-loader.gif from /skins/common/images/.

Change-Id: I0ff71ba1eef299e0e699df84c68f1be1c20492f7
Merge "enhance jquery.spinner, keeping backwards compatibility"
Merge "Limit the Title backlink cache to two instances."
Added some doc comments for BacklinkCache.

Change-Id: I71201582726c986384fe9fba60a5bdc7fa465be8
fix docu for ApiCheckCanExecute

Change-Id: Ib9af835f3e775dd89a655b186923535d9bd01678
Merge "(bug 33445) Remove default right margin on wikitables."
Fix the path to the maintenance directory.

There was one dirname() too much.

Change-Id: I1531a9bad7f6709b693a3d063462cf06c3f85891
Make benmark duration output more prettier.

- Output miliseconds instead of second, much easier to read without
  a bunch of leading zeros
- Give precision up to the microsecond in benchmarkHooks

Change-Id: Id47e55eb311c926757c50a432c8992999908c03e
Localisation updates from http://translatewiki.net.

Change-Id: I70ed32349480c5a46c706ade4dd7b4a80d5cead6
Link to mediawiki.org using https from doxygen first page, not http

Change-Id: I13fe244e6122930731f144f97f27126339065481
Merge "Link to mediawiki.org using https from doxygen first page, not http"
Merge "(bug 40072) Add semantic CSS classes to identify changes list items"
Update release-notes (follows-up d6028a18 and a1e602a).

Change-Id: If4eecc72bf32eeac29cb9f88367fc699c7508884
Merge "Various javascript optimizations (fixes bug 39959)"