Commit graph

270 commits

Author SHA1 Message Date
umherirrender
e5f5e95137 Fix indentation whitespace errors
Change-Id: Ie268bee2098c589c050e1b5b0e93fe1b3feca86f
2012-10-26 17:42:13 +02:00
Aaron Schulz
081fbc9800 Merge "Remove duplicate files, no point in loading them twice" 2012-10-23 19:26:41 +00:00
Antoine Musso
9362bb6c56 miscellaneous doxygen warnings
* @licence -> @license
* Protects inline HTML by using double quotes, our inline comments uses
  elements such as <h1> or <firstnameLastname@gmail.com>
* Commands in lowercase (@TODO -> @todo, @NOTE -> @note)
* removes @abstract and @static since doxygen detects them from PHP
  code.
* various undocumented function parameters
* typos in parameters declarations

Change-Id: I62ad6fc124c355bf31acc780b9614a59cf79a421
2012-10-22 14:00:08 +02:00
jeroendedauw
11feec4c56 Remove duplicate files, no point in loading them twice
Change-Id: I52df1ee1cfeda240e8546fa303b65116183d09e7
2012-10-21 23:06:00 +02:00
umherirrender
9d19d7342a Remove a bunch of trailing spaces and unneeded newlines
Change-Id: I7db616db8c969567d420c0161fa207b366e292b6
2012-10-19 22:03:05 +02:00
Reedy
c34dc71896 Revert excessive indenting from 28433
Also remove indenting from else statement in the same block

Change-Id: I571880a4404fbc5a4804de9d3e2eb8f9d1501a37
2012-10-19 13:13:15 +00:00
Brion Vibber
4b3a426ae0 Work in progress on ResourceLoader mobilification
Goes along with MobileFrontend changes: https://gerrit.wikimedia.org/r/28434

Adds 'targets' option to module definitions, defaulting to 'desktop'.
Only a couple more modules are whitelisted into both desktop and mobile for now.

Startup module takes a 'target' parameter (defaults to 'desktop') to filter
the resource module registration list. Only modules matching the filter get
registered, and thus will be loadable from client-side RL.

Change-Id: Ifb772d4995b8e2ec4b63776fe0bb5b0214f82e04
2012-10-18 00:55:54 +00:00
Reedy
505c5cbfe3 Use wfDebugLog() not wfErrorLog()
Change-Id: I98dca32d788a4ff3ea102afe358e91b9ff4b06a5
2012-10-15 21:32:20 +01:00
Reedy
4fbbe15778 Add wfErrorLog() call before throwing an exception in readStyleFile
Due to the stupid PHP bug, this just gets rendered as a warning.

Then we have no idea what is actually wrong...

Change-Id: I38a2c6df2dc09ef67ff23537f867efa2ce2e3b54
2012-10-15 18:12:10 +01:00
Siebrand Mazeland
d4b046a893 Update docs for return and exception info
* Removed some inline tabs in the process.
* IDE fixed some incorrect leading spaces, too.

Change-Id: Ic9303eff6db4424ac3f1fa2816839692b43e6190
2012-10-09 09:41:58 +00:00
daniel
c546fae8ed merge latest master into Wikidata branch
Change-Id: Id4e0f40c03679c13d8934a6add99b5cd86d0437d
2012-10-08 13:58:54 +02:00
Catrope
736db146cc (bug 40660) Don't mangle &nbsp; in on-wiki JS.
Fixed by no longer using MessageCache::get() in
ResourceLoaderWikiModule. The only reason I see for using it is to make
default values for .js pages in the MediaWiki: namespace work (by
specifying them in an .i18n.php file), but that's evil and no one was
doing that other than putting in descriptive comments like
/* Site scripts go here */. That, and the previous implementation of
MediaWiki namespace JS that RL replaced did it, so I kept it at the
time, assuming it must have been needed for some reason.

Change-Id: Ica7f35fefcc200f0b3daf1d06d98a0b8ea878f3a
2012-10-06 11:07:50 +02:00
Siebrand
766ed469cf Merge "Stylize" 2012-10-03 14:49:22 +00:00
Timo Tijhof
ff594d3b0a ResourceLoader: Refactor style loading
Fixes:
* bug 31676: Work around IE stylesheet limit.
* bug 35562: @import styles broken in modules that combine
  multiple stylesheets.
