reland: chromeos: makes ScreenProviderObserver an associated interface

This is a reland of .
Diff between patchsets 2 and 3 to see the diff.

And changes ws2 to ensure client is notified when scale-factor changes.
The conversion from ScreenProviderObserver to associated interface is to
ensure the ScreenProviderObserver is notified *before* the bounds change
because of scale-factor. To do otherwise means the client might use the wrong


Change-Id: I4a82d78cf880935d0c740ae3b98bd01c7eb61227
Reviewed-by: Scott Violet <>
Commit-Queue: Scott Violet <>
Cr-Commit-Position: refs/heads/master@{#576222}
33 files changed