webzwo0i
e61888dfe2
ace.js: Don't use srcdoc when creating iframes (see #4975 )
...
Using srcdoc, especially with multiple nested iframes, seems to be
problematic when using `self` in CSP policies.
2021-07-30 03:51:57 -04:00
Richard Hansen
9fda5adcef
ace2_inner.js: Improve discovery of sidediv
and linemetricsdiv
...
The `Node.nextSibling` property returns the next Node, not the next
Element. If whitespace, an HTML comment, or any other type of
non-Element Node is ever introduced between the Elements then
`.nextSibling` no longer returns the desired Element. Switching to
`Element.nextElementSibling` would work, but finding the Elements by
ID is more readable and future-proof.
2021-07-30 03:51:56 -04:00
Richard Hansen
0c963a817a
ace2_inner.js: Delete unnecessary ace_outerWin
variable
2021-07-30 03:51:56 -04:00
Richard Hansen
8d869ec927
Pad: Delete non-functional debug logging facility
2021-07-30 03:50:23 -04:00
Richard Hansen
5d39a57507
Pad: Delete dead ace_getFormattedCode()
2021-07-30 03:49:35 -04:00
Richard Hansen
4ceb3ca4c8
Chat: Allow Shift-Enter to insert a newline
2021-07-19 23:44:33 +02:00
Richard Hansen
cf86ae8b63
Chat: Use KeyboardEvent.key
instead of deprecated .which
2021-07-19 23:44:33 +02:00
Richard Hansen
faf84f0143
Chat: Display whitespace in chat messages
2021-07-19 23:44:33 +02:00
Richard Hansen
834e05fc9c
Chat: Use a <textarea>
for message input
2021-07-19 23:44:33 +02:00
Xavier Mehrenberger
ca4cc2d7c0
Fix settings.useMonospaceFontGlobal
...
When settings.useMonospaceFontGlobal is set to `true`, it sets the default
font to 'monospace'. This font seems to have been removed in
a5164dad43
.
This commit sets the default font to "RobotoMono" which is a valid
option.
Tested in a Docker environment, setting `PAD_OPTIONS_USE_MONOSPACE_FONT`
to `true`
Signed-off-by: Xavier Mehrenberger <xavier.mehrenberger@gmail.com>
2021-07-14 04:33:38 -04:00
Richard Hansen
336d48add7
Add support for square brackets in URLs
...
This reverts commit 9022877cc6
.
2021-07-10 22:22:31 -04:00
Richard Hansen
5f39a1ee7f
CSS: Underline links in error dialogs
...
Underlining was removed for unknown reasons by commit
d872b42e31
.
2021-07-09 18:43:13 -04:00
Richard Hansen
3d40ab7e8c
CSS: Move author color padding to setAuthorStyle()
...
This prevents the padding from clashing with plugins that use the
`aceSetAuthorStyle` hook.
2021-06-22 14:43:22 -04:00
Richard Hansen
9fcd86b3cd
Pad: Fix <script>
elements in aceInitInnerdocbodyHead
hook
...
Using `.innerHTML` to create a `<script>` element does create a DOM
node, but the script is not actually executed. Fortunately, creating a
DocumentFragment does cause the script to execute.
2021-06-18 17:50:15 -04:00
Richard Hansen
251cc7ab32
CSS: Fix button icon centering
2021-06-16 18:27:52 -04:00
Richard Hansen
cccabf45b8
pad: Move error message to the top of the gritter box
2021-06-06 21:31:49 -04:00
Richard Hansen
b2e94685fb
pad: Display error name in the gritter box
2021-06-06 21:31:40 -04:00
webzwo0i
3c087af038
caretPosition: fix loading when iframe is hidden
2021-05-04 23:56:13 +02:00
Richard Hansen
c00031a8d8
skiplist: Use Map.size
to get number of nodes
2021-05-03 01:42:03 -04:00
Richard Hansen
1cdfe9193b
skiplist: Convert _keyToNodeMap
to a Map
object
2021-05-03 01:42:03 -04:00
Richard Hansen
e2eb7327c2
skiplist: Sanity check inserted entries
2021-05-03 01:42:03 -04:00
Richard Hansen
9e2ef6ad5b
skiplist: Move propagateWidthChange()
to Node
class
2021-05-03 01:42:03 -04:00
Richard Hansen
fc103e7f2a
skiplist: Define a new Node
class
2021-05-03 01:42:03 -04:00
Richard Hansen
9fc88f3601
skiplist: Convert point operations into Point
methods
2021-05-03 01:42:03 -04:00
Richard Hansen
3c1be95e07
skiplist: Move point creation to a new Point
class
2021-05-03 01:42:03 -04:00
Richard Hansen
8ae40e80f9
skiplist: Save entry in _insertKeyAtPoint()
2021-05-03 01:42:03 -04:00
Richard Hansen
0e424fa8c3
skiplist: Remove unnecessary newKey
arg from _insertKeyAtPoint()
2021-05-03 01:42:03 -04:00
Richard Hansen
ab8c354f18
skiplist: Use ES6 class syntax
...
This makess it easier to examine state in dev console.
2021-05-03 01:42:03 -04:00
Richard Hansen
303fd297bd
editor: Improve documentation comments
2021-05-03 01:42:03 -04:00
Richard Hansen
cbbcef8e90
AttributeManager: Add sanity checks
2021-05-03 01:42:03 -04:00
Richard Hansen
d40d59d9eb
AttributeManager: Simplify logic
2021-05-03 01:42:03 -04:00
Richard Hansen
e3d32a26b6
skiplist: Delete unused methods
2021-05-03 01:42:03 -04:00
Richard Hansen
f650c3d73e
editor: Delete unused PROFILER
code
2021-05-03 01:42:03 -04:00
Richard Hansen
ab4e99f67a
editor: Delete commented-out code
2021-05-03 01:42:03 -04:00
Richard Hansen
d01b593d3c
chat: Ensure that ctx.text
is interpreted as HTML
2021-04-11 06:20:29 +02:00
Richard Hansen
a3a0ff7bc1
chat: Use jQuery to build the chat message DOM object
...
This reduces the likelihood of accidentally introducing an XSS
vulnerability.
2021-04-11 06:20:29 +02:00
Richard Hansen
74554d36a5
chat: Allow chatNewMessage
hook to modify more values
2021-04-11 06:20:29 +02:00
Richard Hansen
91e99c84ca
import: Reduce log spam from unsupported elements
2021-04-09 18:43:02 +02:00
Richard Hansen
09c349e2a1
import: Use a Set for supported elements
2021-04-09 18:43:02 +02:00
webzwo0i
a796811558
escape userId before setting it as HTML attribute
2021-04-07 23:29:27 -04:00
Richard Hansen
7cbb3f565d
tests: Speed up helper.edit()
and helper.clearPad()
2021-04-02 15:46:27 +02:00
Richard Hansen
2776946627
tests: Use cookie libraries to manipulate cookies
2021-04-01 14:31:56 +02:00
Richard Hansen
202d65d2bb
pad_cookie: Re-read prefs cookie on every call to getPref()
...
This makes it easier to write tests that clear the prefs cookie.
2021-04-01 14:31:56 +02:00
Richard Hansen
0df41a9a78
pad_cookie: Move initial cookie read+save to init()
...
Benefits of this change:
* It avoids race conditions with tests that clear cookies.
* Any attempt to get or set a value before `init()` is called will
throw an error, ensuring the API is used properly.
* Improved readability: It's easier to understand what the
`pad.noCookie` check is doing.
2021-04-01 14:31:56 +02:00
Richard Hansen
1fdaf95c3b
collab_client: Delete unused NO_COMMIT_PENDING
handling
2021-03-30 16:42:53 -04:00
Richard Hansen
63a1f078f4
collab_client: Redo server message queueing
...
Move server message queue processing out of `handleUserChanges()` for
the following reasons:
* Fix a race condition: Before this change the client would stop
processing incoming messages and stop sending changes to the
server if a `NEW_CHANGES` message arrived while the user was
composing a character and waiting for an `ACCEPT_COMMIT` message.
* Improve readability: The `handleUserChanges()` function is for
handling changes from the local user, not for handling changes
from other users.
* Simplify the code.
2021-03-30 16:42:53 -04:00
Richard Hansen
e99fe88537
collab_client: Use Date.now()
instead of casting a Date object
...
Also rename the `t` variable to `now` to improve readability.
2021-03-30 16:42:53 -04:00
Richard Hansen
5c445eac21
collab_client: Convert state
var to committing
bool
2021-03-30 16:42:53 -04:00
Richard Hansen
3ee6b5eb2b
collab_client: Delete unused caughtErrors
2021-03-30 16:42:53 -04:00
Richard Hansen
81b9a2544d
collab_client: Factor out duplicate ACCEPT_COMMIT
code
2021-03-30 16:42:53 -04:00