OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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; |
OLD | NEW |