Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(254)

Side by Side Diff: Source/devtools/front_end/sdk/OverridesSupport.js

Issue 317153002: [DevTools] Move user agent override to responsive design toolbar. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: mac style Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/devtools/front_end/responsiveDesignView.css ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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;
OLDNEW
« no previous file with comments | « Source/devtools/front_end/responsiveDesignView.css ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698