WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
218870
[macOS] Perform AX TCC check in the UI process
https://bugs.webkit.org/show_bug.cgi?id=218870
Summary
[macOS] Perform AX TCC check in the UI process
Per Arne Vollan
Reported
2020-11-12 13:04:13 PST
On behalf of the WebContent process, perform AX TCC check in the Networking process on macOS. This is in preparation of blocking tccd in the WebContent process.
Attachments
Patch
(8.21 KB, patch)
2020-11-12 13:48 PST
,
Per Arne Vollan
no flags
Details
Formatted Diff
Diff
Patch
(8.38 KB, patch)
2020-11-12 14:06 PST
,
Per Arne Vollan
no flags
Details
Formatted Diff
Diff
Patch
(6.58 KB, patch)
2020-11-13 08:17 PST
,
Per Arne Vollan
bfulgham
: review+
Details
Formatted Diff
Diff
Patch
(6.63 KB, patch)
2020-11-17 07:37 PST
,
Per Arne Vollan
ews-feeder
: commit-queue-
Details
Formatted Diff
Diff
Patch
(6.68 KB, patch)
2020-11-17 08:43 PST
,
Per Arne Vollan
no flags
Details
Formatted Diff
Diff
Show Obsolete
(3)
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2020-11-12 13:04:42 PST
<
rdar://problem/71339830
>
Per Arne Vollan
Comment 2
2020-11-12 13:48:22 PST
Created
attachment 413973
[details]
Patch
Per Arne Vollan
Comment 3
2020-11-12 14:06:16 PST
Created
attachment 413974
[details]
Patch
Alexey Proskuryakov
Comment 4
2020-11-12 18:47:08 PST
Comment on
attachment 413974
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=413974&action=review
> Source/WebCore/PAL/ChangeLog:3 > + [macOS] Perform AX TCC check in the Networking process
I know that Networking process does more than networking, but making it responsible for accessibility in any way goes beyond reasonable in my opinion.
Per Arne Vollan
Comment 5
2020-11-13 08:17:22 PST
Created
attachment 414045
[details]
Patch
Per Arne Vollan
Comment 6
2020-11-13 08:21:03 PST
(In reply to Alexey Proskuryakov from
comment #4
)
> Comment on
attachment 413974
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=413974&action=review
> > > Source/WebCore/PAL/ChangeLog:3 > > + [macOS] Perform AX TCC check in the Networking process > > I know that Networking process does more than networking, but making it > responsible for accessibility in any way goes beyond reasonable in my > opinion.
Yes, that is a very good point. I have moved this to the UI process in the latest patch. Thanks for reviewing!
Brent Fulgham
Comment 7
2020-11-16 13:04:31 PST
Comment on
attachment 414045
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=414045&action=review
> Source/WebCore/PAL/pal/spi/mac/HIServicesSPI.h:161 > +typedef Boolean (*AXAuditTokenIsAuthenticatedCallback)(audit_token_t auditToken);
We might not need the 'auditToken' name for the argument here.
> Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:184 > +static Boolean isAXAuthenticatedCallback(audit_token_t auditToken)
Do we know how frequently this is called? Is it just once at process launch, or does it happen frequently in UIKit/AppKit code? Would it be better to perform the message send asynchronously as part of the launch process, and store the result so that this callback is very quick?
Per Arne Vollan
Comment 8
2020-11-16 13:24:18 PST
(In reply to Brent Fulgham from
comment #7
)
> Comment on
attachment 414045
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=414045&action=review
> > > Source/WebCore/PAL/pal/spi/mac/HIServicesSPI.h:161 > > +typedef Boolean (*AXAuditTokenIsAuthenticatedCallback)(audit_token_t auditToken); > > We might not need the 'auditToken' name for the argument here. >
Will fix!
> > Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:184 > > +static Boolean isAXAuthenticatedCallback(audit_token_t auditToken) > > Do we know how frequently this is called? Is it just once at process launch, > or does it happen frequently in UIKit/AppKit code? >
This will only be called when an Accessibility client (e.g. VoiceOver) makes the first request to the WebContent process, so it is not called frequently.
> Would it be better to perform the message send asynchronously as part of the > launch process, and store the result so that this callback is very quick?
That's a good point, although in this case I don't believe we can cache the result, since the result of this function call depends on the provided audit token, which is the audit token of the client making the accessibility request. Thanks for reviewing!
Brent Fulgham
Comment 9
2020-11-16 13:38:28 PST
Comment on
attachment 414045
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=414045&action=review
r=me. Please monitor perf bots (as you always do!) :-)
> Source/WebCore/PAL/pal/spi/mac/HIServicesSPI.h:161 > +typedef Boolean (*AXAuditTokenIsAuthenticatedCallback)(audit_token_t auditToken);
We might not need the 'auditToken' name for the argument here.
Per Arne Vollan
Comment 10
2020-11-17 07:37:41 PST
Created
attachment 414338
[details]
Patch
Per Arne Vollan
Comment 11
2020-11-17 07:38:45 PST
(In reply to Brent Fulgham from
comment #9
)
> Comment on
attachment 414045
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=414045&action=review
> > r=me. Please monitor perf bots (as you always do!) :-) >
Will do!
> > Source/WebCore/PAL/pal/spi/mac/HIServicesSPI.h:161 > > +typedef Boolean (*AXAuditTokenIsAuthenticatedCallback)(audit_token_t auditToken); > > We might not need the 'auditToken' name for the argument here.
Fixed in latest patch. Thanks for reviewing!
EWS
Comment 12
2020-11-17 08:26:14 PST
Patch 414338 does not build
Per Arne Vollan
Comment 13
2020-11-17 08:43:00 PST
Created
attachment 414344
[details]
Patch
EWS
Comment 14
2020-11-17 09:22:11 PST
Committed
r269906
: <
https://trac.webkit.org/changeset/269906
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 414344
[details]
.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug