Commit graph

25 commits

Author SHA1 Message Date
Ed Sanders 4d53bcbe09 VE: Don't load CodeMirror code until tool is activated
This saves about 300k uncompressed / 80k compressed whenever VE loads!

Change-Id: I7cf1c35292c2ea48cc15ceb4c22d4473a25484e9
2020-03-19 20:23:24 +00:00
Ed Sanders a134e66777 Don't replace whitespace characters in VE
Bug: T153434
Depends-On: Ic4a5ab803c89b3671f452579bca0da08b779bdfe
Change-Id: Ic3d848ff86cceceeeea9385bfc49ad2241e3801b
2019-11-14 22:30:32 +00:00
Ed Sanders cf9885b586 Match tabSize to surface view CSS property
For browsers that don't support the property, assume
the default value of 8 is used.

Change-Id: Icb9a97fa79e08458bf717903f1d7b68e433e7904
2019-11-14 22:30:32 +00:00
Ed Sanders ef8c62c74b Use renamed ve.visibleWhitespaceCharacters
Change-Id: I246079505d4c37406b3f99ca17b7e8e926adaec5
2018-09-24 16:34:54 +01:00
Ed Sanders 1be09a9a1d build: Update linters
Change-Id: I8d3aaf0b7d453033b72e5d6622b8f54df2c86bca
2018-09-12 00:03:19 +01:00
Derk-Jan Hartman 736c63fd0b Accessibility: Disable both directions of tabbing in CodeMirror
Bug: T197534
Change-Id: Ia05c3ccbdb4baa8e701bf46478c42d2473777535
2018-06-17 19:24:14 +02:00
Ed Sanders dcf28f37a1 Use CM API for setting document direction
Bug: T191923
Change-Id: I68ee7de8ff2d26044fc8a71a04ade65b5d4420c8
2018-04-16 16:53:29 +01:00
Ed Sanders 4f2ace3ad9 Unbreak VE integration in IE11
Element.remove is not supported in IE11 so use
parentNode.removeChild.

Change-Id: Iacfdc2fb563d5ed168dc691ecf439e60e94d4e2a
2018-03-27 21:46:00 +01:00
Ed Sanders 06af670325 VE: Use different approach for transparent text issue
Deferring the insertions can lead to sync issues, so use
a different technique to selective refresh the CodeMirror
view when the height changes.

This reverts commit 8e3d96f75f.

Bug: T188473
Bug: T185184
Change-Id: I502501cc0325db64f29a67716306733859d102a9
2018-02-28 12:38:44 +00:00
jenkins-bot b0ee15034a Merge "VE: Match whitespace rendering of ve.ce.TextNode" 2018-02-25 22:40:46 +00:00
jenkins-bot 348949d15b Merge "Defer update of CM surface to avoid invisible text" 2018-02-25 20:58:45 +00:00
Ed Sanders 8e3d96f75f Defer update of CM surface to avoid invisible text
Bug: T185184
Change-Id: I0b115d892ab322911c895dda030b77f35cc9195a
2018-02-25 18:05:19 +00:00
Ed Sanders 8b27277b20 VE: Refresh rendering after surfaceReady
Bug: T188215
Change-Id: I4c53f554d8091aa71ce59fe04857b588209639d3
2018-02-25 17:58:32 +00:00
Ed Sanders 452d6d0a80 VE: Match whitespace rendering of ve.ce.TextNode
Bug: T187694
Change-Id: Ie27e9862e0f55fcc10af91a2bdd9c5d21d49ddc4
2018-02-19 10:43:53 +00:00
Ed Sanders 80241fb717 Disable WebkitTextFillColor in Firefox+OSX
Avoids opaque selection covering text.

Bug: T175223
Change-Id: Iede96501d4a03ccd80488b4661c18647eb9118e1
2017-11-30 18:05:52 +00:00
Ed Sanders 0296e2dcad Fix typo in name of non-webkit hide class
Also increase opacity to 40% so selection & cursor
are more visible.

Change-Id: Ia957f816de9003eb8b709de3d7993bbfef99e3bc
2017-11-30 16:35:57 +00:00
jenkins-bot ca3ff81fc1 Merge "Remove reference to editfont-default" 2017-10-03 18:48:23 +00:00
Ed Sanders 439628712b Remove reference to editfont-default
Bug: T170223
Depends-On: I1ace59c980740fc785ccbd500e19cc8b71d46a5b
Change-Id: I1e0dcab462aaa8c924b49d42f8679359a449a62e
2017-08-25 18:46:01 +01:00
Ed Sanders 11f592ba54 Add RTL support in VE source editor mode
Bug: T170001
Change-Id: I7223a57969a2299a86d73cfd57336e8d56086520
2017-08-13 11:10:54 -04:00
Ed Sanders cec399b4e3 VE: Disable mw-editfont when using CodeMirror
Due to using bold as a highlight style, the VE overlay technique
will only work with monospaced fonts.

Change-Id: I33e3e07cf0f3d8e25dd35623286eedf28ba20ae1
2017-07-20 21:30:22 +00:00
Ed Sanders 410e442fd1 build: Update eslint, stylelint
Whitespace and regex escaping fixes

Change-Id: Ic706dfd3ed7efb16db104b054091bec0ba0cb5ed
2017-07-20 15:58:31 +00:00
Ed Sanders 16225450c8 VE CodeMirror: Don't handle any specialChars
Bug: T170382
Change-Id: Icf39a5efdc5a553cf5885e4de7189a37a9a7424d
2017-07-12 15:23:49 +01:00
Ed Sanders 91397eb556 Ensure CM surface can't be edited in VE mode
CM surface is just for presentation, it shouldn't
be possible to focus or select anything in the surface,
so in addition to it being beneath the VE surface,
disable it through the CM API and disable pointer-events
with CSS.

Bug: T170170
Change-Id: Ief49c293f514e22bc6db5eebb3a11c1bc695432d
2017-07-10 18:02:22 +00:00
Ed Sanders 6364cb4c04 Rewrite VE<->CM synchronizer using transaction op walking
Previous hacky method fell apart with multi-line transactions.

Depends-On: I465a3f6a8afcd6536293999eb40c01daeb9d905b
Depends-On: I800085eb3a5f7332eab356b62a34bfc603a29839
Change-Id: I66946d7e3f425d8dbbdae720756a7978fbe25582
2017-07-07 23:33:10 +00:00
Ed Sanders 7b01a98ad0 VisualEditor source mode support
Long-term todo:
* Performance will be poor on large pages due
  to using a auto-height textarea which CodeMirror
  doesn't optimise.

Change-Id: I16598fcdbeee51e6fae88376ec81f1c8552b383d
2017-05-08 16:54:10 +01:00