* bug 40498: Don't output empty "@media print { }" blocks.
* bug 40500: Don't ignore media-type for urls in debug mode.

Approach:
* Re-use the same <style> tag so that we stay under the 31
  stylesheet limit in IE. Unless the to-be-added css text from
  the being-loaded module contains @import, in which case we do
  create a new <style> tag and then re-use that one from that
  point on (bug 31676).

* Return stylesheets as arrays, instead of a concatenated string.
  This fixes bug 35562, because @import only works when at the
  top of a stylesheet. By not unconditionally concatenating files
  within a module on the server side already, @import will work
  in e.g. module 'site' that contains 2 wiki pages.

  This is normalized in ResourceLoader::makeCombinedStyles(),
  so far only ResourceLoaderWikiModule makes use of this.

Misc. clean up and bug fixes:
* Reducing usage of jQuery() and mw.html.element() where
  native DOM would be very simple and faster. Aside from
  simplicity and speed, this is also working towards a more
  stand-alone ResourceLoader.
* Trim server output a little bit more
  - Redundant new line after minify-css (it is now an array, so
    no need to keep space afterwards)
  - Redundant semi-colon after minify-js if it ends in a colon
* Allow space in styleTest.css.php
* Clean up and extend unit tests to cover for these features
  and bug fixes.
* Don't set styleEl.rel = 'stylesheet'; that has no business
  on a <style> tag.
* Fix bug in mw.loader's addStyleTag(). It turns out IE6
  has an odd security measure that does not allow manipulation
  of elements (at least style tags) that are created by a
  different script (even if that script was served from the same
  domain/origin etc.). We didn't ran into this before because
  we only created new style tags, never appended to them. Now
  that we do, this came up. Took a while to figure out because
  it was created by mediawiki.js but it calls jQuery which did
  the actual dom insertion. Odd thing is, we load jquery.js and
  mediawiki.js in the same request even...
  Without this all css-url related mw.loader tests would fail
  in IE6.
* mediawiki.js and mediawiki.test.js now pass jshint again.

Tested (and passing qunit/?module=mediawiki; 123 of 123):
* Chrome 14, 21
* Firefox 3.0, 3.6, 4, 7, 14, 15, 16beta
* IE 6, 7, 8, 9
* Safari 4.0, 5.0, 5.1
* Opera 10.0, 11.1, 11.5, 11.6, 12.0, 12.5beta
* iPhone 3GS / iOS 3.0 / Mobile Safari 4.0
  iPhone 4 / iOS 4.0.1 / Mobile Safari 4.0.5
  iPhone 4S / iOS 6.0 Beta / Mobile Safari 6.0

Change-Id: I3e8227ddb87fd9441071ca935439fc6467751dab
2012-10-03 00:23:16 +02:00
Timo Tijhof
1f987fb5ee (bug 40448) Replace legacy mwsuggest with mediawiki.searchSuggest
The module has been broken for a while now, but nobody noticed
because in plain core it is disabled by default, and in the
bundle we ship with Extension:Vector (and its SimpleSearch).

This commit removed the mediawiki.legacy.mwsuggest module (and
related components that become obsolete with its deletion) and
replaces it with the new mediawiki.searchSuggest module, which is
based on SimpleSearch from Extension:Vector (where it will be
removed soon).

The following and all references to it in core have been removed,
I also made sure that they weren't used in any of extensions/*.
Only matches in extensions/Settings and some file that dumped the startup module, and in extensions/Vector which are addressed in
I1d5bf81a8a0266c51c99d41eefacc0f4b3ae4b76.

Had to make a few updates to jquery.suggestions to make it work
in other skins. So far it was only used in Vector, but now that
it is used in mediawiki.searchSuggest, I noticed several issues
in other skins. Most importantly the fact that it assumed the
default offset was from the right corner, which isn't the case in
Monobook where the search bar is on the left (in the sidebar).

It now detects the appropiate origin corner automatically, and
also takes directionality of the page into account.

