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

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

Issue 347583003: DevTools: add emulation toggle button and splash screen. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: For landing 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 | « no previous file | Source/devtools/front_end/elements/OverridesView.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 17 matching lines...) Expand all
28 this._warningMessage = this._canvasContainer.element.createChild("div", "res ponsive-design-warning hidden"); 28 this._warningMessage = this._canvasContainer.element.createChild("div", "res ponsive-design-warning hidden");
29 this._warningMessage.createChild("div", "warning-icon-small"); 29 this._warningMessage.createChild("div", "warning-icon-small");
30 this._warningMessage.createChild("span"); 30 this._warningMessage.createChild("span");
31 var warningCloseButton = this._warningMessage.createChild("div", "close-butt on"); 31 var warningCloseButton = this._warningMessage.createChild("div", "close-butt on");
32 warningCloseButton.addEventListener("click", this._closeOverridesWarning.bin d(this), false); 32 warningCloseButton.addEventListener("click", this._closeOverridesWarning.bin d(this), false);
33 WebInspector.overridesSupport.addEventListener(WebInspector.OverridesSupport .Events.OverridesWarningUpdated, this._overridesWarningUpdated, this); 33 WebInspector.overridesSupport.addEventListener(WebInspector.OverridesSupport .Events.OverridesWarningUpdated, this._overridesWarningUpdated, this);
34 34
35 this._slidersContainer = this._canvasContainer.element.createChild("div", "v box responsive-design-sliders-container"); 35 this._slidersContainer = this._canvasContainer.element.createChild("div", "v box responsive-design-sliders-container");
36 var hbox = this._slidersContainer.createChild("div", "hbox flex-auto"); 36 var hbox = this._slidersContainer.createChild("div", "hbox flex-auto");
37 this._heightSliderContainer = this._slidersContainer.createChild("div", "hbo x responsive-design-slider-height"); 37 this._heightSliderContainer = this._slidersContainer.createChild("div", "hbo x responsive-design-slider-height");
38 this._resolutionHeightLabel = this._heightSliderContainer.createChild("div", "responsive-design-resolution-label responsive-design-resolution-height");
39 this._pageContainer = hbox.createChild("div", "vbox flex-auto"); 38 this._pageContainer = hbox.createChild("div", "vbox flex-auto");
40 this._widthSliderContainer = hbox.createChild("div", "vbox responsive-design -slider-width"); 39 this._widthSliderContainer = hbox.createChild("div", "vbox responsive-design -slider-width");
41 this._resolutionWidthLabel = this._widthSliderContainer.createChild("div", " responsive-design-resolution-label responsive-design-resolution-width");
42 40
43 this._widthSlider = this._widthSliderContainer.createChild("div", "responsiv e-design-slider-thumb"); 41 this._widthSlider = this._widthSliderContainer.createChild("div", "responsiv e-design-slider-thumb");
44 this._widthSlider.createChild("div", "responsive-design-thumb-handle"); 42 this._widthSlider.createChild("div", "responsive-design-thumb-handle");
45 this._createResizer(this._widthSlider, false); 43 this._createResizer(this._widthSlider, false);
46 this._heightSlider = this._heightSliderContainer.createChild("div", "respons ive-design-slider-thumb"); 44 this._heightSlider = this._heightSliderContainer.createChild("div", "respons ive-design-slider-thumb");
47 this._heightSlider.createChild("div", "responsive-design-thumb-handle"); 45 this._heightSlider.createChild("div", "responsive-design-thumb-handle");
48 this._createResizer(this._heightSlider, true); 46 this._createResizer(this._heightSlider, true);
49 47
50 this._inspectedPagePlaceholder = inspectedPagePlaceholder; 48 this._inspectedPagePlaceholder = inspectedPagePlaceholder;
51 inspectedPagePlaceholder.show(this.element); 49 inspectedPagePlaceholder.show(this.element);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 * WebInspector.OverridesSupport.PageResizer override. 100 * WebInspector.OverridesSupport.PageResizer override.
103 * @param {number} dipWidth 101 * @param {number} dipWidth
104 * @param {number} dipHeight 102 * @param {number} dipHeight
105 * @param {number} scale 103 * @param {number} scale
106 */ 104 */
107 update: function(dipWidth, dipHeight, scale) 105 update: function(dipWidth, dipHeight, scale)
108 { 106 {
109 this._scale = scale; 107 this._scale = scale;
110 this._dipWidth = dipWidth; 108 this._dipWidth = dipWidth;
111 this._dipHeight = dipHeight; 109 this._dipHeight = dipHeight;
112 this._resolutionWidthLabel.textContent = dipWidth + "px";
113 this._resolutionHeightLabel.textContent = dipHeight + "px";
114 this._updateUI(); 110 this._updateUI();
115 }, 111 },
116 112
117 /** 113 /**
118 * WebInspector.OverridesSupport.PageResizer override. 114 * WebInspector.OverridesSupport.PageResizer override.
119 * @return {!Size} 115 * @return {!Size}
120 */ 116 */
121 availableDipSize: function() 117 availableDipSize: function()
122 { 118 {
123 if (typeof this._availableSize === "undefined") { 119 if (typeof this._availableSize === "undefined") {
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 }, 369 },
374 370
375 _onZoomChanged: function() 371 _onZoomChanged: function()
376 { 372 {
377 this._updateUI(); 373 this._updateUI();
378 }, 374 },
379 375
380 _createToolbar: function() 376 _createToolbar: function()
381 { 377 {
382 this._toolbarElement = this._responsiveDesignContainer.element.createChi ld("div", "responsive-design-toolbar"); 378 this._toolbarElement = this._responsiveDesignContainer.element.createChi ld("div", "responsive-design-toolbar");
383 this._createExpandSection(); 379 this._createButtonsSection();
384 this._toolbarElement.createChild("div", "responsive-design-separator"); 380 this._toolbarElement.createChild("div", "responsive-design-separator");
385 this._createDeviceSection(); 381 this._createDeviceSection();
386 if (WebInspector.experimentsSettings.networkConditions.isEnabled()) { 382 if (WebInspector.experimentsSettings.networkConditions.isEnabled()) {
387 this._toolbarElement.createChild("div", "responsive-design-separator "); 383 this._toolbarElement.createChild("div", "responsive-design-separator ");
388 this._createNetworkSection(); 384 this._createNetworkSection();
389 } 385 }
390 this._toolbarElement.createChild("div", "responsive-design-separator"); 386 this._toolbarElement.createChild("div", "responsive-design-separator");
391
392 this._toolbarExpandedChanged();
393 }, 387 },
394 388
395 _createExpandSection: function() 389 _createButtonsSection: function()
396 { 390 {
397 this.toolbarExpandedSetting = WebInspector.settings.createSetting("respo nsiveDesignToolbarExpanded", false); 391 var buttonsSection = this._toolbarElement.createChild("div", "responsive -design-section responsive-design-section-buttons");
398 var expandSection = this._toolbarElement.createChild("div", "responsive- design-section responsive-design-section-expand");
399 this._expandButton = expandSection.createChild("div", "responsive-design -button");
400 this._expandButton.createChild("div", "responsive-design-icon responsive -design-icon-expand");
401 this._expandButton.createChild("span");
402 this._expandButton.addEventListener("click", this._toggleToolbarExpanded .bind(this), false);
403 this.toolbarExpandedSetting.addChangeListener(this._toolbarExpandedChang ed, this);
404 },
405 392
406 _toggleToolbarExpanded: function() 393 var resetButton = new WebInspector.StatusBarButton(WebInspector.UIString ("Reset all overrides."), "clear-status-bar-item");
407 { 394 buttonsSection.appendChild(resetButton.element);
408 this.toolbarExpandedSetting.set(!this.toolbarExpandedSetting.get()); 395 resetButton.addEventListener("click", WebInspector.overridesSupport.rese t, WebInspector.overridesSupport);
409 },
410 396
411 _toolbarExpandedChanged: function() 397 var moreButton = buttonsSection.createChild("button", "responsive-design -more-button");
412 { 398 moreButton.title = WebInspector.UIString("More overrides");
413 var expanded = this.toolbarExpandedSetting.get(); 399 moreButton.addEventListener("click", this._showEmulationInDrawer.bind(th is), false);
414 this._expandButton.querySelector("span").textContent = WebInspector.UISt ring(expanded ? "Less" : "More"); 400 moreButton.textContent = "\u2026";
415 this._toolbarElement.classList.toggle("expanded", expanded);
416 this.onResize();
417 }, 401 },
418 402
419 _createDeviceSection: function() 403 _createDeviceSection: function()
420 { 404 {
421 var deviceSection = this._toolbarElement.createChild("div", "responsive- design-section responsive-design-section-device"); 405 var deviceSection = this._toolbarElement.createChild("div", "responsive- design-section responsive-design-section-device");
422 406
423 // Device. 407 // Device.
424 var deviceElement = deviceSection.createChild("div", "responsive-design- suite").createChild("div"); 408 var deviceElement = deviceSection.createChild("div", "responsive-design- suite").createChild("div");
425 var fieldsetElement = deviceElement.createChild("fieldset"); 409 var fieldsetElement = deviceElement.createChild("fieldset");
426 fieldsetElement.createChild("label").textContent = WebInspector.UIString ("Device"); 410 fieldsetElement.createChild("label").textContent = WebInspector.UIString ("Device");
427 fieldsetElement.appendChild(WebInspector.overridesSupport.createDeviceSe lect(document)); 411 fieldsetElement.appendChild(WebInspector.overridesSupport.createDeviceSe lect(document));
428 412
429 var separator = deviceSection.createChild("div", "responsive-design-sect ion-separator expanded-only"); 413 var separator = deviceSection.createChild("div", "responsive-design-sect ion-separator");
430 414
431 var detailsElement = deviceSection.createChild("div", "responsive-design -suite expanded-only"); 415 var detailsElement = deviceSection.createChild("div", "responsive-design -suite");
432 416
433 // Dimensions. 417 // Dimensions.
434 var screenElement = detailsElement.createChild("div", ""); 418 var screenElement = detailsElement.createChild("div", "");
435 fieldsetElement = screenElement.createChild("fieldset"); 419 fieldsetElement = screenElement.createChild("fieldset");
436 fieldsetElement.createChild("div", "responsive-design-icon responsive-de sign-icon-resolution").title = WebInspector.UIString("Screen resolution"); 420 fieldsetElement.createChild("div", "responsive-design-icon responsive-de sign-icon-resolution").title = WebInspector.UIString("Screen resolution");
437 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi eld("", WebInspector.overridesSupport.settings.deviceWidth, true, 4, "3em", WebI nspector.OverridesSupport.deviceSizeValidator, true, true, WebInspector.UIString ("--"))); 421 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi eld("", WebInspector.overridesSupport.settings.deviceWidth, true, 4, "3em", WebI nspector.OverridesSupport.deviceSizeValidator, true, true, WebInspector.UIString ("\u2013")));
438 fieldsetElement.appendChild(document.createTextNode(" \u00D7 ")); 422 fieldsetElement.appendChild(document.createTextNode(" \u00D7 "));
439 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi eld("", WebInspector.overridesSupport.settings.deviceHeight, true, 4, "3em", Web Inspector.OverridesSupport.deviceSizeValidator, true, true, WebInspector.UIStrin g("--"))); 423 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi eld("", WebInspector.overridesSupport.settings.deviceHeight, true, 4, "3em", Web Inspector.OverridesSupport.deviceSizeValidator, true, true, WebInspector.UIStrin g("\u2013")));
440 424
441 this._swapDimensionsElement = fieldsetElement.createChild("button", "res ponsive-design-icon responsive-design-icon-swap"); 425 this._swapDimensionsElement = fieldsetElement.createChild("button", "res ponsive-design-icon responsive-design-icon-swap");
426 this._swapDimensionsElement.tabIndex = -1;
442 this._swapDimensionsElement.title = WebInspector.UIString("Swap dimensio ns"); 427 this._swapDimensionsElement.title = WebInspector.UIString("Swap dimensio ns");
443 this._swapDimensionsElement.addEventListener("click", WebInspector.overr idesSupport.swapDimensions.bind(WebInspector.overridesSupport), false); 428 this._swapDimensionsElement.addEventListener("click", WebInspector.overr idesSupport.swapDimensions.bind(WebInspector.overridesSupport), false);
444 429
445 // Device pixel ratio. 430 // Device pixel ratio.
446 detailsElement.createChild("div", "responsive-design-suite-separator"); 431 detailsElement.createChild("div", "responsive-design-suite-separator");
447 var dprElement = detailsElement.createChild("div", ""); 432 var dprElement = detailsElement.createChild("div", "");
448 fieldsetElement = dprElement.createChild("fieldset"); 433 fieldsetElement = dprElement.createChild("fieldset");
449 fieldsetElement.createChild("div", "responsive-design-icon responsive-de sign-icon-dpr").title = WebInspector.UIString("Device pixel ratio"); 434 fieldsetElement.createChild("div", "responsive-design-icon responsive-de sign-icon-dpr").title = WebInspector.UIString("Device pixel ratio");
450 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi eld("", WebInspector.overridesSupport.settings.deviceScaleFactor, true, 4, "2.5e m", WebInspector.OverridesSupport.deviceScaleFactorValidator, true, true, WebIns pector.UIString("--"))); 435 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi eld("", WebInspector.overridesSupport.settings.deviceScaleFactor, true, 4, "2.5e m", WebInspector.OverridesSupport.deviceScaleFactorValidator, true, true, WebIns pector.UIString("\u2013")));
451
452 detailsElement.createChild("div", "responsive-design-suite-separator");
453 var resetButton = detailsElement.createChild("div", "responsive-design-b utton");
454 resetButton.textContent = WebInspector.UIString("Reset");
455 resetButton.addEventListener("click", WebInspector.overridesSupport.rese t.bind(WebInspector.overridesSupport), false);
456 }, 436 },
457 437
458 _createNetworkSection: function() 438 _createNetworkSection: function()
459 { 439 {
460 var networkSection = this._toolbarElement.createChild("div", "responsive -design-section responsive-design-section-network"); 440 var networkSection = this._toolbarElement.createChild("div", "responsive -design-section responsive-design-section-network");
461 441
462 // Bandwidth. 442 // Bandwidth.
463 var bandwidthElement = networkSection.createChild("div", "responsive-des ign-suite").createChild("div"); 443 var bandwidthElement = networkSection.createChild("div", "responsive-des ign-suite").createChild("div");
464 var fieldsetElement = bandwidthElement.createChild("fieldset"); 444 var fieldsetElement = bandwidthElement.createChild("fieldset");
465 var networkCheckbox = fieldsetElement.createChild("label"); 445 var networkCheckbox = fieldsetElement.createChild("label");
466 networkCheckbox.textContent = WebInspector.UIString("Network"); 446 networkCheckbox.textContent = WebInspector.UIString("Network");
467 fieldsetElement.appendChild(WebInspector.overridesSupport.createNetworkT hroughputSelect(document)); 447 fieldsetElement.appendChild(WebInspector.overridesSupport.createNetworkT hroughputSelect(document));
468 448
469 var separator = networkSection.createChild("div", "responsive-design-sec tion-separator expanded-only"); 449 var separator = networkSection.createChild("div", "responsive-design-sec tion-separator");
470 450
471 // User agent. 451 // User agent.
472 var userAgentElement = networkSection.createChild("div", "responsive-des ign-suite expanded-only").createChild("div"); 452 var userAgentElement = networkSection.createChild("div", "responsive-des ign-suite").createChild("div");
473 fieldsetElement = userAgentElement.createChild("fieldset"); 453 fieldsetElement = userAgentElement.createChild("fieldset");
474 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi eld("UA", WebInspector.overridesSupport.settings.userAgent, false, 0, "", undefi ned, false, false, WebInspector.UIString("no override"))); 454 fieldsetElement.appendChild(WebInspector.SettingsUI.createSettingInputFi eld("UA", WebInspector.overridesSupport.settings.userAgent, false, 0, "", undefi ned, false, false, WebInspector.UIString("No override")));
475 455
476 updateNetworkCheckboxTitle(); 456 updateNetworkCheckboxTitle();
477 WebInspector.overridesSupport.settings.networkConditionsDomains.addChang eListener(updateNetworkCheckboxTitle); 457 WebInspector.overridesSupport.settings.networkConditionsDomains.addChang eListener(updateNetworkCheckboxTitle);
478 458
479 function updateNetworkCheckboxTitle() 459 function updateNetworkCheckboxTitle()
480 { 460 {
481 var domains = WebInspector.overridesSupport.settings.networkConditio nsDomains.get(); 461 var domains = WebInspector.overridesSupport.settings.networkConditio nsDomains.get();
482 if (!domains.trim()) { 462 if (!domains.trim()) {
483 networkCheckbox.title = WebInspector.UIString("Limit for all dom ains"); 463 networkCheckbox.title = WebInspector.UIString("Limit for all dom ains");
484 } else { 464 } else {
(...skipping 15 matching lines...) Expand all
500 this._invalidateCache(); 480 this._invalidateCache();
501 this.onResize(); 481 this.onResize();
502 }, 482 },
503 483
504 _closeOverridesWarning: function() 484 _closeOverridesWarning: function()
505 { 485 {
506 this._warningMessage.querySelector("span").textContent = ""; 486 this._warningMessage.querySelector("span").textContent = "";
507 this._warningMessage.classList.add("hidden"); 487 this._warningMessage.classList.add("hidden");
508 }, 488 },
509 489
490 _showEmulationInDrawer: function()
491 {
492 WebInspector.overridesSupport.reveal();
493 },
494
510 __proto__: WebInspector.VBox.prototype 495 __proto__: WebInspector.VBox.prototype
511 }; 496 };
OLDNEW
« no previous file with comments | « no previous file | Source/devtools/front_end/elements/OverridesView.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698