In regular tabbed Chrome UI the ToolbarView is where buttons like location settings and the app menu live.
In hosted app windows on chromeOS those instead live inside the HostedAppButtonContainer in the non client frame.
Many parts of the code explicitly reference buttons inside LocationBarView which lives in ToolbarView. This behaviour would be broken for hosted app windows where ToolbarView is not visible and the buttons inaccessible to the user. They should instead reference the buttons that live in the HostedAppButtonContainer instead.
We should add a layer of indirection via a generic toolbar button interface that is handled by either the HostedAppButtonContainer or the ToolbarView depending on which one is visible at the time.
This refactor is blocking the addition of more buttons to HostedAppButtonContainer (issue 788051) and upgrading HostedAppButtonContainer to be a focus pane target accessible via F6 ( issue 822146 ).
Comment 1 by alancutter@chromium.org
, Apr 4 2018