Chromeos code in chrome/ accesses this header in a lot of places. James says (and I concur):
"I think it's because ash uses the ID constants in that file to decide whether or not to show notifications at the lock/login screen. It seems like that behavior should be a property of the notification itself, rather than communicated through shared IDs."
It's also used to determine whether to show notifications from a different user (one that's logged in but not active). We could move these concepts into the Notification or the NotifierId, but then there are other very closely related concepts like whether a notification should be shown over fullscreen, which is instead handled via NotificationDelegate::ShouldDisplayOverFullscreen() (and this can't be set statically as a boolean member as it depends on browser state). Perhaps matching that pattern is the right choice.
On the other hand, both the login/lock screen and the multiuser scenarios are ash-specific and it seems like any ash system notification ought to be generated in ash/. I wonder how many of the references to ash system notifiers can just be moved to ash/.
Comment 1 by jamescook@chromium.org
, Sep 23 2017Labels: -Proj-Mustash Proj-Mustash-Mash