Aaron Schulz [Thu, 8 Jan 2015 09:54:51 +0000 (01:54 -0800)]
Made profileIn/profileOut methods a no-op
Change-Id: I781f62be9747bb41af6faad6fbe265414fb77669
Aaron Schulz [Wed, 7 Jan 2015 21:57:56 +0000 (13:57 -0800)]
Converted some profiling to scopedProfileIn
Change-Id: I63eb315155ef03d20a2d228c2be07a24baa0c278
Kunal Mehta [Wed, 15 Oct 2014 00:31:15 +0000 (17:31 -0700)]
Implement extension registration from an extension.json file
Introduces wfLoadExtension()/wfLoadSkin() which should be used in
LocalSettings.php rather than require-ing a PHP entry point.
Extensions and skins would add "extension.json" or "skin.json" files
in their root, which contains all the information typically
present in PHP entry point files (classes to autoload, special pages,
API modules, etc.) A full schema can be found at
docs/extension.schema.json, and a script to validate these to the
schema is provided. An additional script is provided to convert
typical PHP entry point files into their JSON equivalents.
The basic flow of loading an extension goes like:
* Get the ExtensionRegistry singleton instance
* ExtensionRegistry takes a filename, reads the file or tries
to get the parsed JSON from APC if possible.
* The JSON is run through a Processor instance,
which registers things with the appropriate
global settings.
* The output of the processor is cached in APC if possible.
* The extension/skin is marked as loaded in the
ExtensionRegistry and a callback function is executed
if one was specified.
For ideal performance, a batch loading method is also provided:
* The absolute path name to the JSON file is queued
in the ExtensionRegistry instance.
* When loadFromQueue() is called, it constructs a hash
unique to the members of the current queue, and sees
if the queue has been cached in APC. If not, it processes
each file individually, and combines the result of each
Processor into one giant array, which is cached in APC.
* The giant array then sets various global settings,
defines constants, and calls callbacks.
To invalidate the cached processed info, by default the mtime
of each JSON file is checked. However that can be slow if you
have a large number of extensions, so you can set $wgExtensionInfoMTime
to the mtime of one file, and `touch` it whenever you update
your extensions.
Change-Id: I7074b65d07c5c7d4e3f1fb0755d74a0b07ed4596
Aaron Schulz [Wed, 7 Jan 2015 22:19:06 +0000 (14:19 -0800)]
Converted some section profiling to scopedProfileIn
Change-Id: If69de34a046f4f33fc57b93beaf264f522ce7386
jenkins-bot [Wed, 7 Jan 2015 21:38:38 +0000 (21:38 +0000)]
Merge "Removed ProfilerStandard and ProfilerSimpleTrace"
jenkins-bot [Wed, 7 Jan 2015 21:05:00 +0000 (21:05 +0000)]
Merge "API: Improve handling of interwiki redirects when resolving"
Brad Jorsch [Mon, 29 Dec 2014 17:50:50 +0000 (12:50 -0500)]
API: Improve handling of interwiki redirects when resolving
When ApiPageSet resolves redirects, it should add the targets of any
interwiki redirects to its list of interwiki titles.
Also, when outputting the list of redirects it may as well include a
'tointerwiki' property to match the 'tofragment' property it already
outputs.
Bug: T85417
Change-Id: Icf1346f52c8efa099b502433de1b18c4caad09df
Translation updater bot [Wed, 7 Jan 2015 20:43:06 +0000 (21:43 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: Ia1d8ae53646ddaf0185f3bf946c06679e9cab72d
jenkins-bot [Wed, 7 Jan 2015 20:33:40 +0000 (20:33 +0000)]
Merge "PostgreSQL: Fix Special:ActiveUsers GROUP BY query"
Aaron Schulz [Wed, 7 Jan 2015 19:31:34 +0000 (11:31 -0800)]
Removed ProfilerStandard and ProfilerSimpleTrace
Change-Id: I2b0e0ac1a277e66b15095e766ed5df834b1ae5f9
jenkins-bot [Wed, 7 Jan 2015 19:27:45 +0000 (19:27 +0000)]
Merge "Remove obvious function-level profiling"
Kunal Mehta [Wed, 7 Jan 2015 02:13:01 +0000 (18:13 -0800)]
Cookie: Fix @throws comment
Change-Id: I3f63a58b74ab4dd46010c8a61da98c1cae419195
Chad Horohoe [Wed, 17 Dec 2014 17:41:27 +0000 (09:41 -0800)]
Remove obvious function-level profiling
Xhprof generates this data now. Custom profiling of various
sub-function units are kept.
Calls to profiler represented about 3% of page execution
time on Special:BlankPage (1.5% in/out); after this change
it's down to about 0.98% of page execution time.
Change-Id: Id9a1dc9d8f80bbd52e42226b724a1e1213d07af7
Evan McIntire [Sun, 28 Dec 2014 01:40:47 +0000 (20:40 -0500)]
Marked replaceMultiple() as deprecated
MagicWord::replaceMultiple() is completely unused in both core and
all extensions on gerrit, so it is being marked as deprecated.
Change-Id: I6289a36351a2cbc47a0cad237cc985e5c3136773
gladoscc [Thu, 1 Jan 2015 10:49:05 +0000 (21:49 +1100)]
Add type hinting for WikiPage::onArticleEdit, etc
Type hinting will catch false & null as specified in the todo.
Change-Id: I64fade3a7aa5e15323dc63a13d84d969d0b942b3
jenkins-bot [Wed, 7 Jan 2015 18:41:21 +0000 (18:41 +0000)]
Merge "jquery-ui: Remove dark color from links inside dialogs"
Bartosz Dziewoński [Wed, 7 Jan 2015 18:31:05 +0000 (19:31 +0100)]
jquery-ui: Remove dark color from links inside dialogs
Bug: T85857
Change-Id: I29aafd41ce142b05c1bd9aafb096f38273ca747e
Kunal Mehta [Wed, 7 Jan 2015 18:22:48 +0000 (10:22 -0800)]
CleanUpTest: Consolidate individual "@todo Document" comments into one
This avoids PHPUnit marking nearly every test as risky.
Change-Id: I7cb5fc3eca2e9496a61d223dcae7576e7ddb4cad
jenkins-bot [Wed, 7 Jan 2015 15:29:22 +0000 (15:29 +0000)]
Merge "Update QUnit from v1.14.0 to v1.16.0"
Adrian Heine [Wed, 7 Jan 2015 10:00:59 +0000 (11:00 +0100)]
Update QUnit from v1.14.0 to v1.16.0
- Release notes
https://github.com/jquery/qunit/blob/1.16.0/History.md
- Source of imported files
https://code.jquery.com/qunit/qunit-1.16.0.js
https://code.jquery.com/qunit/qunit-1.16.0.css
- Unit tests still pass.
Tested on [[Special:JavaScriptTest/qunit]] with $wgEnableJavaScriptTest = true
Bug: T85994
Change-Id: Ic2d5e91d4f1e16a87618b18c3a83d31aaa0ab91c
jenkins-bot [Wed, 7 Jan 2015 14:20:57 +0000 (14:20 +0000)]
Merge "Remove the 'top' definition from .mw-ui-icon-element:before"
Prateek Saxena [Wed, 7 Jan 2015 00:50:05 +0000 (06:20 +0530)]
Remove the 'top' definition from .mw-ui-icon-element:before
This was making the icon stick to the top of the button it was
inside. We couldn't find an example of the issue that the earlier
patch was trying to fix (on #wikimedia-mobile).
Bug: T85778
Change-Id: Ifea204ee9b86b01f61f3c48372619dadce64da9b
Reverts: Iadd741f02155a9b5ddeb6cd8ff64fa13ae5506d7
jenkins-bot [Wed, 7 Jan 2015 08:57:04 +0000 (08:57 +0000)]
Merge "Escape unescaped messages in Special:Preferences"
Kunal Mehta [Wed, 7 Jan 2015 02:11:25 +0000 (18:11 -0800)]
Cleanup ParsoidVirtualRESTService
* Remove unused global
* Throw \Exception instead of \MWException since this is in includes/libs/
Change-Id: I2e51d7e25a755b79d14d1814951449f6ce14c68e
jenkins-bot [Wed, 7 Jan 2015 01:29:44 +0000 (01:29 +0000)]
Merge "Make a VirtualRESTService class for Parsoid"
Alex Monk [Wed, 24 Dec 2014 00:18:40 +0000 (00:18 +0000)]
Make a VirtualRESTService class for Parsoid
So that code to deal with Parsoid can be shared across different extensions.
Relies on I1d57ff24
Bug: T1218
Change-Id: Id658d925b722b885fd425c27f7c4fd2cd02ad0b4
gladoscc [Tue, 6 Jan 2015 07:44:10 +0000 (18:44 +1100)]
Escape unescaped messages in Special:Preferences
Bug: T85864
Change-Id: Ie516549bce72a0052570ab38bde4c03e2bc1b69b
Aaron Schulz [Fri, 19 Dec 2014 19:46:10 +0000 (11:46 -0800)]
Trigger onResponses on non-replacement request too in VirtualRESTServiceClient
Change-Id: I1e550812f3c021c2e2f4246345df2f9dd47d15b8
Jeff Janes [Fri, 18 Jul 2014 20:21:53 +0000 (13:21 -0700)]
PostgreSQL: Fix Special:ActiveUsers GROUP BY query
For GROUP BY queries, PostgreSQL require all columns in the
unaggregated part of the select list to also be in the
GROUP BY list.
To fix this, add user_name and user_id to the GROUP BY list along side
qcc_title.
This addition cannot change the query results, because user_name and
user_id are functionally dependent on qcc_title: user_name because
of the WHERE clause for this query, and user_id due to the 1 to 1
relationship between user_name and user_id enforced by their unique
and not null constraints on the underlying table.
This has been tested on PostgreSQL and MySQL.
Bug: 68087
Change-Id: I3aed715b40ff6e2290220122acbda0f0e74b5b36
Translation updater bot [Tue, 6 Jan 2015 21:06:32 +0000 (22:06 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I8a6dcdacfbe59bd9b34c314c957ce05a15c0e7a5
Chad [Tue, 6 Jan 2015 18:50:28 +0000 (18:50 +0000)]
Merge "Revert "Keep backend param to search API as long as there's a backend""
Chad [Tue, 6 Jan 2015 18:50:14 +0000 (18:50 +0000)]
Revert "Keep backend param to search API as long as there's a backend"
Actually on second thought, having the parameter disappear is
a better option than keeping it around with only one possible
value.
This reverts commit
7a79b017a03c78ddc0b8bf8762346957bef71936.
Change-Id: Ia67fa1425e0aa1ee95e0a1733f89d29f94f1eeee
jenkins-bot [Tue, 6 Jan 2015 17:45:29 +0000 (17:45 +0000)]
Merge "Remove double escaping of group member name on Special:ListUsers"
jenkins-bot [Tue, 6 Jan 2015 16:36:12 +0000 (16:36 +0000)]
Merge "grunt: Add Karma task for automated QUnit testing in browsers"
umherirrender [Mon, 29 Dec 2014 21:10:38 +0000 (22:10 +0100)]
Remove double escaping of group member name on Special:ListUsers
Similar to T31340 the group name gets double escaped
Bug: T85864
Change-Id: I9202fc12c2d72baf1f61cb69624b37411b0edacc
jenkins-bot [Tue, 6 Jan 2015 15:54:31 +0000 (15:54 +0000)]
Merge "Always use the canonical extension name to link the license file"
umherirrender [Fri, 19 Dec 2014 16:25:05 +0000 (17:25 +0100)]
Use also $wgAutoloadClasses in tests for module names
Extensions using $wgAutoloadClasses where this test will fail
Follow-Up: If1125cd5fa4ed836fe15fc79480d78ebd899be4e
Change-Id: Ic2024605d7d59890c527cc0580a49da73f8516c8
jenkins-bot [Mon, 5 Jan 2015 23:05:00 +0000 (23:05 +0000)]
Merge "API: Avoid unstubbing User for language pref when not needed"
jenkins-bot [Mon, 5 Jan 2015 22:40:15 +0000 (22:40 +0000)]
Merge "Proper namespace handling for WikiImporter"
Translation updater bot [Mon, 5 Jan 2015 21:47:33 +0000 (22:47 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I360f162ccf794d3709c0d64d617d6ffbdf85b23f
jenkins-bot [Mon, 5 Jan 2015 21:15:25 +0000 (21:15 +0000)]
Merge "Add applicable protection types to the prop=info API"
Ricordisamoa [Fri, 26 Dec 2014 22:13:50 +0000 (23:13 +0100)]
Add applicable protection types to the prop=info API
Disabled by default, enabled with inprop=protections,
returned as 'restrictiontypes', also for non-existing titles.
Change-Id: I98604b60626b84bd8cb601a4149b80db1b6787b7
jenkins-bot [Mon, 5 Jan 2015 20:55:22 +0000 (20:55 +0000)]
Merge "Remove silly reference ampersands from database functions in maint"
Timo Tijhof [Tue, 2 Dec 2014 22:39:08 +0000 (22:39 +0000)]
exception: Implement error-json log
Follows-up
399ba2f.
Bug: T75619
Bug: T45086
Change-Id: Ia7ba355d5925a6268ffa321ffc13cc6906b487f8
jenkins-bot [Mon, 5 Jan 2015 19:46:21 +0000 (19:46 +0000)]
Merge "Add batch lookup for user groups and titles on Special:ActiveUsers"
jenkins-bot [Mon, 5 Jan 2015 19:41:36 +0000 (19:41 +0000)]
Merge "Use content language for edit summary on upload overwrite"
Chad Horohoe [Mon, 5 Jan 2015 19:32:44 +0000 (11:32 -0800)]
Remove silly reference ampersands from database functions in maint
This is 2015 and we use PHP5 I think.
Change-Id: I012de0df540fc91577585de939bb929c68664222
Timo Tijhof [Wed, 10 Dec 2014 05:58:31 +0000 (05:58 +0000)]
grunt: Add Karma task for automated QUnit testing in browsers
To use, ensure npm modules are up to date by running 'npm install'
in tests/frontend. Then run 'grunt qunit' to run it in Chrome.
To run it in both Firefox and Chrome (locally), run
grunt karma:more
Moved fixture from hardcoded HTML to the testrunner so that our
tests don't depend on arbitrary HTML and thus also pass in browser
contexts where the page only loads QUnit + test suites (e.g. Karma).
Change-Id: I4e96da137340a28789b38940e75d4b6b8bc5d76a
Timo Tijhof [Tue, 2 Dec 2014 21:48:21 +0000 (21:48 +0000)]
SpecialJavaScriptTest: Add export feature
Add an 'export' subpage to SpecialJavaScriptTest which allows
one to request a self-sufficient JavaScript payload that will
bootstrap a ResourceLoader client and load the test suites.
This is needed for using Karma (which only loads JavaScript,
no full html pages). As such elements from the Skin and OutputPage
will not exist. While all QUnit tests in MediaWiki core and
most extensions I've seen already use #qunit-fixture, this is
now required. This to prevent leakage of elements from one
test to another, but it also prevents tests from depending
on elements provided by the server.
While the Karma setup is still in the pipeline (might land before
this commit loses WIP status), for now this can be tested via
the 'Special:JavaScriptTest/qunit/plain' subpage.
Refactor:
* Use HTTP status code 404 in the response for "noframework".
* Simplify HTML footprint by using <div id="qunit"> instead of
hardcoding the full structure. This feature was added to QUnit
since v1.3.0 (Feb 2012), we're using v1.14.0 (Jan 2014).
QUnit's header is automatically derived from document.title.
* Remove redundant addModules() for 'test.mediawiki.qunit.testrunner'.
This is already added by default.
* Move allowClickjacking() call so that it applies to other modes
as well. The exported javascript needs to have wgBreakFrame set
to false so that test runners can frame it.
* Change mediawiki.special.javaScriptTest to not depend on QUnit.
It caused QUnit to load on error pages. And in theory the page
is suited for other frameworks and shouldn't load QUnit this way.
Bug: T74063
Change-Id: I3d4d0df43bb426d9579eb0349b8b5477281a7cfc
Brad Jorsch [Mon, 5 Jan 2015 16:59:48 +0000 (11:59 -0500)]
API: Avoid unstubbing User for language pref when not needed
It's fairly common that the API doesn't need to load the user
preferences, except to implement the unfortunate default uselang=user.
So let's move the handling of uselang=user to
RequestContext::getLanguage(), and have the API just assume that its
parent context will eventually fall back to that for uselang=user.
Bug: T85635
Change-Id: I947348d87b31808d331055dac6feb0cc2e1dd15d
Bryan Davis [Mon, 5 Jan 2015 16:08:58 +0000 (09:08 -0700)]
Revise wording for installed libraries release note
Change-Id: I7afafa1b5b954e4555b10c8fd2a225f0f4754115
Kunal Mehta [Sat, 3 Jan 2015 23:28:02 +0000 (15:28 -0800)]
Don't display composer installed extensions/skins on Special:Version
Extensions and skins should already be adding their credits through
$wgExtensionCredits, meaning that they would be duplicated in the
"Installed libraries" section.
Anything that has a type that begins with "mediawiki-" will now
be skipped.
Release notes were added for this commit and
528297f8db8dea.
Change-Id: Ie873b16c1a8a696c7de833ae69b263161d9e15a8
jenkins-bot [Mon, 5 Jan 2015 15:53:21 +0000 (15:53 +0000)]
Merge "mw.ui: checkbox: Remove margin from checkbox input to fix the pseudo element overlap"
Bartosz Dziewoński [Mon, 5 Jan 2015 15:48:53 +0000 (15:48 +0000)]
Merge "mw.ui: radio: Add state transition to radio buttons"
jenkins-bot [Mon, 5 Jan 2015 15:44:15 +0000 (15:44 +0000)]
Merge "Adjust images in packed gallery on window resize"
m4tx [Sun, 4 Jan 2015 07:32:52 +0000 (08:32 +0100)]
Adjust images in packed gallery on window resize
Original element sizes are stored in data(), and on window resize,
they are restored, so elements can be justified as on just loaded
page.
Bug: T55664
Change-Id: I286e0a4c8230c11619ca30f8f3b66778de835a33
jenkins-bot [Mon, 5 Jan 2015 14:42:18 +0000 (14:42 +0000)]
Merge "mw.ui: button: Update usage instructions for neutral and quiet buttons"
jenkins-bot [Mon, 5 Jan 2015 14:29:08 +0000 (14:29 +0000)]
Merge "Make jquery.suggestions obey maxRows setting"
jenkins-bot [Mon, 5 Jan 2015 13:28:39 +0000 (13:28 +0000)]
Merge "Expand error message when parser tests found no hook"
umherirrender [Thu, 27 Nov 2014 20:12:58 +0000 (21:12 +0100)]
Expand error message when parser tests found no hook
The existing message is hard to understand and does not mention, that
this is a problem in the parser test itself and not with phpunit.
Before:
1) Warning
The data provider specified for ParserTest_<file>::testParserTest is
invalid.
Problem running hook
After:
1) Warning
The data provider specified for ParserTest_<file>::testParser
Problem running requested parser hook from the test file
Change-Id: I0b4225cc9ab95e8dd048515315c789113dacf39e
James D. Forrester [Mon, 5 Jan 2015 13:05:44 +0000 (13:05 +0000)]
Update OOjs UI to v0.6.1
Release notes:
https://git.wikimedia.org/blob/oojs%2Fui.git/v0.6.1/History.md
Change-Id: Iafe5770c74b671dc04a92b9dfab6f121e7fe718d
Prateek Saxena [Mon, 5 Jan 2015 12:08:01 +0000 (17:38 +0530)]
mw.ui: button: Update usage instructions for neutral and quiet buttons
Bug: T75252
Change-Id: If18d4773f491d465309662a7decd8466673002fe
Fomafix [Sat, 24 May 2014 08:05:22 +0000 (08:05 +0000)]
mw.config: Show deprecation notices when accessing globals
The mw.config.value object is no longer an alias to the global object
when $wgLegacyJavaScriptGlobals is true.
Instead, set() is made to copy to property to the global object. This
matches behaviour of other deprecated properties in that changes to the
deprecated property directly are ignored.
Bug: T58550
Change-Id: I703f7c12b59bc3207b2a291eacc393a8ae92df6f
gladoscc [Sun, 4 Jan 2015 00:14:46 +0000 (11:14 +1100)]
Make jquery.suggestions obey maxRows setting
The maxRows setting was previously unused and had no effect. This patch
passes the property in the fetch() call, and makes it enforce the setting.
Also updates mediawiki.userSuggest.js to use response()
The previously unused setting of 7 is changed to 10 to match current
behaviour.
Bug: T39316
Change-Id: I2873963aba9fd751607d11904b94bfcec8eb2d32
Translation updater bot [Sun, 4 Jan 2015 20:30:08 +0000 (21:30 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I3f72d9e7d620c0fe2070a7da08d704965a61e00c
Marius Hoch [Sun, 4 Jan 2015 05:34:06 +0000 (06:34 +0100)]
Make use of DatabaseBase::selectRowCount in Title
Change-Id: I686f4f785ffa6323ac94b679794ba50539d951f0
Timo Tijhof [Wed, 17 Dec 2014 20:45:03 +0000 (20:45 +0000)]
resourceloader: Make arguments to mw.loader.implement optional
This will allow the server to trim any trailing parameters with
empty objects from invocations.
'templates' was the only parameter added after the initial ResourceLoader
release, the other properties have always been required.
Change-Id: Ie32e7d6a3c09f86a52d60394c474a62cb1b4e1d6
jenkins-bot [Sun, 4 Jan 2015 14:07:54 +0000 (14:07 +0000)]
Merge "Fix documentation of mw.loader.getState"
Ricordisamoa [Fri, 2 Jan 2015 20:59:24 +0000 (21:59 +0100)]
Fix documentation of mw.loader.getState
The misleading comment was copied from mw.loader.getVersion
in commit
6a1ec17e79.
Change-Id: I73ddb67901da808fd402742232b4b4dd2ad31ebc
jenkins-bot [Sun, 4 Jan 2015 06:33:16 +0000 (06:33 +0000)]
Merge "Database::makeList() : Handle NULL when building 'IN' clause"
jenkins-bot [Sun, 4 Jan 2015 01:37:46 +0000 (01:37 +0000)]
Merge "mediawiki.action.edit.preview: Use .textSelection( 'getContents' )"
Translation updater bot [Sat, 3 Jan 2015 21:32:36 +0000 (22:32 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I3cd9917fd67fe31a829e38108bb0220bc5c41842
Sumit Asthana [Tue, 23 Dec 2014 21:34:36 +0000 (03:04 +0530)]
Database::makeList() : Handle NULL when building 'IN' clause
Amends to Database::makeList() to check if 'NULL' is present in array while
building IN clause. Presently a NULL in array intended to build IN clause, is
treated as a usual value. This creates
problem:https://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_in
Therefore null is appended at the end of the IN clause as " $field IS NULL"
rather than within the IN clause.
DatabaseSQLTest.php: Some test cases added for the modified behaviour.
Bug: T50853
Change-Id: Ic255c37e9702fd44d8173027ab8036ddc48f9d2e
Ricordisamoa [Sat, 3 Jan 2015 14:16:39 +0000 (15:16 +0100)]
Always use the canonical extension name to link the license file
Items in $wgExtensionCredits can expose a 'namemsg' attribute,
but it should only be used for localized strings.
SpecialVersion->execute() correctly uses 'name', while commit
326f3f450ce56420090e3bb30eb9a9cccfe1816e inadvertently made
getCreditsForExtension() use 'namemsg'.
Also reduced code duplication.
Change-Id: I029ea17c55191d74bc6a803fad6cf092105f5b3c
jenkins-bot [Sat, 3 Jan 2015 09:04:54 +0000 (09:04 +0000)]
Merge "Add SQL tests for Database::makeList"
Prateek Saxena [Sat, 3 Jan 2015 00:56:31 +0000 (06:26 +0530)]
mw.ui: checkbox: Remove margin from checkbox input to fix the pseudo element overlap
The target for the checbox was extending unusually due to extra
margins. See https://phabricator.wikimedia.org/M27/51/
Change-Id: I93fb29cfed5e0fd0ceb1f89977abd2991629fe34
Niklas Laxström [Fri, 2 Jan 2015 22:59:31 +0000 (23:59 +0100)]
Add namespace translations for nan
Aliases added from fallback language cdo. Per request in
https://translatewiki.net/wiki/Thread:User_talk:Nike/outo_p%C3%A4tk%C3%A4_osoitteissa
Change-Id: Ic73d81cd9a477a9818aa0f0c8b596ab49850460a
Translation updater bot [Fri, 2 Jan 2015 21:01:54 +0000 (22:01 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I7e5267badb3467b3f7b5e000efe6c37f8fd0c7d7
jenkins-bot [Fri, 2 Jan 2015 17:51:18 +0000 (17:51 +0000)]
Merge "jQuery.footHovzer: Fix scrolling issues"
gladoscc [Fri, 2 Jan 2015 16:02:48 +0000 (03:02 +1100)]
jQuery.footHovzer: Fix scrolling issues
Fix scrollbar appearing if the page does not fill the screen, and the
debug toolbar is enabled.
This patch also fixes an issue where the page will have a height of
~1000px if the CSS is loaded after the JS executes (display:none
isn't triggered before the outerHeight() calculation). I've only been
able to fix this by adding a setTimeout, which is a little bit hacky..
but can't figure out how to solve it any other way.
Bug: T38273
Change-Id: I1f92cb0681b7a82a5936267c120f85481a95a962
Kunal Mehta [Fri, 2 Jan 2015 06:18:40 +0000 (22:18 -0800)]
Fix @covers tags for includes/libs/composer
Change-Id: I90a39bce22f304eb06dd595eb845bb953e6937c3
jenkins-bot [Fri, 2 Jan 2015 11:26:34 +0000 (11:26 +0000)]
Merge "Don't replace user text with suggestion in searchbox"
Prateek Saxena [Fri, 2 Jan 2015 10:38:33 +0000 (16:08 +0530)]
mw.ui: radio: Add state transition to radio buttons
Bug: T78370
Change-Id: Icaac128c7d1e2424a8bed30e28f148bb1e720c5a
jenkins-bot [Fri, 2 Jan 2015 09:52:58 +0000 (09:52 +0000)]
Merge "Clarifies the meaning of the function which tests the bug T34712"
m4tx [Fri, 2 Jan 2015 01:26:26 +0000 (02:26 +0100)]
Don't replace user text with suggestion in searchbox
On Enter press, there was highlight() called, which also replaced the text.
Since it seems to have no use here (highlight() highlights the selected
suggestion in the box, but the box is immediately hidden, and there's
probably no case when the suggestion is chosen, but the text in searchbox
does not match it), it was removed.
Bug: T53900
Change-Id: I9fc2e954ae429ba166ddc7c713f9790a25a837c2
Robert Hoenig [Tue, 30 Dec 2014 08:26:18 +0000 (02:26 -0600)]
Clarifies the meaning of the function which tests the bug T34712
Change-Id: I17922b9bc6ac2ce5fef7aebc27020874d349f507
Fomafix [Thu, 1 Jan 2015 12:59:46 +0000 (12:59 +0000)]
mediawiki.action.edit.preview: Use .textSelection( 'getContents' )
Replace .val() by .textSelection( 'getContents' )
for '#wpTextbox1' and '#wpSummary'.
This is already supported by extension CodeEditor.
$( mw ).trigger( 'LivePreviewPrepare' ) is not needed anymore.
Bug: T78838
Change-Id: I30bd709d8b4778f45f3d5f395201e0ca6ce18891
gladoscc [Thu, 1 Jan 2015 11:19:06 +0000 (22:19 +1100)]
Document OutputPage::$mPreventClickjacking
Change-Id: I3b4f967743c810c5cbef094b3e30807cf0a668ca
Kunal Mehta [Tue, 30 Dec 2014 01:42:48 +0000 (17:42 -0800)]
Implement support for a minimum log level in $wgDebugLogGroups
For some log groups, we only want to log them if they meet a certain
level of severity. An example of this is the current 'memcached-serious'
log group, which can be merged with the normal 'memcached' group
in the future, and report at a severity of ERROR.
This adds a 'level' parameter to the $wgDebugLogGroups, for example:
$wgDebugLogGroups['memcached'] = array(
'destination' => '/var/log/mw/memcached.log',
'level' => \Psr\Log\LogLevel::ERROR,
);
Bug: T85073
Change-Id: Ic53bc4c8e318ed188fe6f4e838e6789b3c3fd574
jenkins-bot [Wed, 31 Dec 2014 18:05:02 +0000 (18:05 +0000)]
Merge "Only return CORS headers in the response as required"
Derk-Jan Hartman [Thu, 4 Dec 2014 14:39:50 +0000 (15:39 +0100)]
Only return CORS headers in the response as required
- Split out responses of preflight and actual CORS requests
- If the request is not CORS valid, don't set the CORS response headers
Note that invalid CORS requests should not actually throw error
responses, the client should simply not handle the response because the
response does not have the right headers (it's a client side policy
error not an http error). We do throw a 403 for a mismatch with the
queryparam, but since that is 'outside' of the spec, that might be
appropriate.
Bug: T76701
Change-Id: Ib296c68babe5c0b380268ee7793b3d6d35b9c3e3
Chad Horohoe [Wed, 31 Dec 2014 16:37:17 +0000 (08:37 -0800)]
Keep backend param to search API as long as there's a backend
Originally this was designed to only show up when there was
more than one backend. That's more likely to break for clients
though if you want to go back to only having one backend again.
Change-Id: I9009f2599f5bc6fa8f9c49370fd0ffb714e31755
jenkins-bot [Wed, 31 Dec 2014 16:19:24 +0000 (16:19 +0000)]
Merge "Use preview content when it transcludes itself"
jenkins-bot [Wed, 31 Dec 2014 15:59:16 +0000 (15:59 +0000)]
Merge "Use PHPUnit_Framework_TestCase in a few utils/ tests"
Evan McIntire [Sun, 28 Dec 2014 04:09:51 +0000 (23:09 -0500)]
Remove normalizeAttributeValue()
Sanitizer::normalizeAttributeValue is completely unused and private, and
as such, should be removed
Change-Id: I655ef90fe97a775011f9d16c0b51feb2612aec26
Evan McIntire [Sat, 27 Dec 2014 23:00:11 +0000 (18:00 -0500)]
Moved getTitleInvalidRegex() from Title to MediaWikiTitleCodec
Deprecated it in Title, and updated all current references to use the
non-deprecated version in MediaWikiTitleCodec
Change-Id: I2b9c36992028c97f695f2b95ba027fbb11904b57
jenkins-bot [Wed, 31 Dec 2014 02:00:57 +0000 (02:00 +0000)]
Merge "Documented the Classes ImportStringSource and ImportStreamSource"
Evan McIntire [Wed, 31 Dec 2014 01:13:05 +0000 (20:13 -0500)]
Documented the Classes ImportStringSource and ImportStreamSource
Added short descriptions for each class
Change-Id: I28d3dea76ab70326a1e16b7c41b1f3758f8648b8
wctaiwan [Wed, 31 Dec 2014 01:39:38 +0000 (20:39 -0500)]
Add JSON to docs/contenthandler.txt
Bug: T85580
Change-Id: I70edfbe4e50fec0701484d5004a5c673c0dd69b7
Brad Jorsch [Tue, 9 Sep 2014 15:25:10 +0000 (11:25 -0400)]
Format multiple autocomments in edit summaries
Before r39373, all autocomments in an edit summary were formatted. In
fixing a bug with page titles containing "/*" this was accidentally
broken.
To use a single preg_replace_callback call to replace multiple
autocomments, we need to make sure that the match of one autocomment
doesn't overlap the match of another, which means we can't have "(.*)"
before and after. But we do still need to detect whether there is
anything before or after. "(?=(.?))" and "(?<=(.?))" would do nicely,
except the latter isn't actually supported. "(?=(.))?" and "(?<=(.))?"
work too, but older versions of PCRE don't support that. They do,
however, support "(?:(?=(.)))?" and "(?:(?<=(.)))?", so that's what
we'll go with.
This change does change the values for $pre and $post passed to the
FormatAutocomments hook; extensions need to be updated to accept (and
not prepend/append) booleans for these parameters.
Bug: T18530
Bug: T70361
Change-Id: I36c3a9e548a4ef72f93974bb35f9add8c29e9287