Summary:

Gecko is the only browser engine which joins 2 nodes with deleting left node at deleting an element boundary and creates left node at splitting a node e.g., at inserting new paragraph. I.e., the other browser engines (including Trident) join 2 nodes with deleting right node and create right node at splitting a node. This may cause making web developers need to create Firefox specific path in complicated editable applications, and making it impossible to support Firefox in some cases. Therefore, I've worked on fixing this over a year in over 40 bugs <https://bugzilla.mozilla.org/showdependencytree.cgi?id=1735608&hide_resolved=0>, with changing over 10,000 lines even only in |editor/libeditor| (+18,711/-12,930, excluding some refactoring which do not directly required).

Fortunately, there is no notable open issue even after Foxfooding. Therefore, I'd like to enable this new behavior by default in the Nightly channel and early beta builds to get feedback from wider testers, especially about intranet applications which can be instantiated in local web servers.

Additionally, I'll land new Gecko specific editing command for enabling the new compatible behavior even before shipping it and for making it can check whether it's the version of Firefox supports the new behavior. (Note that the command cannot disable the new compatible behavior if it's enabled by the pref, thus, I plan to remove the legacy behavior as soon as possible after shipping it due to the maintenance cost.)


       Bugs:

 * Bug 1820116 - Enable new join/split direction by default in the
   Nightly channel and early beta builds
   
<https://bugzilla.mozilla.org/show_bug.cgi?id=1820116><https://bugzilla.mozilla.org/show_bug.cgi?id=1820116>
 * Bug 1810663 - Add new Gecko specific `execCommand` to opt-in to the
   new split/join node direction
   
<https://bugzilla.mozilla.org/show_bug.cgi?id=1810663><https://bugzilla.mozilla.org/show_bug.cgi?id=1810663>


       Standard:

Not defined in any specs, but some WPTs depend on the new behavior


       Preferences:

 * |editor.join_split_direction.compatible_with_the_other_browsers|
   (enable/disable the new behavior)
 * |editor.join_split_direction.force_use_traditional_direction|
   (allowed list of the legacy behavior, currently empty)
 * |editor.join_split_direction.force_use_compatible_direction|
   (allowed list of the new behavior, currently empty)


       DevTools:

N/A


       Platform coverage:

All, and affecting Thunderbird


       Other browsers:

Only supports the new behavior, and do not (and must be never) support the command.


       web-platform-tests:

https://searchfox.org/mozilla-central/source/testing/web-platform/tests/editing (and see also new passing tests after enabling the pref <https://phabricator.services.mozilla.com/D172092>)

--
Masayuki Nakano<[email protected]>
Working on DOM, Events, editor and IME handling for Gecko

--
You received this message because you are subscribed to the Google Groups 
"[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/5c3b8e70-d50e-27aa-e300-0b34e9cc411b%40d-toybox.com.

Reply via email to