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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/screencast/ScreencastView.js

Issue 2819183002: [DevTools] Consolidate overlay-related functionality in Overlay domain (Closed)
Patch Set: rebased bad merge Created 3 years, 8 months 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) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 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 10 matching lines...) Expand all
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
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 * @implements {SDK.DOMNodeHighlighter} 31 * @implements {SDK.OverlayModel.Highlighter}
32 * @unrestricted 32 * @unrestricted
33 */ 33 */
34 Screencast.ScreencastView = class extends UI.VBox { 34 Screencast.ScreencastView = class extends UI.VBox {
35 /** 35 /**
36 * @param {!SDK.ScreenCaptureModel} screenCaptureModel 36 * @param {!SDK.ScreenCaptureModel} screenCaptureModel
37 */ 37 */
38 constructor(screenCaptureModel) { 38 constructor(screenCaptureModel) {
39 super(); 39 super();
40 this._screenCaptureModel = screenCaptureModel; 40 this._screenCaptureModel = screenCaptureModel;
41 this._domModel = screenCaptureModel.target().model(SDK.DOMModel); 41 this._domModel = screenCaptureModel.target().model(SDK.DOMModel);
42 this._overlayModel = screenCaptureModel.target().model(SDK.OverlayModel);
42 this._resourceTreeModel = screenCaptureModel.target().model(SDK.ResourceTree Model); 43 this._resourceTreeModel = screenCaptureModel.target().model(SDK.ResourceTree Model);
43 this._networkManager = screenCaptureModel.target().model(SDK.NetworkManager) ; 44 this._networkManager = screenCaptureModel.target().model(SDK.NetworkManager) ;
44 this._inputModel = screenCaptureModel.target().model(Screencast.InputModel); 45 this._inputModel = screenCaptureModel.target().model(Screencast.InputModel);
45 46
46 this.setMinimumSize(150, 150); 47 this.setMinimumSize(150, 150);
47 this.registerRequiredCSS('screencast/screencastView.css'); 48 this.registerRequiredCSS('screencast/screencastView.css');
48 } 49 }
49 50
50 initialize() { 51 initialize() {
51 this.element.classList.add('screencast'); 52 this.element.classList.add('screencast');
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 return; 124 return;
124 } 125 }
125 dimensions.width *= window.devicePixelRatio; 126 dimensions.width *= window.devicePixelRatio;
126 dimensions.height *= window.devicePixelRatio; 127 dimensions.height *= window.devicePixelRatio;
127 // Note: startScreencast width and height are expected to be integers so mus t be floored. 128 // Note: startScreencast width and height are expected to be integers so mus t be floored.
128 this._screenCaptureModel.startScreencast( 129 this._screenCaptureModel.startScreencast(
129 'jpeg', 80, Math.floor(Math.min(maxImageDimension, dimensions.width)), 130 'jpeg', 80, Math.floor(Math.min(maxImageDimension, dimensions.width)),
130 Math.floor(Math.min(maxImageDimension, dimensions.height)), undefined, t his._screencastFrame.bind(this), 131 Math.floor(Math.min(maxImageDimension, dimensions.height)), undefined, t his._screencastFrame.bind(this),
131 this._screencastVisibilityChanged.bind(this)); 132 this._screencastVisibilityChanged.bind(this));
132 Emulation.MultitargetTouchModel.instance().setCustomTouchEnabled(true); 133 Emulation.MultitargetTouchModel.instance().setCustomTouchEnabled(true);
133 if (this._domModel) 134 if (this._overlayModel)
134 this._domModel.setHighlighter(this); 135 this._overlayModel.setHighlighter(this);
135 } 136 }
136 137
137 _stopCasting() { 138 _stopCasting() {
138 if (!this._isCasting) 139 if (!this._isCasting)
139 return; 140 return;
140 this._isCasting = false; 141 this._isCasting = false;
141 this._screenCaptureModel.stopScreencast(); 142 this._screenCaptureModel.stopScreencast();
142 Emulation.MultitargetTouchModel.instance().setCustomTouchEnabled(false); 143 Emulation.MultitargetTouchModel.instance().setCustomTouchEnabled(false);
143 if (this._domModel) 144 if (this._overlayModel)
144 this._domModel.setHighlighter(null); 145 this._overlayModel.setHighlighter(null);
145 } 146 }
146 147
147 /** 148 /**
148 * @param {string} base64Data 149 * @param {string} base64Data
149 * @param {!Protocol.Page.ScreencastFrameMetadata} metadata 150 * @param {!Protocol.Page.ScreencastFrameMetadata} metadata
150 */ 151 */
151 _screencastFrame(base64Data, metadata) { 152 _screencastFrame(base64Data, metadata) {
152 this._imageElement.onload = () => { 153 this._imageElement.onload = () => {
153 this._pageScaleFactor = metadata.pageScaleFactor; 154 this._pageScaleFactor = metadata.pageScaleFactor;
154 this._screenOffsetTop = metadata.offsetTop; 155 this._screenOffsetTop = metadata.offsetTop;
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 239
239 /** 240 /**
240 * @param {?SDK.DOMNode} node 241 * @param {?SDK.DOMNode} node
241 * @this {Screencast.ScreencastView} 242 * @this {Screencast.ScreencastView}
242 */ 243 */
243 function callback(node) { 244 function callback(node) {
244 if (!node) 245 if (!node)
245 return; 246 return;
246 if (event.type === 'mousemove') { 247 if (event.type === 'mousemove') {
247 this.highlightDOMNode(node, this._inspectModeConfig); 248 this.highlightDOMNode(node, this._inspectModeConfig);
248 this._domModel.nodeHighlightRequested(node.id); 249 this._domModel.overlayModel().nodeHighlightRequested(node.id);
249 } else if (event.type === 'click') { 250 } else if (event.type === 'click') {
250 Common.Revealer.reveal(node); 251 Common.Revealer.reveal(node);
251 } 252 }
252 } 253 }
253 } 254 }
254 255
255 /** 256 /**
256 * @param {!Event} event 257 * @param {!Event} event
257 */ 258 */
258 _handleKeyEvent(event) { 259 _handleKeyEvent(event) {
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 delete this._deferredCasting; 310 delete this._deferredCasting;
310 } 311 }
311 312
312 this._stopCasting(); 313 this._stopCasting();
313 this._deferredCasting = setTimeout(this._startCasting.bind(this), 100); 314 this._deferredCasting = setTimeout(this._startCasting.bind(this), 100);
314 } 315 }
315 316
316 /** 317 /**
317 * @override 318 * @override
318 * @param {?SDK.DOMNode} node 319 * @param {?SDK.DOMNode} node
319 * @param {?Protocol.DOM.HighlightConfig} config 320 * @param {?Protocol.Overlay.HighlightConfig} config
320 * @param {!Protocol.DOM.BackendNodeId=} backendNodeId 321 * @param {!Protocol.DOM.BackendNodeId=} backendNodeId
321 * @param {!Protocol.Runtime.RemoteObjectId=} objectId 322 * @param {!Protocol.Runtime.RemoteObjectId=} objectId
322 */ 323 */
323 highlightDOMNode(node, config, backendNodeId, objectId) { 324 highlightDOMNode(node, config, backendNodeId, objectId) {
324 this._highlightNode = node; 325 this._highlightNode = node;
325 this._highlightConfig = config; 326 this._highlightConfig = config;
326 if (!node) { 327 if (!node) {
327 this._model = null; 328 this._model = null;
328 this._config = null; 329 this._config = null;
329 this._node = null; 330 this._node = null;
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
562 _viewportDimensions() { 563 _viewportDimensions() {
563 const gutterSize = 30; 564 const gutterSize = 30;
564 const bordersSize = Screencast.ScreencastView._bordersSize; 565 const bordersSize = Screencast.ScreencastView._bordersSize;
565 var width = this.element.offsetWidth - bordersSize - gutterSize; 566 var width = this.element.offsetWidth - bordersSize - gutterSize;
566 var height = this.element.offsetHeight - bordersSize - gutterSize - Screenca st.ScreencastView._navBarHeight; 567 var height = this.element.offsetHeight - bordersSize - gutterSize - Screenca st.ScreencastView._navBarHeight;
567 return {width: width, height: height}; 568 return {width: width, height: height};
568 } 569 }
569 570
570 /** 571 /**
571 * @override 572 * @override
572 * @param {!Protocol.DOM.InspectMode} mode 573 * @param {!Protocol.Overlay.InspectMode} mode
573 * @param {!Protocol.DOM.HighlightConfig} config 574 * @param {!Protocol.Overlay.HighlightConfig} config
574 * @param {function(?Protocol.Error)=} callback 575 * @return {!Promise}
575 */ 576 */
576 setInspectMode(mode, config, callback) { 577 setInspectMode(mode, config) {
577 this._inspectModeConfig = mode !== Protocol.DOM.InspectMode.None ? config : null; 578 this._inspectModeConfig = mode !== Protocol.Overlay.InspectMode.None ? confi g : null;
578 if (callback) 579 return Promise.resolve();
579 callback(null);
580 } 580 }
581 581
582 /** 582 /**
583 * @override 583 * @override
584 * @param {!Protocol.Page.FrameId} frameId 584 * @param {!Protocol.Page.FrameId} frameId
585 */ 585 */
586 highlightFrame(frameId) { 586 highlightFrame(frameId) {
587 } 587 }
588 588
589 /** 589 /**
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
767 if (this._maxDisplayedProgress >= progress) 767 if (this._maxDisplayedProgress >= progress)
768 return; 768 return;
769 this._maxDisplayedProgress = progress; 769 this._maxDisplayedProgress = progress;
770 this._displayProgress(progress); 770 this._displayProgress(progress);
771 } 771 }
772 772
773 _displayProgress(progress) { 773 _displayProgress(progress) {
774 this._element.style.width = (100 * progress) + '%'; 774 this._element.style.width = (100 * progress) + '%';
775 } 775 }
776 }; 776 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698