Hi Masayuki,

First of all, thank you for taking on this task.  I have a few questions.

* What does the backwards compatibility story for these changes look like?
Would we end up for example throwing exceptions or returning a different
value from execCommand/queryCommandState/etc for one of the existing two
commands?  If there are any backwards compatibility concerns, what are your
plans for them?  Note that these two commands are extremely popular in
existing code that knows about Gecko (since it typically has to start off
by disabling this UI as you've noted.)

* Why are we *adding* a new command for enabling the absolute positioning
UI if we believe this UI is not useful and should be disabled?  Do we have
any indication that web developers want to use this UI in some cases, and
for Firefox only?  Have we heard any plans from other browser vendors that
they're interested to add support for similar UI in the future?  The Github
issue you linked to makes that sound unlikely.  Wouldn't it be better to
just disable the absolute positioning UI?

* What is our long term plan for this UI, do we want to keep them around or
is this us deprecating the UI with the ultimate intention of measuring
their usage so that we can eventually remove them?  I think removing this
UI is at least desirable from the implementation standpoint.  The way that
the native anonymous content this UI uses is hooked up (in
https://searchfox.org/mozilla-central/rev/f860c2bf00576959b07e2d9619c7b5088b0005be/editor/libeditor/HTMLAnonymousNodeEditor.cpp#143)
is different than everything else inside Gecko and has historically been a
source of bugs, and we've never invested any effort to improve it since we
believed the UI wasn't really worth the investment...

Thanks,
Ehsan

On Thu, Apr 5, 2018 at 11:04 AM Masayuki Nakano <masay...@d-toybox.com>
wrote:

> This incompatibility is pointed by W3C's Editing API WG:
> https://github.com/w3c/editing/issues/171
>
> Gecko has some specific editing UI of HTML editor.
> 1. Resiziers of <img>, <table>, absolute positioned elements.
> 2. Adding new table row/column from buttons.
> 3. Removing existing table row/column from buttons.
> 4. Grabber to move absolute positioned element.
>
> Currently, all of those UIs are not implemented by the other browsers.
> However, they are available in Gecko by default.
>
> Therefore, web app developers need to disable those features with:
> document.execCommand("enableObjectResizing",
>                       false, false); // #1
> document.execCommand("enableInlineTableEditing",
>                       false, false); // #2 and #3
>
> So, if web apps don't call them, only Firefox users can modify <img> or
> <table> elements as unexpected for their developers.
>
> Additionally, web apps cannot disable only #4.
>
> So, for solving this incompatibility issue, we should:
> * Disable those UI by default
> * But allow to enable those UI for backward compatibility
> * Add new command "enableAbsolutePositionEditing" command for allowing
> to enable #4
>
> I'm working on this incompatibility issue in:
> https://bugzilla.mozilla.org/show_bug.cgi?id=1449564
>
> --
> Masayuki Nakano <masay...@d-toybox.com>
> Software Engineer, Mozilla
> _______________________________________________
> dev-platform mailing list
> dev-platform@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform
>
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to