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

Unified 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/devtools/front_end/responsiveDesignView.css ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/devtools/front_end/sdk/OverridesSupport.js
diff --git a/Source/devtools/front_end/sdk/OverridesSupport.js b/Source/devtools/front_end/sdk/OverridesSupport.js
index 483743e355267120eb2d50104418f555eb3db54e..ede7408e6c1d7af1a5ae3192d624d9176afa6cfe 100644
--- a/Source/devtools/front_end/sdk/OverridesSupport.js
+++ b/Source/devtools/front_end/sdk/OverridesSupport.js
@@ -411,6 +411,39 @@ WebInspector.OverridesSupport._tablets = [
"1024x600x1"],
];
+WebInspector.OverridesSupport._userAgents = [
+ ["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) Version/4.0 Mobile Safari/534.30"],
+ ["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"],
+ ["BlackBerry \u2014 BB10", "Mozilla/5.0 (BB10; Touch) AppleWebKit/537.1+ (KHTML, like Gecko) Version/10.0.0.1337 Mobile Safari/537.1+"],
+ ["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+"],
+ ["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+"],
+ ["Chrome 31 \u2014 Mac", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36"],
+ ["Chrome 31 \u2014 Windows", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.16 Safari/537.36"],
+ ["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 Safari/535.19"],
+ ["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"],
+ ["Firefox 14 \u2014 Android Mobile", "Mozilla/5.0 (Android; Mobile; rv:14.0) Gecko/14.0 Firefox/14.0"],
+ ["Firefox 14 \u2014 Android Tablet", "Mozilla/5.0 (Android; Tablet; rv:14.0) Gecko/14.0 Firefox/14.0"],
+ ["Firefox 4 \u2014 Mac", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"],
+ ["Firefox 4 \u2014 Windows", "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"],
+ ["Firefox 7 \u2014 Mac", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"],
+ ["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"],
+ ["Internet Explorer 10", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)"],
+ ["Internet Explorer 7", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"],
+ ["Internet Explorer 8", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)"],
+ ["Internet Explorer 9", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"],
+ ["iPad \u2014 iOS 7", "Mozilla/5.0 (iPad; CPU OS 7_0_2 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A501 Safari/9537.53"],
+ ["iPad \u2014 iOS 6", "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25"],
+ ["iPhone \u2014 iOS 7", "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_2 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A4449d Safari/9537.53"],
+ ["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/8536.25"],
+ ["MeeGo \u2014 Nokia N9", "Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13"],
+ ["Opera 18 \u2014 Mac", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 OPR/18.0.1284.68"],
+ ["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"],
+ ["Opera 12 \u2014 Mac", "Opera/9.80 (Macintosh; Intel Mac OS X 10.9.1) Presto/2.12.388 Version/12.16"],
+ ["Opera 12 \u2014 Windows", "Opera/9.80 (Windows NT 6.1) Presto/2.12.388 Version/12.16"],
+ ["Silk \u2014 Kindle Fire (Desktop view)", "Mozilla/5.0 (Linux; U; en-us; KFTHWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true"],
+ ["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"],
+];
+
WebInspector.OverridesSupport.prototype = {
/**
* @return {boolean}
@@ -512,7 +545,7 @@ WebInspector.OverridesSupport.prototype = {
this.settings.deviceTextAutosizing.addChangeListener(this._deviceMetricsChanged, this);
this.settings.emulateViewport.addChangeListener(this._deviceMetricsChanged, this);
this.settings.deviceFitWindow.addChangeListener(this._deviceMetricsChanged, this);
- WebInspector.settings.responsiveDesignMode.addChangeListener(this._deviceMetricsChanged, this);
+ WebInspector.settings.responsiveDesign.enabled.addChangeListener(this._deviceMetricsChanged, this);
this.settings.overrideGeolocation.addChangeListener(this._geolocationPositionChanged, this);
this.settings.geolocationOverride.addChangeListener(this._geolocationPositionChanged, this);
@@ -581,7 +614,7 @@ WebInspector.OverridesSupport.prototype = {
if (this._deviceMetricsChangedListenerMuted)
return;
- var responsiveDesignAvailableAndDisabled = this._responsiveDesignAvailable && (!WebInspector.settings.responsiveDesignMode.get() || !this._pageResizer);
+ var responsiveDesignAvailableAndDisabled = this._responsiveDesignAvailable && (!WebInspector.settings.responsiveDesign.enabled.get() || !this._pageResizer);
var overrideDeviceResolution = this.settings.overrideDeviceResolution.get();
var emulationEnabled = overrideDeviceResolution || this.settings.emulateViewport.get();
if (responsiveDesignAvailableAndDisabled || !emulationEnabled) {
@@ -955,6 +988,101 @@ WebInspector.OverridesSupport.prototype = {
return deviceSelectElement;
},
+ /**
+ * @param {!Document} document
+ * @return {{select: !Element, input: !Element}}
+ */
+ createUserAgentSelectAndInput: function(document)
+ {
+ var overrideUserAgentSetting = WebInspector.overridesSupport.settings.overrideUserAgent;
+ var userAgentSetting = WebInspector.overridesSupport.settings.userAgent;
+ var userAgents = WebInspector.OverridesSupport._userAgents.concat([[WebInspector.UIString("Other"), "Other"]]);
+
+ var userAgentSelectElement = document.createElement("select");
+ for (var i = 0; i < userAgents.length; ++i)
+ userAgentSelectElement.add(new Option(userAgents[i][0], userAgents[i][1]));
+ userAgentSelectElement.selectedIndex = 0;
+
+ var otherUserAgentElement = document.createElement("input");
+ otherUserAgentElement.type = "text";
+ otherUserAgentElement.value = userAgentSetting.get();
+ otherUserAgentElement.title = userAgentSetting.get();
+
+ settingChanged();
+ userAgentSetting.addChangeListener(settingChanged);
+ userAgentSelectElement.addEventListener("change", userAgentSelected, false);
+
+ otherUserAgentElement.addEventListener("dblclick", textDoubleClicked, true);
+ otherUserAgentElement.addEventListener("blur", textChanged, false);
+ otherUserAgentElement.addEventListener("keydown", textKeyDown, false);
+
+ function userAgentSelected()
+ {
+ var value = userAgentSelectElement.options[userAgentSelectElement.selectedIndex].value;
+ if (value !== "Other") {
+ userAgentSetting.removeChangeListener(settingChanged);
+ userAgentSetting.set(value);
+ userAgentSetting.addChangeListener(settingChanged);
+ otherUserAgentElement.value = value;
+ otherUserAgentElement.title = value;
+ otherUserAgentElement.readOnly = true;
+ } else {
+ otherUserAgentElement.readOnly = !overrideUserAgentSetting.get();
+ otherUserAgentElement.focus();
+ }
+ overrideUserAgentSetting.set(true);
+ }
+
+ function settingChanged()
+ {
+ var value = userAgentSetting.get();
+ var options = userAgentSelectElement.options;
+ var selectionRestored = false;
+ for (var i = 0; i < options.length; ++i) {
+ if (options[i].value === value) {
+ userAgentSelectElement.selectedIndex = i;
+ selectionRestored = true;
+ break;
+ }
+ }
+
+ otherUserAgentElement.readOnly = !overrideUserAgentSetting.get() || selectionRestored;
+ if (!selectionRestored)
+ userAgentSelectElement.selectedIndex = options.length - 1;
+
+ if (otherUserAgentElement.value !== value) {
+ otherUserAgentElement.value = value;
+ otherUserAgentElement.title = value;
+ }
+ }
+
+ function textKeyDown(event)
+ {
+ if (isEnterKey(event))
+ textChanged();
+ }
+
+ function textDoubleClicked()
+ {
+ userAgentSelectElement.selectedIndex = userAgents.length - 1;
+ userAgentSelected();
+ }
+
+ function textChanged()
+ {
+ if (userAgentSetting.get() !== otherUserAgentElement.value)
+ userAgentSetting.set(otherUserAgentElement.value);
+ }
+
+ overrideUserAgentSetting.addChangeListener(overrideUserAgentChanged);
+ function overrideUserAgentChanged()
+ {
+ otherUserAgentElement.readOnly = !overrideUserAgentSetting.get() || (userAgentSelectElement.options[userAgentSelectElement.selectedIndex].value !== "Other");
+ }
+
+ return { select: userAgentSelectElement, input: otherUserAgentElement };
+ },
+
__proto__: WebInspector.Object.prototype
}
« 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