Bartosz Dziewoński [Thu, 10 Sep 2015 15:23:07 +0000 (15:23 +0000)]
Revert "Do not encode "'" as %27 (redirect loop in Opera 12)"
This seems to cause redirect loops in current Firefox instead.
This reverts commit
a89a21990e9d696487c4da72f88f765e2b4b1c34.
Bug: T106793
Change-Id: I18fac8ab0f94e2df8476131b132c9866902a02c4
Bartosz Dziewoński [Thu, 20 Aug 2015 16:38:04 +0000 (18:38 +0200)]
Do not encode "'" as %27 (redirect loop in Opera 12)
Similar to
7b4df0e12e36332fc2b303d7dac2295f8d36c888,
but for apostrophe instead of tilde and for Opera
instead of Chrome.
Bug: T106793
Change-Id: Ic54390434cebcc76a6c8ab49acc164d36e0cdff6
Translation updater bot [Sat, 5 Sep 2015 18:48:31 +0000 (20:48 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I880e3845ea76889f5e784c414f67e644e2ad6c1d
James D. Forrester [Thu, 3 Sep 2015 20:15:33 +0000 (13:15 -0700)]
build: Enable jscs rules 'requireSpacesInside*Brackets' and make pass
Change-Id: I1cd5b9b92b6e9419d99d9a15ad88a996253ca4cf
jenkins-bot [Sat, 5 Sep 2015 09:48:57 +0000 (09:48 +0000)]
Merge "Clarify 'target' label on the Special:Log options."
jenkins-bot [Sat, 5 Sep 2015 06:42:04 +0000 (06:42 +0000)]
Merge "Rephrase tooltip-ca-nstab-special"
jenkins-bot [Fri, 4 Sep 2015 23:08:24 +0000 (23:08 +0000)]
Merge "build: Alter jscs rule 'requireDotNotation' to reflect need for ES3 compatibility"
jenkins-bot [Fri, 4 Sep 2015 22:58:57 +0000 (22:58 +0000)]
Merge "build: Enable jscs rule 'requireSpacesInsideParentheses' and make pass"
jenkins-bot [Fri, 4 Sep 2015 22:58:22 +0000 (22:58 +0000)]
Merge "build: Bump grunt-jscs to 2.1.0 and make pass"
jenkins-bot [Fri, 4 Sep 2015 22:19:11 +0000 (22:19 +0000)]
Merge "Avoid some unused parameter IDEA errors in User.php"
jenkins-bot [Fri, 4 Sep 2015 21:12:45 +0000 (21:12 +0000)]
Merge "Add option to ApiFormatRaw to generate a HTTP errorcode"
Derk-Jan Hartman [Fri, 4 Sep 2015 19:13:21 +0000 (21:13 +0200)]
Add option to ApiFormatRaw to generate a HTTP errorcode
New method setFailWithHTTPError() allows you to configure ApiFormatRaw
to return HTTP status code 400 in case it encounters (any) error.
This is useful for when the output format is intended to be read by a
user-agent which has no other method to be notified of errors.
Change-Id: I11b2824c6725143cff5b4c56194f94c44ce451c0
JuneHyeon Bae [Sat, 24 May 2014 07:58:05 +0000 (16:58 +0900)]
Clarify 'target' label on the Special:Log options.
Bug: T48494
Change-Id: Id5b5c794e765f17e9413917ca4d6ca3dc3939d60
Matthew Flaschen [Fri, 4 Sep 2015 19:38:17 +0000 (15:38 -0400)]
Add dependencies from template implementations to mediawiki.template
Change-Id: Ie3a326ea400d1f8c8c795663945c74b1683f6616
Translation updater bot [Fri, 4 Sep 2015 19:19:34 +0000 (21:19 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I36541a2bf5ae3db49975acb98a5b97eb3f9446fe
jenkins-bot [Fri, 4 Sep 2015 19:17:28 +0000 (19:17 +0000)]
Merge "OOUIHTMLForm: Make boolean form field parameters actually work everywhere"
Aaron Schulz [Tue, 1 Sep 2015 03:41:02 +0000 (20:41 -0700)]
Avoid some unused parameter IDEA errors in User.php
Change-Id: I75e56ab02af6aee5dbed1735ae8a3a415094508d
jenkins-bot [Fri, 4 Sep 2015 18:23:07 +0000 (18:23 +0000)]
Merge "resourceloader: Document mw.loader state machine"
jenkins-bot [Fri, 4 Sep 2015 18:16:52 +0000 (18:16 +0000)]
Merge "Expose the ability to change suggestion api's"
Timo Tijhof [Wed, 2 Sep 2015 13:54:23 +0000 (15:54 +0200)]
resourceloader: Document mw.loader state machine
Change-Id: I5d40a6d30805a10e638e94e9d179a0db1af2126c
umherirrender [Thu, 3 Sep 2015 19:15:47 +0000 (21:15 +0200)]
Move print rule for .mw-metadata-show-hide-extended
The class mw-metadata-show-hide-extended gets hidden on print in the
commonPrint.css, moved to module with a @media rule to avoid a new file
for just one rule.
Change-Id: I4a40225febe4da6e41435cb5190fc55f8f8a3963
jenkins-bot [Fri, 4 Sep 2015 15:25:07 +0000 (15:25 +0000)]
Merge "Add 'mediawiki.action.view.filepage' style module"
jenkins-bot [Fri, 4 Sep 2015 15:13:48 +0000 (15:13 +0000)]
Merge "Remove id #colophon from print styles"
umherirrender [Wed, 2 Sep 2015 16:21:06 +0000 (18:21 +0200)]
Add 'mediawiki.action.view.filepage' style module
Moved the style definition for a file page from shared.css to a new
module. Also for print styles.
Change-Id: I8a0f0fecc53967bf2b0241ce92bbbd10b8fc704a
jenkins-bot [Fri, 4 Sep 2015 04:41:44 +0000 (04:41 +0000)]
Merge "Preferences: Fix issues from
6d3c65b5b0"
jenkins-bot [Fri, 4 Sep 2015 03:44:34 +0000 (03:44 +0000)]
Merge "poolcounter: PoolCounterRedis doc cleanups"
Aaron Schulz [Fri, 4 Sep 2015 01:06:01 +0000 (18:06 -0700)]
poolcounter: PoolCounterRedis doc cleanups
Change-Id: I0266941c40d30f631ae77695cbe81bbdc2a85a79
jenkins-bot [Fri, 4 Sep 2015 01:50:33 +0000 (01:50 +0000)]
Merge "resourceloader: Fully remove ResourceLoaderLESSFunctions"
Ori Livneh [Fri, 4 Sep 2015 00:38:05 +0000 (17:38 -0700)]
resourceloader: Fully remove ResourceLoaderLESSFunctions
Deprecated in 1.24, for reasons explained in
a0c41ae39d. I don't see any
usage in core or extensions.
Change-Id: I46f9e04ae633e7ff1ee112b652e1865731172f1f
Aaron Schulz [Thu, 3 Sep 2015 05:10:45 +0000 (22:10 -0700)]
Avoid PHP warning if key is not set in getValidationHash()
* Follow up to
2be60e777
Change-Id: Ic5c27226bc3f5cc870728a925b504a0dcbedaefb
Timo Tijhof [Thu, 3 Sep 2015 18:10:51 +0000 (19:10 +0100)]
resourceloader: Rename 'mediaWikiStartUp' mark to 'mwLoadStart'
By ending with "Start" we can create a sensibly named "mwLoadEnd".
Also calling it LoadStart instead of StartUp so that it matches
the mediaWikiLoadStart global.
Abandoning 'mediaWiki' as prefix since that's a left-over from the
mediawiki.js global variable, as abbreviation 'mw' makes more sense
or full on 'MediaWiki' (with proper capital 'M').
Change-Id: I3ab0ddf53ccb83db87d705b670cf5c46516b4488
jenkins-bot [Thu, 3 Sep 2015 23:01:59 +0000 (23:01 +0000)]
Merge "Only use FastStringSearch on PHP <5.5"
Ori Livneh [Thu, 3 Sep 2015 20:31:39 +0000 (13:31 -0700)]
Only use FastStringSearch on PHP <5.5
The native implementation of strtr( $str, $replace_pairs ) matches the
performance of FastStringSearch since http://bugs.php.net/63893 has been
resolved. HHVM's implementation does too, since PR facebook/hhvm#5471.
Change-Id: I20374d37bbb9958188a0487abc5b50f08ce40840
James D. Forrester [Thu, 3 Sep 2015 22:07:22 +0000 (15:07 -0700)]
build: Alter jscs rule 'requireDotNotation' to reflect need for ES3 compatibility
Change-Id: I0f2b59e99ad1d449df45505a87976c0c466226be
Geoffrey Mon [Sun, 2 Aug 2015 00:03:57 +0000 (00:03 +0000)]
Preferences: Fix issues from
6d3c65b5b0
* Use .mw-preferences-messagebox instead of .successbox to
avoid conflicts with other Special pages using '.successbox'
as a class and so that the new class can be used to check
for messages to replace with notifications
* Add logic to check for messages to replace using the new
aforementioned class
* Use Html::rawElement and Html::element instead of Xml::tags
to add the non-JS successbox
* Re-added <p> tags around non-JS successbox message that were
accidentally ommitted in the original patch
Bug: T19496
Change-Id: I990667aa114d8201516bee6cb2ad22994de53c6c
James D. Forrester [Thu, 3 Sep 2015 20:13:33 +0000 (13:13 -0700)]
build: Enable jscs rule 'requireSpacesInsideParentheses' and make pass
Change-Id: Ie88c89344e54657f007e5101472e667be5408319
James D. Forrester [Tue, 4 Aug 2015 02:13:14 +0000 (19:13 -0700)]
build: Bump grunt-jscs to 2.1.0 and make pass
Change-Id: I7c5a38ad16c471bb1443a5bde56dda4203fcfad5
jenkins-bot [Thu, 3 Sep 2015 21:28:31 +0000 (21:28 +0000)]
Merge "registration: Allow custom prefixes for configuration settings"
jenkins-bot [Thu, 3 Sep 2015 21:17:02 +0000 (21:17 +0000)]
Merge "Fix issues spotted by jshint 2.9.0"
Kunal Mehta [Thu, 3 Sep 2015 16:50:58 +0000 (09:50 -0700)]
Fix issues spotted by jshint 2.9.0
And workaround <https://github.com/jshint/jshint/issues/2656>.
Bug: T111380
Change-Id: Ie478813fb8c39b4abfc46a92ed2d4e83af5abc88
paladox [Thu, 3 Sep 2015 20:40:44 +0000 (21:40 +0100)]
build: Update grunt-contrib-jshint to v0.11.3
Change-Id: I2170f77042d4f31914c684bf6bdc08321abe14db
umherirrender [Thu, 3 Sep 2015 19:21:19 +0000 (21:21 +0200)]
Remove id #colophon from print styles
Have not found any place where this id is added to html
Change-Id: I4ac921be426d55b108eae443e3190be4c0c88018
Translation updater bot [Thu, 3 Sep 2015 18:18:46 +0000 (20:18 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I059163c3fe6e78d77b5c83be0f2d3476f016a87c
jenkins-bot [Thu, 3 Sep 2015 14:58:14 +0000 (14:58 +0000)]
Merge "PrefixSearch: Avoid passing non-strings to Title::newFromText()"
Kunal Mehta [Sun, 23 Aug 2015 22:56:59 +0000 (15:56 -0700)]
registration: Allow custom prefixes for configuration settings
Allow extensions which are using "$eg" or any other prefix to migrate.
Extensions can override the default of "wg" by setting a magic "_prefix"
key in the "config" object.
Note that the migration helper script will not be able to automatically
migrate custom-prefixed configuration settings.
Bug: T97186
Change-Id: I79203cd5e3a2405b92ad01da869de3bd3d359d19
Kunal Mehta [Thu, 3 Sep 2015 06:16:44 +0000 (23:16 -0700)]
MessageCache: Don't try to log a ContentHandler object
Change-Id: I000859370a8588b93682221d1e9fb0a2b11a4670
Chad Horohoe [Thu, 3 Sep 2015 05:55:49 +0000 (22:55 -0700)]
PrefixSearch: Avoid passing non-strings to Title::newFromText()
We already handle the invalid title gracefully here anyway, so
just rely on that behavior and just skip the Title construction
bit :)
Bug: T109975
Change-Id: I0dc3d91b6b4cfb97664aa6ca39c5c8f086d70db5
jenkins-bot [Thu, 3 Sep 2015 05:54:58 +0000 (05:54 +0000)]
Merge "Avoid passing anything but a string to Title::newFromText in UploadBase::getTitle"
jenkins-bot [Thu, 3 Sep 2015 05:39:16 +0000 (05:39 +0000)]
Merge "tests: Remove "install" target from makefile documentation"
jenkins-bot [Thu, 3 Sep 2015 04:52:02 +0000 (04:52 +0000)]
Merge "Decline to cache preprocessor items larger than 1 Mb"
jenkins-bot [Thu, 3 Sep 2015 04:36:07 +0000 (04:36 +0000)]
Merge "IEUrlExtension: Add tests for the main use case the lib exists for"
jenkins-bot [Thu, 3 Sep 2015 04:17:25 +0000 (04:17 +0000)]
Merge "Support empty string for wgEmergencyContact/wgPasswordSender"
Aaron Schulz [Sun, 30 Aug 2015 06:52:14 +0000 (23:52 -0700)]
Avoid MessageCache rebuilds if replace() was called recently
* If replace() was called recently, then we know that this is the
master data center and that the messages are up-to-date. With this
change, replace() calls have nothing to contend with aside from other
replace() calls. Even if there were timeouts due to such contention,
caused by high MediaWiki: page edit rates, the replace() updates would
pick up the prior changes in passing since they do load().
* This also avoids the following scenario:
a) Someone edits a message page, triggering replace()
b) Some page view causes load() to trigger loadFromDB()
due to the hash being seen as volatile due to replace()
c) The loadFromDB() loads stale slave data and undoes
the message key update the replace() did
Change-Id: I9cdf7ad3d67f168fcba7f633af9e32a8d1fa928e
Ori Livneh [Thu, 3 Sep 2015 00:24:33 +0000 (17:24 -0700)]
Decline to cache preprocessor items larger than 1 Mb
This is a temporarily workaround for T111289. The data ought not be so large,
but it frequently is, and the problem is almost exclusive to this code path.
For now, just avoid attempting to cache the value if its size exceeds a million
bytes.
Bug: T111289
Change-Id: Idd1acd903193f0753cc5548bd32800705716dd9f
Jan Berkel [Wed, 2 Sep 2015 23:24:13 +0000 (23:24 +0000)]
tests: Remove "install" target from makefile documentation
Follows up
013c859b997.
Change-Id: I1d015993f767c2d3f82a1ce4cd62b6c09eb2e90f
Aaron Schulz [Thu, 27 Aug 2015 08:46:05 +0000 (01:46 -0700)]
More MessageCache locking/update cleanups
* Made the status key only act as a backoff key inside
loadFromDBWithLock(), instead of also being a lock key. The
getReentrantScopedLock() call is now non-blocking, which has
a similar affect to the add() call on the status key but much
better prioritizes replace(); that method already has a blocking
getReentrantScopedLock() call, so once it gets that lock, there
is no worry of load() failing due to contention.
* Bail out in loadFromDBWithLock() if the scope lock was not acquired.
Normally the status lock often assured the lock could be obtained,
unless a competing replace() came in. The old status lock would
cause a bail if not acquired, and this carries over that behavior
but also avoids clobbering updates when replace() contention happens.
* Avoid calling saveToCaches() in replace() if the lock was not
acquired to avoid clobbering conflicting writes.
* Made the loadFromDB() call in replace() use DB_MASTER to avoid
seeing stale data if the cache is volatile.
* Lowered WAIT_SEC, as the default PHP timeout is 30.
We want this to be able to at least finish the other calls
in replace() even if the lock times out.
* Avoid checking the status key an extra time in load().
* Made a few small code and doc cleanups.
Change-Id: Ibaf1f67618ec374c83c3135a71e90223dd2b1856
jenkins-bot [Wed, 2 Sep 2015 21:20:07 +0000 (21:20 +0000)]
Merge "Fix notice when restbaseCompat is omitted"
jenkins-bot [Wed, 2 Sep 2015 21:10:24 +0000 (21:10 +0000)]
Merge "Move style to mediawiki.special.changeslist.enhanced.css"
jenkins-bot [Wed, 2 Sep 2015 19:39:03 +0000 (19:39 +0000)]
Merge "resourceloader: Ensure startup module returns early for incompatible browsers"
Timo Tijhof [Wed, 2 Sep 2015 19:18:11 +0000 (21:18 +0200)]
resourceloader: Ensure startup module returns early for incompatible browsers
Follows-up
8491820 which refactored the code but forgot an early return.
Bug: T111233
Change-Id: Ie65427caee4231b4ca97a43394a36154c33451a9
Translation updater bot [Wed, 2 Sep 2015 19:23:06 +0000 (19:23 +0000)]
Merge "Localisation updates from https://translatewiki.net."
Translation updater bot [Wed, 2 Sep 2015 19:15:24 +0000 (21:15 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I4020a7e252903b282e37e5f6ad358f04d48de8a2
Tim Starling [Mon, 31 Aug 2015 22:48:27 +0000 (08:48 +1000)]
In phpunit don't try to write to the source directory
Change-Id: Id48feb0aa6a5dde10076809b58c03deaf07cf02e
Kunal Mehta [Sat, 29 Aug 2015 19:46:03 +0000 (12:46 -0700)]
Update wikimedia/utfnormal to 1.0.3
Changes since 1.0.2:
* Update repo boostrap for libraries
* Add COPYING (bug T102359)
* Ignore phpcs and travis config for export
* Added description to composer.json (bug T110795)
Change-Id: I0f976081a279561d445f1896c8ff84c38de9a697
Subramanya Sastry [Wed, 2 Sep 2015 18:00:51 +0000 (13:00 -0500)]
Sync up with Parsoid parserTests.
This now aligns with Parsoid commit
5f2fae6c7e601b706403621924b769e87c5ed554
Change-Id: Ied3e5b2ac4df059c37f8e617ae55e47e8d15c1ee
umherirrender [Wed, 2 Sep 2015 16:46:43 +0000 (18:46 +0200)]
Move style to mediawiki.special.changeslist.enhanced.css
One rule is just used on enhanced changelist, therefore move it from
shared.css/oldshared.css to mediawiki.special.changeslist.enhanced.css
Change-Id: Ib19defab36889f6a99599bdcab02f88bcec344a1
jenkins-bot [Wed, 2 Sep 2015 17:57:26 +0000 (17:57 +0000)]
Merge "mediawiki.Uri: Use extended RegExps through templates"
jenkins-bot [Wed, 2 Sep 2015 17:00:21 +0000 (17:00 +0000)]
Merge "Remove references to Popularpages alias"
jenkins-bot [Wed, 2 Sep 2015 16:19:12 +0000 (16:19 +0000)]
Merge "Fix comment in mediawiki.page.gallery.css"
umherirrender [Wed, 2 Sep 2015 16:08:18 +0000 (18:08 +0200)]
Fix comment in mediawiki.page.gallery.css
It no longer has styles in commonPrint.css
Follow-Up: Ib1aef04dc4fece78e6615386ecaef6a9f368f49e
Change-Id: If3446e656456b9d0142a368bd24685520316d2a1
jenkins-bot [Wed, 2 Sep 2015 15:56:05 +0000 (15:56 +0000)]
Merge "mediawiki.special.upload: Use jquery.spinner properly, instead of only its CSS classes"
Thiemo Mättig [Wed, 2 Sep 2015 12:16:59 +0000 (14:16 +0200)]
Remove non-existing param PHPDoc tag from Title
Change-Id: Ie05be75b3e1a20e241206fdae8d1496fcbffeaae
jenkins-bot [Wed, 2 Sep 2015 14:23:14 +0000 (14:23 +0000)]
Merge "ApiLogin: Don't try to add block info if there's no block"
jenkins-bot [Wed, 2 Sep 2015 13:27:37 +0000 (13:27 +0000)]
Merge "Allow stop characters as quoted attribute delimiters"
Brad Jorsch [Wed, 2 Sep 2015 13:14:20 +0000 (09:14 -0400)]
ApiLogin: Don't try to add block info if there's no block
Extensions such as CentralAuth can use various hooks to return
USER_BLOCKED or CREATE_BLOCKED despite there being no local block.
Bug: T111082
Change-Id: I3433a35547967852fc30bd56274392a186004a38
jenkins-bot [Wed, 2 Sep 2015 12:23:45 +0000 (12:23 +0000)]
Merge "resourceloader: Use increment() for resourceloader_cache miss metric"
Timo Tijhof [Mon, 31 Aug 2015 15:32:56 +0000 (17:32 +0200)]
Support empty string for wgEmergencyContact/wgPasswordSender
In previous versions, the installer often outputted the following
in the generated LocalSettings.php:
> $wgEmergencyContact = '';
> $wgPasswordSender = '';
While this case did not result in providing default values in recent
MediaWiki versions, the mail handling didn't cause an error.
As of MediaWiki 1.25, the error handling is more strict and these
values being empty causes a fatal error and breaks all outgoing mail.
Bug: T104142
Change-Id: Ibf1f857b2f250dac9b725aff8f442e08b8ecd5c9
Bartosz Dziewoński [Wed, 2 Sep 2015 11:15:31 +0000 (13:15 +0200)]
mediawiki.Upload: Consistently use getters rather than direct property access
Using this.text instead of this.getText() in this.upload() resulted in the
text of mw.ForeignStructuredUpload being entirely ignored. Fix this
and other properties too for consistency.
Change-Id: I8282260474f4e7d010766be3f2a7ba8641313571
Timo Tijhof [Tue, 1 Sep 2015 19:15:53 +0000 (21:15 +0200)]
resourceloader: Use increment() for resourceloader_cache miss metric
This makes it consistent with how we handle the resourceloader_cache hit metric.
When I added the miss metric I figured it was nice to get both counts and timings
in a single metric, but I can't trust StatsD/Graphite not to screw this up so
let's untangle them to be sure.
Change-Id: I24f68e34a9fa491806fdb6023bdd757f6688c2ed
Matthew Flaschen [Wed, 2 Sep 2015 03:50:05 +0000 (23:50 -0400)]
Fix notice when restbaseCompat is omitted
Change-Id: I61042b326b989a4e3250f4a170d76048bdafcbd3
jenkins-bot [Wed, 2 Sep 2015 03:31:10 +0000 (03:31 +0000)]
Merge "Implement wfArrayPlus2d which combines 2d arrays"
Erik Bernhardson [Tue, 1 Sep 2015 19:52:29 +0000 (12:52 -0700)]
Expose the ability to change suggestion api's
We want to run some tests with alternate suggestions algorithms. This
allows code in the WikimediaEvents repository to replace the api call
with its own method of generating suggestions.
Related WikimediaEvents patch: I595db33
Bug: T111091
Change-Id: I1fab57ea3c0506b9b6183d214a29b978a388bc29
jenkins-bot [Tue, 1 Sep 2015 23:57:43 +0000 (23:57 +0000)]
Merge "Update OOjs UI to v0.12.7"
jenkins-bot [Tue, 1 Sep 2015 23:46:18 +0000 (23:46 +0000)]
Merge "Deprecate unconditional loading of mediawiki.ui.button on all pages"
James D. Forrester [Tue, 1 Sep 2015 23:31:54 +0000 (16:31 -0700)]
Update OOjs UI to v0.12.7
Release notes:
https://git.wikimedia.org/blob/oojs%2Fui.git/v0.12.7/History.md
Change-Id: Iea667a717e4694e28fcfafdc7111076682cc6a4a
jenkins-bot [Tue, 1 Sep 2015 23:25:19 +0000 (23:25 +0000)]
Merge "Reword 'stub-threshold' message in Special:Preferences advanced section"
jenkins-bot [Tue, 1 Sep 2015 22:21:43 +0000 (22:21 +0000)]
Merge "Link DB docs from tables.sql"
jenkins-bot [Tue, 1 Sep 2015 22:16:20 +0000 (22:16 +0000)]
Merge "Language: Fix 'pretty' fallback in getDateFormatString()"
Matthew Flaschen [Tue, 1 Sep 2015 22:11:19 +0000 (18:11 -0400)]
Link DB docs from tables.sql
Change-Id: I720ae3345963414103112fd4b4d2128c569999c2
Kunal Mehta [Tue, 1 Sep 2015 17:19:24 +0000 (10:19 -0700)]
Language: Fix 'pretty' fallback in getDateFormatString()
* If using 'default', still fallback to 'date' if 'pretty' is
unavailable.
* Fix instance caching of 'default', which never worked since $pref
would be changed inside the !isset() block.
Bug: T110945
Change-Id: Ic53b279f8741371fa1cb642c53e6d487cb1c6b81
jenkins-bot [Tue, 1 Sep 2015 21:55:31 +0000 (21:55 +0000)]
Merge "Use wgResourceBasePath instead of wgScriptPath for wgStylePath etc."
Translation updater bot [Tue, 1 Sep 2015 19:26:51 +0000 (21:26 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Ie07f3d57d81c5b1f645c95397f10a31f18c5d6d1
Ori Livneh [Tue, 1 Sep 2015 18:40:27 +0000 (11:40 -0700)]
Deprecate unconditional loading of mediawiki.ui.button on all pages
Formally deprecate the unconditional loading of mediawiki.ui.button on all
pages. During the deprecation period, the styles will be loaded on pages which
contain 'mw-ui-button' in the page HTML. Starting with 1.28, the styles will
only be loaded if explicitly depended upon.
The rationale for the patch was expressed by Spage in a comment on PS4 of
I835f3eb937: "Wikis have too many templates like
[[commons:Template:Clickable_button]] dependent on jquery.ui.button that don't
work if JavaScript isn't enabled. mediawiki.ui.button is a lighter-weight
piece of CSS that we own and can improve, and transitioning wiki content to it
requires that we provide it." Mattflaschen commented that the added payload was
"justifiable if we announce this widely and make an effort to get wikis to use this."
A year and a half later, [[commons:Template:Clickable_button]] is still not
using mediawiki.ui.button, and usage elsewhere is not sufficiently widespread
to merit loading this stylesheet in the critical path.
Bug: T98395
Change-Id: I290e1db422b7c7b9c1a026aae22e174580cefae9
Florian [Thu, 27 Aug 2015 17:49:50 +0000 (19:49 +0200)]
Implement wfArrayPlus2d which combines 2d arrays
Moved the logic of ExtensionRegistrations array_plus_2d merge method out
to it's own global function wfArrayPlus2d, so any other function in mediawiki
core and it's extensions can use this method when they need to union
a 2d array.
Change-Id: I56afdf306e399a4a1505828ed76c60c1bfd033b6
jenkins-bot [Tue, 1 Sep 2015 16:45:58 +0000 (16:45 +0000)]
Merge "EditPage: Add text placeholders to view source page"
Timo Tijhof [Fri, 28 Aug 2015 23:12:07 +0000 (01:12 +0200)]
resourceloader: Remove redundant type-checks in internal code
The private 'execute()' method only runs for modules that have been
implemented by mw.loader.implement, which already throws if 'messages'
or 'style' is set to a non-object value.
The execute() code for 'templates' already has this check removed.
Change-Id: I65b8a87500388d3d2ca6e495e1e50179639ba27a
jenkins-bot [Tue, 1 Sep 2015 16:32:11 +0000 (16:32 +0000)]
Merge "resourceloader: Consistently set state=ready after script execution (not before)"
jenkins-bot [Tue, 1 Sep 2015 16:27:31 +0000 (16:27 +0000)]
Merge "Add ForeignUpload and ForeignStructuredUpload"
Timo Tijhof [Fri, 28 Aug 2015 22:56:24 +0000 (00:56 +0200)]
resourceloader: Consistently set state=ready after script execution (not before)
For the case of 'module.script' being an array, mw.loader already sets state=ready
after execution. For the cases of it being a function or string, we were setting
state=ready before execution.
This looks like it may have intended to prevent double execution where e.g.
some other module may need this module and see it has state 'loading' and start
executing it. However ResourceLoader doesn't expose execute(). The only code
calling execute() is code that also sets 'state=loading', or handlePending.
In fact, this early setting of "ready" could actually cause double execution.
Not of the current module, but of dependent modules. If a module's script loads
other modules that are cache hits, that could may trigger handlePending() which
will assume the current module to be ready, when it isn't.
Now that these code paths match, re-use the markModuleReady callback instead of
repeating this code.
Update tests:
* Make assertion captions less verbose.
* Change load instruction from "test.implement" to "test.implement.import".
Module "test.implement" doesn't exist. This worked by accident because
implement() can sometimes run a module immediately if it doesn't exist.
* Update test to reflect internal detail that state=loading during script
execution.
* Assert afterwards that script ran and state=ready.
Change-Id: I6b0542edb113d58b8f24cc8587e98ee88b514c55
Timo Tijhof [Tue, 1 Sep 2015 16:13:02 +0000 (18:13 +0200)]
Use wgResourceBasePath instead of wgScriptPath for wgStylePath etc.
This make re-configuring these much easier by only needing to update
one variable instead of four.
Also remove redundant hardcoding of wgStylePath and wgResourceBasePath
in the generated LocalSettings.php file during installation. This way
changing wgScriptPath will naturally result in the other variables
updating too. We already do this for many other variables (such as
wgLoadScript, wgScript, wgExtensionAssetsPath, etc.).
Change-Id: Ide74355b4054c78214c17f3b2d6fa2f5270e0ab9