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

Side by Side Diff: Source/devtools/front_end/OverridesSupport.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: 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
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 11 matching lines...) Expand all
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}
32 * @constructor 33 * @constructor
33 */ 34 */
34 WebInspector.OverridesSupport = function() 35 WebInspector.OverridesSupport = function()
35 { 36 {
37 WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeMod el.EventTypes.MainFrameNavigated, this._updateCanForceCompositingMode.bind(this) , this);
38 this.canForceCompositingMode = true;
pfeldman 2013/10/31 11:23:58 Should be private w/ accessor if necessary.
dgozman 2013/10/31 12:39:50 Done.
39 this._updateCanForceCompositingMode();
pfeldman 2013/10/31 11:23:58 It is too early, you should do this if you are abo
dgozman 2013/10/31 12:39:50 No, it's needed right away to disable UI elements.
40
36 this._updateAllOverrides(); 41 this._updateAllOverrides();
37 42
38 WebInspector.settings.overrideUserAgent.addChangeListener(this._userAgentCha nged, this); 43 WebInspector.settings.overrideUserAgent.addChangeListener(this._userAgentCha nged, this);
39 WebInspector.settings.userAgent.addChangeListener(this._userAgentChanged, th is); 44 WebInspector.settings.userAgent.addChangeListener(this._userAgentChanged, th is);
40 45
41 WebInspector.settings.overrideDeviceMetrics.addChangeListener(this._deviceMe tricsChanged, this); 46 WebInspector.settings.overrideDeviceMetrics.addChangeListener(this._deviceMe tricsChanged, this);
42 WebInspector.settings.deviceMetrics.addChangeListener(this._deviceMetricsCha nged, this); 47 WebInspector.settings.deviceMetrics.addChangeListener(this._deviceMetricsCha nged, this);
43 WebInspector.settings.deviceFitWindow.addChangeListener(this._deviceMetricsC hanged, this); 48 WebInspector.settings.deviceFitWindow.addChangeListener(this._deviceMetricsC hanged, this);
44 49
45 WebInspector.settings.overrideGeolocation.addChangeListener(this._geolocatio nPositionChanged, this); 50 WebInspector.settings.overrideGeolocation.addChangeListener(this._geolocatio nPositionChanged, this);
46 WebInspector.settings.geolocationOverride.addChangeListener(this._geolocatio nPositionChanged, this); 51 WebInspector.settings.geolocationOverride.addChangeListener(this._geolocatio nPositionChanged, this);
47 52
48 WebInspector.settings.overrideDeviceOrientation.addChangeListener(this._devi ceOrientationChanged, this); 53 WebInspector.settings.overrideDeviceOrientation.addChangeListener(this._devi ceOrientationChanged, this);
49 WebInspector.settings.deviceOrientationOverride.addChangeListener(this._devi ceOrientationChanged, this); 54 WebInspector.settings.deviceOrientationOverride.addChangeListener(this._devi ceOrientationChanged, this);
50 55
51 WebInspector.settings.emulateTouchEvents.addChangeListener(this._emulateTouc hEventsChanged, this); 56 WebInspector.settings.emulateTouchEvents.addChangeListener(this._emulateTouc hEventsChanged, this);
52 57
53 WebInspector.settings.overrideCSSMedia.addChangeListener(this._cssMediaChang ed, this); 58 WebInspector.settings.overrideCSSMedia.addChangeListener(this._cssMediaChang ed, this);
54 WebInspector.settings.emulatedCSSMedia.addChangeListener(this._cssMediaChang ed, this); 59 WebInspector.settings.emulatedCSSMedia.addChangeListener(this._cssMediaChang ed, this);
55 } 60 }
56 61
62 WebInspector.OverridesSupport.Events = {
63 CanForceCompositingModeChanged: "CanForceCompositingModeChanged",
64 }
65
57 /** 66 /**
58 * @constructor 67 * @constructor
59 * @param {number} width 68 * @param {number} width
60 * @param {number} height 69 * @param {number} height
61 * @param {number} deviceScaleFactor 70 * @param {number} deviceScaleFactor
62 * @param {number} fontScaleFactor 71 * @param {number} fontScaleFactor
63 * @param {boolean} textAutosizing 72 * @param {boolean} textAutosizing
64 */ 73 */
65 WebInspector.OverridesSupport.DeviceMetrics = function(width, height, deviceScal eFactor, fontScaleFactor, textAutosizing) 74 WebInspector.OverridesSupport.DeviceMetrics = function(width, height, deviceScal eFactor, fontScaleFactor, textAutosizing)
66 { 75 {
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 402
394 WebInspector.OverridesSupport.prototype = { 403 WebInspector.OverridesSupport.prototype = {
395 /** 404 /**
396 * @param {string} deviceMetrics 405 * @param {string} deviceMetrics
397 * @param {string} userAgent 406 * @param {string} userAgent
398 */ 407 */
399 emulateDevice: function(deviceMetrics, userAgent) 408 emulateDevice: function(deviceMetrics, userAgent)
400 { 409 {
401 WebInspector.settings.deviceMetrics.set(deviceMetrics); 410 WebInspector.settings.deviceMetrics.set(deviceMetrics);
402 WebInspector.settings.userAgent.set(userAgent); 411 WebInspector.settings.userAgent.set(userAgent);
403 WebInspector.settings.overrideDeviceMetrics.set(true); 412 if (this.canForceCompositingMode)
413 WebInspector.settings.overrideDeviceMetrics.set(true);
404 WebInspector.settings.overrideUserAgent.set(true); 414 WebInspector.settings.overrideUserAgent.set(true);
405 WebInspector.settings.emulateTouchEvents.set(true); 415 WebInspector.settings.emulateTouchEvents.set(true);
406 }, 416 },
407 417
408 reset: function() 418 reset: function()
409 { 419 {
410 WebInspector.settings.overrideDeviceMetrics.set(false); 420 WebInspector.settings.overrideDeviceMetrics.set(false);
411 WebInspector.settings.overrideUserAgent.set(false); 421 WebInspector.settings.overrideUserAgent.set(false);
412 WebInspector.settings.emulateTouchEvents.set(false); 422 WebInspector.settings.emulateTouchEvents.set(false);
413 WebInspector.settings.overrideDeviceOrientation.set(false); 423 WebInspector.settings.overrideDeviceOrientation.set(false);
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
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()
504 {
505 function callback(error, result)
506 {
507 if (!error) {
508 this.canForceCompositingMode = result;
509 this.dispatchEventToListeners(WebInspector.OverridesSupport.Even ts.CanForceCompositingModeChanged);
pfeldman 2013/10/31 11:23:58 You should only dispatch it if this.canForce != re
dgozman 2013/10/31 12:39:50 Done.
510 if (!result && WebInspector.settings.overrideDeviceMetrics.get() )
511 WebInspector.settings.overrideDeviceMetrics.set(false);
512 }
513 }
514 PageAgent.canForceCompositingMode(callback.bind(this));
515 },
516
517 __proto__: WebInspector.Object.prototype
492 } 518 }
493 519
494 520
495 /** 521 /**
496 * @type {WebInspector.OverridesSupport} 522 * @type {WebInspector.OverridesSupport}
497 */ 523 */
498 WebInspector.overridesSupport; 524 WebInspector.overridesSupport;
OLDNEW
« no previous file with comments | « Source/core/inspector/InspectorPageAgent.cpp ('k') | Source/devtools/front_end/OverridesView.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698