MenuButton will listen the HTMLTooltip hidden event even if HTMLTooltip is
destroyed. As a result of it, the timer which issued in the MenuButton's event
listener might fail due to the target window is destroyed. (e.g., switching the
dock mode to bottom from window mode.)
This patch will remove this event listener before destroying the HTMLTooltip.
Differential Revision: https://phabricator.services.mozilla.com/D3759
--HG--
extra : moz-landing-system : lando
Even after we disable Gecko specific editing UIs by default, web apps can
enable them with execCommand. However, until such web apps change their
behavior, users cannot use Gecko specific UIs. At least for now, we should
make users can enable them by default.
MozReview-Commit-ID: AuAdw4FQ4He
--HG--
extra : rebase_source : a1f88f2928df0d7afb4361c425d75c74872ac9d5
Currently, absolute position editor listens to mouse events at the default
event group to handle dragging of positioner. However, this is blocked by
a call of Event.stopPropagation() in web apps unexpectedly. Therefore,
we should make it listen to the events at the system event group instead.
MozReview-Commit-ID: Hoa8c9QvMuG
--HG--
extra : rebase_source : 77500356fd1a65e8d81da131e09bc48229a208f9
We have another built-in UI of editor which is not implemented by any other
browsers. That is a draggable handler to move absolute positioned elements.
So, we should disable it in default for compatibility with the other browsers.
However, different from resizers and inline table editor, we don't have
command to enable/disable this feature but for backward compatibility, we
should have it. Therefore, this patch adds new command
"enableAbsolutePositionEditor".
Note that whether resizing UI is available only with enableObjectResizing
state is different from enableInlineTableEditing command. Resizers for
absolute positioned elements are NOT available both enableObjectResizing
and enableAbsolutePositionEditor are enabled.
Additionally, this adds automated tests to check basic functions of absolute
positioned editor.
MozReview-Commit-ID: 9ZSGB8tLpFw
--HG--
rename : editor/libeditor/tests/test_resizers_appearance.html => editor/libeditor/tests/test_abs_positioner_appearance.html
rename : editor/libeditor/tests/test_resizers_resizing_elements.html => editor/libeditor/tests/test_abs_positioner_positioning_elements.html
extra : rebase_source : d516f3f3ef36d4ad13938f214cb6e3868d7ff407
Gecko supports resizers of <img> elements and <table>, <td>, <th> elements and
has UI to remove existing table row or column in default. However, the other
browsers don't have such UI and web apps need to disable this feature with
calling both:
document.execCommand("enableObjectResizing", false, false);
document.execCommand("enableInlineTableEditing", false, false);
for avoiding conflicting with their own features to edit such elements.
Therefore, it doesn't make sense to keep enabling them in default only on
Gecko. If web apps want to keep using these features, they should call:
document.execCommand("enableObjectResizing", false, true);
document.execCommand("enableInlineTableEditing", false, true);
at initializing the editor.
And also this patch fixes bugs of
document.queryCommandState("enableObjectResizing") and
document.queryCommandState("enableInlineTableEditing"). They always return
false even after calling document.execCommand(..., false, true) since
nsSetDocumentStateCommand::GetCommandStateParams() sets bool value as
STATE_ATTRIBUTE. However, nsHTMLDocument::QueryCommandValue() which is the
caller referring STATE_ATTRIBUTE doesn't treat it as bool value. And also
those commands are related to state of document. Therefore, they should be
return as bool value of STATE_ALL instead. Then,
nsHTMLDocument::QueryCommandState() returns the state as expected. Note that
those commands are supported only by Gecko. So, we don't need to worry about
the compatibility.
Finally, this patch rewrites 2 existing tests to check basic behavior of
resizers and appearance of resizers.
Note that this patch does not add new tests to test inline table editor
since it's difficult to test the behavior with current API. Perhaps, we
should add an API to nsIHTMLEditor to retrieve each anonymous elements in
another bug since it requires to add wrapping API of SpecialPowers.
MozReview-Commit-ID: 1FhYo5vcV60
--HG--
rename : editor/libeditor/tests/test_objectResizing.html => editor/libeditor/tests/test_resizers_appearance.html
rename : editor/libeditor/tests/test_bug640321.html => editor/libeditor/tests/test_resizers_resizing_elements.html
extra : rebase_source : a707de5a64ef1f8ce974cdf1be093d1b4f61c7bc
It also converts nsNativeThemeCocoa::GetParentScrollbarFrame into a
local static function rather than a member function, since it doesn't
seem to be necessary that way.
Differential Revision: https://phabricator.services.mozilla.com/D3737
--HG--
extra : moz-landing-system : lando
Summary:
Mike DeBoer correctly noted in a comment at https://bugzilla.mozilla.org/show_bug.cgi?id=254592 that enabletimeout is no longer used and should be removed. I updated the timeout logic to treat a zero or negative value as effectively "no automatic timeout" for the quick-find dialog (otherwise, setting the timeout value to a small or negative value makes the feature unusable).
This is a corollary to the bugfix at https://phabricator.services.mozilla.com/D3404 ; I've split it out into a separate patch to avoid confusing that issue.
Update: this specific issue already had its own bug at https://bugzilla.mozilla.org/show_bug.cgi?id=260562, and another mention at https://bugzilla.mozilla.org/show_bug.cgi?id=265915 .
Reviewers: kmag
Reviewed By: kmag
Bug #: 260562
Differential Revision: https://phabricator.services.mozilla.com/D3504
--HG--
extra : rebase_source : 1c2b73d6af1343d536a2380dee784f8ea2339b61
extra : amend_source : cc00a2398b2c478003e842b4dc9b99bf53af6824
Port `width`, and also add the `scan` media feature so I don't need to add
ugliness just to workaround the unused keyword_evaluator macro.
This is not part of the Gecko build in any case.
Use it to implement FindFirstBlock() and FindFirstNonBlock(). This is a
demonstration on how Find() is used. The usage of them will be overhauled in
Part 2 and 3.
Differential Revision: https://phabricator.services.mozilla.com/D3642
Honour the .selected value provided by the merchant.
Differential Revision: https://phabricator.services.mozilla.com/D3668
--HG--
extra : rebase_source : a7ea701d875f3052dabad16ca90419f7f3f3849c
extra : amend_source : 1fe3c1ecff45d73761ae848d044911c27e1840ae
Show the labels as placeholders inside of the fields.
Differential Revision: https://phabricator.services.mozilla.com/D2955
--HG--
extra : rebase_source : 4ca24b7b6833c3c1bcd4821ec127fe07c24b44d0
When editing an existing record, invalid fields should be indicated on load.
Differential Revision: https://phabricator.services.mozilla.com/D3397
MozReview-Commit-ID: CbrqEyCUoyC
--HG--
extra : rebase_source : f44dc1b66d0c37d2b301a6b5c33ddde9fa7181bf
We can't call nsWindow::SetSelectionDragState in the child process so
check for the parent process first.
Differential Revision: https://phabricator.services.mozilla.com/D3561
--HG--
extra : moz-landing-system : lando