On 4/6/2018 2:50 AM, Ehsan Akhgari wrote:
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.)

It *might* be possible that a few web apps (including intranet only apps) may allow users to resize some elements, edit table structure and/or move absolute positioned elements with these built-in UI only on Firefox. If such apps actually exist, they can enable the Gecko specific UI explicitly with using execCommand. Then, we can collect actual usage with telemetry.

* 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?

I think that Gecko specific feature may cause unexpected result for web apps and could cause unexpected error on some web apps, then, at worst, Firefox is banned by UA sniffing. Making it's disabled by default but making it possible to enable with execCommand, we can collect actual usage with telemetry as I said above.

* 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...

I think that we'll get evidence which indicate nobody uses those Gecko specific feature, we can move those UI into comm-central or just remove them completely.

Masayuki Nakano <masay...@d-toybox.com>
Software Engineer, Mozilla
dev-platform mailing list

Reply via email to