Commit graph

351 commits

Author SHA1 Message Date
Ed Sanders 3269d53632 Support only surfacing part of the document
Bug: T76541
Depends-On: I227a0d704b9b337cff2102d424be9795d6362ed7
Change-Id: Iac71a51c8696434658f24fbb41c8142237bd810e
2019-02-13 19:03:44 +00:00
Bartosz Dziewoński 3dbff552dc ve.init.mw.Target: Remove unused property
Unused since 6e64fba2f8.

Change-Id: I223f2346c04573a9e853b49bfc83e542cec47c61
2019-01-24 21:05:48 +01:00
James D. Forrester 3c293ea00c doc: Bump copyright year for 2019
Change-Id: I8991b97c980d4149f53eb5601036220ef3c0c440
2019-01-01 13:24:23 +00:00
Ed Sanders ec42733225 Rewrite DOM junk filter as array concatenation
Avoids regressions like If399319b2675ac8c.

Change-Id: I43851931e3b9ee461abd0cfce0627bfb6a2bd041
2018-12-11 15:23:37 +00:00
Bartosz Dziewoński 27fdbe0581 Fix filtering out .donut-container again
Follow-up to a5c5176333.

Bug: T189148
Bug: T209619
Change-Id: Ibcf3c93e5b1121f8168ab3280a41917e8f7baa7d
2018-12-11 01:12:35 +01:00
Derk-Jan Hartman 71ceb51c81 Blacklist javascript links
These aren't supported by VE-MW, so must just be
garbage from a browser plugin, possibly Citavi.

Bug: T200971
Change-Id: I9f34e9890e7f59d76cd464778481c415cc3c5dbd
2018-11-27 21:10:09 +01:00
James D. Forrester a5c5176333 Filter out junk from the HON browser plug-in
Bug: T209619
Change-Id: If399319b2675ac8ca6d3d17acbf96634ab5f6395
2018-11-19 15:25:12 -08:00
Ed Sanders 7eb836adbc Update VE core submodule to master (7420443fe)
New changes:
a273ba69c [BREAKING CHANGE] Implement a SourceConverter

Local changes:
* Use SourceConverter
* Handle `this.doc` being a string in source mode now

Bug: T203114
Bug: T203156
Change-Id: I7bce7b57668e0c1dd511803a54178ae69694a86d
2018-09-14 11:42:34 +01:00
Ed Sanders 22f3075b52 Fix typo in mw.Target#setupSurface
Bug: T203213
Change-Id: I38eda4aac48b3363c6211e225b8f0cadf6b40853
2018-08-31 13:16:21 +01:00
Ed Sanders 07e05c7954 Cleanup: Get rid of surfaceReady callback
Just call the method after surface init.

Also move all the post-dm building code into
an #addSurface override.

Change-Id: Ie40baadfa6cd826a92f8fb7d928f4d995286f69f
2018-08-25 14:04:00 +01:00
Ed Sanders 900b74e9a9 Update VE core submodule to master (14bcc9256)
New changes:
14bcc9256 Give toolbars groups names

Local changes:
Give toolbars groups names

Also create an empty placeholder group for reference tools.
This allows targets to specify if they should show them.

Depends-On: Iccaf35cf941cb47ad55e8d98373461f5eaff5fed
Change-Id: I0bace5e5fe05f9c214d57a74c478b48a7dcaec3b
2018-05-13 18:09:33 +01:00
Ed Sanders b5371c791f Add comment to htmlBlacklist item
Bug: T150418
Change-Id: I0c48ff6f187cde4c378e5aa193e62d107bc7919c
2018-05-07 21:49:34 +01:00
Ed Sanders 8bddec44e3 Create an MWSurface and move langChange handling there
Change-Id: I8a75b5f431f454b66441fc301b90e5f28636612e
2018-05-07 11:53:23 +01:00
Ed Sanders 478b0bcbb9 Create getters for localised APIs (getContentApi/getLocalApi)
Pass through the current document when available, otherwise
assume the current surface's document.

Also add a getter for getPageName, so that can vary based
on the target document.

