OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
404 "Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/5
25.10 (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2", | 404 "Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/5
25.10 (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2", |
405 "1280x800x1"], | 405 "1280x800x1"], |
406 ["Samsung Galaxy Tab 7.7, 8.9, 10.1", | 406 ["Samsung Galaxy Tab 7.7, 8.9, 10.1", |
407 "Mozilla/5.0 (Linux; U; Android 2.2; en-us; SCH-I800 Build/FROYO) AppleWebK
it/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1", | 407 "Mozilla/5.0 (Linux; U; Android 2.2; en-us; SCH-I800 Build/FROYO) AppleWebK
it/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1", |
408 "1280x800x1"], | 408 "1280x800x1"], |
409 ["Samsung Galaxy Tab", | 409 ["Samsung Galaxy Tab", |
410 "Mozilla/5.0 (Linux; U; Android 2.2; en-us; SCH-I800 Build/FROYO) AppleWebK
it/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1", | 410 "Mozilla/5.0 (Linux; U; Android 2.2; en-us; SCH-I800 Build/FROYO) AppleWebK
it/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1", |
411 "1024x600x1"], | 411 "1024x600x1"], |
412 ]; | 412 ]; |
413 | 413 |
| 414 WebInspector.OverridesSupport._userAgents = [ |
| 415 ["Android 4.0.2 \u2014 Galaxy Nexus", "Mozilla/5.0 (Linux; U; Android 4.0.2;
en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Versio
n/4.0 Mobile Safari/534.30"], |
| 416 ["Android 2.3 \u2014 Nexus S", "Mozilla/5.0 (Linux; U; Android 2.3.6; en-us;
Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile
Safari/533.1"], |
| 417 ["BlackBerry \u2014 BB10", "Mozilla/5.0 (BB10; Touch) AppleWebKit/537.1+ (KH
TML, like Gecko) Version/10.0.0.1337 Mobile Safari/537.1+"], |
| 418 ["BlackBerry \u2014 PlayBook 2.1", "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+"], |
| 419 ["BlackBerry \u2014 9900", "Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en-
US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.187 Mobile Safari/534.
11+"], |
| 420 ["Chrome 31 \u2014 Mac", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) App
leWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36"], |
| 421 ["Chrome 31 \u2014 Windows", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.3
6 (KHTML, like Gecko) Chrome/31.0.1650.16 Safari/537.36"], |
| 422 ["Chrome \u2014 Android Tablet", "Mozilla/5.0 (Linux; Android 4.1.2; Nexus 7
Build/JZ054K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safar
i/535.19"], |
| 423 ["Chrome \u2014 Android Mobile", "Mozilla/5.0 (Linux; Android 4.0.4; Galaxy
Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133
Mobile Safari/535.19"], |
| 424 ["Firefox 14 \u2014 Android Mobile", "Mozilla/5.0 (Android; Mobile; rv:14.0)
Gecko/14.0 Firefox/14.0"], |
| 425 ["Firefox 14 \u2014 Android Tablet", "Mozilla/5.0 (Android; Tablet; rv:14.0)
Gecko/14.0 Firefox/14.0"], |
| 426 ["Firefox 4 \u2014 Mac", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.
0.1) Gecko/20100101 Firefox/4.0.1"], |
| 427 ["Firefox 4 \u2014 Windows", "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/2
0100101 Firefox/4.0.1"], |
| 428 ["Firefox 7 \u2014 Mac", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:7.
0.1) Gecko/20100101 Firefox/7.0.1"], |
| 429 ["Firefox 7 \u2014 Windows", "Mozilla/5.0 (Windows NT 6.1; Intel Mac OS X 10
.6; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"], |
| 430 ["Internet Explorer 10", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2
; Trident/6.0)"], |
| 431 ["Internet Explorer 7", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"
], |
| 432 ["Internet Explorer 8", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0;
Trident/4.0)"], |
| 433 ["Internet Explorer 9", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1;
Trident/5.0)"], |
| 434 ["iPad \u2014 iOS 7", "Mozilla/5.0 (iPad; CPU OS 7_0_2 like Mac OS X) AppleW
ebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A501 Safari/9537.53"], |
| 435 ["iPad \u2014 iOS 6", "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWeb
Kit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25"], |
| 436 ["iPhone \u2014 iOS 7", "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_2 like Mac O
S X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A4449d Safari
/9537.53"], |
| 437 ["iPhone \u2014 iOS 6", "Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS
X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/853
6.25"], |
| 438 ["MeeGo \u2014 Nokia N9", "Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (
KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13"], |
| 439 ["Opera 18 \u2014 Mac", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) Appl
eWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 OPR/18.0.12
84.68"], |
| 440 ["Opera 18 \u2014 Windows", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 OPR/18.0.1284.68"], |
| 441 ["Opera 12 \u2014 Mac", "Opera/9.80 (Macintosh; Intel Mac OS X 10.9.1) Prest
o/2.12.388 Version/12.16"], |
| 442 ["Opera 12 \u2014 Windows", "Opera/9.80 (Windows NT 6.1) Presto/2.12.388 Ver
sion/12.16"], |
| 443 ["Silk \u2014 Kindle Fire (Desktop view)", "Mozilla/5.0 (Linux; U; en-us; KF
THWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19
Silk-Accelerated=true"], |
| 444 ["Silk \u2014 Kindle Fire (Mobile view)", "Mozilla/5.0 (Linux; U; Android 4.
2.2; en-us; KFTHWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13
Mobile Safari/535.19 Silk-Accelerated=true"], |
| 445 ]; |
| 446 |
414 WebInspector.OverridesSupport.prototype = { | 447 WebInspector.OverridesSupport.prototype = { |
415 /** | 448 /** |
416 * @return {boolean} | 449 * @return {boolean} |
417 */ | 450 */ |
418 responsiveDesignAvailable: function() | 451 responsiveDesignAvailable: function() |
419 { | 452 { |
420 return this._responsiveDesignAvailable; | 453 return this._responsiveDesignAvailable; |
421 }, | 454 }, |
422 | 455 |
423 /** | 456 /** |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
505 this.settings.overrideUserAgent.addChangeListener(this._userAgentChanged
, this); | 538 this.settings.overrideUserAgent.addChangeListener(this._userAgentChanged
, this); |
506 this.settings.userAgent.addChangeListener(this._userAgentChanged, this); | 539 this.settings.userAgent.addChangeListener(this._userAgentChanged, this); |
507 | 540 |
508 this.settings.overrideDeviceResolution.addChangeListener(this._deviceMet
ricsChanged, this); | 541 this.settings.overrideDeviceResolution.addChangeListener(this._deviceMet
ricsChanged, this); |
509 this.settings.deviceWidth.addChangeListener(this._deviceMetricsChanged,
this); | 542 this.settings.deviceWidth.addChangeListener(this._deviceMetricsChanged,
this); |
510 this.settings.deviceHeight.addChangeListener(this._deviceMetricsChanged,
this); | 543 this.settings.deviceHeight.addChangeListener(this._deviceMetricsChanged,
this); |
511 this.settings.deviceScaleFactor.addChangeListener(this._deviceMetricsCha
nged, this); | 544 this.settings.deviceScaleFactor.addChangeListener(this._deviceMetricsCha
nged, this); |
512 this.settings.deviceTextAutosizing.addChangeListener(this._deviceMetrics
Changed, this); | 545 this.settings.deviceTextAutosizing.addChangeListener(this._deviceMetrics
Changed, this); |
513 this.settings.emulateViewport.addChangeListener(this._deviceMetricsChang
ed, this); | 546 this.settings.emulateViewport.addChangeListener(this._deviceMetricsChang
ed, this); |
514 this.settings.deviceFitWindow.addChangeListener(this._deviceMetricsChang
ed, this); | 547 this.settings.deviceFitWindow.addChangeListener(this._deviceMetricsChang
ed, this); |
515 WebInspector.settings.responsiveDesignMode.addChangeListener(this._devic
eMetricsChanged, this); | 548 WebInspector.settings.responsiveDesign.enabled.addChangeListener(this._d
eviceMetricsChanged, this); |
516 | 549 |
517 this.settings.overrideGeolocation.addChangeListener(this._geolocationPos
itionChanged, this); | 550 this.settings.overrideGeolocation.addChangeListener(this._geolocationPos
itionChanged, this); |
518 this.settings.geolocationOverride.addChangeListener(this._geolocationPos
itionChanged, this); | 551 this.settings.geolocationOverride.addChangeListener(this._geolocationPos
itionChanged, this); |
519 | 552 |
520 this.settings.overrideDeviceOrientation.addChangeListener(this._deviceOr
ientationChanged, this); | 553 this.settings.overrideDeviceOrientation.addChangeListener(this._deviceOr
ientationChanged, this); |
521 this.settings.deviceOrientationOverride.addChangeListener(this._deviceOr
ientationChanged, this); | 554 this.settings.deviceOrientationOverride.addChangeListener(this._deviceOr
ientationChanged, this); |
522 | 555 |
523 this.settings.emulateTouchEvents.addChangeListener(this._emulateTouchEve
ntsChanged, this); | 556 this.settings.emulateTouchEvents.addChangeListener(this._emulateTouchEve
ntsChanged, this); |
524 | 557 |
525 this.settings.overrideCSSMedia.addChangeListener(this._cssMediaChanged,
this); | 558 this.settings.overrideCSSMedia.addChangeListener(this._cssMediaChanged,
this); |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
574 if (size.height !== this.settings.deviceHeight.get()) | 607 if (size.height !== this.settings.deviceHeight.get()) |
575 this.settings.deviceHeight.set(size.height); | 608 this.settings.deviceHeight.set(size.height); |
576 }, | 609 }, |
577 | 610 |
578 _deviceMetricsChanged: function() | 611 _deviceMetricsChanged: function() |
579 { | 612 { |
580 this._showRulersChanged(); | 613 this._showRulersChanged(); |
581 | 614 |
582 if (this._deviceMetricsChangedListenerMuted) | 615 if (this._deviceMetricsChangedListenerMuted) |
583 return; | 616 return; |
584 var responsiveDesignAvailableAndDisabled = this._responsiveDesignAvailab
le && (!WebInspector.settings.responsiveDesignMode.get() || !this._pageResizer); | 617 var responsiveDesignAvailableAndDisabled = this._responsiveDesignAvailab
le && (!WebInspector.settings.responsiveDesign.enabled.get() || !this._pageResiz
er); |
585 var overrideDeviceResolution = this.settings.overrideDeviceResolution.ge
t(); | 618 var overrideDeviceResolution = this.settings.overrideDeviceResolution.ge
t(); |
586 var emulationEnabled = overrideDeviceResolution || this.settings.emulate
Viewport.get(); | 619 var emulationEnabled = overrideDeviceResolution || this.settings.emulate
Viewport.get(); |
587 if (responsiveDesignAvailableAndDisabled || !emulationEnabled) { | 620 if (responsiveDesignAvailableAndDisabled || !emulationEnabled) { |
588 PageAgent.clearDeviceMetricsOverride(apiCallback.bind(this)); | 621 PageAgent.clearDeviceMetricsOverride(apiCallback.bind(this)); |
589 if (this._pageResizer && !emulationEnabled) | 622 if (this._pageResizer && !emulationEnabled) |
590 this._pageResizer.update(0, 0, 0); | 623 this._pageResizer.update(0, 0, 0); |
591 this.maybeHasActiveOverridesChanged(); | 624 this.maybeHasActiveOverridesChanged(); |
592 return; | 625 return; |
593 } | 626 } |
594 | 627 |
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
948 } | 981 } |
949 } | 982 } |
950 | 983 |
951 if (!selectionRestored) | 984 if (!selectionRestored) |
952 deviceSelectElement.selectedIndex = devices.length - 1; | 985 deviceSelectElement.selectedIndex = devices.length - 1; |
953 } | 986 } |
954 | 987 |
955 return deviceSelectElement; | 988 return deviceSelectElement; |
956 }, | 989 }, |
957 | 990 |
| 991 /** |
| 992 * @param {!Document} document |
| 993 * @return {{select: !Element, input: !Element}} |
| 994 */ |
| 995 createUserAgentSelectAndInput: function(document) |
| 996 { |
| 997 var overrideUserAgentSetting = WebInspector.overridesSupport.settings.ov
errideUserAgent; |
| 998 var userAgentSetting = WebInspector.overridesSupport.settings.userAgent; |
| 999 var userAgents = WebInspector.OverridesSupport._userAgents.concat([[WebI
nspector.UIString("Other"), "Other"]]); |
| 1000 |
| 1001 var userAgentSelectElement = document.createElement("select"); |
| 1002 for (var i = 0; i < userAgents.length; ++i) |
| 1003 userAgentSelectElement.add(new Option(userAgents[i][0], userAgents[i
][1])); |
| 1004 userAgentSelectElement.selectedIndex = 0; |
| 1005 |
| 1006 var otherUserAgentElement = document.createElement("input"); |
| 1007 otherUserAgentElement.type = "text"; |
| 1008 otherUserAgentElement.value = userAgentSetting.get(); |
| 1009 otherUserAgentElement.title = userAgentSetting.get(); |
| 1010 |
| 1011 settingChanged(); |
| 1012 userAgentSetting.addChangeListener(settingChanged); |
| 1013 userAgentSelectElement.addEventListener("change", userAgentSelected, fal
se); |
| 1014 |
| 1015 otherUserAgentElement.addEventListener("dblclick", textDoubleClicked, tr
ue); |
| 1016 otherUserAgentElement.addEventListener("blur", textChanged, false); |
| 1017 otherUserAgentElement.addEventListener("keydown", textKeyDown, false); |
| 1018 |
| 1019 function userAgentSelected() |
| 1020 { |
| 1021 var value = userAgentSelectElement.options[userAgentSelectElement.se
lectedIndex].value; |
| 1022 if (value !== "Other") { |
| 1023 userAgentSetting.removeChangeListener(settingChanged); |
| 1024 userAgentSetting.set(value); |
| 1025 userAgentSetting.addChangeListener(settingChanged); |
| 1026 otherUserAgentElement.value = value; |
| 1027 otherUserAgentElement.title = value; |
| 1028 otherUserAgentElement.readOnly = true; |
| 1029 } else { |
| 1030 otherUserAgentElement.readOnly = !overrideUserAgentSetting.get()
; |
| 1031 otherUserAgentElement.focus(); |
| 1032 } |
| 1033 overrideUserAgentSetting.set(true); |
| 1034 } |
| 1035 |
| 1036 function settingChanged() |
| 1037 { |
| 1038 var value = userAgentSetting.get(); |
| 1039 var options = userAgentSelectElement.options; |
| 1040 var selectionRestored = false; |
| 1041 for (var i = 0; i < options.length; ++i) { |
| 1042 if (options[i].value === value) { |
| 1043 userAgentSelectElement.selectedIndex = i; |
| 1044 selectionRestored = true; |
| 1045 break; |
| 1046 } |
| 1047 } |
| 1048 |
| 1049 otherUserAgentElement.readOnly = !overrideUserAgentSetting.get() ||
selectionRestored; |
| 1050 if (!selectionRestored) |
| 1051 userAgentSelectElement.selectedIndex = options.length - 1; |
| 1052 |
| 1053 if (otherUserAgentElement.value !== value) { |
| 1054 otherUserAgentElement.value = value; |
| 1055 otherUserAgentElement.title = value; |
| 1056 } |
| 1057 } |
| 1058 |
| 1059 function textKeyDown(event) |
| 1060 { |
| 1061 if (isEnterKey(event)) |
| 1062 textChanged(); |
| 1063 } |
| 1064 |
| 1065 function textDoubleClicked() |
| 1066 { |
| 1067 userAgentSelectElement.selectedIndex = userAgents.length - 1; |
| 1068 userAgentSelected(); |
| 1069 } |
| 1070 |
| 1071 function textChanged() |
| 1072 { |
| 1073 if (userAgentSetting.get() !== otherUserAgentElement.value) |
| 1074 userAgentSetting.set(otherUserAgentElement.value); |
| 1075 } |
| 1076 |
| 1077 overrideUserAgentSetting.addChangeListener(overrideUserAgentChanged); |
| 1078 function overrideUserAgentChanged() |
| 1079 { |
| 1080 otherUserAgentElement.readOnly = !overrideUserAgentSetting.get() ||
(userAgentSelectElement.options[userAgentSelectElement.selectedIndex].value !==
"Other"); |
| 1081 } |
| 1082 |
| 1083 return { select: userAgentSelectElement, input: otherUserAgentElement }; |
| 1084 }, |
| 1085 |
958 __proto__: WebInspector.Object.prototype | 1086 __proto__: WebInspector.Object.prototype |
959 } | 1087 } |
960 | 1088 |
961 | 1089 |
962 /** | 1090 /** |
963 * @type {!WebInspector.OverridesSupport} | 1091 * @type {!WebInspector.OverridesSupport} |
964 */ | 1092 */ |
965 WebInspector.overridesSupport; | 1093 WebInspector.overridesSupport; |
OLD | NEW |