Bug 207581

Summary: Support event notifications in IsolatedTree mode.
Product: WebKit Reporter: Andres Gonzalez <andresg_22>
Component: New BugsAssignee: Andres Gonzalez <andresg_22>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, apinheiro, cfleizach, commit-queue, dmazzoni, ews-watchlist, jcraig, jdiggs, samuel_white, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
Patch none

Description Andres Gonzalez 2020-02-11 13:40:43 PST
Support event notifications in IsolatedTree mode.
Comment 1 Andres Gonzalez 2020-02-11 14:08:04 PST
Created attachment 390420 [details]
Patch
Comment 2 chris fleizach 2020-02-12 00:38:28 PST
Comment on attachment 390420 [details]
Patch

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

> Source/WebCore/accessibility/AXObjectCache.cpp:3131
> +        tree->removeNode(object->objectID());

is it ok to removeNode here directly, or do we need to append this to the node changes?

> Source/WebCore/accessibility/AXObjectCache.cpp:3139
> +    };

this semi-colon after this line seems not needed

> Source/WebCore/accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm:37
> +    [wrapper attachIsolatedObject:(AXCoreObject*)this];

is this cast necessary?
(AXCoreObject*)this];
Comment 3 Andres Gonzalez 2020-02-12 07:00:21 PST
Created attachment 390510 [details]
Patch
Comment 4 Andres Gonzalez 2020-02-12 07:38:39 PST
(In reply to chris fleizach from comment #2)
> Comment on attachment 390420 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=390420&action=review
> 
> > Source/WebCore/accessibility/AXObjectCache.cpp:3131
> > +        tree->removeNode(object->objectID());
> 
> is it ok to removeNode here directly, or do we need to append this to the
> node changes?

AXIsolatedTree::removeNode appends the AXID to the m_pendingRemovals under lock, which will be applied on the next call to applyPendingChanges on the AX thread.
> 
> > Source/WebCore/accessibility/AXObjectCache.cpp:3139
> > +    };
> 
> this semi-colon after this line seems not needed

Fixed.
> 
> > Source/WebCore/accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm:37
> > +    [wrapper attachIsolatedObject:(AXCoreObject*)this];
> 
> is this cast necessary?
> (AXCoreObject*)this];

Fixed.
Comment 5 chris fleizach 2020-02-12 07:42:13 PST
Comment on attachment 390510 [details]
Patch

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

> Source/WebCore/accessibility/AXObjectCache.cpp:3139
> +    default: {

{ } for default are unnecessary here since there's no code inside
Comment 6 Andres Gonzalez 2020-02-12 07:47:42 PST
(In reply to chris fleizach from comment #5)
> Comment on attachment 390510 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=390510&action=review
> 
> > Source/WebCore/accessibility/AXObjectCache.cpp:3139
> > +    default: {
> 
> { } for default are unnecessary here since there's no code inside

It is needed, otherwise you get:

./accessibility/AXObjectCache.cpp:3127:13: error: 30 enumeration values not handled in switch: 'AXActiveDescendantChanged', 'AXAutocorrectionOccured', 'AXCurrentChanged'... [-Werror,-Wswitch]
    switch (notification) {
            ^
./accessibility/AXObjectCache.cpp:3127:13: note: add missing switch cases
    switch (notification) {
            ^
1 error generated.
Comment 7 Andres Gonzalez 2020-02-12 08:27:39 PST
Created attachment 390525 [details]
Patch
Comment 8 WebKit Commit Bot 2020-02-12 09:31:08 PST
Comment on attachment 390525 [details]
Patch

Clearing flags on attachment: 390525

Committed r256442: <https://trac.webkit.org/changeset/256442>
Comment 9 WebKit Commit Bot 2020-02-12 09:31:10 PST
All reviewed patches have been landed.  Closing bug.
Comment 10 Radar WebKit Bug Importer 2020-02-12 09:32:17 PST
<rdar://problem/59389335>
Comment 11 Andres Gonzalez 2020-03-07 07:57:56 PST
*** Bug 206596 has been marked as a duplicate of this bug. ***