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

Side by Side Diff: Source/devtools/front_end/ResponsiveDesignView.js

Issue 302943002: DevTools: add device selector and touch checkbox into the responsive toolbar. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebaselined 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * @constructor 6 * @constructor
7 * @extends {WebInspector.VBox} 7 * @extends {WebInspector.VBox}
8 * @implements {WebInspector.OverridesSupport.PageResizer} 8 * @implements {WebInspector.OverridesSupport.PageResizer}
9 * @param {!WebInspector.InspectedPagePlaceholder} inspectedPagePlaceholder 9 * @param {!WebInspector.InspectedPagePlaceholder} inspectedPagePlaceholder
10 */ 10 */
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 context.font = "11px " + WebInspector.fontFamily(); 206 context.font = "11px " + WebInspector.fontFamily();
207 207
208 const rulerStep = 100; 208 const rulerStep = 100;
209 const rulerSubStep = 5; 209 const rulerSubStep = 5;
210 const gridStep = 50; 210 const gridStep = 50;
211 const gridSubStep = 10; 211 const gridSubStep = 10;
212 const rulerBackgroundColor = "rgb(64, 64, 64)"; 212 const rulerBackgroundColor = "rgb(64, 64, 64)";
213 const backgroundColor = "rgb(102, 102, 102)"; 213 const backgroundColor = "rgb(102, 102, 102)";
214 const lightLineColor = "rgb(132, 132, 132)"; 214 const lightLineColor = "rgb(132, 132, 132)";
215 const darkLineColor = "rgb(114, 114, 114)"; 215 const darkLineColor = "rgb(114, 114, 114)";
216 const textColor = "rgb(220, 220, 220)"; 216 const textColor = "rgb(180, 180, 180)";
217 217
218 var scale = this._scale || 1; 218 var scale = this._scale || 1;
219 var rulerWidth = WebInspector.ResponsiveDesignView.RulerWidth; 219 var rulerWidth = WebInspector.ResponsiveDesignView.RulerWidth;
220 var dipGridWidth = dipCanvasWidth / scale - rulerWidth; 220 var dipGridWidth = dipCanvasWidth / scale - rulerWidth;
221 var dipGridHeight = dipCanvasHeight / scale - rulerWidth; 221 var dipGridHeight = dipCanvasHeight / scale - rulerWidth;
222 rulerWidth /= scale; 222 rulerWidth /= scale;
223 context.scale(scale, scale); 223 context.scale(scale, scale);
224 context.translate(rulerWidth, rulerWidth); 224 context.translate(rulerWidth, rulerWidth);
225 225
226 context.fillStyle = rulerBackgroundColor; 226 context.fillStyle = rulerBackgroundColor;
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 366
367 _onZoomChanged: function() 367 _onZoomChanged: function()
368 { 368 {
369 this._updateUI(); 369 this._updateUI();
370 }, 370 },
371 371
372 _createToolbar: function() 372 _createToolbar: function()
373 { 373 {
374 this._toolbarElement = this._responsiveDesignContainer.element.createChi ld("div", "responsive-design-toolbar"); 374 this._toolbarElement = this._responsiveDesignContainer.element.createChi ld("div", "responsive-design-toolbar");
375 375
376 this._toolbarElement.appendChild(WebInspector.SettingsUI.createSettingCh eckbox(WebInspector.UIString("Resolution"), WebInspector.overridesSupport.settin gs.overrideDeviceResolution, true)); 376 // Device
377 var fieldsetElement = this._toolbarElement.createChild("fieldset");
378 var deviceLabel = fieldsetElement.createChild("label");
379 var deviceCheckbox = deviceLabel.createChild("input");
380 deviceCheckbox.type = "checkbox";
381 deviceLabel.createTextChild(WebInspector.UIString("Device"));
382 deviceLabel.title = WebInspector.UIString("Emulate device");
383 deviceCheckbox.addEventListener("change", deviceChecked, false);
377 384
378 var fieldsetElement = WebInspector.SettingsUI.createSettingFieldset(WebI nspector.overridesSupport.settings.overrideDeviceResolution); 385 function deviceChecked()
386 {
387 if (deviceCheckbox.checked) {
388 var option = deviceSelect.options[deviceSelect.selectedIndex];
389 WebInspector.overridesSupport.emulateDevice(option.metrics, opti on.userAgent);
390 } else {
391 WebInspector.overridesSupport.resetEmulatedDevice();
392 }
393 }
394
395 var deviceSelect = WebInspector.overridesSupport.createDeviceSelect(docu ment);
396 fieldsetElement.appendChild(deviceSelect);
397 deviceSelect.addEventListener("change", emulateDevice, false);
398
399 function emulateDevice()
400 {
401 var option = deviceSelect.options[deviceSelect.selectedIndex];
402 WebInspector.overridesSupport.emulateDevice(option.metrics, option.u serAgent);
403 }
404
405 updateDeviceCheckboxStatus();
406 WebInspector.overridesSupport.settings.emulateViewport.addChangeListener (updateDeviceCheckboxStatus);
407 WebInspector.overridesSupport.settings.emulateTouchEvents.addChangeListe ner(updateDeviceCheckboxStatus);
408 WebInspector.overridesSupport.settings.overrideDeviceResolution.addChang eListener(updateDeviceCheckboxStatus);
409 function updateDeviceCheckboxStatus()
410 {
411 deviceCheckbox.checked = WebInspector.overridesSupport.settings.emul ateViewport.get() &&
412 WebInspector.overridesSupport.settings.emulateTouchEvents.get() &&
413 WebInspector.overridesSupport.settings.overrideDeviceResolution. get();
414 }
415
416 // Screen
417 fieldsetElement = this._toolbarElement.createChild("fieldset", "responsi ve-design-section");
418 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingCheckbo x("Screen", WebInspector.overridesSupport.settings.overrideDeviceResolution, tru e));
419
420 fieldsetElement = WebInspector.SettingsUI.createSettingFieldset(WebInspe ctor.overridesSupport.settings.overrideDeviceResolution);
379 this._toolbarElement.appendChild(fieldsetElement); 421 this._toolbarElement.appendChild(fieldsetElement);
422 fieldsetElement.createChild("div", "responsive-design-icon responsive-de sign-icon-resolution").title = WebInspector.UIString("Screen resolution");
380 423
381 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi eld("", WebInspector.overridesSupport.settings.deviceWidth, true, 4, "3em", WebI nspector.OverridesSupport.inputValidator, true)); 424 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi eld("", WebInspector.overridesSupport.settings.deviceWidth, true, 4, "3em", WebI nspector.OverridesSupport.inputValidator, true));
382 fieldsetElement.appendChild(document.createTextNode(" \u00D7 ")); 425 fieldsetElement.appendChild(document.createTextNode(" \u00D7 "));
383 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi eld("", WebInspector.overridesSupport.settings.deviceHeight, true, 4, "3em", Web Inspector.OverridesSupport.inputValidator, true)); 426 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi eld("", WebInspector.overridesSupport.settings.deviceHeight, true, 4, "3em", Web Inspector.OverridesSupport.inputValidator, true));
384 427
385 this._swapDimensionsElement = fieldsetElement.createChild("button", "res ponsive-design-override-swap"); 428 this._swapDimensionsElement = fieldsetElement.createChild("button", "res ponsive-design-icon responsive-design-icon-swap");
386 this._swapDimensionsElement.appendChild(document.createTextNode(" \u21C4 ")); // RIGHTWARDS ARROW OVER LEFTWARDS ARROW.
387 this._swapDimensionsElement.title = WebInspector.UIString("Swap dimensio ns"); 429 this._swapDimensionsElement.title = WebInspector.UIString("Swap dimensio ns");
388 this._swapDimensionsElement.addEventListener("click", WebInspector.overr idesSupport.swapDimensions.bind(WebInspector.overridesSupport), false); 430 this._swapDimensionsElement.addEventListener("click", WebInspector.overr idesSupport.swapDimensions.bind(WebInspector.overridesSupport), false);
389 this._swapDimensionsElement.tabIndex = -1;
390 431
391 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi eld(WebInspector.UIString("Dpr"), WebInspector.overridesSupport.settings.deviceS caleFactor, true, 2, "2em", WebInspector.OverridesSupport.inputValidator, true)) ; 432 fieldsetElement.createChild("div", "responsive-design-icon responsive-de sign-icon-dpr").title = WebInspector.UIString("Device pixel ratio");
392 this._toolbarElement.appendChild(WebInspector.SettingsUI.createSettingCh eckbox(WebInspector.UIString("Viewport"), WebInspector.overridesSupport.settings .emulateViewport, true)); 433 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi eld("", WebInspector.overridesSupport.settings.deviceScaleFactor, true, 2, "2em" , WebInspector.OverridesSupport.inputValidator, true));
393 }, 434
435 // Touch and viewport
436 fieldsetElement = this._toolbarElement.createChild("fieldset", "responsi ve-design-section");
437 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingCheckbo x(WebInspector.UIString("Touch"), WebInspector.overridesSupport.settings.emulate TouchEvents, true));
438 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingCheckbo x(WebInspector.UIString("Viewport"), WebInspector.overridesSupport.settings.emul ateViewport, true));
439 },
394 440
395 __proto__: WebInspector.VBox.prototype 441 __proto__: WebInspector.VBox.prototype
396 }; 442 };
OLDNEW
« no previous file with comments | « Source/devtools/front_end/Images/src/responsiveDesign.svg ('k') | Source/devtools/front_end/elements/OverridesView.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698