New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 717378 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 717377



Sign in to add a comment

Create end-to-end browsertest for vibration feature

Project Member Reported by leon....@intel.com, May 2 2017

Issue description

Verify VibrationManager interface registration/exposition under the real browser environment.

 

Comment 1 by leon....@intel.com, May 2 2017

See  issue 717377  for context.

Comment 2 by leon....@intel.com, May 2 2017

Status: Assigned (was: Untriaged)
Project Member

Comment 3 by bugdroid1@chromium.org, May 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d25e37df0f08a754fbc11041451a5ce7ca7d043d

commit d25e37df0f08a754fbc11041451a5ce7ca7d043d
Author: leon.han <leon.han@intel.com>
Date: Fri May 12 04:16:16 2017

Enable overriding interface binders for any services running in current process.

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
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2859343003
Cr-Commit-Position: refs/heads/master@{#471216}

[modify] https://crrev.com/d25e37df0f08a754fbc11041451a5ce7ca7d043d/content/browser/frame_host/render_frame_host_impl.cc
[add] https://crrev.com/d25e37df0f08a754fbc11041451a5ce7ca7d043d/content/browser/vibration_browsertest.cc
[modify] https://crrev.com/d25e37df0f08a754fbc11041451a5ce7ca7d043d/content/test/BUILD.gn
[modify] https://crrev.com/d25e37df0f08a754fbc11041451a5ce7ca7d043d/services/service_manager/public/cpp/binder_registry.cc
[modify] https://crrev.com/d25e37df0f08a754fbc11041451a5ce7ca7d043d/services/service_manager/public/cpp/binder_registry.h
[modify] https://crrev.com/d25e37df0f08a754fbc11041451a5ce7ca7d043d/services/service_manager/public/cpp/interface_binder.cc
[modify] https://crrev.com/d25e37df0f08a754fbc11041451a5ce7ca7d043d/services/service_manager/public/cpp/interface_binder.h
[modify] https://crrev.com/d25e37df0f08a754fbc11041451a5ce7ca7d043d/services/service_manager/public/cpp/service_context.cc
[modify] https://crrev.com/d25e37df0f08a754fbc11041451a5ce7ca7d043d/services/service_manager/public/cpp/service_context.h

Project Member

Comment 4 by bugdroid1@chromium.org, May 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7795bff0b81a0cd0a8f840357545f591d0cdf6b0

commit 7795bff0b81a0cd0a8f840357545f591d0cdf6b0
Author: henrika <henrika@chromium.org>
Date: Fri May 12 08:00:34 2017

Revert of Enable overriding interface binders for any services running in current process. (patchset #5 id:130001 of https://codereview.chromium.org/2859343003/ )

Reason for revert:
VibrationTest.Vibrate times out in browser_side_navigation_content_browsertests on Linux.

See https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fchromium.linux%2FLinux_Tests__dbg__1_%2F63093%2F%2B%2Frecipes%2Fsteps%2Fbrowser_side_navigation_content_browsertests%2F0%2Fstdout

Original issue's description:
> Enable overriding interface binders for any services running in current process.
>
> 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
> CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation
>
> Review-Url: https://codereview.chromium.org/2859343003
> Cr-Commit-Position: refs/heads/master@{#471216}
> Committed: https://chromium.googlesource.com/chromium/src/+/d25e37df0f08a754fbc11041451a5ce7ca7d043d

TBR=rockot@chromium.org,blundell@chromium.org,jam@chromium.org,leon.han@intel.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 717377 ,  717378 

Review-Url: https://codereview.chromium.org/2882613002
Cr-Commit-Position: refs/heads/master@{#471246}

[modify] https://crrev.com/7795bff0b81a0cd0a8f840357545f591d0cdf6b0/content/browser/frame_host/render_frame_host_impl.cc
[delete] https://crrev.com/e1f4f5e2d1cc9c40e2ab79491606e46d2bc86a90/content/browser/vibration_browsertest.cc
[modify] https://crrev.com/7795bff0b81a0cd0a8f840357545f591d0cdf6b0/content/test/BUILD.gn
[modify] https://crrev.com/7795bff0b81a0cd0a8f840357545f591d0cdf6b0/services/service_manager/public/cpp/binder_registry.cc
[modify] https://crrev.com/7795bff0b81a0cd0a8f840357545f591d0cdf6b0/services/service_manager/public/cpp/binder_registry.h
[modify] https://crrev.com/7795bff0b81a0cd0a8f840357545f591d0cdf6b0/services/service_manager/public/cpp/interface_binder.cc
[modify] https://crrev.com/7795bff0b81a0cd0a8f840357545f591d0cdf6b0/services/service_manager/public/cpp/interface_binder.h
[modify] https://crrev.com/7795bff0b81a0cd0a8f840357545f591d0cdf6b0/services/service_manager/public/cpp/service_context.cc
[modify] https://crrev.com/7795bff0b81a0cd0a8f840357545f591d0cdf6b0/services/service_manager/public/cpp/service_context.h

Project Member

Comment 5 by bugdroid1@chromium.org, May 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/31c48e20cf23dcc484e259d339cbc380d6f162b1

commit 31c48e20cf23dcc484e259d339cbc380d6f162b1
Author: leon.han <leon.han@intel.com>
Date: Fri May 19 07:52:14 2017

Reland 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}

[modify] https://crrev.com/31c48e20cf23dcc484e259d339cbc380d6f162b1/content/browser/frame_host/render_frame_host_impl.cc
[add] https://crrev.com/31c48e20cf23dcc484e259d339cbc380d6f162b1/content/browser/vibration_browsertest.cc
[modify] https://crrev.com/31c48e20cf23dcc484e259d339cbc380d6f162b1/content/test/BUILD.gn
[modify] https://crrev.com/31c48e20cf23dcc484e259d339cbc380d6f162b1/services/service_manager/public/cpp/binder_registry.cc
[modify] https://crrev.com/31c48e20cf23dcc484e259d339cbc380d6f162b1/services/service_manager/public/cpp/binder_registry.h
[modify] https://crrev.com/31c48e20cf23dcc484e259d339cbc380d6f162b1/services/service_manager/public/cpp/interface_binder.cc
[modify] https://crrev.com/31c48e20cf23dcc484e259d339cbc380d6f162b1/services/service_manager/public/cpp/interface_binder.h
[modify] https://crrev.com/31c48e20cf23dcc484e259d339cbc380d6f162b1/services/service_manager/public/cpp/service_context.cc
[modify] https://crrev.com/31c48e20cf23dcc484e259d339cbc380d6f162b1/services/service_manager/public/cpp/service_context.h

Comment 6 by leon....@intel.com, May 20 2017

Status: Fixed (was: Assigned)
Components: Internals>Services>Device

Sign in to add a comment