Closed Bug 1695398 Opened 5 years ago Closed 2 years ago

[wpt-sync] Sync PR 27814 - Revert "Window Placement: Implement Screens and ScreenAdvanced interfaces"

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 27814 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/27814
Details from upstream follow.

b'Findit <findit-for-me@appspot.gserviceaccount.com>' wrote:

Revert "Window Placement: Implement Screens and ScreenAdvanced interfaces"

This reverts commit 15aa0f24ee824a08b0029b2ce794c7b98f8c6f69.

Reason for revert:

Findit (https://goo.gl/kROfz5) identified CL at revision 858379 as the
culprit for failures in the build cycles as shown on:
https://analysis.chromium.org/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtLzE1YWEwZjI0ZWU4MjRhMDhiMDAyOWIyY2U3OTRjN2I5OGY4YzZmNjkM

Sample Failed Build: https://ci.chromium.org/b/8854180099574757328

Sample Failed Step: browser_tests

Original change's description:

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.
  1. Add ScreenAdvanced interface, to extend Screen with extra info.
  • Make Screen impl non-final; override functions in ScreenAdvanced.
  1. Add WindowScreens supplement, to host Window.getScreens().
  • Rename the previous API access point to getScreensDeprecated().
  1. Add ScreenInfo::is_primary & is_internal to expose in ScreenAdvanced.
  • Add ScreenInfo::display_id for internal logic, it is not web-exposed.
  1. 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.
  1. 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
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2669359
Commit-Queue: Michael Wasserman \<msw@chromium.org>
Reviewed-by: John Abd-El-Malek \<jam@chromium.org>
Reviewed-by: danakj \<danakj@chromium.org>
Reviewed-by: Daniel Cheng \<dcheng@chromium.org>
Reviewed-by: Victor Costan \<pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#858379}

Change-Id: Ie57966075c27802b7e93c51bdc6e898704ff7e23
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 897300, 1116528, 1138596, 1169312, 1116528, 1179876, 1179945

Reviewed-on: https://chromium-review.googlesource.com/2725799
WPT-Export-Revision: 43b4dfffda6db08e497464f983b3bf3b30c2f4ef

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.