Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Window Placement: Implement Screens and ScreenAdvanced interfaces
This CL makes the following changes for a planned API redesign: docs.google.com/document/d/1lgCentReLlym6j9kBS_Qo3r2HHZ6Ov7cSGjSWyi8cYs 1) Add Screens interface to vend multi-screen info for windowing. - RuntimeEnabled and permission-gated; designed like window.screen. 2) Add ScreenAdvanced interface, to extend Screen with extra info. - Make Screen impl non-final; override functions in ScreenAdvanced. 3) Add WindowScreens supplement, to host Window.getScreens(). - Rename the previous API access point to getScreensDeprecated(). 4) Add ScreenInfo::is_primary & is_internal to expose in ScreenAdvanced. - Add ScreenInfo::display_id for internal logic, it is not web-exposed. 5) Propagate multi-screen VisualProperties from browser to renderers: - Replace the singular ScreenInfo member with a new ScreenInfos struct. - Encapsulates multi-screen information and a current screen id. - Add [mutable_]current() for easy/legacy access to the current screen. - Validate mojo struct traits in [de]serialization; add tests. 6) Update WidgetBase, ChromeClient, tests, and more code accordingly. - Update RenderWidgetHostViewMac's cached display::Display on changes. - Add CoreInitializer plumbing to fire Screens.change in modules/. FOLLOWUP: Refine Screens::ScreenInfosChanged implementation. FOLLOWUP: Propagate multi-screen info to RemoteFrames. FOLLOWUP: Update/add tests; remove old API and plumbing. FOLLOWUP: Add WindowScreens PermissionObserver & set_disconnect_handler? FOLLOWUP: Use WebContentsImpl's NativeView in RWHI::GetScreenInfo? Bug: 897300, 1116528, 1138596, 1169312, 1116528, 1179876, 1179945 Test: New API roughly WAI w/ --enable-blink-features=WindowPlacement Change-Id: I1d67cfabda62796274992e3e650d5209dd7bb857
- Loading branch information
1 parent
f3ab352
commit 49f83fa
Showing
2 changed files
with
35 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters