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

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

Issue 50043007: DevTools: check for canForceCompositingMode before trying to emulate device metrics. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fixed comments Created 7 years, 1 month 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
« no previous file with comments | « Source/devtools/front_end/OverridesSupport.js ('k') | Source/devtools/front_end/inspector.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 /* 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 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 this._deviceSelectElement.selectedIndex = devices.length - 1; 216 this._deviceSelectElement.selectedIndex = devices.length - 1;
217 217
218 this._deviceSelectElement.addEventListener("change", this._deviceSelected.bi nd(this), false); 218 this._deviceSelectElement.addEventListener("change", this._deviceSelected.bi nd(this), false);
219 this._deviceSelectElement.addEventListener("dblclick", this._emulateButtonCl icked.bind(this), false); 219 this._deviceSelectElement.addEventListener("dblclick", this._emulateButtonCl icked.bind(this), false);
220 this._deviceSelectElement.addEventListener("keypress", this._keyPressed.bind (this), false); 220 this._deviceSelectElement.addEventListener("keypress", this._keyPressed.bind (this), false);
221 221
222 var buttonsBar = this.element.createChild("div"); 222 var buttonsBar = this.element.createChild("div");
223 var emulateButton = buttonsBar.createChild("button", "settings-tab-text-butt on"); 223 var emulateButton = buttonsBar.createChild("button", "settings-tab-text-butt on");
224 emulateButton.textContent = WebInspector.UIString("Emulate"); 224 emulateButton.textContent = WebInspector.UIString("Emulate");
225 emulateButton.addEventListener("click", this._emulateButtonClicked.bind(this ), false); 225 emulateButton.addEventListener("click", this._emulateButtonClicked.bind(this ), false);
226 this._emulateButton = emulateButton;
226 227
227 var resetButton = buttonsBar.createChild("button", "settings-tab-text-button "); 228 var resetButton = buttonsBar.createChild("button", "settings-tab-text-button ");
228 resetButton.textContent = WebInspector.UIString("Reset"); 229 resetButton.textContent = WebInspector.UIString("Reset");
229 resetButton.addEventListener("click", this._resetButtonClicked.bind(this), f alse); 230 resetButton.addEventListener("click", this._resetButtonClicked.bind(this), f alse);
230 231
231 this._viewportValueLabel = this.element.createChild("div", "overrides-device -value-label"); 232 this._viewportValueLabel = this.element.createChild("div", "overrides-device -value-label");
232 this._viewportValueLabel.textContent = WebInspector.UIString("Viewport:"); 233 this._viewportValueLabel.textContent = WebInspector.UIString("Viewport:");
233 this._viewportValueElement = this._viewportValueLabel.createChild("span", "o verrides-device-value"); 234 this._viewportValueElement = this._viewportValueLabel.createChild("span", "o verrides-device-value");
234 235
235 this._userAgentLabel = this.element.createChild("div", "overrides-device-val ue-label"); 236 this._userAgentLabel = this.element.createChild("div", "overrides-device-val ue-label");
236 this._userAgentLabel.textContent = WebInspector.UIString("User agent:"); 237 this._userAgentLabel.textContent = WebInspector.UIString("User agent:");
237 this._userAgentValueElement = this._userAgentLabel.createChild("span", "over rides-device-value"); 238 this._userAgentValueElement = this._userAgentLabel.createChild("span", "over rides-device-value");
238 239
239 this._updateValueLabels(); 240 this._updateValueLabels();
241
242 WebInspector.overridesSupport.addEventListener(WebInspector.OverridesSupport .Events.CanForceCompositingModeChanged, this._canForceCompositingModeChanged, th is);
243 WebInspector.overridesSupport.updateCanForceCompositingMode(this._canForceCo mpositingModeChanged.bind(this));
240 } 244 }
241 245
242 // Third element lists device metrics separated by 'x': 246 // Third element lists device metrics separated by 'x':
243 // - screen width, 247 // - screen width,
244 // - screen height, 248 // - screen height,
245 // - device scale factor, 249 // - device scale factor,
246 // - font scale factor, or 0 to compute one (see: WebInspector.OverridesSupport. DeviceMetrics.computeFontScaleFactorForAndroid). 250 // - font scale factor, or 0 to compute one (see: WebInspector.OverridesSupport. DeviceMetrics.computeFontScaleFactorForAndroid).
247 // - text autosizing. 251 // - text autosizing.
248 WebInspector.OverridesView.DeviceTab._phones = [ 252 WebInspector.OverridesView.DeviceTab._phones = [
249 ["Apple iPhone 3GS", 253 ["Apple iPhone 3GS",
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 "Mozilla/5.0 (Linux; Android 4.3; Nexus 7 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.72 Safari/537.36", 365 "Mozilla/5.0 (Linux; Android 4.3; Nexus 7 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.72 Safari/537.36",
362 "1280x800x1.325x0x1"], 366 "1280x800x1.325x0x1"],
363 ["Motorola Xoom, Xyboard", 367 ["Motorola Xoom, Xyboard",
364 "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", 368 "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",
365 "1280x800x1x0x1"], 369 "1280x800x1x0x1"],
366 ["Samsung Galaxy Tab 7.7, 8.9, 10.1", 370 ["Samsung Galaxy Tab 7.7, 8.9, 10.1",
367 "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", 371 "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",
368 "1280x800x1x0x1"], 372 "1280x800x1x0x1"],
369 ["Samsung Galaxy Tab", 373 ["Samsung Galaxy Tab",
370 "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", 374 "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",
371 "1024x600x0x1"], 375 "1024x600x1x0x1"],
372 ]; 376 ];
373 377
374 WebInspector.OverridesView.DeviceTab.prototype = { 378 WebInspector.OverridesView.DeviceTab.prototype = {
375 /** 379 /**
376 * @param {Event} e 380 * @param {Event} e
377 */ 381 */
378 _keyPressed: function(e) 382 _keyPressed: function(e)
379 { 383 {
380 if (e.keyCode === WebInspector.KeyboardShortcut.Keys.Enter.code) 384 if (e.keyCode === WebInspector.KeyboardShortcut.Keys.Enter.code)
381 this._emulateButtonClicked(); 385 this._emulateButtonClicked();
382 }, 386 },
383 387
384 _emulateButtonClicked: function() 388 _emulateButtonClicked: function()
385 { 389 {
390 if (!WebInspector.overridesSupport.canForceCompositingMode())
391 return;
386 var option = this._deviceSelectElement.options[this._deviceSelectElement .selectedIndex]; 392 var option = this._deviceSelectElement.options[this._deviceSelectElement .selectedIndex];
387 WebInspector.overridesSupport.emulateDevice(option._metrics, option._use rAgent); 393 WebInspector.overridesSupport.emulateDevice(option._metrics, option._use rAgent);
388 }, 394 },
389 395
390 _resetButtonClicked: function() 396 _resetButtonClicked: function()
391 { 397 {
392 WebInspector.overridesSupport.reset(); 398 WebInspector.overridesSupport.reset();
393 }, 399 },
394 400
401 _canForceCompositingModeChanged: function()
402 {
403 this._emulateButton.disabled = !WebInspector.overridesSupport.canForceCo mpositingMode();
404 },
405
395 _deviceSelected: function() 406 _deviceSelected: function()
396 { 407 {
397 var option = this._deviceSelectElement.options[this._deviceSelectElement .selectedIndex]; 408 var option = this._deviceSelectElement.options[this._deviceSelectElement .selectedIndex];
398 this._emulatedDeviceSetting.set(option.value); 409 this._emulatedDeviceSetting.set(option.value);
399 this._updateValueLabels(); 410 this._updateValueLabels();
400 }, 411 },
401 412
402 _updateValueLabels: function() 413 _updateValueLabels: function()
403 { 414 {
404 var option = this._deviceSelectElement.options[this._deviceSelectElement .selectedIndex]; 415 var option = this._deviceSelectElement.options[this._deviceSelectElement .selectedIndex];
(...skipping 14 matching lines...) Expand all
419 * @extends {WebInspector.OverridesView.Tab} 430 * @extends {WebInspector.OverridesView.Tab}
420 */ 431 */
421 WebInspector.OverridesView.ViewportTab = function() 432 WebInspector.OverridesView.ViewportTab = function()
422 { 433 {
423 WebInspector.OverridesView.Tab.call(this, "viewport", WebInspector.UIString( "Viewport"), [WebInspector.settings.overrideDeviceMetrics, WebInspector.settings .overrideCSSMedia]); 434 WebInspector.OverridesView.Tab.call(this, "viewport", WebInspector.UIString( "Viewport"), [WebInspector.settings.overrideDeviceMetrics, WebInspector.settings .overrideCSSMedia]);
424 this.element.addStyleClass("overrides-viewport"); 435 this.element.addStyleClass("overrides-viewport");
425 436
426 const metricsSetting = WebInspector.settings.deviceMetrics.get(); 437 const metricsSetting = WebInspector.settings.deviceMetrics.get();
427 var metrics = WebInspector.OverridesSupport.DeviceMetrics.parseSetting(metri csSetting); 438 var metrics = WebInspector.OverridesSupport.DeviceMetrics.parseSetting(metri csSetting);
428 var checkbox = this._createSettingCheckbox(WebInspector.UIString("Emulate vi ewport"), WebInspector.settings.overrideDeviceMetrics, this._onMetricsCheckboxCl icked.bind(this)); 439 var checkbox = this._createSettingCheckbox(WebInspector.UIString("Emulate vi ewport"), WebInspector.settings.overrideDeviceMetrics, this._onMetricsCheckboxCl icked.bind(this));
440 this._overrideDeviceMetricsCheckbox = checkbox.querySelector("input");
429 WebInspector.settings.deviceMetrics.addChangeListener(this._updateDeviceMetr icsElement, this); 441 WebInspector.settings.deviceMetrics.addChangeListener(this._updateDeviceMetr icsElement, this);
430 442
431 this.element.appendChild(checkbox); 443 this.element.appendChild(checkbox);
432 this.element.appendChild(this._createDeviceMetricsElement(metrics)); 444 this.element.appendChild(this._createDeviceMetricsElement(metrics));
433 this.element.appendChild(this._createMediaEmulationElement()); 445 this.element.appendChild(this._createMediaEmulationElement());
434 this._onMetricsCheckboxClicked(WebInspector.settings.overrideDeviceMetrics.g et()); 446 this._onMetricsCheckboxClicked(WebInspector.settings.overrideDeviceMetrics.g et());
435 447
448 WebInspector.overridesSupport.addEventListener(WebInspector.OverridesSupport .Events.CanForceCompositingModeChanged, this._canForceCompositingModeChanged, th is);
449 WebInspector.overridesSupport.updateCanForceCompositingMode(this._canForceCo mpositingModeChanged.bind(this));
436 } 450 }
437 451
438 WebInspector.OverridesView.ViewportTab.prototype = { 452 WebInspector.OverridesView.ViewportTab.prototype = {
439 /** 453 /**
440 * @param {boolean} enabled 454 * @param {boolean} enabled
441 */ 455 */
442 _onMetricsCheckboxClicked: function(enabled) 456 _onMetricsCheckboxClicked: function(enabled)
443 { 457 {
444 if (enabled && !this._widthOverrideElement.value) 458 if (enabled && !this._widthOverrideElement.value)
445 this._widthOverrideElement.focus(); 459 this._widthOverrideElement.focus();
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 WebInspector.settings.deviceMetrics.set(value); 501 WebInspector.settings.deviceMetrics.set(value);
488 } 502 }
489 }, 503 },
490 504
491 /** 505 /**
492 * @param {WebInspector.OverridesSupport.DeviceMetrics} metrics 506 * @param {WebInspector.OverridesSupport.DeviceMetrics} metrics
493 */ 507 */
494 _createDeviceMetricsElement: function(metrics) 508 _createDeviceMetricsElement: function(metrics)
495 { 509 {
496 var fieldsetElement = WebInspector.SettingsTab.createSettingFieldset(Web Inspector.settings.overrideDeviceMetrics); 510 var fieldsetElement = WebInspector.SettingsTab.createSettingFieldset(Web Inspector.settings.overrideDeviceMetrics);
511 this._overrideDeviceMetricsFieldset = fieldsetElement;
497 fieldsetElement.id = "metrics-override-section"; 512 fieldsetElement.id = "metrics-override-section";
498 513
499 function swapDimensionsClicked(event) 514 function swapDimensionsClicked(event)
500 { 515 {
501 var widthValue = this._widthOverrideElement.value; 516 var widthValue = this._widthOverrideElement.value;
502 this._widthOverrideElement.value = this._heightOverrideElement.value ; 517 this._widthOverrideElement.value = this._heightOverrideElement.value ;
503 this._heightOverrideElement.value = widthValue; 518 this._heightOverrideElement.value = widthValue;
504 this._applyDeviceMetricsUserInput(); 519 this._applyDeviceMetricsUserInput();
505 } 520 }
506 521
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 if (this._heightOverrideElement.value !== metrics.height) 565 if (this._heightOverrideElement.value !== metrics.height)
551 this._heightOverrideElement.value = metrics.height; 566 this._heightOverrideElement.value = metrics.height;
552 if (this._deviceScaleFactorOverrideElement.value !== metrics.deviceScale Factor) 567 if (this._deviceScaleFactorOverrideElement.value !== metrics.deviceScale Factor)
553 this._deviceScaleFactorOverrideElement.value = metrics.deviceScaleFa ctor; 568 this._deviceScaleFactorOverrideElement.value = metrics.deviceScaleFa ctor;
554 if (this._fontScaleFactorOverrideElement.value !== metrics.fontScaleFact or) 569 if (this._fontScaleFactorOverrideElement.value !== metrics.fontScaleFact or)
555 this._fontScaleFactorOverrideElement.value = metrics.fontScaleFactor ; 570 this._fontScaleFactorOverrideElement.value = metrics.fontScaleFactor ;
556 if (this._textAutosizingOverrideCheckbox.checked !== metrics.textAutosiz ing) 571 if (this._textAutosizingOverrideCheckbox.checked !== metrics.textAutosiz ing)
557 this._textAutosizingOverrideCheckbox.checked = metrics.textAutosizin g; 572 this._textAutosizingOverrideCheckbox.checked = metrics.textAutosizin g;
558 }, 573 },
559 574
575 _canForceCompositingModeChanged: function()
576 {
577 this._overrideDeviceMetricsFieldset.disabled = !WebInspector.overridesSu pport.canForceCompositingMode();
578 this._overrideDeviceMetricsCheckbox.disabled = !WebInspector.overridesSu pport.canForceCompositingMode();
579 },
580
560 _createMediaEmulationElement: function() 581 _createMediaEmulationElement: function()
561 { 582 {
562 var checkbox = WebInspector.SettingsTab.createSettingCheckbox(WebInspect or.UIString("CSS media"), WebInspector.settings.overrideCSSMedia, true); 583 var checkbox = WebInspector.SettingsTab.createSettingCheckbox(WebInspect or.UIString("CSS media"), WebInspector.settings.overrideCSSMedia, true);
563 var fieldsetElement = WebInspector.SettingsTab.createSettingFieldset(Web Inspector.settings.overrideCSSMedia); 584 var fieldsetElement = WebInspector.SettingsTab.createSettingFieldset(Web Inspector.settings.overrideCSSMedia);
564 checkbox.appendChild(fieldsetElement); 585 checkbox.appendChild(fieldsetElement);
565 586
566 var mediaSelectElement = fieldsetElement.createChild("select"); 587 var mediaSelectElement = fieldsetElement.createChild("select");
567 var mediaTypes = WebInspector.CSSStyleModel.MediaTypes; 588 var mediaTypes = WebInspector.CSSStyleModel.MediaTypes;
568 var defaultMedia = WebInspector.settings.emulatedCSSMedia.get(); 589 var defaultMedia = WebInspector.settings.emulatedCSSMedia.get();
569 for (var i = 0; i < mediaTypes.length; ++i) { 590 for (var i = 0; i < mediaTypes.length; ++i) {
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
886 cellElement.appendChild(document.createTextNode(" \u03B2: ")); 907 cellElement.appendChild(document.createTextNode(" \u03B2: "));
887 this._betaElement = this._createInput(cellElement, "device-orientation-o verride-beta", String(deviceOrientation.beta), this._applyDeviceOrientationUserI nput.bind(this), true); 908 this._betaElement = this._createInput(cellElement, "device-orientation-o verride-beta", String(deviceOrientation.beta), this._applyDeviceOrientationUserI nput.bind(this), true);
888 cellElement.appendChild(document.createTextNode(" \u03B3: ")); 909 cellElement.appendChild(document.createTextNode(" \u03B3: "));
889 this._gammaElement = this._createInput(cellElement, "device-orientation- override-gamma", String(deviceOrientation.gamma), this._applyDeviceOrientationUs erInput.bind(this), true); 910 this._gammaElement = this._createInput(cellElement, "device-orientation- override-gamma", String(deviceOrientation.gamma), this._applyDeviceOrientationUs erInput.bind(this), true);
890 911
891 return fieldsetElement; 912 return fieldsetElement;
892 } 913 }
893 } 914 }
894 915
895 WebInspector.OverridesView.SensorsTab.prototype.__proto__ = WebInspector.Overrid esView.Tab.prototype; 916 WebInspector.OverridesView.SensorsTab.prototype.__proto__ = WebInspector.Overrid esView.Tab.prototype;
OLDNEW
« no previous file with comments | « Source/devtools/front_end/OverridesSupport.js ('k') | Source/devtools/front_end/inspector.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698