Commit graph

5249 commits

Author SHA1 Message Date
Subramanya Sastry 5445cfcd92 DSR computation: Handle <ref> tags nested in <references>
* The current fix is a hack to fix dsr issues right away.
  Meanwhile, will invesitigate a fix that will involve processing
  <references> in its own subpipeline and persisting state into
  the top-level page.

* Fixes a known selser failure from bug 62025.

Change-Id: I0f80d68e927f500939a44af401cc73c07e24721f
2014-02-28 15:56:19 -06:00
Subramanya Sastry 742b5d4453 Renamed function name & reorder args for clarity + added docs.
* Renamed buildDOMFragmentForTokenStream --> buildDOMFragmentTokens
  and made env. the first arg.

* Added documentation to buildDOMFragmentTokens and encapsulateHTML

Change-Id: I7eccfd3f4dc5b4b91d20d1d24d98ec514df6dfbc
2014-02-21 14:37:10 -06:00
Translation updater bot c0223390dc Localisation updates from https://translatewiki.net.
Change-Id: Icaf59967255d6542fde804d24e29b0e97f5d59b4
2014-02-20 21:01:28 +00:00
Translation updater bot 3bc33267b2 Localisation updates from https://translatewiki.net.
Change-Id: I80553ed31ae93cc944550488e7bb5c91cb0183f6
2014-02-17 20:44:44 +00:00
Translation updater bot 1da4cea3ff Localisation updates from https://translatewiki.net.
Change-Id: I0af1809c50ef8763654d9a46049fbf4d9ee68aec
2014-02-16 20:18:27 +00:00
Translation updater bot ee71aea5f1 Localisation updates from https://translatewiki.net.
Change-Id: Id227cecf85b13b30be392b7d0a52d605bd7b74c4
2014-02-15 21:03:05 +00:00
Translation updater bot 1e33a73e02 Localisation updates from https://translatewiki.net.
Change-Id: I705521ac7c157f139127f54332205d8fc5494f61
2014-02-13 21:16:17 +00:00
Subramanya Sastry 7a949a4eb5 Code cleanup: Pipeline utilities now take env and parent frame.
* Removed manager and passed in env and parent-frame to all
  utilities that process content in new pipelines.

* Added more documentation to mediawiki.Util.js.

* Renamed processAttributeToDOM to a more appropriate name.

* Added pipelineFactory property to env and used that to
  construct parsing pipelines everywhere.

Change-Id: Ic612e5630d19d4e3f5d6388bc5cd117d337fd799
2014-02-12 01:21:15 +00:00
Arlo Breault a0cbd6e4de Remove token caching and cloning
Bug: 51203
Change-Id: Ia377d5878ac048bab15dbd42187330bee653c6eb
2014-02-11 00:47:58 +00:00
Translation updater bot d5feb8f0aa Localisation updates from https://translatewiki.net.
Change-Id: Id166b522b90573ac93f2ea2375d426834a5e5f27
2014-02-05 21:39:36 +00:00
Subramanya Sastry 34c33103bf Use Map.delete(..) to remove an entry from a map.
* Fixes crasher on frwiki:Mundos_opuestos_2 with oldid 99313179

Change-Id: Ide5a9594ebc7622bb7ff5fc3d6eac09a0f0e1642
2014-02-03 20:10:54 +00:00
Translation updater bot 9de826f98e Localisation updates from https://translatewiki.net.
Change-Id: Ieadba8817989397a89c32eab6739b0719d1bc0ff
2014-02-01 19:40:35 +00:00
Subramanya Sastry fc7985f5ca Added a flag to DOM-fragment unpacking to update fragment DSR
* This patch adds a flag to DOM fragment unpacking to update
  fragment DSR in cases where the fragment needs it (references
  block + reused template/extension/images content). In other
  cases of dom-fragment use, the DSR should not be updated.

  Ex: All cases where fragments are used to implement parsing
  scopes (all A-tag content currently) since DSR computation
  is set up with offsets in the top-level source.

  This is not just an optimization, but a correctness issue
  since the fragment unwrapper always sets the fragment DSR
  on the first node which would be incorrect in scenarios where
  the fragment DOM has multiple top-level nodes.

* Parser test runs now have better DSR values in certain cases.

Change-Id: If1f5bf98dab246a3c8a1869b38335e90268cb5c5
2014-01-30 18:19:10 -06:00
Gabriel Wicke 32a1718133 A few small performance tweaks
* Use string concatenation instead of Array.push & join for accumulators:
  http://stackoverflow.com/questions/7299010/why-is-string-concatenation-faster-than-array-join

Overall parser tests might be slightly faster, but the improvement seems to be
within the margin of error.

