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 11 matching lines...) Expand all Loading... | |
22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | 22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 */ | 29 */ |
30 | 30 |
31 /** | 31 /** |
32 * @extends {WebInspector.Object} | |
pfeldman
2013/10/31 17:45:31
We define @extends below @constructor
dgozman
2013/10/31 17:57:48
Done.
| |
32 * @constructor | 33 * @constructor |
33 */ | 34 */ |
34 WebInspector.OverridesSupport = function() | 35 WebInspector.OverridesSupport = function() |
35 { | 36 { |
36 this._updateAllOverrides(); | 37 this._canForceCompositingMode = true; |
38 WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeMod el.EventTypes.MainFrameNavigated, this.updateCanForceCompositingMode.bind(this), this); | |
37 | 39 |
38 WebInspector.settings.overrideUserAgent.addChangeListener(this._userAgentCha nged, this); | 40 WebInspector.settings.overrideUserAgent.addChangeListener(this._userAgentCha nged, this); |
39 WebInspector.settings.userAgent.addChangeListener(this._userAgentChanged, th is); | 41 WebInspector.settings.userAgent.addChangeListener(this._userAgentChanged, th is); |
40 | 42 |
41 WebInspector.settings.overrideDeviceMetrics.addChangeListener(this._deviceMe tricsChanged, this); | 43 WebInspector.settings.overrideDeviceMetrics.addChangeListener(this._deviceMe tricsChanged, this); |
42 WebInspector.settings.deviceMetrics.addChangeListener(this._deviceMetricsCha nged, this); | 44 WebInspector.settings.deviceMetrics.addChangeListener(this._deviceMetricsCha nged, this); |
43 WebInspector.settings.deviceFitWindow.addChangeListener(this._deviceMetricsC hanged, this); | 45 WebInspector.settings.deviceFitWindow.addChangeListener(this._deviceMetricsC hanged, this); |
44 | 46 |
45 WebInspector.settings.overrideGeolocation.addChangeListener(this._geolocatio nPositionChanged, this); | 47 WebInspector.settings.overrideGeolocation.addChangeListener(this._geolocatio nPositionChanged, this); |
46 WebInspector.settings.geolocationOverride.addChangeListener(this._geolocatio nPositionChanged, this); | 48 WebInspector.settings.geolocationOverride.addChangeListener(this._geolocatio nPositionChanged, this); |
47 | 49 |
48 WebInspector.settings.overrideDeviceOrientation.addChangeListener(this._devi ceOrientationChanged, this); | 50 WebInspector.settings.overrideDeviceOrientation.addChangeListener(this._devi ceOrientationChanged, this); |
49 WebInspector.settings.deviceOrientationOverride.addChangeListener(this._devi ceOrientationChanged, this); | 51 WebInspector.settings.deviceOrientationOverride.addChangeListener(this._devi ceOrientationChanged, this); |
50 | 52 |
51 WebInspector.settings.emulateTouchEvents.addChangeListener(this._emulateTouc hEventsChanged, this); | 53 WebInspector.settings.emulateTouchEvents.addChangeListener(this._emulateTouc hEventsChanged, this); |
52 | 54 |
53 WebInspector.settings.overrideCSSMedia.addChangeListener(this._cssMediaChang ed, this); | 55 WebInspector.settings.overrideCSSMedia.addChangeListener(this._cssMediaChang ed, this); |
54 WebInspector.settings.emulatedCSSMedia.addChangeListener(this._cssMediaChang ed, this); | 56 WebInspector.settings.emulatedCSSMedia.addChangeListener(this._cssMediaChang ed, this); |
55 } | 57 } |
56 | 58 |
59 WebInspector.OverridesSupport.Events = { | |
60 CanForceCompositingModeChanged: "CanForceCompositingModeChanged", | |
61 } | |
62 | |
57 /** | 63 /** |
58 * @constructor | 64 * @constructor |
59 * @param {number} width | 65 * @param {number} width |
60 * @param {number} height | 66 * @param {number} height |
61 * @param {number} deviceScaleFactor | 67 * @param {number} deviceScaleFactor |
62 * @param {number} fontScaleFactor | 68 * @param {number} fontScaleFactor |
63 * @param {boolean} textAutosizing | 69 * @param {boolean} textAutosizing |
64 */ | 70 */ |
65 WebInspector.OverridesSupport.DeviceMetrics = function(width, height, deviceScal eFactor, fontScaleFactor, textAutosizing) | 71 WebInspector.OverridesSupport.DeviceMetrics = function(width, height, deviceScal eFactor, fontScaleFactor, textAutosizing) |
66 { | 72 { |
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
389 WebInspector.OverridesSupport.DeviceOrientation.clearDeviceOrientationOverride = function() | 395 WebInspector.OverridesSupport.DeviceOrientation.clearDeviceOrientationOverride = function() |
390 { | 396 { |
391 PageAgent.clearDeviceOrientationOverride(); | 397 PageAgent.clearDeviceOrientationOverride(); |
392 } | 398 } |
393 | 399 |
394 WebInspector.OverridesSupport.prototype = { | 400 WebInspector.OverridesSupport.prototype = { |
395 /** | 401 /** |
396 * @param {string} deviceMetrics | 402 * @param {string} deviceMetrics |
397 * @param {string} userAgent | 403 * @param {string} userAgent |
398 */ | 404 */ |
399 emulateDevice: function(deviceMetrics, userAgent) | 405 emulateDevice: function(deviceMetrics, userAgent) |
pfeldman
2013/10/31 17:45:31
Lets disable the whole button instead.
dgozman
2013/10/31 17:57:48
Done.
| |
400 { | 406 { |
401 WebInspector.settings.deviceMetrics.set(deviceMetrics); | 407 WebInspector.settings.deviceMetrics.set(deviceMetrics); |
402 WebInspector.settings.userAgent.set(userAgent); | 408 WebInspector.settings.userAgent.set(userAgent); |
403 WebInspector.settings.overrideDeviceMetrics.set(true); | 409 if (this._canForceCompositingMode) |
410 WebInspector.settings.overrideDeviceMetrics.set(true); | |
404 WebInspector.settings.overrideUserAgent.set(true); | 411 WebInspector.settings.overrideUserAgent.set(true); |
405 WebInspector.settings.emulateTouchEvents.set(true); | 412 WebInspector.settings.emulateTouchEvents.set(true); |
406 }, | 413 }, |
407 | 414 |
408 reset: function() | 415 reset: function() |
409 { | 416 { |
410 WebInspector.settings.overrideDeviceMetrics.set(false); | 417 WebInspector.settings.overrideDeviceMetrics.set(false); |
411 WebInspector.settings.overrideUserAgent.set(false); | 418 WebInspector.settings.overrideUserAgent.set(false); |
412 WebInspector.settings.emulateTouchEvents.set(false); | 419 WebInspector.settings.emulateTouchEvents.set(false); |
413 WebInspector.settings.overrideDeviceOrientation.set(false); | 420 WebInspector.settings.overrideDeviceOrientation.set(false); |
414 WebInspector.settings.overrideGeolocation.set(false); | 421 WebInspector.settings.overrideGeolocation.set(false); |
415 WebInspector.settings.overrideCSSMedia.set(false); | 422 WebInspector.settings.overrideCSSMedia.set(false); |
416 }, | 423 }, |
417 | 424 |
418 _updateAllOverrides: function() | 425 applyInitialOverrides: function() |
419 { | 426 { |
420 this._userAgentChanged(); | 427 this._userAgentChanged(); |
421 this._deviceMetricsChanged(); | 428 if (WebInspector.settings.overrideDeviceMetrics.get()) |
429 this.updateCanForceCompositingMode(this._deviceMetricsChanged.bind(t his)); | |
430 else | |
431 this._deviceMetricsChanged(); | |
422 this._deviceOrientationChanged(); | 432 this._deviceOrientationChanged(); |
423 this._geolocationPositionChanged(); | 433 this._geolocationPositionChanged(); |
424 this._emulateTouchEventsChanged(); | 434 this._emulateTouchEventsChanged(); |
425 this._cssMediaChanged(); | 435 this._cssMediaChanged(); |
426 }, | 436 }, |
427 | 437 |
428 _userAgentChanged: function() | 438 _userAgentChanged: function() |
429 { | 439 { |
430 NetworkAgent.setUserAgentOverride(WebInspector.settings.overrideUserAgen t.get() ? WebInspector.settings.userAgent.get() : ""); | 440 NetworkAgent.setUserAgentOverride(WebInspector.settings.overrideUserAgen t.get() ? WebInspector.settings.userAgent.get() : ""); |
431 }, | 441 }, |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
481 | 491 |
482 _revealOverridesTabIfNeeded: function() | 492 _revealOverridesTabIfNeeded: function() |
483 { | 493 { |
484 if (WebInspector.settings.overrideUserAgent.get() || WebInspector.settin gs.overrideDeviceMetrics.get() || | 494 if (WebInspector.settings.overrideUserAgent.get() || WebInspector.settin gs.overrideDeviceMetrics.get() || |
485 WebInspector.settings.overrideGeolocation.get() || WebInspector. settings.overrideDeviceOrientation.get() || | 495 WebInspector.settings.overrideGeolocation.get() || WebInspector. settings.overrideDeviceOrientation.get() || |
486 WebInspector.settings.emulateTouchEvents.get() || WebInspector.s ettings.overrideCSSMedia.get()) { | 496 WebInspector.settings.emulateTouchEvents.get() || WebInspector.s ettings.overrideCSSMedia.get()) { |
487 if (!WebInspector.settings.showEmulationViewInDrawer.get()) | 497 if (!WebInspector.settings.showEmulationViewInDrawer.get()) |
488 WebInspector.settings.showEmulationViewInDrawer.set(true); | 498 WebInspector.settings.showEmulationViewInDrawer.set(true); |
489 WebInspector.inspectorView.showViewInDrawer("emulation"); | 499 WebInspector.inspectorView.showViewInDrawer("emulation"); |
490 } | 500 } |
491 } | 501 }, |
502 | |
503 updateCanForceCompositingMode: function(callback) | |
504 { | |
505 function apiCallback(error, result) | |
506 { | |
507 if (!error) { | |
508 if (!result && WebInspector.settings.overrideDeviceMetrics.get() ) | |
509 WebInspector.settings.overrideDeviceMetrics.set(false); | |
510 | |
511 if (this._canForceCompositingMode !== result) { | |
512 this._canForceCompositingMode = result; | |
513 this.dispatchEventToListeners(WebInspector.OverridesSupport. Events.CanForceCompositingModeChanged); | |
514 } | |
515 } | |
516 if (callback) | |
517 callback(); | |
518 } | |
519 PageAgent.canForceCompositingMode(apiCallback.bind(this)); | |
520 }, | |
521 | |
522 canForceCompositingMode: function() | |
523 { | |
524 return this._canForceCompositingMode; | |
525 }, | |
526 | |
527 __proto__: WebInspector.Object.prototype | |
492 } | 528 } |
493 | 529 |
494 | 530 |
495 /** | 531 /** |
496 * @type {WebInspector.OverridesSupport} | 532 * @type {WebInspector.OverridesSupport} |
497 */ | 533 */ |
498 WebInspector.overridesSupport; | 534 WebInspector.overridesSupport; |
OLD | NEW |