0
Files
src/content/browser/screen_enumeration
Mike Wasserman 11554ff99d Reland: Window Placement: Support multi-screen info from Mac shim
The original CL (uploaded as PS1) broke compile on iOS:
  https://chromium-review.googlesource.com/c/chromium/src/+/2851592
PS3 fixes compile by using a more canonical EXPECT_DCHECK* test macro.

Pluralize display observation/plumbing/caching for Mac renderers:
- Observe multi-display changes from RWHNSViewBridge (shim).
- Plumb multi-display structs: RWHVCocoa (shim) -> RWHVMac (browser).
- Cache multi-display state in RWHVMac & BrowserCompositorMac.

Enable Mac multi-screen APIs via RenderWidgetHostImpl::GetScreenInfos:
- Get RWHI's multi-screen info from RWHV*, like legacy singular info.
- Add RWHVBase::GetDisplays(), to return live info from display::Screen.
- Override GetDisplays() in RWHVMac, to return cached remote shim info.

Avoid incorrect usage of process-local screen info on RWHVMac:
- Remove improper OnSynchronizedDisplayPropertiesChanged override.
- Start/Stop local Screen observation in MigrateNSViewBridge.

Add DisplayList mojo struct & traits; add current id; update API/impl.

Make RWHVMac better conform with RWHVBase screen info patterns:
- Make RWHVBase::UpdateScreenInfo virtual, override in RWHVMac.
- Inline HasDisplayPropertyChanged in RWHVBase::UpdateScreenInfo.
- Inline BrowserCompositorMac::GetRendererScreenInfo in RWHVMac.

Add some explanatory comments and TODOs with associated bugs.

Bug: 1194700, 1169291, 1169312, 1204273, 1207996
Change-Id: I1a304f0df347b5b611608bc5412d81b70abe5999
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2893191
Commit-Queue: Mike Wasserman <msw@chromium.org>
Auto-Submit: Mike Wasserman <msw@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#883300}
2021-05-16 00:46:26 +00:00
..