Chromium Code Reviews
DescriptionReland 1: Enable overriding interface binders for any services running in current process.
The original CL was reverted because:
VibrationTest.Vibrate times out in
browser_side_navigation_content_browsertests on Linux.
And the root cause has been fixed by rockot@'s CL
https://chromium-review.googlesource.com/c/506598/,
so we can reland the original CL without any change now.
This CL
- holds a 'service name <--> binder registry' map inside
service manager client library, at run time it acts as a global
variable in any process linking with service manager client library.
- lets ServiceContext::OnBindInterface() use the global map to
intercept requests before dispatching them to target Services, that
is to say, such interception may happen for any Services running in
current process.
- exposes {SetGlobalBinder,ClearGlobalBinders}ForTesting to set/clear
binders in the global map.
- adds a VibrationTest browser test to show the usage of the new infra
described above.
BUG=717377, 717378
TEST=content_browsertests
TBR=rockot@chromium.org,jam@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation
Review-Url: https://codereview.chromium.org/2859343003
Cr-Original-Commit-Position: refs/heads/master@{#471216}
Committed: https://chromium.googlesource.com/chromium/src/+/d25e37df0f08a754fbc11041451a5ce7ca7d043d
Review-Url: https://codereview.chromium.org/2879843002
Cr-Commit-Position: refs/heads/master@{#473120}
Committed: https://chromium.googlesource.com/chromium/src/+/31c48e20cf23dcc484e259d339cbc380d6f162b1
Patch Set 1 : Identical with original CL #Messages
Total messages: 28 (24 generated)
|