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

Issue 831055 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

mash: chrome/browser/chromeos/power/ml/ needs to observe all ui::Events

Project Member Reported by jiameng@chromium.org, Apr 10 2018

Issue description

The event pointer to OnUserActivity is always null, after moving mouse or typing keyboard etc. 

Is this due to mash change? If so, is there any quick fix so that we could continue to receive raw events? We're working on two projects that rely on event types to log data. Hence losing raw events is breaking our systems. If there's any fix, then we'd need to release it to M67.

Thanks.
Jia 
 
Components: OS>Kernel

Comment 2 by derat@chromium.org, Apr 10 2018

Cc: sadrul@chromium.org
Components: -OS>Kernel UI>Input UI>Shell>WindowManager
Labels: M-67 OS-Chrome
Summary: ui::UserActivityObserver::OnUserActivity stopped receiving raw events (was: UserActivityObserver::OnUserActivity stopped receiving raw event)
Issue 626899 describes how notifications of user activity (sans events, currently) currently get forwarded from the window server to ui::UserActivityDetector.

Someone may need to update //ui/public/interfaces/user_activity_monitor.mojom to also include serialized events as discussed in comments #4 and #5 in issue 781246.

Comment 3 by sadrul@chromium.org, Apr 10 2018

> We're working on two projects that rely on event types to log data ...

What's the code for these?

Comment 4 by derat@chromium.org, Apr 10 2018

//chrome/browser/chromeos/power/ml/

Comment 5 by sky@chromium.org, Apr 10 2018

Owner: msw@chromium.org
Status: Assigned (was: Untriaged)
This is fall out from Mike's change here: https://chromium-review.googlesource.com/c/chromium/src/+/981492 .

Comment 6 by msw@chromium.org, Apr 10 2018

I just verified that I can safely revert that CL and double clicking web content in Mus still works.
I had already landed another equally viable fix for that: https://chromium-review.googlesource.com/c/chromium/src/+/980662

Speculative revert is at: https://chromium-review.googlesource.com/c/chromium/src/+/1005736
Any thoughts? Jia, can you verify that this restores your expected functionality?
I don't really know what we intend for user activity detector/monitor...

Comment 7 by pdyson@chromium.org, Apr 11 2018

I have verified that https://chromium-review.googlesource.com/c/chromium/src/+/1005736 restores the expected functionality. We can once again detect mouse and key events using OnUserActivity() in //chrome/browser/chromeos/power/ml/idle_event_notifier.cc

Hi Mike,

Thanks for putting in the fix! It'd be super helpful if you could land the patch before M67 branch. :)  

Additionally, do you imagine there would be other mash-related work that will be landed soon that would impact us? If so, please kindly let us know the timeline so that we could make necessary changes from our side. We do have plans to work on changes to be ready for mash, but just haven't got round to it.

Thanks,
Jia
Project Member

Comment 9 by bugdroid1@chromium.org, Apr 11 2018

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

commit 0746643dca9744aee35073ac778944cea56ea85b
Author: Michael Wasserman <msw@chromium.org>
Date: Wed Apr 11 03:56:48 2018

Revert "mus: Make UserActivityDetector not observe PlatformEventSource directly."

This reverts commit 10327b48a45b58235298f7cbe6c3b0e72fc7a3eb.

Reason for revert: Broke features relying on this functionality: crbug.com/831055

Original change's description:
> mus: Make UserActivityDetector not observe PlatformEventSource directly.
>
> ash::Shell's UserActivityForwarder notifies UserActivityDetector in Mus.
> Observing PlatformEventSource directly is redundant and causes problems.
>
> Reprocessing native events with adjusted locations breaks double clicks.
> This patch prevents UserActivityDetector from reprocessing those events.
>
> Bug:  825695 
> Change-Id: Iefe4af55eedf8efc7515664b2f0cc46abe273866
> Reviewed-on: https://chromium-review.googlesource.com/981492
> Commit-Queue: Michael Wasserman <msw@chromium.org>
> Reviewed-by: Scott Violet <sky@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#546037}

TBR=sky@chromium.org,msw@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  825695 , 831055
Change-Id: Idbff05fae33e7d54db02b1c74546007b3b870ac2
Reviewed-on: https://chromium-review.googlesource.com/1005736
Reviewed-by: Dan Erat <derat@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Michael Wasserman <msw@chromium.org>
Commit-Queue: Michael Wasserman <msw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549750}
[modify] https://crrev.com/0746643dca9744aee35073ac778944cea56ea85b/ash/shell.cc
[modify] https://crrev.com/0746643dca9744aee35073ac778944cea56ea85b/chrome/browser/ui/ash/chrome_browser_main_extra_parts_ash.cc
[modify] https://crrev.com/0746643dca9744aee35073ac778944cea56ea85b/ui/base/user_activity/user_activity_detector.cc
[modify] https://crrev.com/0746643dca9744aee35073ac778944cea56ea85b/ui/base/user_activity/user_activity_detector.h

Comment 10 by msw@chromium.org, Apr 11 2018

Labels: -Pri-1 -M-67 Proj-Mustash-Mash Pri-2
Owner: jiameng@chromium.org
Summary: mash: chrome/browser/chromeos/power/ml/ needs to observe all ui::Events (was: ui::UserActivityObserver::OnUserActivity stopped receiving raw events)
This defect should be fixed for M67. I'm morphing the bug to address Mash (split Chrome OS and Ash processes).

Jia, if the feature is logging/using *all* Chrome OS events, can the code that uses ui::Events be moved to Ash?
When Chrome and Ash processes are split, Ash will handle ui::Event routing (to system ui, Chrome, other apps).
It would be expensive to pass every event over IPC to Chrome, even when that's not the intended target.

Comment 11 by derat@chromium.org, Apr 11 2018

The feature shouldn't be logging all events (and it would probably be prohibitively expensive for it to do so). Rate-limited user activity reports seem like the best fit -- it's interested in receiving the same information as powerd, which also gets notified events from ui::UserActivityDetector.
Hi Mike,

As Dan mentioned, we only need events from ui::UserActivityDetector. Moreover, we need to keep our code in chrome rather than moving it to Ash because we're logging many other features from the browser. 

Do you see any problem to continue sending us these events after Chrome and Ash are split?

Thanks,
Jia


Components: Internals>Services>Ash
Labels: -Proj-Mustash-Mash

Sign in to add a comment