Bug 117201

Summary: AX: WK2: accessibility position is calculated every time window frame is updated
Product: WebKit Reporter: chris fleizach <cfleizach>
Component: AccessibilityAssignee: chris fleizach <cfleizach>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, sam, thorton
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
patch none

Description chris fleizach 2013-06-04 08:48:27 PDT
Evertyime WKView:_updateWIndowAndFrames is called, the AX position is also calculated. 

This impacts performance for all users.
Comment 1 chris fleizach 2013-06-04 08:51:02 PDT
Created attachment 203703 [details]
patch
Comment 2 Tim Horton 2013-06-04 10:33:23 PDT
Comment on attachment 203703 [details]
patch

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

> Source/WebKit2/UIProcess/API/mac/WKView.mm:460
> +    if (WebCore::AXObjectCache::accessibilityEnabled())

does this really work in the UIProcess? how?
Comment 3 chris fleizach 2013-06-04 10:36:00 PDT
(In reply to comment #2)
> (From update of attachment 203703 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=203703&action=review
> 
> > Source/WebKit2/UIProcess/API/mac/WKView.mm:460
> > +    if (WebCore::AXObjectCache::accessibilityEnabled())
> 
> does this really work in the UIProcess? how?

it just a static boolean, so we can use it to store whether we're enabled or not and it's valid for the lifetime of the process using it
Comment 4 Tim Horton 2013-06-04 11:31:16 PDT
Comment on attachment 203703 [details]
patch

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

>>> Source/WebKit2/UIProcess/API/mac/WKView.mm:460
>>> +    if (WebCore::AXObjectCache::accessibilityEnabled())
>> 
>> does this really work in the UIProcess? how?
> 
> it just a static boolean, so we can use it to store whether we're enabled or not and it's valid for the lifetime of the process using it

OK, separate values tracking the same thing in the same place, but not needing to be kept in sync explicitly.
Comment 5 chris fleizach 2013-06-04 11:34:04 PDT
(In reply to comment #4)
> (From update of attachment 203703 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=203703&action=review
> 
> >>> Source/WebKit2/UIProcess/API/mac/WKView.mm:460
> >>> +    if (WebCore::AXObjectCache::accessibilityEnabled())
> >> 
> >> does this really work in the UIProcess? how?
> > 
> > it just a static boolean, so we can use it to store whether we're enabled or not and it's valid for the lifetime of the process using it
> 
> OK, separate values tracking the same thing in the same place, but not needing to be kept in sync explicitly.

correct
Comment 6 WebKit Commit Bot 2013-06-04 13:05:32 PDT
Comment on attachment 203703 [details]
patch

Clearing flags on attachment: 203703

Committed r151181: <http://trac.webkit.org/changeset/151181>
Comment 7 WebKit Commit Bot 2013-06-04 13:05:35 PDT
All reviewed patches have been landed.  Closing bug.