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

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

Issue 2493373002: DevTools: rename WebInspector into modules. (Closed)
Patch Set: for bots Created 4 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 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 /** 4 /**
5 * @unrestricted 5 * @unrestricted
6 */ 6 */
7 WebInspector.CSSValue = class { 7 SDK.CSSValue = class {
8 /** 8 /**
9 * @param {!Protocol.CSS.Value} payload 9 * @param {!Protocol.CSS.Value} payload
10 */ 10 */
11 constructor(payload) { 11 constructor(payload) {
12 this.text = payload.text; 12 this.text = payload.text;
13 if (payload.range) 13 if (payload.range)
14 this.range = WebInspector.TextRange.fromObject(payload.range); 14 this.range = Common.TextRange.fromObject(payload.range);
15 } 15 }
16 16
17 /** 17 /**
18 * @param {!WebInspector.CSSModel.Edit} edit 18 * @param {!SDK.CSSModel.Edit} edit
19 */ 19 */
20 rebase(edit) { 20 rebase(edit) {
21 if (!this.range) 21 if (!this.range)
22 return; 22 return;
23 this.range = this.range.rebaseAfterTextEdit(edit.oldRange, edit.newRange); 23 this.range = this.range.rebaseAfterTextEdit(edit.oldRange, edit.newRange);
24 } 24 }
25 }; 25 };
26 26
27 /** 27 /**
28 * @unrestricted 28 * @unrestricted
29 */ 29 */
30 WebInspector.CSSRule = class { 30 SDK.CSSRule = class {
31 /** 31 /**
32 * @param {!WebInspector.CSSModel} cssModel 32 * @param {!SDK.CSSModel} cssModel
33 * @param {{style: !Protocol.CSS.CSSStyle, styleSheetId: (string|undefined), o rigin: !Protocol.CSS.StyleSheetOrigin}} payload 33 * @param {{style: !Protocol.CSS.CSSStyle, styleSheetId: (string|undefined), o rigin: !Protocol.CSS.StyleSheetOrigin}} payload
34 */ 34 */
35 constructor(cssModel, payload) { 35 constructor(cssModel, payload) {
36 this._cssModel = cssModel; 36 this._cssModel = cssModel;
37 this.styleSheetId = payload.styleSheetId; 37 this.styleSheetId = payload.styleSheetId;
38 38
39 if (this.styleSheetId) { 39 if (this.styleSheetId) {
40 var styleSheetHeader = cssModel.styleSheetHeaderForId(this.styleSheetId); 40 var styleSheetHeader = cssModel.styleSheetHeaderForId(this.styleSheetId);
41 this.sourceURL = styleSheetHeader.sourceURL; 41 this.sourceURL = styleSheetHeader.sourceURL;
42 } 42 }
43 this.origin = payload.origin; 43 this.origin = payload.origin;
44 this.style = new WebInspector.CSSStyleDeclaration( 44 this.style = new SDK.CSSStyleDeclaration(
45 this._cssModel, this, payload.style, WebInspector.CSSStyleDeclaration.Ty pe.Regular); 45 this._cssModel, this, payload.style, SDK.CSSStyleDeclaration.Type.Regula r);
46 } 46 }
47 47
48 /** 48 /**
49 * @param {!WebInspector.CSSModel.Edit} edit 49 * @param {!SDK.CSSModel.Edit} edit
50 */ 50 */
51 rebase(edit) { 51 rebase(edit) {
52 if (this.styleSheetId !== edit.styleSheetId) 52 if (this.styleSheetId !== edit.styleSheetId)
53 return; 53 return;
54 this.style.rebase(edit); 54 this.style.rebase(edit);
55 } 55 }
56 56
57 /** 57 /**
58 * @return {string} 58 * @return {string}
59 */ 59 */
(...skipping 29 matching lines...) Expand all
89 * @return {boolean} 89 * @return {boolean}
90 */ 90 */
91 isRegular() { 91 isRegular() {
92 return this.origin === Protocol.CSS.StyleSheetOrigin.Regular; 92 return this.origin === Protocol.CSS.StyleSheetOrigin.Regular;
93 } 93 }
94 }; 94 };
95 95
96 /** 96 /**
97 * @unrestricted 97 * @unrestricted
98 */ 98 */
99 WebInspector.CSSStyleRule = class extends WebInspector.CSSRule { 99 SDK.CSSStyleRule = class extends SDK.CSSRule {
100 /** 100 /**
101 * @param {!WebInspector.CSSModel} cssModel 101 * @param {!SDK.CSSModel} cssModel
102 * @param {!Protocol.CSS.CSSRule} payload 102 * @param {!Protocol.CSS.CSSRule} payload
103 * @param {boolean=} wasUsed 103 * @param {boolean=} wasUsed
104 */ 104 */
105 constructor(cssModel, payload, wasUsed) { 105 constructor(cssModel, payload, wasUsed) {
106 super(cssModel, payload); 106 super(cssModel, payload);
107 107
108 this._reinitializeSelectors(payload.selectorList); 108 this._reinitializeSelectors(payload.selectorList);
109 this.media = payload.media ? WebInspector.CSSMedia.parseMediaArrayPayload(cs sModel, payload.media) : []; 109 this.media = payload.media ? SDK.CSSMedia.parseMediaArrayPayload(cssModel, p ayload.media) : [];
110 this.wasUsed = wasUsed || false; 110 this.wasUsed = wasUsed || false;
111 } 111 }
112 112
113 /** 113 /**
114 * @param {!WebInspector.CSSModel} cssModel 114 * @param {!SDK.CSSModel} cssModel
115 * @param {string} selectorText 115 * @param {string} selectorText
116 * @return {!WebInspector.CSSStyleRule} 116 * @return {!SDK.CSSStyleRule}
117 */ 117 */
118 static createDummyRule(cssModel, selectorText) { 118 static createDummyRule(cssModel, selectorText) {
119 var dummyPayload = { 119 var dummyPayload = {
120 selectorList: { 120 selectorList: {
121 selectors: [{text: selectorText}], 121 selectors: [{text: selectorText}],
122 }, 122 },
123 style: 123 style:
124 {styleSheetId: '0', range: new WebInspector.TextRange(0, 0, 0, 0), sho rthandEntries: [], cssProperties: []} 124 {styleSheetId: '0', range: new Common.TextRange(0, 0, 0, 0), shorthand Entries: [], cssProperties: []}
125 }; 125 };
126 return new WebInspector.CSSStyleRule(cssModel, /** @type {!Protocol.CSS.CSSR ule} */ (dummyPayload)); 126 return new SDK.CSSStyleRule(cssModel, /** @type {!Protocol.CSS.CSSRule} */ ( dummyPayload));
127 } 127 }
128 128
129 /** 129 /**
130 * @param {!Protocol.CSS.SelectorList} selectorList 130 * @param {!Protocol.CSS.SelectorList} selectorList
131 */ 131 */
132 _reinitializeSelectors(selectorList) { 132 _reinitializeSelectors(selectorList) {
133 /** @type {!Array.<!WebInspector.CSSValue>} */ 133 /** @type {!Array.<!SDK.CSSValue>} */
134 this.selectors = []; 134 this.selectors = [];
135 for (var i = 0; i < selectorList.selectors.length; ++i) 135 for (var i = 0; i < selectorList.selectors.length; ++i)
136 this.selectors.push(new WebInspector.CSSValue(selectorList.selectors[i])); 136 this.selectors.push(new SDK.CSSValue(selectorList.selectors[i]));
137 } 137 }
138 138
139 /** 139 /**
140 * @param {string} newSelector 140 * @param {string} newSelector
141 * @return {!Promise.<boolean>} 141 * @return {!Promise.<boolean>}
142 */ 142 */
143 setSelectorText(newSelector) { 143 setSelectorText(newSelector) {
144 var styleSheetId = this.styleSheetId; 144 var styleSheetId = this.styleSheetId;
145 if (!styleSheetId) 145 if (!styleSheetId)
146 throw 'No rule stylesheet id'; 146 throw 'No rule stylesheet id';
147 var range = this.selectorRange(); 147 var range = this.selectorRange();
148 if (!range) 148 if (!range)
149 throw 'Rule selector is not editable'; 149 throw 'Rule selector is not editable';
150 return this._cssModel.setSelectorText(styleSheetId, range, newSelector); 150 return this._cssModel.setSelectorText(styleSheetId, range, newSelector);
151 } 151 }
152 152
153 /** 153 /**
154 * @return {string} 154 * @return {string}
155 */ 155 */
156 selectorText() { 156 selectorText() {
157 return this.selectors.select('text').join(', '); 157 return this.selectors.select('text').join(', ');
158 } 158 }
159 159
160 /** 160 /**
161 * @return {?WebInspector.TextRange} 161 * @return {?Common.TextRange}
162 */ 162 */
163 selectorRange() { 163 selectorRange() {
164 var firstRange = this.selectors[0].range; 164 var firstRange = this.selectors[0].range;
165 if (!firstRange) 165 if (!firstRange)
166 return null; 166 return null;
167 var lastRange = this.selectors.peekLast().range; 167 var lastRange = this.selectors.peekLast().range;
168 return new WebInspector.TextRange( 168 return new Common.TextRange(
169 firstRange.startLine, firstRange.startColumn, lastRange.endLine, lastRan ge.endColumn); 169 firstRange.startLine, firstRange.startColumn, lastRange.endLine, lastRan ge.endColumn);
170 } 170 }
171 171
172 /** 172 /**
173 * @param {number} selectorIndex 173 * @param {number} selectorIndex
174 * @return {number} 174 * @return {number}
175 */ 175 */
176 lineNumberInSource(selectorIndex) { 176 lineNumberInSource(selectorIndex) {
177 var selector = this.selectors[selectorIndex]; 177 var selector = this.selectors[selectorIndex];
178 if (!selector || !selector.range || !this.styleSheetId) 178 if (!selector || !selector.range || !this.styleSheetId)
(...skipping 10 matching lines...) Expand all
189 var selector = this.selectors[selectorIndex]; 189 var selector = this.selectors[selectorIndex];
190 if (!selector || !selector.range || !this.styleSheetId) 190 if (!selector || !selector.range || !this.styleSheetId)
191 return undefined; 191 return undefined;
192 var styleSheetHeader = this._cssModel.styleSheetHeaderForId(this.styleSheetI d); 192 var styleSheetHeader = this._cssModel.styleSheetHeaderForId(this.styleSheetI d);
193 console.assert(styleSheetHeader); 193 console.assert(styleSheetHeader);
194 return styleSheetHeader.columnNumberInSource(selector.range.startLine, selec tor.range.startColumn); 194 return styleSheetHeader.columnNumberInSource(selector.range.startLine, selec tor.range.startColumn);
195 } 195 }
196 196
197 /** 197 /**
198 * @override 198 * @override
199 * @param {!WebInspector.CSSModel.Edit} edit 199 * @param {!SDK.CSSModel.Edit} edit
200 */ 200 */
201 rebase(edit) { 201 rebase(edit) {
202 if (this.styleSheetId !== edit.styleSheetId) 202 if (this.styleSheetId !== edit.styleSheetId)
203 return; 203 return;
204 if (this.selectorRange().equal(edit.oldRange)) { 204 if (this.selectorRange().equal(edit.oldRange)) {
205 this._reinitializeSelectors(/** @type {!Protocol.CSS.SelectorList} */ (edi t.payload)); 205 this._reinitializeSelectors(/** @type {!Protocol.CSS.SelectorList} */ (edi t.payload));
206 } else { 206 } else {
207 for (var i = 0; i < this.selectors.length; ++i) 207 for (var i = 0; i < this.selectors.length; ++i)
208 this.selectors[i].rebase(edit); 208 this.selectors[i].rebase(edit);
209 } 209 }
210 for (var media of this.media) 210 for (var media of this.media)
211 media.rebase(edit); 211 media.rebase(edit);
212 212
213 super.rebase(edit); 213 super.rebase(edit);
214 } 214 }
215 }; 215 };
216 216
217 217
218 /** 218 /**
219 * @unrestricted 219 * @unrestricted
220 */ 220 */
221 WebInspector.CSSKeyframesRule = class { 221 SDK.CSSKeyframesRule = class {
222 /** 222 /**
223 * @param {!WebInspector.CSSModel} cssModel 223 * @param {!SDK.CSSModel} cssModel
224 * @param {!Protocol.CSS.CSSKeyframesRule} payload 224 * @param {!Protocol.CSS.CSSKeyframesRule} payload
225 */ 225 */
226 constructor(cssModel, payload) { 226 constructor(cssModel, payload) {
227 this._cssModel = cssModel; 227 this._cssModel = cssModel;
228 this._animationName = new WebInspector.CSSValue(payload.animationName); 228 this._animationName = new SDK.CSSValue(payload.animationName);
229 this._keyframes = payload.keyframes.map(keyframeRule => new WebInspector.CSS KeyframeRule(cssModel, keyframeRule)); 229 this._keyframes = payload.keyframes.map(keyframeRule => new SDK.CSSKeyframeR ule(cssModel, keyframeRule));
230 } 230 }
231 231
232 /** 232 /**
233 * @return {!WebInspector.CSSValue} 233 * @return {!SDK.CSSValue}
234 */ 234 */
235 name() { 235 name() {
236 return this._animationName; 236 return this._animationName;
237 } 237 }
238 238
239 /** 239 /**
240 * @return {!Array.<!WebInspector.CSSKeyframeRule>} 240 * @return {!Array.<!SDK.CSSKeyframeRule>}
241 */ 241 */
242 keyframes() { 242 keyframes() {
243 return this._keyframes; 243 return this._keyframes;
244 } 244 }
245 }; 245 };
246 246
247 /** 247 /**
248 * @unrestricted 248 * @unrestricted
249 */ 249 */
250 WebInspector.CSSKeyframeRule = class extends WebInspector.CSSRule { 250 SDK.CSSKeyframeRule = class extends SDK.CSSRule {
251 /** 251 /**
252 * @param {!WebInspector.CSSModel} cssModel 252 * @param {!SDK.CSSModel} cssModel
253 * @param {!Protocol.CSS.CSSKeyframeRule} payload 253 * @param {!Protocol.CSS.CSSKeyframeRule} payload
254 */ 254 */
255 constructor(cssModel, payload) { 255 constructor(cssModel, payload) {
256 super(cssModel, payload); 256 super(cssModel, payload);
257 this._reinitializeKey(payload.keyText); 257 this._reinitializeKey(payload.keyText);
258 } 258 }
259 259
260 /** 260 /**
261 * @return {!WebInspector.CSSValue} 261 * @return {!SDK.CSSValue}
262 */ 262 */
263 key() { 263 key() {
264 return this._keyText; 264 return this._keyText;
265 } 265 }
266 266
267 /** 267 /**
268 * @param {!Protocol.CSS.Value} payload 268 * @param {!Protocol.CSS.Value} payload
269 */ 269 */
270 _reinitializeKey(payload) { 270 _reinitializeKey(payload) {
271 this._keyText = new WebInspector.CSSValue(payload); 271 this._keyText = new SDK.CSSValue(payload);
272 } 272 }
273 273
274 /** 274 /**
275 * @override 275 * @override
276 * @param {!WebInspector.CSSModel.Edit} edit 276 * @param {!SDK.CSSModel.Edit} edit
277 */ 277 */
278 rebase(edit) { 278 rebase(edit) {
279 if (this.styleSheetId !== edit.styleSheetId || !this._keyText.range) 279 if (this.styleSheetId !== edit.styleSheetId || !this._keyText.range)
280 return; 280 return;
281 if (edit.oldRange.equal(this._keyText.range)) 281 if (edit.oldRange.equal(this._keyText.range))
282 this._reinitializeKey(/** @type {!Protocol.CSS.Value} */ (edit.payload)); 282 this._reinitializeKey(/** @type {!Protocol.CSS.Value} */ (edit.payload));
283 else 283 else
284 this._keyText.rebase(edit); 284 this._keyText.rebase(edit);
285 285
286 super.rebase(edit); 286 super.rebase(edit);
287 } 287 }
288 288
289 /** 289 /**
290 * @param {string} newKeyText 290 * @param {string} newKeyText
291 * @return {!Promise.<boolean>} 291 * @return {!Promise.<boolean>}
292 */ 292 */
293 setKeyText(newKeyText) { 293 setKeyText(newKeyText) {
294 var styleSheetId = this.styleSheetId; 294 var styleSheetId = this.styleSheetId;
295 if (!styleSheetId) 295 if (!styleSheetId)
296 throw 'No rule stylesheet id'; 296 throw 'No rule stylesheet id';
297 var range = this._keyText.range; 297 var range = this._keyText.range;
298 if (!range) 298 if (!range)
299 throw 'Keyframe key is not editable'; 299 throw 'Keyframe key is not editable';
300 return this._cssModel.setKeyframeKey(styleSheetId, range, newKeyText); 300 return this._cssModel.setKeyframeKey(styleSheetId, range, newKeyText);
301 } 301 }
302 }; 302 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698