Change-Id: I5d9e4191a79253fa808c9b0a26052470e8613a79
2014-01-30 11:14:55 -08:00
Fomafix f8ed124589 Exclude backlinks from selection
Steps to test the change:
* Open a random page in browser.
* Select all or a part of the page.
* Copy the selection to clipboard.
* Open a word processor like LibreOffice Writer.
* Paste the content of the clipboard.

Change-Id: Ibae4292b5dd8cc02a769e85adfea991d8d6ceb59
2014-01-30 07:59:44 +00:00
C. Scott Ananian 301b9541b5 Uniformly use Array.isArray to test whether an object is an array.
This reads better than manually testing the constructor, and often
leads to terser code since we don't have to check whether the argument
is an non-null object before querying the constructor field.

Change-Id: I53ec87d6e80d658aa3d26dc2b613dc6c58e2d026
2014-01-27 17:28:11 -05:00
C. Scott Ananian b4fd3bef6f Use es6 methods instead of fakejquery.
In particular, use `Array.isArray` instead of `$.isArray`, and
`Object.assign` instead of `$.extend`.  `Object.assign` operates only on own
properties, so use `Object.create` on the prototype where necessary to
get inherited properties.  `Object.assign` does a simple assignment and
is appropriate in most places, but be careful if we ever install
getters/setters on a prototype.

Implement `Util.clone()` from scratch to have a jquery-compatible deep
clone operation.  In particular, this needs to ignore objects which
aren't "plain objects", so we don't try to clone DOM nodes.  Our
definition of a "plain object" is compatible with jquery/zepto.js, and
is thus something of a hack.  We should eventually replace this with a
`console.assert()` and remove/rewrite the places where we try to clone
objects which contain DOM trees and other cruft.

Change-Id: I88c8fe41a9be84c167d5a0ea1187fd258f077968
2014-01-27 17:21:28 -05:00
Translation updater bot 748d3cd14d Localisation updates from https://translatewiki.net.
Change-Id: I5200f52aff18e35a5e556d43523a4e45bceb78c6
2014-01-26 16:18:58 +00:00
Translation updater bot 33da801a0a Localisation updates from https://translatewiki.net.
Change-Id: I0ed75a1cd33a5d4cf4bc12d6c0b927364606f97e
2014-01-24 20:07:06 +00:00
Reedy 56e298e064 Add COPYING
Change-Id: I4ef25b12b81dd8e7a55d74804452bcb98c85ab64
2014-01-22 00:29:37 +00:00
Translation updater bot c27c84683d Localisation updates from https://translatewiki.net.
Change-Id: Ief6f03d4963daefe040c3bd7d3a113fdb85127ae
2014-01-19 20:12:47 +00:00
Arlo Breault eced96cc2c Move .data off DOM nodes
* For now it stores in .dataobject, freeing up .data to
   handle <object> elements.

 * Adds a test that crashes master.

Bug: 57394
Change-Id: I4207d76ad9dab660e890008b2ee5014554ce52c8
2014-01-15 16:59:18 -06:00
Arlo Breault d2ba2d73e7 Properly bump reference anchors
* Adds an index of all the references on a page in order to avoid
   repeating attrs when multiple <references /> tags are present.

 * Update tests to reflect the new behaviour.

Bug: 59782
Change-Id: Ia44bf59a9304788aca170041d3b85f53557151fc
2014-01-13 12:09:54 -05:00
Translation updater bot fe82542618 Localisation updates from https://translatewiki.net.
Change-Id: Id01dba8fc423b99044735fad2dd1e3b85640f89a
2014-01-12 20:34:06 +00:00
Arlo Breault a372d97939 Use maps where wanting
Comments seemed to indicate so.

