| OLD | NEW |
| 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 /** | 5 /** |
| 6 * @constructor | 6 * @constructor |
| 7 * @param {boolean} isBoxShadow |
| 7 */ | 8 */ |
| 8 WebInspector.CSSShadowModel = function() | 9 WebInspector.CSSShadowModel = function(isBoxShadow) |
| 9 { | 10 { |
| 11 this._isBoxShadow = isBoxShadow; |
| 10 this._inset = false; | 12 this._inset = false; |
| 11 this._offsetX = WebInspector.CSSLength.zero(); | 13 this._offsetX = WebInspector.CSSLength.zero(); |
| 12 this._offsetY = WebInspector.CSSLength.zero(); | 14 this._offsetY = WebInspector.CSSLength.zero(); |
| 13 this._blurRadius = WebInspector.CSSLength.zero(); | 15 this._blurRadius = WebInspector.CSSLength.zero(); |
| 14 this._spreadRadius = WebInspector.CSSLength.zero(); | 16 this._spreadRadius = WebInspector.CSSLength.zero(); |
| 15 this._color = /** @type {!WebInspector.Color} */ (WebInspector.Color.parse("
black")); | 17 this._color = /** @type {!WebInspector.Color} */ (WebInspector.Color.parse("
black")); |
| 16 this._format = [WebInspector.CSSShadowModel._Part.OffsetX, WebInspector.CSSS
hadowModel._Part.OffsetY]; | 18 this._format = [WebInspector.CSSShadowModel._Part.OffsetX, WebInspector.CSSS
hadowModel._Part.OffsetY]; |
| 17 } | 19 } |
| 18 | 20 |
| 19 /** | 21 /** |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 */ | 54 */ |
| 53 setInset: function(inset) | 55 setInset: function(inset) |
| 54 { | 56 { |
| 55 this._inset = inset; | 57 this._inset = inset; |
| 56 if (this._format.indexOf(WebInspector.CSSShadowModel._Part.Inset) === -1
) | 58 if (this._format.indexOf(WebInspector.CSSShadowModel._Part.Inset) === -1
) |
| 57 this._format.unshift(WebInspector.CSSShadowModel._Part.Inset); | 59 this._format.unshift(WebInspector.CSSShadowModel._Part.Inset); |
| 58 }, | 60 }, |
| 59 | 61 |
| 60 /** | 62 /** |
| 61 * @param {!WebInspector.CSSLength} offsetX | 63 * @param {!WebInspector.CSSLength} offsetX |
| 64 */ |
| 65 setOffsetX: function(offsetX) |
| 66 { |
| 67 this._offsetX = offsetX; |
| 68 }, |
| 69 |
| 70 /** |
| 62 * @param {!WebInspector.CSSLength} offsetY | 71 * @param {!WebInspector.CSSLength} offsetY |
| 63 */ | 72 */ |
| 64 setOffset: function(offsetX, offsetY) | 73 setOffsetY: function(offsetY) |
| 65 { | 74 { |
| 66 this._offsetX = offsetX; | |
| 67 this._offsetY = offsetY; | 75 this._offsetY = offsetY; |
| 68 }, | 76 }, |
| 69 | 77 |
| 70 /** | 78 /** |
| 71 * @param {!WebInspector.CSSLength} blurRadius | 79 * @param {!WebInspector.CSSLength} blurRadius |
| 72 */ | 80 */ |
| 73 setBlurRadius: function(blurRadius) | 81 setBlurRadius: function(blurRadius) |
| 74 { | 82 { |
| 75 this._blurRadius = blurRadius; | 83 this._blurRadius = blurRadius; |
| 76 if (this._format.indexOf(WebInspector.CSSShadowModel._Part.BlurRadius) =
== -1) { | 84 if (this._format.indexOf(WebInspector.CSSShadowModel._Part.BlurRadius) =
== -1) { |
| (...skipping 21 matching lines...) Expand all Loading... |
| 98 setColor: function(color) | 106 setColor: function(color) |
| 99 { | 107 { |
| 100 this._color = color; | 108 this._color = color; |
| 101 if (this._format.indexOf(WebInspector.CSSShadowModel._Part.Color) === -1
) | 109 if (this._format.indexOf(WebInspector.CSSShadowModel._Part.Color) === -1
) |
| 102 this._format.push(WebInspector.CSSShadowModel._Part.Color); | 110 this._format.push(WebInspector.CSSShadowModel._Part.Color); |
| 103 }, | 111 }, |
| 104 | 112 |
| 105 /** | 113 /** |
| 106 * @return {boolean} | 114 * @return {boolean} |
| 107 */ | 115 */ |
| 116 isBoxShadow: function() |
| 117 { |
| 118 return this._isBoxShadow; |
| 119 }, |
| 120 |
| 121 /** |
| 122 * @return {boolean} |
| 123 */ |
| 108 inset: function() | 124 inset: function() |
| 109 { | 125 { |
| 110 return this._inset; | 126 return this._inset; |
| 111 }, | 127 }, |
| 112 | 128 |
| 113 /** | 129 /** |
| 114 * @return {!WebInspector.CSSLength} | 130 * @return {!WebInspector.CSSLength} |
| 115 */ | 131 */ |
| 116 offsetX: function() | 132 offsetX: function() |
| 117 { | 133 { |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 190 if (splits[i].regexIndex === 1) { | 206 if (splits[i].regexIndex === 1) { |
| 191 var comma = splits[i]; | 207 var comma = splits[i]; |
| 192 shadowTexts.push(text.substring(currentIndex, comma.position)); | 208 shadowTexts.push(text.substring(currentIndex, comma.position)); |
| 193 currentIndex = comma.position + 1; | 209 currentIndex = comma.position + 1; |
| 194 } | 210 } |
| 195 } | 211 } |
| 196 shadowTexts.push(text.substring(currentIndex, text.length)); | 212 shadowTexts.push(text.substring(currentIndex, text.length)); |
| 197 | 213 |
| 198 var shadows = []; | 214 var shadows = []; |
| 199 for (var i = 0; i < shadowTexts.length; i++) { | 215 for (var i = 0; i < shadowTexts.length; i++) { |
| 200 var shadow = new WebInspector.CSSShadowModel(); | 216 var shadow = new WebInspector.CSSShadowModel(isBoxShadow); |
| 201 shadow._format = []; | 217 shadow._format = []; |
| 202 var nextPartAllowed = true; | 218 var nextPartAllowed = true; |
| 203 var regexes = [/inset/gi, WebInspector.Color.Regex, WebInspector.CSSLeng
th.Regex]; | 219 var regexes = [/inset/gi, WebInspector.Color.Regex, WebInspector.CSSLeng
th.Regex]; |
| 204 var results = WebInspector.TextUtils.splitStringByRegexes(shadowTexts[i]
, regexes); | 220 var results = WebInspector.TextUtils.splitStringByRegexes(shadowTexts[i]
, regexes); |
| 205 for (var j = 0; j < results.length; j++) { | 221 for (var j = 0; j < results.length; j++) { |
| 206 var result = results[j]; | 222 var result = results[j]; |
| 207 if (result.regexIndex === -1) { | 223 if (result.regexIndex === -1) { |
| 208 // Don't allow anything other than inset, color, length values,
and whitespace. | 224 // Don't allow anything other than inset, color, length values,
and whitespace. |
| 209 if (/\S/.test(result.value)) | 225 if (/\S/.test(result.value)) |
| 210 return []; | 226 return []; |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 318 | 334 |
| 319 WebInspector.CSSLength.prototype = { | 335 WebInspector.CSSLength.prototype = { |
| 320 /** | 336 /** |
| 321 * @return {string} | 337 * @return {string} |
| 322 */ | 338 */ |
| 323 asCSSText: function() | 339 asCSSText: function() |
| 324 { | 340 { |
| 325 return this.amount + this.unit; | 341 return this.amount + this.unit; |
| 326 } | 342 } |
| 327 } | 343 } |
| OLD | NEW |