It also uses the correct font-size automatically. Previously it
used font-size: 0.8; but that only works in Vector. Every skin
seems to have its own way of making a sane font-size. In Monobook
the <body> has an extra small font-size which is then fixed in
div#globalWrapper, and in Vector it is extra large, which is then
fixed as well deeper in the document. Either way, the size on
<body> can't be used, and since this suggestions box is appended
to the <body> (it is a generic jQuery plugin without knowledge of
the document, and even if we could give it knowledge inside
the configuration, it'd have to be per-skin). So I removed the
Vector specific font-size and let it handle it automatically.
This was needed because it is now used in all skins.

Removed modules:
* mediawiki.legacy.mwsuggest:
  > Replaced with mediawiki.searchSuggest.

Removed messages:
* search-mwsuggest-enabled
* search-mwsuggest-disabled
  > No longer used.

Removed mw.config.values:
* wgMWSuggestTemplate
  > Obsolete.

* wgSearchNamespaces
  > Obsolete.

Removed server-side settings:
* $wgEnableMWSuggest
  > Suggestions are now enabled by default and can be disabled
    through the user preference `disablesuggest` still.
    They can be disabled by default site-wide or hidden from
    prefs through the standard mechanisms for that.

* $wgMWSuggestTemplate
  > Obsolete.

Removed methods
* SearchEngine::getMWSuggestTemplate()
  > Obsolete.

Filters:
 $ ack mwsuggest -i -Q --ignore-dir=languages/messages
 $ ack wgSearchNamespaces -Q

Message changes:
* vector-simplesearch-preference
  > It was wrong, it didn't activate search suggestions, that
    was handled by the Vector extension. This preference in
    MediaWiki core controls whether the SimpleSearch bar HTML
    and CSS will be used (e.g. the rectangle search box with
    the magnifying class instead of the browser-default input
    field with the plain submit buttons).

* searchsuggest-search
* searchsuggest-containing
  These come from Extension:Vector message and should be imported
  by translatewiki:
  - vector-simplesearch-search
  - vector-simplesearch-containing

Change-Id: Icd721011b40bb8d2c20aefa8b359a3e45413a07f
2012-10-02 04:51:51 +02:00
jeroendedauw
1ccaff3ee8 Stylize
Change-Id: Ia9532f06db8331da1ea5ff9c9398073d7d084484
2012-10-01 12:36:15 +02:00
jeroendedauw
e1101bbb6f Style fix
Change-Id: I6b900924b07b44152fa943d10400fe151b4046c8
2012-09-27 21:36:14 +02:00
daniel
b6fe213226 merge latest master.
some tests fail due to logical changes, will fix that in a follow-up

Change-Id: I8a5e4087ecf674fbcf6327c5d168cd401be12400
2012-09-05 17:50:13 +02:00
Aaron Schulz
a53de31828 Added explicit DB flags for Revision loading calls.
Change-Id: Ie90d4197ad7a16009c96273eeae1a658678a8200
2012-08-29 20:04:30 -07:00
daniel
9994968774 merged master
Change-Id: Ib2b879c4daa17401eeeb50767c0e5a54254855c3
2012-08-29 15:20:15 +02:00
Daniel Kinzler
392af46809 Revert "merged master"
This reverts commit 67bfdc7a68
2012-08-29 13:14:49 +00:00
daniel
67bfdc7a68 merged master
Change-Id: Ib2b879c4daa17401eeeb50767c0e5a54254855c3
2012-08-29 12:06:38 +02:00
Santhosh Thottingal
bbbcf089db CLDR Plural rules based plural form calculation
* Use the plurals.xml of CLDR for the plural rules of languages
* Use plurals-mediawiki.xml to override or extend the rules inside MW
* Remove the convertPlural method in each LanguageXX.php
* Parse and load the xml files in LocalisationCache
* Use the CLDRPluralRuleEvaluator.php for parsing the cldr plural rules
  (This is taken from Translate extension and might require a replacement
   parser without using eval)
* Add getPluralRules() to make the CLDR plural rules available to JS.

PS3: More method documentation, cleanup

Change-Id: I58a9cdfe60c7b9027bf031c91370472054f04ae2
2012-08-16 11:45:17 +10:00
daniel
d87135d706 merged master
Change-Id: Iad12ee382d6aeb1fab6fefb611d290b74865ea4b
2012-07-23 22:07:18 +02:00
robin
5165d83505 Make dates in sortable tables depend on page content language
Make javascript variables wgDefaultDateFormat, wgMonthNames and wgMonthNames, used to sort dates in tables, depend on the page content language.

Change-Id: I18a53ba004f3dd877e2d06ed722491167e31b473
2012-07-12 14:01:15 -04:00
Reedy
444ab875f9 Merge changes Icfd267a9,If956c0a1,I0e232273,Ia84494c8,Ib70e0046,If2c01a11,I40196371
* changes:
  prettify documentation
  converts '@fixme' to '@todo FIXME'
  update @param @return doc in several files
  prettify filerepo documentation
  prettify SkinTemplate:makeLink documentation
  move parameter doc under @param
  escape tags and entity in doxygen comments
2012-07-10 16:12:55 +00:00
Antoine Musso
f3f985c619 remove unneeded @abstract
Doxygen does recognize abstract methods when it is properly marked as
abstracted. That keyword is a left.

Change-Id: I7df790058edf0eefb07eb4c37a2586b5c16898e3
2012-07-10 16:43:05 +01:00
Antoine Musso
aab43dd495 escape tags and entity in doxygen comments
When inserting XML elements inline <such as this one>, doxygen chokes
about it not being known. Simply enclosing the tag in double quotes
prevents doxygen from emitting a warning.

Also enclosed a few invalid functions calls such as \. and double quoted
the HTML entities such as &foobar;

Change-Id: I4019637145e683c2bec3d17b2fd98b0c50a932f1
2012-07-10 17:08:32 +02:00
Timo Tijhof
a2ec7c7aba ResourceLoader.php: Fix E_NOTICE
* Follows-up d328613246

Change-Id: Idc2da99c941047a3f5e345457fd7b71cdf417257
2012-06-29 10:40:28 +02:00
Timo Tijhof
d328613246 (bug 38024) Skip styles for modules that don't have stylesheets
* <s>Best viewed in IE 4 and with a 800x600 resolution.<s>
  Best viewed with -w due to additional indention.

* Saves number of <style> tags inserted, which in turn is good for
  IE's stupid stylesheet limit (bug 31676).

* Also saves a little bit of bandwidth by outputting
  {} instead of {"":""}.

Change-Id: I436a6a1c64452fc60a58fd9a478a2ac2b1328211
2012-06-28 15:10:39 +02:00
daniel
b801fa8b3b merged master
Change-Id: I6cf08c09c7d9b38ecce0b2bbed61431939edd7d4
2012-06-20 19:13:16 +02:00
Santhosh Thottingal
f47dfe9939 Remove duplication of Langauge digitTransformTable in javascript.
Use the new ResourceLoaderLanguageDataModule for passing the digit
transform table and digit separators (comma or dot) from the PHP
classes. And remove the duplicative javascript files so we no longer
have to maintain changes to MessagesXYZ.php and languages/xyz.js.

Change-Id: Icf63ebf927f993fe04518c4afe3a0b6959f5b1bd
2012-06-18 00:05:24 +02:00
daniel
a830943203 Merge branch 'master' of ssh://gerrit.wikimedia.org:29418/mediawiki/core into Wikidata 2012-06-14 12:43:43 +02:00
Catrope
0ae0912744 Fix for 15e5193a19, broke in debug mode
We shouldn't be combining styles in debug mode anyways.

Change-Id: I8f0503e665df870e0940314e10185b94624869b9
2012-06-13 18:06:00 -07:00
Catrope
15e5193a19 Fix media type handling for CSS that's not loaded with only=styles
We were only doing server-side @media wrapping in only=styles mode but
not in regular mode. Meanwhile, the client-side loader had dropped all
support for media types under the assumption that this was all handled
server side, which caused media type handling to break for modules
loaded the normal way. We didn't notice this before because the only
core module that uses this is skins.vector, which is loaded through
only=styles.

Change-Id: I8228cc0317328440256b45b166eef1b57dbf4602
2012-06-13 16:50:13 -07:00
daniel
3d58f903d8 Merge branch 'master' of ssh://gerrit.wikimedia.org:29418/mediawiki/core into Wikidata 2012-06-11 17:45:59 +02:00
Timo Tijhof
1f5925f395 mw.language: Document ability to set multiple values at once.
* ResourceLoaderLanguageDataModule uses this but it looked
  a bit like an error when looking at the function signature
  of setData.

  This is the power of mw.Map.

* Fixed indention as well.
* Added missing semi colon.

Change-Id: I1e9e8254862ae08e9a11e55dd42d7e851a56a3cc
2012-06-09 17:47:41 +02:00
daniel
2ce15203a6 getting rid of getRawText() 2012-06-08 08:34:38 +02:00
Timo Tijhof
59a390c8b1 ResourceLoaderLanguageDataModule: clean up
Change-Id: Id64e7ec8f22cc74926ff374ca207bf19552398aa
2012-06-06 22:07:29 +02:00
jeroendedauw
a7e28d2011 merged master
Change-Id: I4cf7b0f87cd571a6b50f66995dd9ad987a6ecdf8
2012-06-06 16:44:15 +02:00
awjrichards
c29fd59775 Big oops - merged to wrong branch.
Revert "Revert to arbitrarily old point before initial remote branch creation to help clean up"

This reverts commit ee0d3d330f
2012-06-05 22:58:54 +00:00
awjrichards
ee0d3d330f Revert to arbitrarily old point before initial remote branch creation to help clean up
Change-Id: I41a3d1e55d3ea9dffa42451237fe065f9334361d
2012-06-02 08:43:04 -07:00
Santhosh Thottingal
4c6c50f206 Reverse the dependency for mediawiki.language.data
* Previously mediawiki.language.data depended on mediawiki.language,
  making any module using langauge data having to explicitly define
  it as a dependency. This is not good. We should abstract the data
  generation part and for the users of the module.
  mediawiki.language should take care of having the required data.

* So, reversing the dependency so that mediawiki.language depends on
  mediawiki.language.data. Then a simple dependency declaration with
  "mediawiki.language" is enough to have associated data available.

This supersedes change set I810fb0a5

Change-Id: Iede836bb3e2fd700cb7c58caeebe9ec2e0043dfb
2012-06-05 15:54:27 +02:00
daniel
250da851d1 merged master 2012-05-29 17:01:13 +02:00
Aaron
e302c675a2 [ResourceLoader] Use getLanguage() accessor as the field is lazy-loaded.
Change-Id: I6a106d1557366f6ff4586c9604fd324be51d7e1f
2012-05-25 14:52:39 -07:00
Alexandre Emsenhuber
aad9d5fd6b Removed checks for the "MEDIAWIKI" constant on files that only define classes.
This checks are not needed in that case.

Change-Id: Ia83447427de8b7ea32aced8ff43c7a252b8d504c
2012-05-23 21:20:42 +02:00
Max Semenik
cd7923ac16 Introduced the concept of raw ResourceLoader modules
This is needed for mobile scripts that are supposed to work on dumb
devices and as such can't rely on client-side RL, but still can take
advantage of server-side minification and concatenation.

Patchset 2: Allow loading raw modules with &raw=true appended to URL.

Change-Id: I9410ffbf6633075e07bd06b10a98a4d12d9b6106
2012-05-16 01:03:12 +04:00
daniel
01f36b721f merged latest master 2012-05-14 23:24:18 +02:00
Szymon Świerkosz
bde989e74c Add support for User:0 in 'user' and 'user.groups' RL modules.
Change-Id: I290e44166306036629ada990e233f098558c2aea
2012-05-10 20:12:13 +02:00
Catrope
4910a61046 Factor out module name validation into a static function
Also add the requirement that module names be at most 255 bytes, so
they'll fit in the DB fields that we put module names in (md_module,
mr_resource, mrl_resource)

Change-Id: I7193c9beb7aff4eabfe20db461e6f9032ae994b1
2012-05-09 14:41:27 -07:00