ChooserContextBase uses HostContentSettingsMap, which uses content_settings::Observer to notify of changes to permissions. However, the notifications only occur for permissions that are modified in HostContentSettingsMap. This means that for UsbChooserContext, which is a derived class of ChooserContextBase, it is unable to provide notifications for permission changes for ephemeral devices because UsbChooserContext stores these permissions itself instead of using HostContentSettingsMap.
As a result, the site settings UI and is unable to dynamically update when these permissions are modified. Therefore, ChooserContextBase should have an observer that sub-classes can also use to notify subscribers.
Comment 1 by odejesush@chromium.org
, Jan 14