[webkit-reviews] review granted: [Bug 213875] AX: Implement user action spec for Escape action : [Attachment 403442] patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Jul 5 13:33:15 PDT 2020


Darin Adler <darin at apple.com> has granted chris fleizach
<cfleizach at apple.com>'s request for review:
Bug 213875: AX: Implement user action spec for Escape action
https://bugs.webkit.org/show_bug.cgi?id=213875

Attachment 403442: patch

https://bugs.webkit.org/attachment.cgi?id=403442&action=review




--- Comment #8 from Darin Adler <darin at apple.com> ---
Comment on attachment 403442
  --> https://bugs.webkit.org/attachment.cgi?id=403442
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=403442&action=review

> Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1100
> +    // In case the keyboard event causes this element to be removed.
> +    Ref<AccessibilityObject> protectedThis(*this);

This should be moved int dispatchSimulatedKeyboardUpDownEvent; that’s where the
protection is needed, not here.

> Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1110
> +bool
AccessibilityNodeObject::dispatchSimulatedKeyboardUpDownEvent(KeyboardEvent::In
it& keyInit)

Should take a const&

> Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1132
>      Ref<AccessibilityObject> protectedThis(*this);

Can move this into dispatchSimulatedKeyboardUpDownEvent and remove it here.

> Source/WebCore/accessibility/AccessibilityNodeObject.h:32
> +#include "KeyboardEvent.h"

This dependency is really unfortunate, but I suppose there’s no way to forward
declare something from inside a base class?

> Source/WebCore/accessibility/AccessibilityNodeObject.h:195
> +    bool performEscape() override;

final instead of override

> Source/WebCore/accessibility/AccessibilityNodeObject.h:196
> +    bool dispatchSimulatedKeyboardUpDownEvent(KeyboardEvent::Init&);

Argument should be const&, not non-const&.

> Source/WebCore/accessibility/AccessibilityObject.h:481
> +    bool performEscape() override { return false; }

final instead of override

> Source/WebCore/accessibility/AccessibilityObjectInterface.h:910
> +    virtual bool performEscape() = 0;

Seems like more of this should be named performDismissAction, and not use the
word "escape".


More information about the webkit-reviews mailing list