Snap the omnibox popup widget window to the pixel boundary

This patch manually snaps the omnibox dropdown popup widget window to
the physical pixel grid. On CrOS the popup is treated as a top level
window which is by default snapped to the root window.

This patch also lazily marks the root windows as snapped. The root
windows are snapped by default so marking them snapped makes sense.

Bug: 843250
Change-Id: I1dd20ea57522e4987d23ba7dcaa3ae891bbc7182
Component: Omnibox popup, desktop window tree host
Reviewed-on: https://chromium-review.googlesource.com/1139078
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Bret Sepulveda <bsep@chromium.org>
Commit-Queue: Malay Keshav <malaykeshav@chromium.org>
Cr-Commit-Position: refs/heads/master@{#577929}
4 files changed