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 {
11        width: 430,
12        height: 932,
13    },
14    device_scale_factor: 3.0,
15    is_mobile: true,
16    has_touch: true,
17    default_browser_type: BrowserType::Webkit,
18};
19
20/// iPhone 14 Pro device descriptor.
21pub const IPHONE_14_PRO: DeviceDescriptor = DeviceDescriptor {
22    name: "iPhone 14 Pro",
23    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",
24    viewport: ViewportSize {
25        width: 393,
26        height: 852,
27    },
28    device_scale_factor: 3.0,
29    is_mobile: true,
30    has_touch: true,
31    default_browser_type: BrowserType::Webkit,
32};
33
34/// iPhone 14 device descriptor.
35pub const IPHONE_14: DeviceDescriptor = DeviceDescriptor {
36    name: "iPhone 14",
37    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",
38    viewport: ViewportSize {
39        width: 390,
40        height: 844,
41    },
42    device_scale_factor: 3.0,
43    is_mobile: true,
44    has_touch: true,
45    default_browser_type: BrowserType::Webkit,
46};
47
48/// iPhone 13 Pro Max device descriptor.
49pub const IPHONE_13_PRO_MAX: DeviceDescriptor = DeviceDescriptor {
50    name: "iPhone 13 Pro Max",
51    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",
52    viewport: ViewportSize {
53        width: 428,
54        height: 926,
55    },
56    device_scale_factor: 3.0,
57    is_mobile: true,
58    has_touch: true,
59    default_browser_type: BrowserType::Webkit,
60};
61
62/// iPhone 13 Pro device descriptor.
63pub const IPHONE_13_PRO: DeviceDescriptor = DeviceDescriptor {
64    name: "iPhone 13 Pro",
65    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",
66    viewport: ViewportSize {
67        width: 390,
68        height: 844,
69    },
70    device_scale_factor: 3.0,
71    is_mobile: true,
72    has_touch: true,
73    default_browser_type: BrowserType::Webkit,
74};
75
76/// iPhone 13 device descriptor.
77pub const IPHONE_13: DeviceDescriptor = DeviceDescriptor {
78    name: "iPhone 13",
79    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",
80    viewport: ViewportSize {
81        width: 390,
82        height: 844,
83    },
84    device_scale_factor: 3.0,
85    is_mobile: true,
86    has_touch: true,
87    default_browser_type: BrowserType::Webkit,
88};
89
90/// iPhone 13 Mini device descriptor.
91pub const IPHONE_13_MINI: DeviceDescriptor = DeviceDescriptor {
92    name: "iPhone 13 Mini",
93    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",
94    viewport: ViewportSize {
95        width: 375,
96        height: 812,
97    },
98    device_scale_factor: 3.0,
99    is_mobile: true,
100    has_touch: true,
101    default_browser_type: BrowserType::Webkit,
102};
103
104/// iPhone 12 Pro Max device descriptor.
105pub const IPHONE_12_PRO_MAX: DeviceDescriptor = DeviceDescriptor {
106    name: "iPhone 12 Pro Max",
107    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",
108    viewport: ViewportSize {
109        width: 428,
110        height: 926,
111    },
112    device_scale_factor: 3.0,
113    is_mobile: true,
114    has_touch: true,
115    default_browser_type: BrowserType::Webkit,
116};
117
118/// iPhone 12 Pro device descriptor.
119pub const IPHONE_12_PRO: DeviceDescriptor = DeviceDescriptor {
120    name: "iPhone 12 Pro",
121    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",
122    viewport: ViewportSize {
123        width: 390,
124        height: 844,
125    },
126    device_scale_factor: 3.0,
127    is_mobile: true,
128    has_touch: true,
129    default_browser_type: BrowserType::Webkit,
130};
131
132/// iPhone 12 device descriptor.
133pub const IPHONE_12: DeviceDescriptor = DeviceDescriptor {
134    name: "iPhone 12",
135    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",
136    viewport: ViewportSize {
137        width: 390,
138        height: 844,
139    },
140    device_scale_factor: 3.0,
141    is_mobile: true,
142    has_touch: true,
143    default_browser_type: BrowserType::Webkit,
144};
145
146/// iPhone 12 Mini device descriptor.
147pub const IPHONE_12_MINI: DeviceDescriptor = DeviceDescriptor {
148    name: "iPhone 12 Mini",
149    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",
150    viewport: ViewportSize {
151        width: 375,
152        height: 812,
153    },
154    device_scale_factor: 3.0,
155    is_mobile: true,
156    has_touch: true,
157    default_browser_type: BrowserType::Webkit,
158};
159
160/// iPhone 11 Pro Max device descriptor.
161pub const IPHONE_11_PRO_MAX: DeviceDescriptor = DeviceDescriptor {
162    name: "iPhone 11 Pro Max",
163    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",
164    viewport: ViewportSize {
165        width: 414,
166        height: 896,
167    },
168    device_scale_factor: 3.0,
169    is_mobile: true,
170    has_touch: true,
171    default_browser_type: BrowserType::Webkit,
172};
173
174/// iPhone 11 Pro device descriptor.
175pub const IPHONE_11_PRO: DeviceDescriptor = DeviceDescriptor {
176    name: "iPhone 11 Pro",
177    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",
178    viewport: ViewportSize {
179        width: 375,
180        height: 812,
181    },
182    device_scale_factor: 3.0,
183    is_mobile: true,
184    has_touch: true,
185    default_browser_type: BrowserType::Webkit,
186};
187
188/// iPhone 11 device descriptor.
189pub const IPHONE_11: DeviceDescriptor = DeviceDescriptor {
190    name: "iPhone 11",
191    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",
192    viewport: ViewportSize {
193        width: 414,
194        height: 896,
195    },
196    device_scale_factor: 2.0,
197    is_mobile: true,
198    has_touch: true,
199    default_browser_type: BrowserType::Webkit,
200};
201
202/// iPhone SE (3rd generation) device descriptor.
203pub const IPHONE_SE_3: DeviceDescriptor = DeviceDescriptor {
204    name: "iPhone SE 3rd Gen",
205    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",
206    viewport: ViewportSize {
207        width: 375,
208        height: 667,
209    },
210    device_scale_factor: 2.0,
211    is_mobile: true,
212    has_touch: true,
213    default_browser_type: BrowserType::Webkit,
214};
215
216/// iPhone SE (2nd generation) device descriptor.
217pub const IPHONE_SE: DeviceDescriptor = DeviceDescriptor {
218    name: "iPhone SE",
219    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",
220    viewport: ViewportSize {
221        width: 375,
222        height: 667,
223    },
224    device_scale_factor: 2.0,
225    is_mobile: true,
226    has_touch: true,
227    default_browser_type: BrowserType::Webkit,
228};
229
230/// iPhone 13 in landscape orientation.
231pub const IPHONE_13_LANDSCAPE: DeviceDescriptor = DeviceDescriptor {
232    name: "iPhone 13 Landscape",
233    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",
234    viewport: ViewportSize {
235        width: 844,
236        height: 390,
237    },
238    device_scale_factor: 3.0,
239    is_mobile: true,
240    has_touch: true,
241    default_browser_type: BrowserType::Webkit,
242};