Observe InkDrop focus changes through ViewObserver

This is less brittle than the existing mechanism since we don't need
child classes' overrides of OnFocus/OnBlur to call their parent's.
FocusRing already works by observing host focus / blur so this brings
the implementations closer together.

Unfortunately this can't easily be added directly to InkDropImpl since
the InkDrop is lazily created by, for instance, changes in focus.
Creating the InkDrop in the constructor does not work as virtual calls
do not propagate to child classes until they are constructed.

Bug: chromium:931964
Change-Id: I9d490b0368d818cac258913f8426f5e63609963d
Reviewed-on: https://chromium-review.googlesource.com/c/1475162
Commit-Queue: Peter Boström <pbos@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#632913}
2 files changed