viewpoint_core/devices/iphone/
mod.rs

1//! iPhone device descriptors.
2
3use super::{BrowserType, DeviceDescriptor};
4use crate::context::ViewportSize;
5
6/// iPhone 14 Pro Max device descriptor.
7pub const IPHONE_14_PRO_MAX: DeviceDescriptor = DeviceDescriptor {
8    name: "iPhone 14 Pro Max",
9    user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1",
10    viewport: ViewportSize { width: 430, height: 932 },
11    device_scale_factor: 3.0,
12    is_mobile: true,
13    has_touch: true,
14    default_browser_type: BrowserType::Webkit,
15};
16
17/// iPhone 14 Pro device descriptor.
18pub const IPHONE_14_PRO: DeviceDescriptor = DeviceDescriptor {
19    name: "iPhone 14 Pro",
20    user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1",
21    viewport: ViewportSize { width: 393, height: 852 },
22    device_scale_factor: 3.0,
23    is_mobile: true,
24    has_touch: true,
25    default_browser_type: BrowserType::Webkit,
26};
27
28/// iPhone 14 device descriptor.
29pub const IPHONE_14: DeviceDescriptor = DeviceDescriptor {
30    name: "iPhone 14",
31    user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1",
32    viewport: ViewportSize { width: 390, height: 844 },
33    device_scale_factor: 3.0,
34    is_mobile: true,
35    has_touch: true,
36    default_browser_type: BrowserType::Webkit,
37};
38
39/// iPhone 13 Pro Max device descriptor.
40pub const IPHONE_13_PRO_MAX: DeviceDescriptor = DeviceDescriptor {
41    name: "iPhone 13 Pro Max",
42    user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1",
43    viewport: ViewportSize { width: 428, height: 926 },
44    device_scale_factor: 3.0,
45    is_mobile: true,
46    has_touch: true,
47    default_browser_type: BrowserType::Webkit,
48};
49
50/// iPhone 13 Pro device descriptor.
51pub const IPHONE_13_PRO: DeviceDescriptor = DeviceDescriptor {
52    name: "iPhone 13 Pro",
53    user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1",
54    viewport: ViewportSize { width: 390, height: 844 },
55    device_scale_factor: 3.0,
56    is_mobile: true,
57    has_touch: true,
58    default_browser_type: BrowserType::Webkit,
59};
60
61/// iPhone 13 device descriptor.
62pub const IPHONE_13: DeviceDescriptor = DeviceDescriptor {
63    name: "iPhone 13",
64    user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1",
65    viewport: ViewportSize { width: 390, height: 844 },
66    device_scale_factor: 3.0,
67    is_mobile: true,
68    has_touch: true,
69    default_browser_type: BrowserType::Webkit,
70};
71
72/// iPhone 13 Mini device descriptor.
73pub const IPHONE_13_MINI: DeviceDescriptor = DeviceDescriptor {
74    name: "iPhone 13 Mini",
75    user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1",
76    viewport: ViewportSize { width: 375, height: 812 },
77    device_scale_factor: 3.0,
78    is_mobile: true,
79    has_touch: true,
80    default_browser_type: BrowserType::Webkit,
81};
82
83/// iPhone 12 Pro Max device descriptor.
84pub const IPHONE_12_PRO_MAX: DeviceDescriptor = DeviceDescriptor {
85    name: "iPhone 12 Pro Max",
86    user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1",
87    viewport: ViewportSize { width: 428, height: 926 },
88    device_scale_factor: 3.0,
89    is_mobile: true,
90    has_touch: true,
91    default_browser_type: BrowserType::Webkit,
92};
93
94/// iPhone 12 Pro device descriptor.
95pub const IPHONE_12_PRO: DeviceDescriptor = DeviceDescriptor {
96    name: "iPhone 12 Pro",
97    user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1",
98    viewport: ViewportSize { width: 390, height: 844 },
99    device_scale_factor: 3.0,
100    is_mobile: true,
101    has_touch: true,
102    default_browser_type: BrowserType::Webkit,
103};
104
105/// iPhone 12 device descriptor.
106pub const IPHONE_12: DeviceDescriptor = DeviceDescriptor {
107    name: "iPhone 12",
108    user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1",
109    viewport: ViewportSize { width: 390, height: 844 },
110    device_scale_factor: 3.0,
111    is_mobile: true,
112    has_touch: true,
113    default_browser_type: BrowserType::Webkit,
114};
115
116/// iPhone 12 Mini device descriptor.
117pub const IPHONE_12_MINI: DeviceDescriptor = DeviceDescriptor {
118    name: "iPhone 12 Mini",
119    user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1",
120    viewport: ViewportSize { width: 375, height: 812 },
121    device_scale_factor: 3.0,
122    is_mobile: true,
123    has_touch: true,
124    default_browser_type: BrowserType::Webkit,
125};
126
127/// iPhone 11 Pro Max device descriptor.
128pub const IPHONE_11_PRO_MAX: DeviceDescriptor = DeviceDescriptor {
129    name: "iPhone 11 Pro Max",
130    user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1",
131    viewport: ViewportSize { width: 414, height: 896 },
132    device_scale_factor: 3.0,
133    is_mobile: true,
134    has_touch: true,
135    default_browser_type: BrowserType::Webkit,
136};
137
138/// iPhone 11 Pro device descriptor.
139pub const IPHONE_11_PRO: DeviceDescriptor = DeviceDescriptor {
140    name: "iPhone 11 Pro",
141    user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1",
142    viewport: ViewportSize { width: 375, height: 812 },
143    device_scale_factor: 3.0,
144    is_mobile: true,
145    has_touch: true,
146    default_browser_type: BrowserType::Webkit,
147};
148
149/// iPhone 11 device descriptor.
150pub const IPHONE_11: DeviceDescriptor = DeviceDescriptor {
151    name: "iPhone 11",
152    user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1",
153    viewport: ViewportSize { width: 414, height: 896 },
154    device_scale_factor: 2.0,
155    is_mobile: true,
156    has_touch: true,
157    default_browser_type: BrowserType::Webkit,
158};
159
160/// iPhone SE (3rd generation) device descriptor.
161pub const IPHONE_SE_3: DeviceDescriptor = DeviceDescriptor {
162    name: "iPhone SE 3rd Gen",
163    user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1",
164    viewport: ViewportSize { width: 375, height: 667 },
165    device_scale_factor: 2.0,
166    is_mobile: true,
167    has_touch: true,
168    default_browser_type: BrowserType::Webkit,
169};
170
171/// iPhone SE (2nd generation) device descriptor.
172pub const IPHONE_SE: DeviceDescriptor = DeviceDescriptor {
173    name: "iPhone SE",
174    user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1",
175    viewport: ViewportSize { width: 375, height: 667 },
176    device_scale_factor: 2.0,
177    is_mobile: true,
178    has_touch: true,
179    default_browser_type: BrowserType::Webkit,
180};
181
182/// iPhone 13 in landscape orientation.
183pub const IPHONE_13_LANDSCAPE: DeviceDescriptor = DeviceDescriptor {
184    name: "iPhone 13 Landscape",
185    user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1",
186    viewport: ViewportSize { width: 844, height: 390 },
187    device_scale_factor: 3.0,
188    is_mobile: true,
189    has_touch: true,
190    default_browser_type: BrowserType::Webkit,
191};