Bug: T193856
Change-Id: Ifdc951fdc6a43b924d102e3fcd7e59e52023757b
2018-05-05 14:32:55 +01:00
Ed Sanders 6625fc5c85 Blacklist images with data URLs
These aren't supported by VE-MW, so must just be
garbage from a browser plugin.

Bug: T192392
Change-Id: I24646244daf2847e4dee88273058658300880dfc
2018-04-17 20:10:51 +01:00
Ed Sanders 3682ab070d mw.Target: Remove .protectedClasses, only used in ArticleTarget
Also fix documentation

Change-Id: I3fa93dd95c3ef47f649d3f92a38e14750a411333
2018-04-12 15:38:23 +00:00
Ed Sanders 16211cdc09 Abstract API calls to 'parsefragment'
Change-Id: Id0be3207219a6d93cebff2b6b5061cd24898d5cb
2018-04-06 13:49:16 +01:00
Ed Sanders d3e5385944 Visual diffs in source mode section edits
Bug: T190845
Change-Id: I938352eec8b49f27784c12ddea72bbe69fdd6cb2
2018-03-27 17:53:54 +01:00
Bartosz Dziewoński b05ac142c6 Blacklist Web of Trust junk from being added to pages
Bug: T189148
Change-Id: Icc4b2d0ddf5104e26a3f563816f6f971d71e2531
2018-03-07 22:12:43 +01:00
Ed Sanders 31f7015260 Whitelist style tags from Parsoid, e.g. TemplateStyles
Bug: T188143
Change-Id: I7a30d8a8c40de8b786d59c8bf0ebcb77f2baeb2a
2018-02-26 16:52:01 +00:00
James D. Forrester 0a7a845a42 doc: Bump copyright year
Change-Id: I0b299c840ede1a1b8552cecfc70c5760ab036181
2018-01-03 17:45:07 +00:00
C. Scott Ananian b85caca493 Strip legacy section IDs from inside headings
We emit <span id="..." typeof="mw:FallbackId"></span> inside headings
when necessary to provide backward compatibility with pre-HTML5
section ids.  These are mostly harmless inside VE --- they become hidden
alienated nodes, which are then safely ignored by Parsoid during html2wt
even if they manage to migrate outside of a heading --- but it's a
little safer to strip them.

Change-Id: I07d0fcf54427ab02d4930cff183d3e5579a99306
2017-12-12 12:15:05 -05:00
Ed Sanders 267d60f61a Unwrap Parsoid sections
Section wrapping will be introduced in I0f4c19f7.

Change-Id: I43ced131d07a20318af37e830318e30db2eb451f
2017-11-23 12:19:57 +00:00
Roan Kattouw f37caa6a6f Move source mode newline hack down to ArticleTarget
We need this hack when visually editing articles, but not in e.g. the
Flow integration. Move it down so that mw.Target has a clean
parseDocument method that can be used by Flow without undesirable
newlines being introduced.

Change-Id: I52bba88b3d33c3d6d16c4cf832f23f970a243abf
2017-11-17 13:15:27 -08:00
David Lynch 4e938e58c7 init.mw.Target: make getSurfaceConfig aware of modes
ve.init.Target sets up TriggerListeners based on getSurfaceConfig if there's
no Surface instantiated. As such, loading directly in source mode would have
those listeners present and assuming the document is in visual mode. So, if
there's not a Surface already, we'll assume we're going to get one created
with the defaultMode, and set things up expecting that.

