Commit Graph
5 Commits
Author SHA1 Message Date
Timo Tijhof 2ab168f113 Use getDefinitionSummary() in ResourceLoaderULSJsonMessageModule
* Fix inaccurate class comment that was copied from an unrelated
  module in MediaWiki core.

* Remove use of deprecated getModifiedTime(). While this implementation was
  straight forward, it is more reliable and deterministic to use a content hash
  because timestamps are not tracked by Git. This currently causes needless
  cache invalidation for all users at Wikimedia every week because git-clone
  starts with fresh timestamps on disk.

  I'm not using enableModuleContentVersion() right now because calling
  getScript() reads all files into memory which is more expensive than
  simply hashing the files. Especially because safeFileHash() is backed
  by an APC cache via FileContentsHasher.

  This matches the implementation in core ResourceLoaderFileModule.

Change-Id: If9aaefa6a3cf047c6c36e1cdd0f350412d59c849
2016-08-23 21:49:26 +00:00
Timo Tijhof f06ac3efca Simplify ResourceLoaderULSModule with content-based versioning
* Remove manual tracking of when a hash is first seen.
  ResourceLoader is no longer time-based, rather it is content based.
  Except where a timestamp is actually wanted as key, a hash is all
  we need. The default implementation of simply calling getScript()
  and hashing its output suffices, and isn't a performance problem
  in this case.

* Also simplify getScript() by passing an object to 'mw.config.set'.
  Instead of multiple calls for each key/value. This is a no-op
  now because there is only one key.

* Fix inaccurate class comment that was copied from an unrelated
  module in MediaWiki core.

Change-Id: I9bb82cadd9caa7e584e20dd49ce30b64218326c4
2016-08-23 14:49:16 -07:00
Timo TijhofandSanthosh Thottingal 862fafb9ab Various performance fixes for CompactInterlanguageList
T122341:
* Move hideOriginal() call to right before render() to reduce repaint flash.
* Use plain css() instead of show() and hide().
* Use native getAttribute() instead of jQuery().attr.

Other minor clean up:
* Fix jsduck syntax.
* Consistently use 'location' instead of 'window.location'
  (mostly the case already except for one).

Bug: T122341
Change-Id: Ief76fe7c0fb2bfca3468361ebab14c1dfb1df4c2
2016-01-04 07:19:38 -08:00
Timo Tijhof d08ebb9e77 gitignore: Add langnames.ser
Change-Id: Iea90a487d6cdef820487f0bed2e67b06328c13b4
2015-12-22 18:35:29 -08:00
Timo Tijhof c6d71015ff Various clean up
Files:
* Consistently have one (1) new line at EOF
  (.gitignore, *.css, *.sh)

JSHint:
* Separate the common (general Wikimedia code conventions) from
  the local more stricter rules (nice work!).

Maintenance:
* Use simplified $IP definition where getenv is only called once.
  Based on http://git.io/ve-mw-36fc3b59-makeStaticLoader

JavaScript:
* Use the same closure in all files:
  - No need for "undefined".
  - One linebreak between license header and start of closure
    (sometimes there were 1 or 2 empty lines).
  - ext.uls.ime.js: No need for "document" (redundant in general,
    but especially as it wasn't used anywhere in this file).
  - Use "$, mw" for all ext.* modules (one of them used "mw, $").

Change-Id: Iba5dab14bbc3fbfc9f8fe96dd2d95529587a69aa
2014-02-08 00:11:50 -08:00