AppDriver is launched as part of mash to handle some accelerators. These accelerators conflict with the accelerators already registered by ash. In order to continue having AppDriver work I've allowed AcceleratorRegistrarImpl to override accelerators provided. That should not be allowed.
One overriding desire is to avoid more dependencies from ash on chrome.
I see two options:
1. Ash already defines these accelerators and in fact has delegates for portions of what appdriver is using (see ash::NewWindowDelegate). Nuke AppDriver and instead have ash connect to YYY, ask for an interface like NewWindowDelegate, and call it as appropriate. I say YYY, we could make make it exe:chrome, but configurable via a switch.
2. Assume app driver will be launched and remove the set of accelerators from the table that ash registers (when in mus).
I tend to favor 1 as it's more explicit and we have a more well defined interface for expectations of what ash uses.
Comment 1 by sky@chromium.org
, Jul 26 2016