Bug: T153959
Change-Id: Ia0afe32e6b63ea0d3418137ca5c8bc32c009ecfa
2017-10-10 15:14:25 -05:00
Ed Sanders 1efd8c5a61 Add mw-parser-output class to CE document
Bug: T164790
Change-Id: I14ee60dc3e68aad02a740af06f5749e6b5e3329c
2017-07-17 18:04:52 +01:00
jenkins-bot 7cd5a5d61f Merge "Add newline to end of wikitext documents" 2017-06-21 01:10:57 +00:00
Ed Sanders 09519a24d2 Add newline to end of wikitext documents
Bug: T156609
Change-Id: I80d82ad87464b1c6e0344b29123bb96fcc4cffad
2017-06-20 17:51:51 -07:00
Ed Sanders 585cf5f990 Fix getWikitextFragment shortcut to return a promise
Change-Id: Ide5c920332ba9dd0777a7c63e27ebbbc9a391172
2017-06-17 19:42:24 -07:00
Ed Sanders 75d583a0d9 Use static parseDocument method
Change-Id: I545a58ffcbf1c7c57c197f4858958de835a40394
Depends-On: I5b36e187a5e8bb68b47b2fccf5b46c08b81b01d9
2017-06-08 14:43:09 +01:00
Ed Sanders f178061117 [DEPRECATING CHANGE] Make Target#createModelFromDom static
Change-Id: I019689f87ac0f7f40a8a7600029b5ce1bc92e77f
2017-06-08 14:35:31 +01:00
Ed Sanders 1a577b668d Move getWikitextFragment up to Target from ArticleTarget
Any MW target may want to get a wikitext fragment, not just
ArticleTargets. Requires us to move refreshEditToken up as well.

Change-Id: I27d30e20fefd5ba266d3d8e5f99383e9b4d4993a
2017-05-21 07:57:49 +00:00
Ed Sanders ae780f43ed Fix typo in surfaceReady documentation
Change-Id: I4ae5552000eb6dc160acc4fd2e2b218bf2c7411f
2017-03-22 20:35:42 +00:00
Ed Sanders 12c73bc01f Update VE core submodule to master (ef5dc965f)
New changes:
4b94f212e Add tool to change directionality of document view

Bug: T153356
Depends-On: I1e3d89e8250b75d0b6992cf4664e84de66d99bc0
Change-Id: Ic832cc661a0899b1668eb650fb09b66ada54d1ef
2017-03-16 12:42:42 -07:00
Ed Sanders 7a058a4de8 Remove explicit toolbar indicator definitions
These are now computed upstream based on position of toolbar.

The menu tool now needs its indicator explicitly hidden.

Change-Id: Id2280f70553e1e45f3a42af45684c5808797925c
2017-02-04 10:25:37 +00:00
Ed Sanders 1ae5c13cb9 Update VE core submodule to master (f0dcedb)
New changes:
5b448fa [BREAKING CHANGE] Merge Mobile/DesktopSurface into Surface
2d8959b Localisation updates from https://translatewiki.net.
7eee772 Follow-up 2d8959b: Fix build for added language 'io'
f0dcedb ve.dm.TableMatrix: Really indent ASCII-art comments

Change-Id: I62708f7caeb03b16cd318aab0b0ee3c674e75a26
2017-01-20 14:35:39 -08:00
James D. Forrester 122f49b2dd build: Bump file copyright notices for 2017
Change-Id: I3c20809e71cc0da58123e1b5f29c4f3aac945496
2017-01-03 08:58:33 -08:00
Ed Sanders 46385a557e Ensure document base is always correct, even in source mode
Bug: T153624
Change-Id: I3f74f67ce975f5b371ab42adf5213256ae816f7f
2016-12-19 21:08:58 +00:00
Ed Sanders 8bca6cc777 Inherit more functionality from core source mode
Change-Id: Id027681ab5f0c9f4b9ed127b583e45f0fe57ce69
Depends-On: I02f3849027a6652701c2d354d1b77ece9d1a56c1
2016-12-01 18:44:54 +00:00
Ed Sanders 218742d806 Update VE core submodule to master (ae30d71)
New changes:
f58ddea DiffElement: Use document slices with full internal lists
83800c0 DebugBar: Remove hard-coded i18n
b4f89e1 Update OOjs UI to v0.18.1
40c7bf6 Factor out active node functionality from SectionNode for captions
2d967be Move 'mode' property to surface, rename target property to 'defaultMode'
5d8c214 wrapAllNodes in sourcefragment
dd3d9e5 Refactor ve.dm.Transaction
9d61aca Use canonical ve.dm.TransactionBuilder.static.newFrom* methods
df4f72a Make table caption node an active node
b79f72d Core source mode
7533ac4 Localisation updates from https://translatewiki.net.
ae30d71 SourceSurfaceFragment: Check range is not collapsed

