puppeteer-ruby 0.0.17 → 0.0.22

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,855 +1,1004 @@
1
1
  Puppeteer::DEVICES = Hash[
2
2
  [
3
3
  {
4
- 'name': 'Blackberry PlayBook',
5
- 'userAgent': 'Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/7.2.1.0 Safari/536.2+',
6
- 'viewport': {
7
- 'width': 600,
8
- 'height': 1024,
9
- 'deviceScaleFactor': 1,
10
- 'isMobile': true,
11
- 'hasTouch': true,
12
- 'isLandscape': false,
13
- },
14
- },
15
- {
16
- 'name': 'Blackberry PlayBook landscape',
17
- 'userAgent': 'Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/7.2.1.0 Safari/536.2+',
18
- 'viewport': {
19
- 'width': 1024,
20
- 'height': 600,
21
- 'deviceScaleFactor': 1,
22
- 'isMobile': true,
23
- 'hasTouch': true,
24
- 'isLandscape': true,
25
- },
26
- },
27
- {
28
- 'name': 'BlackBerry Z30',
29
- 'userAgent': 'Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+',
30
- 'viewport': {
31
- 'width': 360,
32
- 'height': 640,
33
- 'deviceScaleFactor': 2,
34
- 'isMobile': true,
35
- 'hasTouch': true,
36
- 'isLandscape': false,
37
- },
38
- },
39
- {
40
- 'name': 'BlackBerry Z30 landscape',
41
- 'userAgent': 'Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+',
42
- 'viewport': {
43
- 'width': 640,
44
- 'height': 360,
45
- 'deviceScaleFactor': 2,
46
- 'isMobile': true,
47
- 'hasTouch': true,
48
- 'isLandscape': true,
49
- },
50
- },
51
- {
52
- 'name': 'Galaxy Note 3',
53
- 'userAgent': 'Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
54
- 'viewport': {
55
- 'width': 360,
56
- 'height': 640,
57
- 'deviceScaleFactor': 3,
58
- 'isMobile': true,
59
- 'hasTouch': true,
60
- 'isLandscape': false,
61
- },
62
- },
63
- {
64
- 'name': 'Galaxy Note 3 landscape',
65
- 'userAgent': 'Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
66
- 'viewport': {
67
- 'width': 640,
68
- 'height': 360,
69
- 'deviceScaleFactor': 3,
70
- 'isMobile': true,
71
- 'hasTouch': true,
72
- 'isLandscape': true,
73
- },
74
- },
75
- {
76
- 'name': 'Galaxy Note II',
77
- 'userAgent': 'Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
78
- 'viewport': {
79
- 'width': 360,
80
- 'height': 640,
81
- 'deviceScaleFactor': 2,
82
- 'isMobile': true,
83
- 'hasTouch': true,
84
- 'isLandscape': false,
85
- },
86
- },
87
- {
88
- 'name': 'Galaxy Note II landscape',
89
- 'userAgent': 'Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
90
- 'viewport': {
91
- 'width': 640,
92
- 'height': 360,
93
- 'deviceScaleFactor': 2,
94
- 'isMobile': true,
95
- 'hasTouch': true,
96
- 'isLandscape': true,
97
- },
98
- },
99
- {
100
- 'name': 'Galaxy S III',
101
- 'userAgent': 'Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
102
- 'viewport': {
103
- 'width': 360,
104
- 'height': 640,
105
- 'deviceScaleFactor': 2,
106
- 'isMobile': true,
107
- 'hasTouch': true,
108
- 'isLandscape': false,
109
- },
110
- },
111
- {
112
- 'name': 'Galaxy S III landscape',
113
- 'userAgent': 'Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
114
- 'viewport': {
115
- 'width': 640,
116
- 'height': 360,
117
- 'deviceScaleFactor': 2,
118
- 'isMobile': true,
119
- 'hasTouch': true,
120
- 'isLandscape': true,
121
- },
122
- },
123
- {
124
- 'name': 'Galaxy S5',
125
- 'userAgent': 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
126
- 'viewport': {
127
- 'width': 360,
128
- 'height': 640,
129
- 'deviceScaleFactor': 3,
130
- 'isMobile': true,
131
- 'hasTouch': true,
132
- 'isLandscape': false,
133
- },
134
- },
135
- {
136
- 'name': 'Galaxy S5 landscape',
137
- 'userAgent': 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
138
- 'viewport': {
139
- 'width': 640,
140
- 'height': 360,
141
- 'deviceScaleFactor': 3,
142
- 'isMobile': true,
143
- 'hasTouch': true,
144
- 'isLandscape': true,
145
- },
146
- },
147
- {
148
- 'name': 'iPad',
149
- 'userAgent': 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
150
- 'viewport': {
151
- 'width': 768,
152
- 'height': 1024,
153
- 'deviceScaleFactor': 2,
154
- 'isMobile': true,
155
- 'hasTouch': true,
156
- 'isLandscape': false,
157
- },
158
- },
159
- {
160
- 'name': 'iPad landscape',
161
- 'userAgent': 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
162
- 'viewport': {
163
- 'width': 1024,
164
- 'height': 768,
165
- 'deviceScaleFactor': 2,
166
- 'isMobile': true,
167
- 'hasTouch': true,
168
- 'isLandscape': true,
169
- },
170
- },
171
- {
172
- 'name': 'iPad Mini',
173
- 'userAgent': 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
174
- 'viewport': {
175
- 'width': 768,
176
- 'height': 1024,
177
- 'deviceScaleFactor': 2,
178
- 'isMobile': true,
179
- 'hasTouch': true,
180
- 'isLandscape': false,
181
- },
182
- },
183
- {
184
- 'name': 'iPad Mini landscape',
185
- 'userAgent': 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
186
- 'viewport': {
187
- 'width': 1024,
188
- 'height': 768,
189
- 'deviceScaleFactor': 2,
190
- 'isMobile': true,
191
- 'hasTouch': true,
192
- 'isLandscape': true,
193
- },
194
- },
195
- {
196
- 'name': 'iPad Pro',
197
- 'userAgent': 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
198
- 'viewport': {
199
- 'width': 1024,
200
- 'height': 1366,
201
- 'deviceScaleFactor': 2,
202
- 'isMobile': true,
203
- 'hasTouch': true,
204
- 'isLandscape': false,
205
- },
206
- },
207
- {
208
- 'name': 'iPad Pro landscape',
209
- 'userAgent': 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
210
- 'viewport': {
211
- 'width': 1366,
212
- 'height': 1024,
213
- 'deviceScaleFactor': 2,
214
- 'isMobile': true,
215
- 'hasTouch': true,
216
- 'isLandscape': true,
217
- },
218
- },
219
- {
220
- 'name': 'iPhone 4',
221
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53',
222
- 'viewport': {
223
- 'width': 320,
224
- 'height': 480,
225
- 'deviceScaleFactor': 2,
226
- 'isMobile': true,
227
- 'hasTouch': true,
228
- 'isLandscape': false,
229
- },
230
- },
231
- {
232
- 'name': 'iPhone 4 landscape',
233
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53',
234
- 'viewport': {
235
- 'width': 480,
236
- 'height': 320,
237
- 'deviceScaleFactor': 2,
238
- 'isMobile': true,
239
- 'hasTouch': true,
240
- 'isLandscape': true,
241
- },
242
- },
243
- {
244
- 'name': 'iPhone 5',
245
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
246
- 'viewport': {
247
- 'width': 320,
248
- 'height': 568,
249
- 'deviceScaleFactor': 2,
250
- 'isMobile': true,
251
- 'hasTouch': true,
252
- 'isLandscape': false,
253
- },
254
- },
255
- {
256
- 'name': 'iPhone 5 landscape',
257
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
258
- 'viewport': {
259
- 'width': 568,
260
- 'height': 320,
261
- 'deviceScaleFactor': 2,
262
- 'isMobile': true,
263
- 'hasTouch': true,
264
- 'isLandscape': true,
265
- },
266
- },
267
- {
268
- 'name': 'iPhone 6',
269
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
270
- 'viewport': {
271
- 'width': 375,
272
- 'height': 667,
273
- 'deviceScaleFactor': 2,
274
- 'isMobile': true,
275
- 'hasTouch': true,
276
- 'isLandscape': false,
277
- },
278
- },
279
- {
280
- 'name': 'iPhone 6 landscape',
281
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
282
- 'viewport': {
283
- 'width': 667,
284
- 'height': 375,
285
- 'deviceScaleFactor': 2,
286
- 'isMobile': true,
287
- 'hasTouch': true,
288
- 'isLandscape': true,
289
- },
290
- },
291
- {
292
- 'name': 'iPhone 6 Plus',
293
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
294
- 'viewport': {
295
- 'width': 414,
296
- 'height': 736,
297
- 'deviceScaleFactor': 3,
298
- 'isMobile': true,
299
- 'hasTouch': true,
300
- 'isLandscape': false,
301
- },
302
- },
303
- {
304
- 'name': 'iPhone 6 Plus landscape',
305
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
306
- 'viewport': {
307
- 'width': 736,
308
- 'height': 414,
309
- 'deviceScaleFactor': 3,
310
- 'isMobile': true,
311
- 'hasTouch': true,
312
- 'isLandscape': true,
313
- },
314
- },
315
- {
316
- 'name': 'iPhone 7',
317
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
318
- 'viewport': {
319
- 'width': 375,
320
- 'height': 667,
321
- 'deviceScaleFactor': 2,
322
- 'isMobile': true,
323
- 'hasTouch': true,
324
- 'isLandscape': false,
325
- },
326
- },
327
- {
328
- 'name': 'iPhone 7 landscape',
329
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
330
- 'viewport': {
331
- 'width': 667,
332
- 'height': 375,
333
- 'deviceScaleFactor': 2,
334
- 'isMobile': true,
335
- 'hasTouch': true,
336
- 'isLandscape': true,
337
- },
338
- },
339
- {
340
- 'name': 'iPhone 7 Plus',
341
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
342
- 'viewport': {
343
- 'width': 414,
344
- 'height': 736,
345
- 'deviceScaleFactor': 3,
346
- 'isMobile': true,
347
- 'hasTouch': true,
348
- 'isLandscape': false,
349
- },
350
- },
351
- {
352
- 'name': 'iPhone 7 Plus landscape',
353
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
354
- 'viewport': {
355
- 'width': 736,
356
- 'height': 414,
357
- 'deviceScaleFactor': 3,
358
- 'isMobile': true,
359
- 'hasTouch': true,
360
- 'isLandscape': true,
361
- },
362
- },
363
- {
364
- 'name': 'iPhone 8',
365
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
366
- 'viewport': {
367
- 'width': 375,
368
- 'height': 667,
369
- 'deviceScaleFactor': 2,
370
- 'isMobile': true,
371
- 'hasTouch': true,
372
- 'isLandscape': false,
373
- },
374
- },
375
- {
376
- 'name': 'iPhone 8 landscape',
377
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
378
- 'viewport': {
379
- 'width': 667,
380
- 'height': 375,
381
- 'deviceScaleFactor': 2,
382
- 'isMobile': true,
383
- 'hasTouch': true,
384
- 'isLandscape': true,
385
- },
386
- },
387
- {
388
- 'name': 'iPhone 8 Plus',
389
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
390
- 'viewport': {
391
- 'width': 414,
392
- 'height': 736,
393
- 'deviceScaleFactor': 3,
394
- 'isMobile': true,
395
- 'hasTouch': true,
396
- 'isLandscape': false,
397
- },
398
- },
399
- {
400
- 'name': 'iPhone 8 Plus landscape',
401
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
402
- 'viewport': {
403
- 'width': 736,
404
- 'height': 414,
405
- 'deviceScaleFactor': 3,
406
- 'isMobile': true,
407
- 'hasTouch': true,
408
- 'isLandscape': true,
409
- },
410
- },
411
- {
412
- 'name': 'iPhone SE',
413
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
414
- 'viewport': {
415
- 'width': 320,
416
- 'height': 568,
417
- 'deviceScaleFactor': 2,
418
- 'isMobile': true,
419
- 'hasTouch': true,
420
- 'isLandscape': false,
421
- },
422
- },
423
- {
424
- 'name': 'iPhone SE landscape',
425
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
426
- 'viewport': {
427
- 'width': 568,
428
- 'height': 320,
429
- 'deviceScaleFactor': 2,
430
- 'isMobile': true,
431
- 'hasTouch': true,
432
- 'isLandscape': true,
433
- },
434
- },
435
- {
436
- 'name': 'iPhone X',
437
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
438
- 'viewport': {
439
- 'width': 375,
440
- 'height': 812,
441
- 'deviceScaleFactor': 3,
442
- 'isMobile': true,
443
- 'hasTouch': true,
444
- 'isLandscape': false,
445
- },
446
- },
447
- {
448
- 'name': 'iPhone X landscape',
449
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
450
- 'viewport': {
451
- 'width': 812,
452
- 'height': 375,
453
- 'deviceScaleFactor': 3,
454
- 'isMobile': true,
455
- 'hasTouch': true,
456
- 'isLandscape': true,
457
- },
458
- },
459
- {
460
- 'name': 'iPhone XR',
461
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1',
462
- 'viewport': {
463
- 'width': 414,
464
- 'height': 896,
465
- 'deviceScaleFactor': 3,
466
- 'isMobile': true,
467
- 'hasTouch': true,
468
- 'isLandscape': false,
469
- },
470
- },
471
- {
472
- 'name': 'iPhone XR landscape',
473
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1',
474
- 'viewport': {
475
- 'width': 896,
476
- 'height': 414,
477
- 'deviceScaleFactor': 3,
478
- 'isMobile': true,
479
- 'hasTouch': true,
480
- 'isLandscape': true,
481
- },
482
- },
483
- {
484
- 'name': 'JioPhone 2',
485
- 'userAgent': 'Mozilla/5.0 (Mobile; LYF/F300B/LYF-F300B-001-01-15-130718-i;Android; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5',
486
- 'viewport': {
487
- 'width': 240,
488
- 'height': 320,
489
- 'deviceScaleFactor': 1,
490
- 'isMobile': true,
491
- 'hasTouch': true,
492
- 'isLandscape': false,
493
- },
494
- },
495
- {
496
- 'name': 'JioPhone 2 landscape',
497
- 'userAgent': 'Mozilla/5.0 (Mobile; LYF/F300B/LYF-F300B-001-01-15-130718-i;Android; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5',
498
- 'viewport': {
499
- 'width': 320,
500
- 'height': 240,
501
- 'deviceScaleFactor': 1,
502
- 'isMobile': true,
503
- 'hasTouch': true,
504
- 'isLandscape': true,
505
- },
506
- },
507
- {
508
- 'name': 'Kindle Fire HDX',
509
- 'userAgent': 'Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true',
510
- 'viewport': {
511
- 'width': 800,
512
- 'height': 1280,
513
- 'deviceScaleFactor': 2,
514
- 'isMobile': true,
515
- 'hasTouch': true,
516
- 'isLandscape': false,
517
- },
518
- },
519
- {
520
- 'name': 'Kindle Fire HDX landscape',
521
- 'userAgent': 'Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true',
522
- 'viewport': {
523
- 'width': 1280,
524
- 'height': 800,
525
- 'deviceScaleFactor': 2,
526
- 'isMobile': true,
527
- 'hasTouch': true,
528
- 'isLandscape': true,
529
- },
530
- },
531
- {
532
- 'name': 'LG Optimus L70',
533
- 'userAgent': 'Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/75.0.3765.0 Mobile Safari/537.36',
534
- 'viewport': {
535
- 'width': 384,
536
- 'height': 640,
537
- 'deviceScaleFactor': 1.25,
538
- 'isMobile': true,
539
- 'hasTouch': true,
540
- 'isLandscape': false,
541
- },
542
- },
543
- {
544
- 'name': 'LG Optimus L70 landscape',
545
- 'userAgent': 'Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/75.0.3765.0 Mobile Safari/537.36',
546
- 'viewport': {
547
- 'width': 640,
548
- 'height': 384,
549
- 'deviceScaleFactor': 1.25,
550
- 'isMobile': true,
551
- 'hasTouch': true,
552
- 'isLandscape': true,
553
- },
554
- },
555
- {
556
- 'name': 'Microsoft Lumia 550',
557
- 'userAgent': 'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263',
558
- 'viewport': {
559
- 'width': 640,
560
- 'height': 360,
561
- 'deviceScaleFactor': 2,
562
- 'isMobile': true,
563
- 'hasTouch': true,
564
- 'isLandscape': false,
565
- },
566
- },
567
- {
568
- 'name': 'Microsoft Lumia 950',
569
- 'userAgent': 'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263',
570
- 'viewport': {
571
- 'width': 360,
572
- 'height': 640,
573
- 'deviceScaleFactor': 4,
574
- 'isMobile': true,
575
- 'hasTouch': true,
576
- 'isLandscape': false,
577
- },
578
- },
579
- {
580
- 'name': 'Microsoft Lumia 950 landscape',
581
- 'userAgent': 'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263',
582
- 'viewport': {
583
- 'width': 640,
584
- 'height': 360,
585
- 'deviceScaleFactor': 4,
586
- 'isMobile': true,
587
- 'hasTouch': true,
588
- 'isLandscape': true,
589
- },
590
- },
591
- {
592
- 'name': 'Nexus 10',
593
- 'userAgent': 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Safari/537.36',
594
- 'viewport': {
595
- 'width': 800,
596
- 'height': 1280,
597
- 'deviceScaleFactor': 2,
598
- 'isMobile': true,
599
- 'hasTouch': true,
600
- 'isLandscape': false,
601
- },
602
- },
603
- {
604
- 'name': 'Nexus 10 landscape',
605
- 'userAgent': 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Safari/537.36',
606
- 'viewport': {
607
- 'width': 1280,
608
- 'height': 800,
609
- 'deviceScaleFactor': 2,
610
- 'isMobile': true,
611
- 'hasTouch': true,
612
- 'isLandscape': true,
613
- },
614
- },
615
- {
616
- 'name': 'Nexus 4',
617
- 'userAgent': 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
618
- 'viewport': {
619
- 'width': 384,
620
- 'height': 640,
621
- 'deviceScaleFactor': 2,
622
- 'isMobile': true,
623
- 'hasTouch': true,
624
- 'isLandscape': false,
625
- },
626
- },
627
- {
628
- 'name': 'Nexus 4 landscape',
629
- 'userAgent': 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
630
- 'viewport': {
631
- 'width': 640,
632
- 'height': 384,
633
- 'deviceScaleFactor': 2,
634
- 'isMobile': true,
635
- 'hasTouch': true,
636
- 'isLandscape': true,
637
- },
638
- },
639
- {
640
- 'name': 'Nexus 5',
641
- 'userAgent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
642
- 'viewport': {
643
- 'width': 360,
644
- 'height': 640,
645
- 'deviceScaleFactor': 3,
646
- 'isMobile': true,
647
- 'hasTouch': true,
648
- 'isLandscape': false,
649
- },
650
- },
651
- {
652
- 'name': 'Nexus 5 landscape',
653
- 'userAgent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
654
- 'viewport': {
655
- 'width': 640,
656
- 'height': 360,
657
- 'deviceScaleFactor': 3,
658
- 'isMobile': true,
659
- 'hasTouch': true,
660
- 'isLandscape': true,
661
- },
662
- },
663
- {
664
- 'name': 'Nexus 5X',
665
- 'userAgent': 'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
666
- 'viewport': {
667
- 'width': 412,
668
- 'height': 732,
669
- 'deviceScaleFactor': 2.625,
670
- 'isMobile': true,
671
- 'hasTouch': true,
672
- 'isLandscape': false,
673
- },
674
- },
675
- {
676
- 'name': 'Nexus 5X landscape',
677
- 'userAgent': 'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
678
- 'viewport': {
679
- 'width': 732,
680
- 'height': 412,
681
- 'deviceScaleFactor': 2.625,
682
- 'isMobile': true,
683
- 'hasTouch': true,
684
- 'isLandscape': true,
685
- },
686
- },
687
- {
688
- 'name': 'Nexus 6',
689
- 'userAgent': 'Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
690
- 'viewport': {
691
- 'width': 412,
692
- 'height': 732,
693
- 'deviceScaleFactor': 3.5,
694
- 'isMobile': true,
695
- 'hasTouch': true,
696
- 'isLandscape': false,
697
- },
698
- },
699
- {
700
- 'name': 'Nexus 6 landscape',
701
- 'userAgent': 'Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
702
- 'viewport': {
703
- 'width': 732,
704
- 'height': 412,
705
- 'deviceScaleFactor': 3.5,
706
- 'isMobile': true,
707
- 'hasTouch': true,
708
- 'isLandscape': true,
709
- },
710
- },
711
- {
712
- 'name': 'Nexus 6P',
713
- 'userAgent': 'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
714
- 'viewport': {
715
- 'width': 412,
716
- 'height': 732,
717
- 'deviceScaleFactor': 3.5,
718
- 'isMobile': true,
719
- 'hasTouch': true,
720
- 'isLandscape': false,
721
- },
722
- },
723
- {
724
- 'name': 'Nexus 6P landscape',
725
- 'userAgent': 'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
726
- 'viewport': {
727
- 'width': 732,
728
- 'height': 412,
729
- 'deviceScaleFactor': 3.5,
730
- 'isMobile': true,
731
- 'hasTouch': true,
732
- 'isLandscape': true,
733
- },
734
- },
735
- {
736
- 'name': 'Nexus 7',
737
- 'userAgent': 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Safari/537.36',
738
- 'viewport': {
739
- 'width': 600,
740
- 'height': 960,
741
- 'deviceScaleFactor': 2,
742
- 'isMobile': true,
743
- 'hasTouch': true,
744
- 'isLandscape': false,
745
- },
746
- },
747
- {
748
- 'name': 'Nexus 7 landscape',
749
- 'userAgent': 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Safari/537.36',
750
- 'viewport': {
751
- 'width': 960,
752
- 'height': 600,
753
- 'deviceScaleFactor': 2,
754
- 'isMobile': true,
755
- 'hasTouch': true,
756
- 'isLandscape': true,
757
- },
758
- },
759
- {
760
- 'name': 'Nokia Lumia 520',
761
- 'userAgent': 'Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)',
762
- 'viewport': {
763
- 'width': 320,
764
- 'height': 533,
765
- 'deviceScaleFactor': 1.5,
766
- 'isMobile': true,
767
- 'hasTouch': true,
768
- 'isLandscape': false,
769
- },
770
- },
771
- {
772
- 'name': 'Nokia Lumia 520 landscape',
773
- 'userAgent': 'Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)',
774
- 'viewport': {
775
- 'width': 533,
776
- 'height': 320,
777
- 'deviceScaleFactor': 1.5,
778
- 'isMobile': true,
779
- 'hasTouch': true,
780
- 'isLandscape': true,
781
- },
782
- },
783
- {
784
- 'name': 'Nokia N9',
785
- 'userAgent': 'Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13',
786
- 'viewport': {
787
- 'width': 480,
788
- 'height': 854,
789
- 'deviceScaleFactor': 1,
790
- 'isMobile': true,
791
- 'hasTouch': true,
792
- 'isLandscape': false,
793
- },
794
- },
795
- {
796
- 'name': 'Nokia N9 landscape',
797
- 'userAgent': 'Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13',
798
- 'viewport': {
799
- 'width': 854,
800
- 'height': 480,
801
- 'deviceScaleFactor': 1,
802
- 'isMobile': true,
803
- 'hasTouch': true,
804
- 'isLandscape': true,
805
- },
806
- },
807
- {
808
- 'name': 'Pixel 2',
809
- 'userAgent': 'Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
810
- 'viewport': {
811
- 'width': 411,
812
- 'height': 731,
813
- 'deviceScaleFactor': 2.625,
814
- 'isMobile': true,
815
- 'hasTouch': true,
816
- 'isLandscape': false,
817
- },
818
- },
819
- {
820
- 'name': 'Pixel 2 landscape',
821
- 'userAgent': 'Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
822
- 'viewport': {
823
- 'width': 731,
824
- 'height': 411,
825
- 'deviceScaleFactor': 2.625,
826
- 'isMobile': true,
827
- 'hasTouch': true,
828
- 'isLandscape': true,
829
- },
830
- },
831
- {
832
- 'name': 'Pixel 2 XL',
833
- 'userAgent': 'Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
834
- 'viewport': {
835
- 'width': 411,
836
- 'height': 823,
837
- 'deviceScaleFactor': 3.5,
838
- 'isMobile': true,
839
- 'hasTouch': true,
840
- 'isLandscape': false,
841
- },
842
- },
843
- {
844
- 'name': 'Pixel 2 XL landscape',
845
- 'userAgent': 'Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
846
- 'viewport': {
847
- 'width': 823,
848
- 'height': 411,
849
- 'deviceScaleFactor': 3.5,
850
- 'isMobile': true,
851
- 'hasTouch': true,
852
- 'isLandscape': true,
4
+ name: 'Blackberry PlayBook',
5
+ userAgent:
6
+ 'Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/7.2.1.0 Safari/536.2+',
7
+ viewport: {
8
+ width: 600,
9
+ height: 1024,
10
+ deviceScaleFactor: 1,
11
+ isMobile: true,
12
+ hasTouch: true,
13
+ isLandscape: false,
14
+ },
15
+ },
16
+ {
17
+ name: 'Blackberry PlayBook landscape',
18
+ userAgent:
19
+ 'Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/7.2.1.0 Safari/536.2+',
20
+ viewport: {
21
+ width: 1024,
22
+ height: 600,
23
+ deviceScaleFactor: 1,
24
+ isMobile: true,
25
+ hasTouch: true,
26
+ isLandscape: true,
27
+ },
28
+ },
29
+ {
30
+ name: 'BlackBerry Z30',
31
+ userAgent:
32
+ 'Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+',
33
+ viewport: {
34
+ width: 360,
35
+ height: 640,
36
+ deviceScaleFactor: 2,
37
+ isMobile: true,
38
+ hasTouch: true,
39
+ isLandscape: false,
40
+ },
41
+ },
42
+ {
43
+ name: 'BlackBerry Z30 landscape',
44
+ userAgent:
45
+ 'Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+',
46
+ viewport: {
47
+ width: 640,
48
+ height: 360,
49
+ deviceScaleFactor: 2,
50
+ isMobile: true,
51
+ hasTouch: true,
52
+ isLandscape: true,
53
+ },
54
+ },
55
+ {
56
+ name: 'Galaxy Note 3',
57
+ userAgent:
58
+ 'Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
59
+ viewport: {
60
+ width: 360,
61
+ height: 640,
62
+ deviceScaleFactor: 3,
63
+ isMobile: true,
64
+ hasTouch: true,
65
+ isLandscape: false,
66
+ },
67
+ },
68
+ {
69
+ name: 'Galaxy Note 3 landscape',
70
+ userAgent:
71
+ 'Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
72
+ viewport: {
73
+ width: 640,
74
+ height: 360,
75
+ deviceScaleFactor: 3,
76
+ isMobile: true,
77
+ hasTouch: true,
78
+ isLandscape: true,
79
+ },
80
+ },
81
+ {
82
+ name: 'Galaxy Note II',
83
+ userAgent:
84
+ 'Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
85
+ viewport: {
86
+ width: 360,
87
+ height: 640,
88
+ deviceScaleFactor: 2,
89
+ isMobile: true,
90
+ hasTouch: true,
91
+ isLandscape: false,
92
+ },
93
+ },
94
+ {
95
+ name: 'Galaxy Note II landscape',
96
+ userAgent:
97
+ 'Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
98
+ viewport: {
99
+ width: 640,
100
+ height: 360,
101
+ deviceScaleFactor: 2,
102
+ isMobile: true,
103
+ hasTouch: true,
104
+ isLandscape: true,
105
+ },
106
+ },
107
+ {
108
+ name: 'Galaxy S III',
109
+ userAgent:
110
+ 'Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
111
+ viewport: {
112
+ width: 360,
113
+ height: 640,
114
+ deviceScaleFactor: 2,
115
+ isMobile: true,
116
+ hasTouch: true,
117
+ isLandscape: false,
118
+ },
119
+ },
120
+ {
121
+ name: 'Galaxy S III landscape',
122
+ userAgent:
123
+ 'Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
124
+ viewport: {
125
+ width: 640,
126
+ height: 360,
127
+ deviceScaleFactor: 2,
128
+ isMobile: true,
129
+ hasTouch: true,
130
+ isLandscape: true,
131
+ },
132
+ },
133
+ {
134
+ name: 'Galaxy S5',
135
+ userAgent:
136
+ 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
137
+ viewport: {
138
+ width: 360,
139
+ height: 640,
140
+ deviceScaleFactor: 3,
141
+ isMobile: true,
142
+ hasTouch: true,
143
+ isLandscape: false,
144
+ },
145
+ },
146
+ {
147
+ name: 'Galaxy S5 landscape',
148
+ userAgent:
149
+ 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
150
+ viewport: {
151
+ width: 640,
152
+ height: 360,
153
+ deviceScaleFactor: 3,
154
+ isMobile: true,
155
+ hasTouch: true,
156
+ isLandscape: true,
157
+ },
158
+ },
159
+ {
160
+ name: 'iPad',
161
+ userAgent:
162
+ 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
163
+ viewport: {
164
+ width: 768,
165
+ height: 1024,
166
+ deviceScaleFactor: 2,
167
+ isMobile: true,
168
+ hasTouch: true,
169
+ isLandscape: false,
170
+ },
171
+ },
172
+ {
173
+ name: 'iPad landscape',
174
+ userAgent:
175
+ 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
176
+ viewport: {
177
+ width: 1024,
178
+ height: 768,
179
+ deviceScaleFactor: 2,
180
+ isMobile: true,
181
+ hasTouch: true,
182
+ isLandscape: true,
183
+ },
184
+ },
185
+ {
186
+ name: 'iPad Mini',
187
+ userAgent:
188
+ 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
189
+ viewport: {
190
+ width: 768,
191
+ height: 1024,
192
+ deviceScaleFactor: 2,
193
+ isMobile: true,
194
+ hasTouch: true,
195
+ isLandscape: false,
196
+ },
197
+ },
198
+ {
199
+ name: 'iPad Mini landscape',
200
+ userAgent:
201
+ 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
202
+ viewport: {
203
+ width: 1024,
204
+ height: 768,
205
+ deviceScaleFactor: 2,
206
+ isMobile: true,
207
+ hasTouch: true,
208
+ isLandscape: true,
209
+ },
210
+ },
211
+ {
212
+ name: 'iPad Pro',
213
+ userAgent:
214
+ 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
215
+ viewport: {
216
+ width: 1024,
217
+ height: 1366,
218
+ deviceScaleFactor: 2,
219
+ isMobile: true,
220
+ hasTouch: true,
221
+ isLandscape: false,
222
+ },
223
+ },
224
+ {
225
+ name: 'iPad Pro landscape',
226
+ userAgent:
227
+ 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
228
+ viewport: {
229
+ width: 1366,
230
+ height: 1024,
231
+ deviceScaleFactor: 2,
232
+ isMobile: true,
233
+ hasTouch: true,
234
+ isLandscape: true,
235
+ },
236
+ },
237
+ {
238
+ name: 'iPhone 4',
239
+ userAgent:
240
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53',
241
+ viewport: {
242
+ width: 320,
243
+ height: 480,
244
+ deviceScaleFactor: 2,
245
+ isMobile: true,
246
+ hasTouch: true,
247
+ isLandscape: false,
248
+ },
249
+ },
250
+ {
251
+ name: 'iPhone 4 landscape',
252
+ userAgent:
253
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53',
254
+ viewport: {
255
+ width: 480,
256
+ height: 320,
257
+ deviceScaleFactor: 2,
258
+ isMobile: true,
259
+ hasTouch: true,
260
+ isLandscape: true,
261
+ },
262
+ },
263
+ {
264
+ name: 'iPhone 5',
265
+ userAgent:
266
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
267
+ viewport: {
268
+ width: 320,
269
+ height: 568,
270
+ deviceScaleFactor: 2,
271
+ isMobile: true,
272
+ hasTouch: true,
273
+ isLandscape: false,
274
+ },
275
+ },
276
+ {
277
+ name: 'iPhone 5 landscape',
278
+ userAgent:
279
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
280
+ viewport: {
281
+ width: 568,
282
+ height: 320,
283
+ deviceScaleFactor: 2,
284
+ isMobile: true,
285
+ hasTouch: true,
286
+ isLandscape: true,
287
+ },
288
+ },
289
+ {
290
+ name: 'iPhone 6',
291
+ userAgent:
292
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
293
+ viewport: {
294
+ width: 375,
295
+ height: 667,
296
+ deviceScaleFactor: 2,
297
+ isMobile: true,
298
+ hasTouch: true,
299
+ isLandscape: false,
300
+ },
301
+ },
302
+ {
303
+ name: 'iPhone 6 landscape',
304
+ userAgent:
305
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
306
+ viewport: {
307
+ width: 667,
308
+ height: 375,
309
+ deviceScaleFactor: 2,
310
+ isMobile: true,
311
+ hasTouch: true,
312
+ isLandscape: true,
313
+ },
314
+ },
315
+ {
316
+ name: 'iPhone 6 Plus',
317
+ userAgent:
318
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
319
+ viewport: {
320
+ width: 414,
321
+ height: 736,
322
+ deviceScaleFactor: 3,
323
+ isMobile: true,
324
+ hasTouch: true,
325
+ isLandscape: false,
326
+ },
327
+ },
328
+ {
329
+ name: 'iPhone 6 Plus landscape',
330
+ userAgent:
331
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
332
+ viewport: {
333
+ width: 736,
334
+ height: 414,
335
+ deviceScaleFactor: 3,
336
+ isMobile: true,
337
+ hasTouch: true,
338
+ isLandscape: true,
339
+ },
340
+ },
341
+ {
342
+ name: 'iPhone 7',
343
+ userAgent:
344
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
345
+ viewport: {
346
+ width: 375,
347
+ height: 667,
348
+ deviceScaleFactor: 2,
349
+ isMobile: true,
350
+ hasTouch: true,
351
+ isLandscape: false,
352
+ },
353
+ },
354
+ {
355
+ name: 'iPhone 7 landscape',
356
+ userAgent:
357
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
358
+ viewport: {
359
+ width: 667,
360
+ height: 375,
361
+ deviceScaleFactor: 2,
362
+ isMobile: true,
363
+ hasTouch: true,
364
+ isLandscape: true,
365
+ },
366
+ },
367
+ {
368
+ name: 'iPhone 7 Plus',
369
+ userAgent:
370
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
371
+ viewport: {
372
+ width: 414,
373
+ height: 736,
374
+ deviceScaleFactor: 3,
375
+ isMobile: true,
376
+ hasTouch: true,
377
+ isLandscape: false,
378
+ },
379
+ },
380
+ {
381
+ name: 'iPhone 7 Plus landscape',
382
+ userAgent:
383
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
384
+ viewport: {
385
+ width: 736,
386
+ height: 414,
387
+ deviceScaleFactor: 3,
388
+ isMobile: true,
389
+ hasTouch: true,
390
+ isLandscape: true,
391
+ },
392
+ },
393
+ {
394
+ name: 'iPhone 8',
395
+ userAgent:
396
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
397
+ viewport: {
398
+ width: 375,
399
+ height: 667,
400
+ deviceScaleFactor: 2,
401
+ isMobile: true,
402
+ hasTouch: true,
403
+ isLandscape: false,
404
+ },
405
+ },
406
+ {
407
+ name: 'iPhone 8 landscape',
408
+ userAgent:
409
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
410
+ viewport: {
411
+ width: 667,
412
+ height: 375,
413
+ deviceScaleFactor: 2,
414
+ isMobile: true,
415
+ hasTouch: true,
416
+ isLandscape: true,
417
+ },
418
+ },
419
+ {
420
+ name: 'iPhone 8 Plus',
421
+ userAgent:
422
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
423
+ viewport: {
424
+ width: 414,
425
+ height: 736,
426
+ deviceScaleFactor: 3,
427
+ isMobile: true,
428
+ hasTouch: true,
429
+ isLandscape: false,
430
+ },
431
+ },
432
+ {
433
+ name: 'iPhone 8 Plus landscape',
434
+ userAgent:
435
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
436
+ viewport: {
437
+ width: 736,
438
+ height: 414,
439
+ deviceScaleFactor: 3,
440
+ isMobile: true,
441
+ hasTouch: true,
442
+ isLandscape: true,
443
+ },
444
+ },
445
+ {
446
+ name: 'iPhone SE',
447
+ userAgent:
448
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
449
+ viewport: {
450
+ width: 320,
451
+ height: 568,
452
+ deviceScaleFactor: 2,
453
+ isMobile: true,
454
+ hasTouch: true,
455
+ isLandscape: false,
456
+ },
457
+ },
458
+ {
459
+ name: 'iPhone SE landscape',
460
+ userAgent:
461
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
462
+ viewport: {
463
+ width: 568,
464
+ height: 320,
465
+ deviceScaleFactor: 2,
466
+ isMobile: true,
467
+ hasTouch: true,
468
+ isLandscape: true,
469
+ },
470
+ },
471
+ {
472
+ name: 'iPhone X',
473
+ userAgent:
474
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
475
+ viewport: {
476
+ width: 375,
477
+ height: 812,
478
+ deviceScaleFactor: 3,
479
+ isMobile: true,
480
+ hasTouch: true,
481
+ isLandscape: false,
482
+ },
483
+ },
484
+ {
485
+ name: 'iPhone X landscape',
486
+ userAgent:
487
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
488
+ viewport: {
489
+ width: 812,
490
+ height: 375,
491
+ deviceScaleFactor: 3,
492
+ isMobile: true,
493
+ hasTouch: true,
494
+ isLandscape: true,
495
+ },
496
+ },
497
+ {
498
+ name: 'iPhone XR',
499
+ userAgent:
500
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1',
501
+ viewport: {
502
+ width: 414,
503
+ height: 896,
504
+ deviceScaleFactor: 3,
505
+ isMobile: true,
506
+ hasTouch: true,
507
+ isLandscape: false,
508
+ },
509
+ },
510
+ {
511
+ name: 'iPhone XR landscape',
512
+ userAgent:
513
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1',
514
+ viewport: {
515
+ width: 896,
516
+ height: 414,
517
+ deviceScaleFactor: 3,
518
+ isMobile: true,
519
+ hasTouch: true,
520
+ isLandscape: true,
521
+ },
522
+ },
523
+ {
524
+ name: 'iPhone 11',
525
+ userAgent:
526
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1',
527
+ viewport: {
528
+ width: 414,
529
+ height: 828,
530
+ deviceScaleFactor: 2,
531
+ isMobile: true,
532
+ hasTouch: true,
533
+ isLandscape: false,
534
+ },
535
+ },
536
+ {
537
+ name: 'iPhone 11 landscape',
538
+ userAgent:
539
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1',
540
+ viewport: {
541
+ width: 828,
542
+ height: 414,
543
+ deviceScaleFactor: 2,
544
+ isMobile: true,
545
+ hasTouch: true,
546
+ isLandscape: true,
547
+ },
548
+ },
549
+ {
550
+ name: 'iPhone 11 Pro',
551
+ userAgent:
552
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1',
553
+ viewport: {
554
+ width: 375,
555
+ height: 812,
556
+ deviceScaleFactor: 3,
557
+ isMobile: true,
558
+ hasTouch: true,
559
+ isLandscape: false,
560
+ },
561
+ },
562
+ {
563
+ name: 'iPhone 11 Pro landscape',
564
+ userAgent:
565
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1',
566
+ viewport: {
567
+ width: 812,
568
+ height: 375,
569
+ deviceScaleFactor: 3,
570
+ isMobile: true,
571
+ hasTouch: true,
572
+ isLandscape: true,
573
+ },
574
+ },
575
+ {
576
+ name: 'iPhone 11 Pro Max',
577
+ userAgent:
578
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1',
579
+ viewport: {
580
+ width: 414,
581
+ height: 896,
582
+ deviceScaleFactor: 3,
583
+ isMobile: true,
584
+ hasTouch: true,
585
+ isLandscape: false,
586
+ },
587
+ },
588
+ {
589
+ name: 'iPhone 11 Pro Max landscape',
590
+ userAgent:
591
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1',
592
+ viewport: {
593
+ width: 896,
594
+ height: 414,
595
+ deviceScaleFactor: 3,
596
+ isMobile: true,
597
+ hasTouch: true,
598
+ isLandscape: true,
599
+ },
600
+ },
601
+ {
602
+ name: 'JioPhone 2',
603
+ userAgent:
604
+ 'Mozilla/5.0 (Mobile; LYF/F300B/LYF-F300B-001-01-15-130718-i;Android; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5',
605
+ viewport: {
606
+ width: 240,
607
+ height: 320,
608
+ deviceScaleFactor: 1,
609
+ isMobile: true,
610
+ hasTouch: true,
611
+ isLandscape: false,
612
+ },
613
+ },
614
+ {
615
+ name: 'JioPhone 2 landscape',
616
+ userAgent:
617
+ 'Mozilla/5.0 (Mobile; LYF/F300B/LYF-F300B-001-01-15-130718-i;Android; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5',
618
+ viewport: {
619
+ width: 320,
620
+ height: 240,
621
+ deviceScaleFactor: 1,
622
+ isMobile: true,
623
+ hasTouch: true,
624
+ isLandscape: true,
625
+ },
626
+ },
627
+ {
628
+ name: 'Kindle Fire HDX',
629
+ userAgent:
630
+ 'Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true',
631
+ viewport: {
632
+ width: 800,
633
+ height: 1280,
634
+ deviceScaleFactor: 2,
635
+ isMobile: true,
636
+ hasTouch: true,
637
+ isLandscape: false,
638
+ },
639
+ },
640
+ {
641
+ name: 'Kindle Fire HDX landscape',
642
+ userAgent:
643
+ 'Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true',
644
+ viewport: {
645
+ width: 1280,
646
+ height: 800,
647
+ deviceScaleFactor: 2,
648
+ isMobile: true,
649
+ hasTouch: true,
650
+ isLandscape: true,
651
+ },
652
+ },
653
+ {
654
+ name: 'LG Optimus L70',
655
+ userAgent:
656
+ 'Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/75.0.3765.0 Mobile Safari/537.36',
657
+ viewport: {
658
+ width: 384,
659
+ height: 640,
660
+ deviceScaleFactor: 1.25,
661
+ isMobile: true,
662
+ hasTouch: true,
663
+ isLandscape: false,
664
+ },
665
+ },
666
+ {
667
+ name: 'LG Optimus L70 landscape',
668
+ userAgent:
669
+ 'Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/75.0.3765.0 Mobile Safari/537.36',
670
+ viewport: {
671
+ width: 640,
672
+ height: 384,
673
+ deviceScaleFactor: 1.25,
674
+ isMobile: true,
675
+ hasTouch: true,
676
+ isLandscape: true,
677
+ },
678
+ },
679
+ {
680
+ name: 'Microsoft Lumia 550',
681
+ userAgent:
682
+ 'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263',
683
+ viewport: {
684
+ width: 640,
685
+ height: 360,
686
+ deviceScaleFactor: 2,
687
+ isMobile: true,
688
+ hasTouch: true,
689
+ isLandscape: false,
690
+ },
691
+ },
692
+ {
693
+ name: 'Microsoft Lumia 950',
694
+ userAgent:
695
+ 'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263',
696
+ viewport: {
697
+ width: 360,
698
+ height: 640,
699
+ deviceScaleFactor: 4,
700
+ isMobile: true,
701
+ hasTouch: true,
702
+ isLandscape: false,
703
+ },
704
+ },
705
+ {
706
+ name: 'Microsoft Lumia 950 landscape',
707
+ userAgent:
708
+ 'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263',
709
+ viewport: {
710
+ width: 640,
711
+ height: 360,
712
+ deviceScaleFactor: 4,
713
+ isMobile: true,
714
+ hasTouch: true,
715
+ isLandscape: true,
716
+ },
717
+ },
718
+ {
719
+ name: 'Nexus 10',
720
+ userAgent:
721
+ 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Safari/537.36',
722
+ viewport: {
723
+ width: 800,
724
+ height: 1280,
725
+ deviceScaleFactor: 2,
726
+ isMobile: true,
727
+ hasTouch: true,
728
+ isLandscape: false,
729
+ },
730
+ },
731
+ {
732
+ name: 'Nexus 10 landscape',
733
+ userAgent:
734
+ 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Safari/537.36',
735
+ viewport: {
736
+ width: 1280,
737
+ height: 800,
738
+ deviceScaleFactor: 2,
739
+ isMobile: true,
740
+ hasTouch: true,
741
+ isLandscape: true,
742
+ },
743
+ },
744
+ {
745
+ name: 'Nexus 4',
746
+ userAgent:
747
+ 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
748
+ viewport: {
749
+ width: 384,
750
+ height: 640,
751
+ deviceScaleFactor: 2,
752
+ isMobile: true,
753
+ hasTouch: true,
754
+ isLandscape: false,
755
+ },
756
+ },
757
+ {
758
+ name: 'Nexus 4 landscape',
759
+ userAgent:
760
+ 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
761
+ viewport: {
762
+ width: 640,
763
+ height: 384,
764
+ deviceScaleFactor: 2,
765
+ isMobile: true,
766
+ hasTouch: true,
767
+ isLandscape: true,
768
+ },
769
+ },
770
+ {
771
+ name: 'Nexus 5',
772
+ userAgent:
773
+ 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
774
+ viewport: {
775
+ width: 360,
776
+ height: 640,
777
+ deviceScaleFactor: 3,
778
+ isMobile: true,
779
+ hasTouch: true,
780
+ isLandscape: false,
781
+ },
782
+ },
783
+ {
784
+ name: 'Nexus 5 landscape',
785
+ userAgent:
786
+ 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
787
+ viewport: {
788
+ width: 640,
789
+ height: 360,
790
+ deviceScaleFactor: 3,
791
+ isMobile: true,
792
+ hasTouch: true,
793
+ isLandscape: true,
794
+ },
795
+ },
796
+ {
797
+ name: 'Nexus 5X',
798
+ userAgent:
799
+ 'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
800
+ viewport: {
801
+ width: 412,
802
+ height: 732,
803
+ deviceScaleFactor: 2.625,
804
+ isMobile: true,
805
+ hasTouch: true,
806
+ isLandscape: false,
807
+ },
808
+ },
809
+ {
810
+ name: 'Nexus 5X landscape',
811
+ userAgent:
812
+ 'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
813
+ viewport: {
814
+ width: 732,
815
+ height: 412,
816
+ deviceScaleFactor: 2.625,
817
+ isMobile: true,
818
+ hasTouch: true,
819
+ isLandscape: true,
820
+ },
821
+ },
822
+ {
823
+ name: 'Nexus 6',
824
+ userAgent:
825
+ 'Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
826
+ viewport: {
827
+ width: 412,
828
+ height: 732,
829
+ deviceScaleFactor: 3.5,
830
+ isMobile: true,
831
+ hasTouch: true,
832
+ isLandscape: false,
833
+ },
834
+ },
835
+ {
836
+ name: 'Nexus 6 landscape',
837
+ userAgent:
838
+ 'Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
839
+ viewport: {
840
+ width: 732,
841
+ height: 412,
842
+ deviceScaleFactor: 3.5,
843
+ isMobile: true,
844
+ hasTouch: true,
845
+ isLandscape: true,
846
+ },
847
+ },
848
+ {
849
+ name: 'Nexus 6P',
850
+ userAgent:
851
+ 'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
852
+ viewport: {
853
+ width: 412,
854
+ height: 732,
855
+ deviceScaleFactor: 3.5,
856
+ isMobile: true,
857
+ hasTouch: true,
858
+ isLandscape: false,
859
+ },
860
+ },
861
+ {
862
+ name: 'Nexus 6P landscape',
863
+ userAgent:
864
+ 'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
865
+ viewport: {
866
+ width: 732,
867
+ height: 412,
868
+ deviceScaleFactor: 3.5,
869
+ isMobile: true,
870
+ hasTouch: true,
871
+ isLandscape: true,
872
+ },
873
+ },
874
+ {
875
+ name: 'Nexus 7',
876
+ userAgent:
877
+ 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Safari/537.36',
878
+ viewport: {
879
+ width: 600,
880
+ height: 960,
881
+ deviceScaleFactor: 2,
882
+ isMobile: true,
883
+ hasTouch: true,
884
+ isLandscape: false,
885
+ },
886
+ },
887
+ {
888
+ name: 'Nexus 7 landscape',
889
+ userAgent:
890
+ 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Safari/537.36',
891
+ viewport: {
892
+ width: 960,
893
+ height: 600,
894
+ deviceScaleFactor: 2,
895
+ isMobile: true,
896
+ hasTouch: true,
897
+ isLandscape: true,
898
+ },
899
+ },
900
+ {
901
+ name: 'Nokia Lumia 520',
902
+ userAgent:
903
+ 'Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)',
904
+ viewport: {
905
+ width: 320,
906
+ height: 533,
907
+ deviceScaleFactor: 1.5,
908
+ isMobile: true,
909
+ hasTouch: true,
910
+ isLandscape: false,
911
+ },
912
+ },
913
+ {
914
+ name: 'Nokia Lumia 520 landscape',
915
+ userAgent:
916
+ 'Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)',
917
+ viewport: {
918
+ width: 533,
919
+ height: 320,
920
+ deviceScaleFactor: 1.5,
921
+ isMobile: true,
922
+ hasTouch: true,
923
+ isLandscape: true,
924
+ },
925
+ },
926
+ {
927
+ name: 'Nokia N9',
928
+ userAgent:
929
+ 'Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13',
930
+ viewport: {
931
+ width: 480,
932
+ height: 854,
933
+ deviceScaleFactor: 1,
934
+ isMobile: true,
935
+ hasTouch: true,
936
+ isLandscape: false,
937
+ },
938
+ },
939
+ {
940
+ name: 'Nokia N9 landscape',
941
+ userAgent:
942
+ 'Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13',
943
+ viewport: {
944
+ width: 854,
945
+ height: 480,
946
+ deviceScaleFactor: 1,
947
+ isMobile: true,
948
+ hasTouch: true,
949
+ isLandscape: true,
950
+ },
951
+ },
952
+ {
953
+ name: 'Pixel 2',
954
+ userAgent:
955
+ 'Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
956
+ viewport: {
957
+ width: 411,
958
+ height: 731,
959
+ deviceScaleFactor: 2.625,
960
+ isMobile: true,
961
+ hasTouch: true,
962
+ isLandscape: false,
963
+ },
964
+ },
965
+ {
966
+ name: 'Pixel 2 landscape',
967
+ userAgent:
968
+ 'Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
969
+ viewport: {
970
+ width: 731,
971
+ height: 411,
972
+ deviceScaleFactor: 2.625,
973
+ isMobile: true,
974
+ hasTouch: true,
975
+ isLandscape: true,
976
+ },
977
+ },
978
+ {
979
+ name: 'Pixel 2 XL',
980
+ userAgent:
981
+ 'Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
982
+ viewport: {
983
+ width: 411,
984
+ height: 823,
985
+ deviceScaleFactor: 3.5,
986
+ isMobile: true,
987
+ hasTouch: true,
988
+ isLandscape: false,
989
+ },
990
+ },
991
+ {
992
+ name: 'Pixel 2 XL landscape',
993
+ userAgent:
994
+ 'Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
995
+ viewport: {
996
+ width: 823,
997
+ height: 411,
998
+ deviceScaleFactor: 3.5,
999
+ isMobile: true,
1000
+ hasTouch: true,
1001
+ isLandscape: true,
853
1002
  },
854
1003
  },
855
1004
  ].map do |json|