Change-Id: I63d0524d134d8be166403cfa9d6400cecc1749ed
2014-01-09 22:33:57 -05:00
Translation updater bot 5aa9fdb8e8 Localisation updates from https://translatewiki.net.
Change-Id: I47c8bf7753be7268e7bd068125c6690f963aa555
2014-01-08 20:31:28 +00:00
Translation updater bot 2baee5b17f Localisation updates from https://translatewiki.net.
Change-Id: Ie56127a3ab4e8e26ee13db7a22a3378921c2d247
2014-01-05 20:07:52 +00:00
Translation updater bot 7eb47e67c2 Localisation updates from https://translatewiki.net.
Change-Id: I9da07d765a5fb6b0c48c0b4a04cd85c5622381d2
2014-01-03 20:37:07 +00:00
Translation updater bot 34e798d93e Localisation updates from https://translatewiki.net.
Change-Id: Ibc4bccd6116d9e5596406d7107dd82a63abbf519
2013-12-30 19:56:24 +00:00
Translation updater bot bfcbca3044 Localisation updates from https://translatewiki.net.
Change-Id: I51d57bf5dc28cb1dc2a4fe3cf51da0559b9a2e95
2013-12-29 19:28:28 +00:00
Translation updater bot 2fc273d4ef Localisation updates from https://translatewiki.net.
Change-Id: I24da3e111393c430599ea63082edb0f563f59a3c
2013-12-23 20:46:22 +00:00
Translation updater bot 440dd0d060 Localisation updates from https://translatewiki.net.
Change-Id: I25dcda2385f2b51be2f3fbb0b545ca92551c0615
2013-12-21 20:38:21 +00:00
Translation updater bot 2861552d74 Localisation updates from https://translatewiki.net.
Change-Id: Ibe6c607349149885aedb697a99494a5d4b546635
2013-12-17 19:20:48 +00:00
Translation updater bot 8f97b39891 Localisation updates from https://translatewiki.net.
Change-Id: I639b7b9f0f2550b68c6b50d5dee3dc334697caac
2013-12-15 20:52:52 +00:00
Gabriel Wicke 4cfad3a771 Clean up repo for Parsoid service only
* remove non-JS code (PHP, cpp, misc)
* move js code to the root dir

Change-Id: Ibdf1c0ea46f128adc91238b145c46382c6f4d550
2013-12-13 14:53:24 -08:00
Translation updater bot f620ebae96 Localisation updates from https://translatewiki.net.
Change-Id: I08591ba5fe707fbdfb070cacbcf867d8b1caec1c
2013-12-11 20:26:17 +00:00
Translation updater bot 5ab799025f Localisation updates from https://translatewiki.net.
Change-Id: I046ec6a7dbffaafa7eeb43c09906674f72c5a4b2
2013-12-07 01:33:38 +00:00
Brad Jorsch d945d82fb1 Mark parser hook output as volatile
Using the new functions introduced in I95b3cf87, mark the output of
<ref> and <references> as volatile so that caching can be avoided.

Bug: 46815
Bug: 31834
Change-Id: I897defba32ac6adf72b6bc9ea7e933a87b1ba17b
2013-12-06 18:43:45 -05:00
Translation updater bot 665d751392 Localisation updates from https://translatewiki.net.
Change-Id: I6523be8313ef29d6692a1cf1c9ca125b78fe775d
2013-11-30 19:53:00 +00:00
Translation updater bot f055dc7c68 Localisation updates from https://translatewiki.net.
Change-Id: I225171dec24dbf8a85e886578efc0fcb7e1ad39e
2013-11-29 19:28:06 +00:00
Translation updater bot 1e2a9a3232 Localisation updates from https://translatewiki.net.
Change-Id: I6d6fb197e2e46c7bc1c1a1aef3dd7754bfe6e11c
2013-11-27 19:25:41 +00:00
Translation updater bot c1f868d476 Localisation updates from https://translatewiki.net.
Change-Id: I347747e23b49f102c1af02a35e021bfbba4e973c
2013-11-24 20:33:14 +00:00
Translation updater bot bbec94f7fc Localisation updates from https://translatewiki.net.
Change-Id: I2a821eb888654c2c3394242dc11a8ad621e3bbd0
2013-11-23 10:45:23 +00:00
Translation updater bot dd2997489c Localisation updates from http://translatewiki.net.
Change-Id: I5423d2aed8664944b379fe861a26b6039432a574
2013-11-14 20:35:05 +00:00
Translation updater bot b3050bbca9 Localisation updates from http://translatewiki.net.
Change-Id: Id85bac1c5ba1aeb0eee69801ac2691a987533b83
2013-11-13 20:21:02 +00:00
Translation updater bot 4e314d55b8 Localisation updates from http://translatewiki.net.
Change-Id: I78bdbe1840a3c3f640d4b7a1250289233c7d56be
2013-11-12 20:29:29 +00:00
Translation updater bot 6f41b1587c Localisation updates from http://translatewiki.net.
Change-Id: Ic4743e07885eff23f3a9a755412ce5aff230c187
2013-11-10 20:27:20 +00:00
Translation updater bot 952d833f6f Localisation updates from http://translatewiki.net.
Change-Id: I2f4030080f718b585ddafb9bf90d55a65fd93c7a
2013-11-09 19:09:44 +00:00
Translation updater bot 5ba9259e54 Localisation updates from http://translatewiki.net.
Change-Id: I2f55415a82ad439e7a3f35e95fcf001a47796375
2013-11-03 19:54:16 +00:00
jenkins-bot 2231a9a438 Merge "Only load RL modules when a <ref> tag is being used" 2013-11-03 18:32:16 +00:00