| 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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 82 * @interface | 82 * @interface |
| 83 * @extends {WebInspector.EventTarget} | 83 * @extends {WebInspector.EventTarget} |
| 84 */ | 84 */ |
| 85 WebInspector.OverridesSupport.PageResizer = function() | 85 WebInspector.OverridesSupport.PageResizer = function() |
| 86 { | 86 { |
| 87 }; | 87 }; |
| 88 | 88 |
| 89 WebInspector.OverridesSupport.PageResizer.Events = { | 89 WebInspector.OverridesSupport.PageResizer.Events = { |
| 90 AvailableSizeChanged: "AvailableSizeChanged", | 90 AvailableSizeChanged: "AvailableSizeChanged", |
| 91 ResizeRequested: "ResizeRequested", | 91 ResizeRequested: "ResizeRequested", |
| 92 FixedScaleRequested: "FixedScaleRequested" | 92 FixedScaleRequested: "FixedScaleRequested", |
| 93 InsetsChanged: "InsetsChanged" |
| 93 }; | 94 }; |
| 94 | 95 |
| 95 WebInspector.OverridesSupport.PageResizer.prototype = { | 96 WebInspector.OverridesSupport.PageResizer.prototype = { |
| 96 /** | 97 /** |
| 97 * Zero width and height mean default size. | 98 * Zero width and height mean default size. |
| 98 * Scale should be applied to page-scale-dependent UI bits. Zero means no sc
ale. | 99 * Scale should be applied to page-scale-dependent UI bits. Zero means no sc
ale. |
| 99 * @param {number} dipWidth | 100 * @param {number} dipWidth |
| 100 * @param {number} dipHeight | 101 * @param {number} dipHeight |
| 101 * @param {number} scale | 102 * @param {number} scale |
| 102 */ | 103 */ |
| (...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 327 | 328 |
| 328 this.dispatchEventToListeners(WebInspector.OverridesSupport.Events.E
mulationStateChanged); | 329 this.dispatchEventToListeners(WebInspector.OverridesSupport.Events.E
mulationStateChanged); |
| 329 | 330 |
| 330 callback(); | 331 callback(); |
| 331 } | 332 } |
| 332 }, | 333 }, |
| 333 | 334 |
| 334 /** | 335 /** |
| 335 * @param {?WebInspector.OverridesSupport.PageResizer} pageResizer | 336 * @param {?WebInspector.OverridesSupport.PageResizer} pageResizer |
| 336 * @param {!Size} availableSize | 337 * @param {!Size} availableSize |
| 338 * @param {!Insets} insets |
| 337 */ | 339 */ |
| 338 setPageResizer: function(pageResizer, availableSize) | 340 setPageResizer: function(pageResizer, availableSize, insets) |
| 339 { | 341 { |
| 340 if (pageResizer === this._pageResizer) | 342 if (pageResizer === this._pageResizer) |
| 341 return; | 343 return; |
| 342 | 344 |
| 343 if (this._pageResizer) { | 345 if (this._pageResizer) { |
| 344 this._pageResizer.removeEventListener(WebInspector.OverridesSupport.
PageResizer.Events.AvailableSizeChanged, this._onPageResizerAvailableSizeChanged
, this); | 346 this._pageResizer.removeEventListener(WebInspector.OverridesSupport.
PageResizer.Events.AvailableSizeChanged, this._onPageResizerAvailableSizeChanged
, this); |
| 345 this._pageResizer.removeEventListener(WebInspector.OverridesSupport.
PageResizer.Events.ResizeRequested, this._onPageResizerResizeRequested, this); | 347 this._pageResizer.removeEventListener(WebInspector.OverridesSupport.
PageResizer.Events.ResizeRequested, this._onPageResizerResizeRequested, this); |
| 346 this._pageResizer.removeEventListener(WebInspector.OverridesSupport.
PageResizer.Events.FixedScaleRequested, this._onPageResizerFixedScaleRequested,
this); | 348 this._pageResizer.removeEventListener(WebInspector.OverridesSupport.
PageResizer.Events.FixedScaleRequested, this._onPageResizerFixedScaleRequested,
this); |
| 349 this._pageResizer.removeEventListener(WebInspector.OverridesSupport.
PageResizer.Events.InsetsChanged, this._onPageResizerInsetsChanged, this); |
| 347 } | 350 } |
| 348 this._pageResizer = pageResizer; | 351 this._pageResizer = pageResizer; |
| 349 this._pageResizerAvailableSize = availableSize; | 352 this._pageResizerAvailableSize = availableSize; |
| 353 this._pageResizerInsets = insets; |
| 350 if (this._pageResizer) { | 354 if (this._pageResizer) { |
| 351 this._pageResizer.addEventListener(WebInspector.OverridesSupport.Pag
eResizer.Events.AvailableSizeChanged, this._onPageResizerAvailableSizeChanged, t
his); | 355 this._pageResizer.addEventListener(WebInspector.OverridesSupport.Pag
eResizer.Events.AvailableSizeChanged, this._onPageResizerAvailableSizeChanged, t
his); |
| 352 this._pageResizer.addEventListener(WebInspector.OverridesSupport.Pag
eResizer.Events.ResizeRequested, this._onPageResizerResizeRequested, this); | 356 this._pageResizer.addEventListener(WebInspector.OverridesSupport.Pag
eResizer.Events.ResizeRequested, this._onPageResizerResizeRequested, this); |
| 353 this._pageResizer.addEventListener(WebInspector.OverridesSupport.Pag
eResizer.Events.FixedScaleRequested, this._onPageResizerFixedScaleRequested, thi
s); | 357 this._pageResizer.addEventListener(WebInspector.OverridesSupport.Pag
eResizer.Events.FixedScaleRequested, this._onPageResizerFixedScaleRequested, thi
s); |
| 358 this._pageResizer.addEventListener(WebInspector.OverridesSupport.Pag
eResizer.Events.InsetsChanged, this._onPageResizerInsetsChanged, this); |
| 354 } | 359 } |
| 355 this._deviceMetricsChanged(); | 360 this._deviceMetricsChanged(); |
| 356 }, | 361 }, |
| 357 | 362 |
| 358 /** | 363 /** |
| 359 * @param {!WebInspector.OverridesSupport.Device} device | 364 * @param {!WebInspector.OverridesSupport.Device} device |
| 360 */ | 365 */ |
| 361 emulateDevice: function(device) | 366 emulateDevice: function(device) |
| 362 { | 367 { |
| 363 this._deviceMetricsChangedListenerMuted = true; | 368 this._deviceMetricsChangedListenerMuted = true; |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 497 if (this._userAgent !== userAgent) | 502 if (this._userAgent !== userAgent) |
| 498 this._updateUserAgentWarningMessage(WebInspector.UIString("You might
need to reload the page for proper user agent spoofing and viewport rendering."
)); | 503 this._updateUserAgentWarningMessage(WebInspector.UIString("You might
need to reload the page for proper user agent spoofing and viewport rendering."
)); |
| 499 this._userAgent = userAgent; | 504 this._userAgent = userAgent; |
| 500 }, | 505 }, |
| 501 | 506 |
| 502 /** | 507 /** |
| 503 * @param {!WebInspector.Event} event | 508 * @param {!WebInspector.Event} event |
| 504 */ | 509 */ |
| 505 _onPageResizerAvailableSizeChanged: function(event) | 510 _onPageResizerAvailableSizeChanged: function(event) |
| 506 { | 511 { |
| 507 this._pageResizerAvailableSize = /** @type {!Size} */ (event.data); | 512 this._pageResizerAvailableSize = /** @type {!Size} */ (event.data.size); |
| 513 this._pageResizerInsets = /** @type {!Insets} */ (event.data.insets); |
| 508 this._deviceMetricsChanged(); | 514 this._deviceMetricsChanged(); |
| 509 }, | 515 }, |
| 510 | 516 |
| 511 /** | 517 /** |
| 512 * @param {!WebInspector.Event} event | 518 * @param {!WebInspector.Event} event |
| 513 */ | 519 */ |
| 520 _onPageResizerInsetsChanged: function(event) |
| 521 { |
| 522 this._pageResizerInsets = /** @type {!Insets} */ (event.data); |
| 523 }, |
| 524 |
| 525 /** |
| 526 * @param {!WebInspector.Event} event |
| 527 */ |
| 514 _onPageResizerResizeRequested: function(event) | 528 _onPageResizerResizeRequested: function(event) |
| 515 { | 529 { |
| 516 if (typeof event.data.width !== "undefined") { | 530 if (typeof event.data.width !== "undefined") { |
| 517 var width = /** @type {number} */ (event.data.width); | 531 var width = /** @type {number} */ (event.data.width); |
| 518 if (width !== this.settings.deviceWidth.get()) | 532 if (width !== this.settings.deviceWidth.get()) |
| 519 this.settings.deviceWidth.set(width); | 533 this.settings.deviceWidth.set(width); |
| 520 } | 534 } |
| 521 if (typeof event.data.height !== "undefined") { | 535 if (typeof event.data.height !== "undefined") { |
| 522 var height = /** @type {number} */ (event.data.height); | 536 var height = /** @type {number} */ (event.data.height); |
| 523 if (height !== this.settings.deviceHeight.get()) | 537 if (height !== this.settings.deviceHeight.get()) |
| (...skipping 28 matching lines...) Expand all Loading... |
| 552 } | 566 } |
| 553 | 567 |
| 554 var dipWidth = this.settings.emulateResolution.get() ? this.settings.dev
iceWidth.get() : 0; | 568 var dipWidth = this.settings.emulateResolution.get() ? this.settings.dev
iceWidth.get() : 0; |
| 555 var dipHeight = this.settings.emulateResolution.get() ? this.settings.de
viceHeight.get() : 0; | 569 var dipHeight = this.settings.emulateResolution.get() ? this.settings.de
viceHeight.get() : 0; |
| 556 | 570 |
| 557 var overrideWidth = dipWidth; | 571 var overrideWidth = dipWidth; |
| 558 var overrideHeight = dipHeight; | 572 var overrideHeight = dipHeight; |
| 559 var scale = 1; | 573 var scale = 1; |
| 560 if (this._pageResizer) { | 574 if (this._pageResizer) { |
| 561 var available = this._pageResizerAvailableSize; | 575 var available = this._pageResizerAvailableSize; |
| 576 var insets = this._pageResizerInsets; |
| 562 if (this.settings.deviceFitWindow.get()) { | 577 if (this.settings.deviceFitWindow.get()) { |
| 563 if (this._fixedDeviceScale) { | 578 if (this._fixedDeviceScale) { |
| 564 scale = this._deviceScale; | 579 scale = this._deviceScale; |
| 565 } else { | 580 } else { |
| 566 scale = 1; | 581 scale = 1; |
| 567 while (available.width < dipWidth * scale || available.heigh
t < dipHeight * scale) | 582 while (available.width < (dipWidth + insets.left + insets.ri
ght) * scale || available.height < (dipHeight + insets.top + insets.bottom) * sc
ale) |
| 568 scale *= 0.8; | 583 scale *= 0.8; |
| 569 } | 584 } |
| 570 } | 585 } |
| 571 | 586 |
| 572 this._pageResizer.update(Math.min(dipWidth * scale, available.width)
, Math.min(dipHeight * scale, available.height), scale); | 587 this._pageResizer.update(Math.min(dipWidth * scale, available.width
- insets.left * scale), Math.min(dipHeight * scale, available.height - insets.to
p * scale), scale); |
| 573 if (scale === 1 && available.width >= dipWidth && available.height >
= dipHeight) { | 588 if (scale === 1 && available.width >= dipWidth && available.height >
= dipHeight) { |
| 574 // When we have enough space, no page size override is required.
This will speed things up and remove lag. | 589 // When we have enough space, no page size override is required.
This will speed things up and remove lag. |
| 575 overrideWidth = 0; | 590 overrideWidth = 0; |
| 576 overrideHeight = 0; | 591 overrideHeight = 0; |
| 577 } | 592 } |
| 578 if (dipWidth === 0 && dipHeight !== 0) | 593 if (dipWidth === 0 && dipHeight !== 0) |
| 579 overrideWidth = Math.round(available.width / scale); | 594 overrideWidth = Math.round(available.width / scale); |
| 580 if (dipHeight === 0 && dipWidth !== 0) | 595 if (dipHeight === 0 && dipWidth !== 0) |
| 581 overrideHeight = Math.round(available.height / scale); | 596 overrideHeight = Math.round(available.height / scale); |
| 582 } | 597 } |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 810 }, | 825 }, |
| 811 | 826 |
| 812 __proto__: WebInspector.Object.prototype | 827 __proto__: WebInspector.Object.prototype |
| 813 } | 828 } |
| 814 | 829 |
| 815 | 830 |
| 816 /** | 831 /** |
| 817 * @type {!WebInspector.OverridesSupport} | 832 * @type {!WebInspector.OverridesSupport} |
| 818 */ | 833 */ |
| 819 WebInspector.overridesSupport; | 834 WebInspector.overridesSupport; |
| OLD | NEW |