mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-28 03:39:17 +00:00
Major browsers seem to preserve `white-space: pre/pre-wrap` styles in a `<div>` when deleting the current selection through an editing command. The idiomatic way to support this is to have a command with a "relevant CSS property" to make sure the value is recorded and restored where appropriate, however, no such command exists. Create a custom command (internal to Ladybird) that implements this behavior.
19 lines
523 B
HTML
19 lines
523 B
HTML
<!DOCTYPE html>
|
|
<script src="../include.js"></script>
|
|
<div contenteditable>foo<div style="white-space: pre">bar</div></div>
|
|
<script>
|
|
test(() => {
|
|
var divElm = document.querySelector('div');
|
|
println(`Before: ${divElm.innerHTML}`);
|
|
|
|
// Put cursor before 'bar'
|
|
var range = document.createRange();
|
|
range.setStart(divElm.childNodes[1].childNodes[0], 0);
|
|
getSelection().addRange(range);
|
|
|
|
// Press backspace
|
|
document.execCommand('delete');
|
|
|
|
println(`After: ${divElm.innerHTML}`);
|
|
});
|
|
</script>
|