mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-26 04:02:27 +00:00
LibWeb: Require existing Selection for .execCommand("selectAll")
Disable the command if no selection is available. This is a spec bug: https://github.com/w3c/editing/issues/475 Fixes #3325
This commit is contained in:
parent
96e074b38f
commit
d967f56936
Notes:
github-actions[bot]
2025-01-21 02:28:49 +00:00
Author: https://github.com/gmta
Commit: d967f56936
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/3328
Reviewed-by: https://github.com/tcl3 ✅
3 changed files with 21 additions and 5 deletions
|
@ -112,17 +112,17 @@ bool Document::query_command_enabled(FlyString const& command)
|
|||
if (command.is_one_of(
|
||||
Editing::CommandNames::defaultParagraphSeparator,
|
||||
Editing::CommandNames::redo,
|
||||
Editing::CommandNames::selectAll,
|
||||
Editing::CommandNames::styleWithCSS,
|
||||
Editing::CommandNames::undo,
|
||||
Editing::CommandNames::useCSS))
|
||||
return true;
|
||||
|
||||
// AD-HOC: selectAll requires a selection object to exist.
|
||||
if (command == Editing::CommandNames::selectAll)
|
||||
return get_selection();
|
||||
|
||||
// The other commands defined here are enabled if the active range is not null,
|
||||
auto selection = get_selection();
|
||||
if (!selection)
|
||||
return false;
|
||||
auto active_range = selection->range();
|
||||
auto active_range = Editing::active_range(*this);
|
||||
if (!active_range)
|
||||
return false;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue