Contact emails
alexis.men...@intel.com<mailto:zocha...@microsoft.com>

Explainer
https://github.com/WICG/visual-viewport/blob/gh-pages/segments-explainer/SEGMENTS-EXPLAINER.md

Specification
https://www.w3.org/TR/mediaqueries-5/#mf-horizontal-viewport-segments
https://drafts.csswg.org/css-viewport-1/#segments
https://drafts.csswg.org/css-env-1/#viewport-segments


Design docs

https://github.com/WICG/visual-viewport/blob/gh-pages/segments-explainer/SEGMENTS-EXPLAINER.md

Summary

The Viewport Segments APIs allows developers to adapt their website/webapp 
layout to target foldable devices. The viewport segments defines the position 
and dimensions of a logically separate region of the viewport. Viewport 
segments are created when the viewport is split by one or more hardware 
features (such as a fold or a hinge between separate displays) that act as a 
divider; segments are the regions of the viewport that can be treated as 
logically distinct by the author. This is the sister of the Device Posture API 
(which is already stable) and both APIs are expected to be used to fully target 
foldable devices. Developers can access the information using JavaScript or CSS.


Blink component
Blink>FoldableAPIs<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EFoldableAPIs%22>

Search tags
segment<https://chromestatus.com/features#tags:segment>, 
foldable<https://chromestatus.com/features#tags:foldable>, 
enumeration<https://chromestatus.com/features#tags:enumeration>, 
windows<https://chromestatus.com/features#tags:windows>

TAG review
https://github.com/w3ctag/design-reviews/issues/492

TAG review status
Issues addressed

Risks


Interoperability and Compatibility

This is a new API, risk is that it fails to get adoption.


Gecko: No signal (https://github.com/mozilla/standards-positions/issues/883)

WebKit: No signal (https://github.com/WebKit/standards-positions/issues/327)

Web developers: Positive (https://twitter.com/DanB/status/1179937850286059520) 
Another example: https://twitter.com/justinxinliu/status/1240424897337155584 
Note: Capturing cumulative Web / Framework developer views are challenging, as 
we don't have a really good way to aggregate and summarize this information in 
one URL. This is something we're thinking about and would love to improve in 
the future.

Other signals:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it 
has potentially high risk for Android WebView-based applications?

None


Debuggability

Besides the usual DevTools debugging of the CSS and JavaScript API, few 
specific devices have been added into the Device Emulation mode.


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, 
ChromeOS, Android, and Android WebView)?
Yes

Windows and Android are for now the platforms where the viewport segment make 
the most sense (there is no available devices on the other OSes).


Is this feature fully tested by 
web-platform-tests<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?
Yes over here : 
https://github.com/web-platform-tests/wpt/tree/master/viewport-segments

There are hooks in WebDriver to allow emulating various type of folds (size, 
orientation, position).


Flag name on about://flags
viewport-segments

Finch feature name
ViewportSegments

Rollout plan
Will ship enabled for all users

Requires code in //chrome?
False

Tracking bug
https://crbug.com/1039050

Sample links

https://github.com/foldable-devices/demos

Estimated milestones
Shipping on desktop     138
Origin trial desktop first      125
Origin trial desktop last       128
DevTrial on desktop     116
Shipping on Android     138
Origin trial Android first      125
Origin trial Android last       128
DevTrial on Android     123


Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop 
issues. Please list open issues (e.g. links to known github issues in the 
project for the feature specification) whose resolution may introduce web 
compat/interop risk (e.g., changing to naming or structure of the API in a 
non-backward-compatible way).

None

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5170498990243840?gate=5498556647997440

Links to previous Intent discussions
Intent to Prototype: 
https://groups.google.com/a/chromium.org/g/blink-dev/c/_1_ljYsaqrU/m/qOoHJ7MhAgAJ


This intent message was generated by Chrome Platform 
Status<https://chromestatus.com/>.

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/653AEAC1-2ABF-466C-8EE4-3348CA729123%40intel.com.

Reply via email to