Local changes:
Get edit mode from surface where possible

Depends-On: Iec758c1892d518ad4bc2c0d1aaf6ca00fa354323
Change-Id: Ifaf6a26078b2731b374aaad2cb40c08928de9c84
2016-12-01 10:40:01 -08:00
Ed Sanders aeafa6afca Update VE core submodule to master (9625e8f)
New changes:
f1297b8 [BREAKING CHANGE] Allow target widgets to be re-used

Local changes:
Re-use target widgets

Change-Id: I5decb918f398704d4b6c108a16fbc1cc073ef077
2016-11-29 11:48:15 -08:00
Timo Tijhof cde3d2a7f8 init: Initialise 'active' property in mw.Target instead of subclass
This is set to 'true' in mw.Target#setupSurface(), but not initialised or
used there in that class.

It was previous initialised in an indirect subclass (DesktopArticleTarget).
Move this to the parent class instead for clarity.

Change-Id: Ie3e12d254aa4b689fdce64620e110164311bc60a
2016-11-21 18:06:52 -08:00
jenkins-bot 8fd396151c Merge "Migrate DesktopWikitextArticleTarget code upstream" 2016-11-20 03:06:55 +00:00
Ed Sanders e1a887ccf8 Migrate DesktopWikitextArticleTarget code upstream
Change-Id: Icca4715411737a561302b44b127d91d117e7e29b
2016-11-20 02:52:14 +00:00
Ed Sanders 134477a840 Setup htmlBlacklist and add rule for read-mode MW references
Logically depends on If1b20fefe4b.

Bug: T150418
Change-Id: I0e2249b64f3b452c0322e7a20515ee7b2b6c6f60
2016-11-15 17:20:17 +00:00
Ed Sanders a0dd888485 Use a streamlined 'converter' in wikitext mode
Converting a document we know contains just plain text paragraphs
is slower than it needs to be. The speeds up the conversion of
[[Barack Obama]] from ~2000ms to <100ms.

Change-Id: I2081858d835286b48db0627696a9eb5294317c2e
2016-10-05 16:40:28 +00:00
James D. Forrester feeb2c3906 ve.init.mw.Target: Drop <noscript> tags on serialisation
These aren't in the Parsoid HTML spec., so there's no valid way that they would
be in the original document from upstream, and we don't—at least intentionally—
allow users to insert them, so we can safely assume that they're resulting from
browser extensions and other items inserting content into anything that sort-of
looks like an HTML page.

Bug: T144891
Change-Id: I330ae05cd53eee5c18b18ad744ea0ec7b2eb09cc
2016-09-08 14:13:11 -07:00
Ed Sanders 34ff174b85 Update VE core submodule to master (4408c13)
New changes:
e7cb202 Mark context wrappers as wrappers
20b75af Localisation updates from https://translatewiki.net.
a4dde9f Annotate pasted external text
8148301 Always preserve leading whitespace when converting for clipboard
82a35b7 TransactionProcessor: Apply annotations to ranges at the highest uniform offset
21fc1eb Restore previous selection when annotation inspector is dismissed
358181c Preserve prior valid DOM selections in showModelSelection
a0f7dba build: Bump various devDependencies to latest
0ae0f7e Follow-up Iabec6a6: Fix typo in mousemove selection update code
d69a4df Provide tools to make text bigger or smaller

Local changes for big/small tools

Change-Id: If418a1a47276cc1e1530c4a3ad6784136d8d14f8
2016-08-05 11:54:52 -07:00
Ed Sanders 8d17509031 Blacklist <time> annotation pasting in MW targets
Change-Id: Idef20f604023efa767c7510ed768c6f80e472559
2016-08-01 15:53:56 +01:00
Ed Sanders b104525c8c Blacklist article/section from external paste
Bug: T137441
Change-Id: I9ae85306a3220126462c69e4ea0a2a5e905fffa1
2016-06-13 12:22:10 +01:00