Skip to content

feat(devices): add iPhone 16 and iPhone 17 device families - #40917

Merged
Dmitry Gozman (dgozman) merged 2 commits into
microsoft:mainfrom
dimkin-eu:add-iphone-16-17-devices
May 22, 2026
Merged

feat(devices): add iPhone 16 and iPhone 17 device families#40917
Dmitry Gozman (dgozman) merged 2 commits into
microsoft:mainfrom
dimkin-eu:add-iphone-16-17-devices

Conversation

@dimkin-eu

@dimkin-eu Dmitry Munda (dimkin-eu) commented May 19, 2026

Copy link
Copy Markdown
Contributor

Summary

Add device descriptors for the iPhone 16 and iPhone 17 generations to deviceDescriptorsSource.json. Every device has portrait and landscape variants, following the conventions of existing iPhone entries in this file. Pre-existing entries are unchanged.

Originally this branch also added Pixel 9 / 10 family entries, but #40928 landed first and covers the same range; rebased to iPhone-only to avoid duplication.

Devices added

10 devices (20 entries with landscape), all defaultBrowserType: webkit:

Device screen scale
iPhone 16 393×852 3
iPhone 16 Plus 430×932 3
iPhone 16 Pro 402×874 3
iPhone 16 Pro Max 440×956 3
iPhone 16e 390×844 3
iPhone 17 402×874 3
iPhone Air 420×912 3
iPhone 17 Pro 402×874 3
iPhone 17 Pro Max 440×956 3
iPhone 17e 390×844 3

Browser-chrome subtraction for the viewport values follows the existing iPhone 15 entries: 193 px portrait / 118 + 50 px landscape.

User-Agent string

All entries use the real-device UA captured from an iPhone 17 Pro:

Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Mobile/15E148 Safari/604.1

iPhone OS 18_7 reflects Apple's UA OS-version freeze introduced in iOS 26 — Safari on any iOS 26+ iPhone now reports 18_7 regardless of the underlying OS version. Ref: https://www.kochava.com/blog/ios-26-apple-freezes-os-version/

Source

  • iPhone screen + scaleios-resolution.com (covers every device 16 / 16e / 17 / 17e / Air / Pro / Pro Max).

@dimkin-eu

Copy link
Copy Markdown
Contributor Author

@microsoft-github-policy-service agree

@dimkin-eu

Copy link
Copy Markdown
Contributor Author

Would like to add foldables (Galaxy Z Fold / Z Flip) in a follow-up or in the same PR. Each device has a cover (external, narrow) display and an inner display - the cover one is the main use case for me. Together, that's 2 screens × portrait + landscape = up to 4 entries per device, and there's no foldable precedent in deviceDescriptorsSource.json today, so I wanted to check the naming convention first. E.g.:

  • Galaxy Z Fold 6 (inner) + Galaxy Z Fold 6 Cover (cover), plus landscape variants
  • or Galaxy Z Fold 6 Inner / Galaxy Z Fold 6 Cover
  • or something else

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@dimkin-eu Dmitry Munda (dimkin-eu) changed the title feat(devices): add iPhone 16/17 and Pixel 9/10 device families feat(devices): add iPhone 16 and iPhone 17 device families May 21, 2026
@dgozman

Copy link
Copy Markdown
Collaborator
  • Galaxy Z Fold 6 (inner) + Galaxy Z Fold 6 Cover (cover), plus landscape variants

This one looks good to me.

@dgozman

Copy link
Copy Markdown
Collaborator

Dmitry Munda (@dimkin-eu) Sorry for the inconvenience, but this needs a rebase. There have been changes both to the device list, and to the chromium version, and all of that conflicts with your PR, unfrotunately.

@dimkin-eu

Copy link
Copy Markdown
Contributor Author

Dmitry Munda (@dimkin-eu) Sorry for the inconvenience, but this needs a rebase. There have been changes both to the device list, and to the chromium version, and all of that conflicts with your PR, unfrotunately.

rebased

  • Galaxy Z Fold 6 (inner) + Galaxy Z Fold 6 Cover (cover), plus landscape variants

This one looks good to me.

will do in new PR

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@dimkin-eu
Dmitry Munda (dimkin-eu) force-pushed the add-iphone-16-17-devices branch 3 times, most recently from cc82c5a to af8115b Compare May 21, 2026 15:30
Dmitrijs Munda and others added 2 commits May 22, 2026 10:58
Add portrait and landscape descriptors for the iPhone 16 and iPhone 17
generations (10 devices, 20 entries):

  iPhone 16          393x852  scale 3
  iPhone 16 Plus     430x932  scale 3
  iPhone 16 Pro      402x874  scale 3
  iPhone 16 Pro Max  440x956  scale 3
  iPhone 16e         390x844  scale 3
  iPhone 17          402x874  scale 3
  iPhone Air         420x912  scale 3
  iPhone 17 Pro      402x874  scale 3
  iPhone 17 Pro Max  440x956  scale 3
  iPhone 17e         390x844  scale 3

Screen and scale values are taken from ios-resolution.com. Browser-chrome
subtraction follows the existing iPhone 15 entries in this file
(193 px portrait / 118 + 50 px landscape).

UA string mirrors the existing iPhone 15 entries:

  Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X)
  AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4
  Mobile/15E148 Safari/604.1

"iPhone OS 18_7" reflects Apple's UA OS-version freeze introduced in
iOS 26: https://www.kochava.com/blog/ios-26-apple-freezes-os-version/
The Version/26.4 segment will be auto-normalised by doclint to whatever
WebKit version Playwright currently bundles.
@github-actions

Copy link
Copy Markdown
Contributor

Test results for "MCP"

7181 passed, 1113 skipped


Merge workflow run.

@github-actions

Copy link
Copy Markdown
Contributor

Test results for "tests 1"

2 flaky ⚠️ [chromium-library] › library/popup.spec.ts:261 › should not throw when click closes popup `@chromium-ubuntu-22.04-node24`
⚠️ [chromium-library] › library/popup.spec.ts:261 › should not throw when click closes popup `@chromium-ubuntu-22.04-node20`

42067 passed, 852 skipped


Merge workflow run.

@dgozman
Dmitry Gozman (dgozman) merged commit 4cd7f68 into microsoft:main May 22, 2026
45 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants