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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/sdk/ScreenCaptureModel.js

Issue 2672983002: [DevTools] Separate ScreenCaptureModel out of ResourceTreeModel. (Closed)
Patch Set: rebased Created 3 years, 10 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
(Empty)
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 /**
6 * @implements {Protocol.PageDispatcher}
7 */
8 SDK.ScreenCaptureModel = class extends SDK.SDKModel {
9 /**
10 * @param {!SDK.Target} target
11 */
12 constructor(target) {
13 super(target);
14 this._agent = target.pageAgent();
15 /** @type {?function(string, !Protocol.Page.ScreencastFrameMetadata)} */
16 this._onScreencastFrame = null;
17 /** @type {?function(boolean)} */
18 this._onScreencastVisibilityChanged = null;
19 target.registerPageDispatcher(this);
20 }
21
22 /**
23 * @param {string} format
24 * @param {number} quality
25 * @param {number|undefined} width
26 * @param {number|undefined} height
27 * @param {number|undefined} everyNthFrame
28 * @param {function(string, !Protocol.Page.ScreencastFrameMetadata)} onFrame
29 * @param {function(boolean)} onVisibilityChanged
30 */
31 startScreencast(format, quality, width, height, everyNthFrame, onFrame, onVisi bilityChanged) {
32 this._onScreencastFrame = onFrame;
33 this._onScreencastVisibilityChanged = onVisibilityChanged;
34 this._agent.startScreencast(format, quality, width, height, everyNthFrame);
35 }
36
37 stopScreencast() {
38 this._onScreencastFrame = null;
39 this._onScreencastVisibilityChanged = null;
40 this._agent.stopScreencast();
41 }
42
43 /**
44 * @param {string} format
45 * @param {number} quality
46 * @return {!Promise<?string>}
47 */
48 captureScreenshot(format, quality) {
49 var fulfill;
50 var promise = new Promise(callback => fulfill = callback);
51 this._agent.captureScreenshot(format, quality, (error, content) => {
52 if (error)
53 console.error(error);
54 fulfill(error ? null : content);
55 });
56 return promise;
57 }
58
59 /**
60 * @override
61 * @param {string} data
62 * @param {!Protocol.Page.ScreencastFrameMetadata} metadata
63 * @param {number} sessionId
64 */
65 screencastFrame(data, metadata, sessionId) {
66 this._agent.screencastFrameAck(sessionId);
67 if (this._onScreencastFrame)
68 this._onScreencastFrame.call(null, data, metadata);
69 }
70
71 /**
72 * @override
73 * @param {boolean} visible
74 */
75 screencastVisibilityChanged(visible) {
76 if (this._onScreencastVisibilityChanged)
77 this._onScreencastVisibilityChanged.call(null, visible);
78 }
79
80 /**
81 * @override
82 * @param {number} time
83 */
84 domContentEventFired(time) {
85 }
86
87 /**
88 * @override
89 * @param {number} time
90 */
91 loadEventFired(time) {
92 }
93
94 /**
95 * @override
96 * @param {!Protocol.Page.FrameId} frameId
97 * @param {!Protocol.Page.FrameId} parentFrameId
98 */
99 frameAttached(frameId, parentFrameId) {
100 }
101
102 /**
103 * @override
104 * @param {!Protocol.Page.Frame} frame
105 */
106 frameNavigated(frame) {
107 }
108
109 /**
110 * @override
111 * @param {!Protocol.Page.FrameId} frameId
112 */
113 frameDetached(frameId) {
114 }
115
116 /**
117 * @override
118 * @param {!Protocol.Page.FrameId} frameId
119 */
120 frameStartedLoading(frameId) {
121 }
122
123 /**
124 * @override
125 * @param {!Protocol.Page.FrameId} frameId
126 */
127 frameStoppedLoading(frameId) {
128 }
129
130 /**
131 * @override
132 * @param {!Protocol.Page.FrameId} frameId
133 * @param {number} delay
134 */
135 frameScheduledNavigation(frameId, delay) {
136 }
137
138 /**
139 * @override
140 * @param {!Protocol.Page.FrameId} frameId
141 */
142 frameClearedScheduledNavigation(frameId) {
143 }
144
145 /**
146 * @override
147 */
148 frameResized() {
149 }
150
151 /**
152 * @override
153 * @param {string} message
154 * @param {string} dialogType
155 */
156 javascriptDialogOpening(message, dialogType) {
157 }
158
159 /**
160 * @override
161 * @param {boolean} result
162 */
163 javascriptDialogClosed(result) {
164 }
165
166 /**
167 * @override
168 * @param {!Protocol.DOM.RGBA} color
169 */
170 colorPicked(color) {
171 }
172
173 /**
174 * @override
175 */
176 interstitialShown() {
177 }
178
179 /**
180 * @override
181 */
182 interstitialHidden() {
183 }
184
185 /**
186 * @override
187 */
188 navigationRequested() {
189 }
190 };
191
192 SDK.SDKModel.register(SDK.ScreenCaptureModel, SDK.Target.Capability.ScreenCaptur e);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698