Skip to content

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

Open
dimkin-eu wants to merge 1 commit into
microsoft:mainfrom
dimkin-eu:add-iphone-16-17-devices
Open

feat(devices): add iPhone 16 and iPhone 17 device families#40917
dimkin-eu wants to merge 1 commit into
microsoft:mainfrom
dimkin-eu:add-iphone-16-17-devices

Conversation

@dimkin-eu
Copy link
Copy Markdown

@dimkin-eu dimkin-eu commented May 19, 2026

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
Author

@microsoft-github-policy-service agree

@dimkin-eu
Copy link
Copy Markdown
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 dimkin-eu force-pushed the add-iphone-16-17-devices branch from 522cf04 to 400a329 Compare May 21, 2026 06:27
@dimkin-eu 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

dgozman commented May 21, 2026

  • 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

dgozman commented May 21, 2026

@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 dimkin-eu force-pushed the add-iphone-16-17-devices branch from 400a329 to 49671a2 Compare May 21, 2026 09:40
@dimkin-eu
Copy link
Copy Markdown
Author

@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
Copy link
Copy Markdown
Contributor

Test results for "MCP"

1 failed
❌ [chrome] › mcp/annotate.spec.ts:57 › should capture multiple screenshots in one annotation @mcp-windows-latest-chrome

7180 passed, 1113 skipped


Merge workflow run.

@github-actions
Copy link
Copy Markdown
Contributor

Test results for "tests 1"

1 flaky ⚠️ [chromium-library] › library/video.spec.ts:719 › screencast › should work with video+trace `@ubuntu-22.04-chromium-tip-of-tree`

42042 passed, 850 skipped


Merge workflow run.

@dimkin-eu dimkin-eu force-pushed the add-iphone-16-17-devices branch 2 times, most recently from 9fe0d9a to cc82c5a Compare May 21, 2026 15:29
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.
@dimkin-eu dimkin-eu force-pushed the add-iphone-16-17-devices branch from cc82c5a to af8115b Compare May 21, 2026 15:30
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