OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium 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 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include "xfa/fde/css/fde_cssdeclaration.h" | 7 #include "xfa/fde/css/fde_cssdeclaration.h" |
8 | 8 |
9 #include "core/fxcrt/fx_ext.h" | 9 #include "core/fxcrt/fx_ext.h" |
10 | 10 |
11 IFDE_CSSValue* CFDE_CSSDeclaration::GetProperty(FDE_CSSPROPERTY eProperty, | 11 IFDE_CSSValue* CFDE_CSSDeclaration::GetProperty(FDE_CSSPROPERTY eProperty, |
12 FX_BOOL& bImportant) const { | 12 bool& bImportant) const { |
13 for (const FDE_CSSPropertyHolder* pHolder = m_pFirstProperty; pHolder; | 13 for (const FDE_CSSPropertyHolder* pHolder = m_pFirstProperty; pHolder; |
14 pHolder = pHolder->pNext) { | 14 pHolder = pHolder->pNext) { |
15 if (pHolder->eProperty == eProperty) { | 15 if (pHolder->eProperty == eProperty) { |
16 bImportant = pHolder->bImportant; | 16 bImportant = pHolder->bImportant; |
17 return pHolder->pValue; | 17 return pHolder->pValue; |
18 } | 18 } |
19 } | 19 } |
20 return nullptr; | 20 return nullptr; |
21 } | 21 } |
22 FX_POSITION CFDE_CSSDeclaration::GetStartPosition() const { | 22 FX_POSITION CFDE_CSSDeclaration::GetStartPosition() const { |
23 return (FX_POSITION)m_pFirstProperty; | 23 return (FX_POSITION)m_pFirstProperty; |
24 } | 24 } |
25 void CFDE_CSSDeclaration::GetNextProperty(FX_POSITION& pos, | 25 void CFDE_CSSDeclaration::GetNextProperty(FX_POSITION& pos, |
26 FDE_CSSPROPERTY& eProperty, | 26 FDE_CSSPROPERTY& eProperty, |
27 IFDE_CSSValue*& pValue, | 27 IFDE_CSSValue*& pValue, |
28 FX_BOOL& bImportant) const { | 28 bool& bImportant) const { |
29 const FDE_CSSPropertyHolder* pHolder = (const FDE_CSSPropertyHolder*)pos; | 29 const FDE_CSSPropertyHolder* pHolder = (const FDE_CSSPropertyHolder*)pos; |
30 bImportant = pHolder->bImportant; | 30 bImportant = pHolder->bImportant; |
31 eProperty = (FDE_CSSPROPERTY)pHolder->eProperty; | 31 eProperty = (FDE_CSSPROPERTY)pHolder->eProperty; |
32 pValue = pHolder->pValue; | 32 pValue = pHolder->pValue; |
33 pos = (FX_POSITION)pHolder->pNext; | 33 pos = (FX_POSITION)pHolder->pNext; |
34 } | 34 } |
35 FX_POSITION CFDE_CSSDeclaration::GetStartCustom() const { | 35 FX_POSITION CFDE_CSSDeclaration::GetStartCustom() const { |
36 return (FX_POSITION)m_pFirstCustom; | 36 return (FX_POSITION)m_pFirstCustom; |
37 } | 37 } |
38 void CFDE_CSSDeclaration::GetNextCustom(FX_POSITION& pos, | 38 void CFDE_CSSDeclaration::GetNextCustom(FX_POSITION& pos, |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 return FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue(eUnit, fValue); | 79 return FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue(eUnit, fValue); |
80 } | 80 } |
81 inline IFDE_CSSPrimitiveValue* CFDE_CSSDeclaration::NewEnumValue( | 81 inline IFDE_CSSPrimitiveValue* CFDE_CSSDeclaration::NewEnumValue( |
82 IFX_MemoryAllocator* pStaticStore, | 82 IFX_MemoryAllocator* pStaticStore, |
83 FDE_CSSPROPERTYVALUE eValue) const { | 83 FDE_CSSPROPERTYVALUE eValue) const { |
84 return FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue(eValue); | 84 return FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue(eValue); |
85 } | 85 } |
86 void CFDE_CSSDeclaration::AddPropertyHolder(IFX_MemoryAllocator* pStaticStore, | 86 void CFDE_CSSDeclaration::AddPropertyHolder(IFX_MemoryAllocator* pStaticStore, |
87 FDE_CSSPROPERTY eProperty, | 87 FDE_CSSPROPERTY eProperty, |
88 IFDE_CSSValue* pValue, | 88 IFDE_CSSValue* pValue, |
89 FX_BOOL bImportant) { | 89 bool bImportant) { |
90 FDE_CSSPropertyHolder* pHolder = | 90 FDE_CSSPropertyHolder* pHolder = |
91 FXTARGET_NewWith(pStaticStore) FDE_CSSPropertyHolder; | 91 FXTARGET_NewWith(pStaticStore) FDE_CSSPropertyHolder; |
92 pHolder->bImportant = bImportant; | 92 pHolder->bImportant = bImportant; |
93 pHolder->eProperty = eProperty; | 93 pHolder->eProperty = eProperty; |
94 pHolder->pValue = pValue; | 94 pHolder->pValue = pValue; |
95 pHolder->pNext = nullptr; | 95 pHolder->pNext = nullptr; |
96 if (m_pLastProperty) | 96 if (m_pLastProperty) |
97 m_pLastProperty->pNext = pHolder; | 97 m_pLastProperty->pNext = pHolder; |
98 else | 98 else |
99 m_pFirstProperty = pHolder; | 99 m_pFirstProperty = pHolder; |
100 m_pLastProperty = pHolder; | 100 m_pLastProperty = pHolder; |
101 } | 101 } |
102 FX_BOOL CFDE_CSSDeclaration::AddProperty(const FDE_CSSPROPERTYARGS* pArgs, | 102 bool CFDE_CSSDeclaration::AddProperty(const FDE_CSSPROPERTYARGS* pArgs, |
103 const FX_WCHAR* pszValue, | 103 const FX_WCHAR* pszValue, |
104 int32_t iValueLen) { | 104 int32_t iValueLen) { |
105 ASSERT(iValueLen > 0); | 105 ASSERT(iValueLen > 0); |
106 FX_BOOL bImportant = FALSE; | 106 bool bImportant = false; |
107 if (iValueLen >= 10 && pszValue[iValueLen - 10] == '!' && | 107 if (iValueLen >= 10 && pszValue[iValueLen - 10] == '!' && |
108 FXSYS_wcsnicmp(L"important", pszValue + iValueLen - 9, 9) == 0) { | 108 FXSYS_wcsnicmp(L"important", pszValue + iValueLen - 9, 9) == 0) { |
109 if ((iValueLen -= 10) == 0) { | 109 if ((iValueLen -= 10) == 0) { |
110 return FALSE; | 110 return false; |
111 } | 111 } |
112 bImportant = TRUE; | 112 bImportant = true; |
113 } | 113 } |
114 const uint32_t dwType = pArgs->pProperty->dwType; | 114 const uint32_t dwType = pArgs->pProperty->dwType; |
115 switch (dwType & 0x0F) { | 115 switch (dwType & 0x0F) { |
116 case FDE_CSSVALUETYPE_Primitive: { | 116 case FDE_CSSVALUETYPE_Primitive: { |
117 static const uint32_t g_ValueGuessOrder[] = { | 117 static const uint32_t g_ValueGuessOrder[] = { |
118 FDE_CSSVALUETYPE_MaybeNumber, FDE_CSSVALUETYPE_MaybeEnum, | 118 FDE_CSSVALUETYPE_MaybeNumber, FDE_CSSVALUETYPE_MaybeEnum, |
119 FDE_CSSVALUETYPE_MaybeColor, FDE_CSSVALUETYPE_MaybeURI, | 119 FDE_CSSVALUETYPE_MaybeColor, FDE_CSSVALUETYPE_MaybeURI, |
120 FDE_CSSVALUETYPE_MaybeFunction, FDE_CSSVALUETYPE_MaybeString, | 120 FDE_CSSVALUETYPE_MaybeFunction, FDE_CSSVALUETYPE_MaybeString, |
121 }; | 121 }; |
122 static const int32_t g_ValueGuessCount = | 122 static const int32_t g_ValueGuessCount = |
(...skipping 22 matching lines...) Expand all Loading... |
145 break; | 145 break; |
146 case FDE_CSSVALUETYPE_MaybeString: | 146 case FDE_CSSVALUETYPE_MaybeString: |
147 pCSSValue = ParseString(pArgs, pszValue, iValueLen); | 147 pCSSValue = ParseString(pArgs, pszValue, iValueLen); |
148 break; | 148 break; |
149 default: | 149 default: |
150 break; | 150 break; |
151 } | 151 } |
152 if (pCSSValue) { | 152 if (pCSSValue) { |
153 AddPropertyHolder(pArgs->pStaticStore, pArgs->pProperty->eName, | 153 AddPropertyHolder(pArgs->pStaticStore, pArgs->pProperty->eName, |
154 pCSSValue, bImportant); | 154 pCSSValue, bImportant); |
155 return TRUE; | 155 return true; |
156 } | 156 } |
157 if (FDE_IsOnlyValue(dwType, g_ValueGuessOrder[i])) { | 157 if (FDE_IsOnlyValue(dwType, g_ValueGuessOrder[i])) { |
158 return FALSE; | 158 return false; |
159 } | 159 } |
160 } | 160 } |
161 } break; | 161 } break; |
162 case FDE_CSSVALUETYPE_Shorthand: { | 162 case FDE_CSSVALUETYPE_Shorthand: { |
163 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; | 163 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; |
164 IFDE_CSSValue *pColor, *pStyle, *pWidth; | 164 IFDE_CSSValue *pColor, *pStyle, *pWidth; |
165 switch (pArgs->pProperty->eName) { | 165 switch (pArgs->pProperty->eName) { |
166 case FDE_CSSPROPERTY_Font: | 166 case FDE_CSSPROPERTY_Font: |
167 return ParseFontProperty(pArgs, pszValue, iValueLen, bImportant); | 167 return ParseFontProperty(pArgs, pszValue, iValueLen, bImportant); |
168 case FDE_CSSPROPERTY_Background: | 168 case FDE_CSSPROPERTY_Background: |
(...skipping 13 matching lines...) Expand all Loading... |
182 FDE_CSSPROPERTY_BorderTopStyle, | 182 FDE_CSSPROPERTY_BorderTopStyle, |
183 FDE_CSSPROPERTY_BorderTopWidth); | 183 FDE_CSSPROPERTY_BorderTopWidth); |
184 AddBorderProperty(pStaticStore, pColor, pStyle, pWidth, bImportant, | 184 AddBorderProperty(pStaticStore, pColor, pStyle, pWidth, bImportant, |
185 FDE_CSSPROPERTY_BorderRightColor, | 185 FDE_CSSPROPERTY_BorderRightColor, |
186 FDE_CSSPROPERTY_BorderRightStyle, | 186 FDE_CSSPROPERTY_BorderRightStyle, |
187 FDE_CSSPROPERTY_BorderRightWidth); | 187 FDE_CSSPROPERTY_BorderRightWidth); |
188 AddBorderProperty(pStaticStore, pColor, pStyle, pWidth, bImportant, | 188 AddBorderProperty(pStaticStore, pColor, pStyle, pWidth, bImportant, |
189 FDE_CSSPROPERTY_BorderBottomColor, | 189 FDE_CSSPROPERTY_BorderBottomColor, |
190 FDE_CSSPROPERTY_BorderBottomStyle, | 190 FDE_CSSPROPERTY_BorderBottomStyle, |
191 FDE_CSSPROPERTY_BorderBottomWidth); | 191 FDE_CSSPROPERTY_BorderBottomWidth); |
192 return TRUE; | 192 return true; |
193 } | 193 } |
194 break; | 194 break; |
195 case FDE_CSSPROPERTY_BorderLeft: | 195 case FDE_CSSPROPERTY_BorderLeft: |
196 if (ParseBorderPropoerty(pStaticStore, pszValue, iValueLen, pColor, | 196 if (ParseBorderPropoerty(pStaticStore, pszValue, iValueLen, pColor, |
197 pStyle, pWidth)) { | 197 pStyle, pWidth)) { |
198 AddBorderProperty(pStaticStore, pColor, pStyle, pWidth, bImportant, | 198 AddBorderProperty(pStaticStore, pColor, pStyle, pWidth, bImportant, |
199 FDE_CSSPROPERTY_BorderLeftColor, | 199 FDE_CSSPROPERTY_BorderLeftColor, |
200 FDE_CSSPROPERTY_BorderLeftStyle, | 200 FDE_CSSPROPERTY_BorderLeftStyle, |
201 FDE_CSSPROPERTY_BorderLeftWidth); | 201 FDE_CSSPROPERTY_BorderLeftWidth); |
202 return TRUE; | 202 return true; |
203 } | 203 } |
204 break; | 204 break; |
205 case FDE_CSSPROPERTY_BorderTop: | 205 case FDE_CSSPROPERTY_BorderTop: |
206 if (ParseBorderPropoerty(pStaticStore, pszValue, iValueLen, pColor, | 206 if (ParseBorderPropoerty(pStaticStore, pszValue, iValueLen, pColor, |
207 pStyle, pWidth)) { | 207 pStyle, pWidth)) { |
208 AddBorderProperty(pStaticStore, pColor, pStyle, pWidth, bImportant, | 208 AddBorderProperty(pStaticStore, pColor, pStyle, pWidth, bImportant, |
209 FDE_CSSPROPERTY_BorderTopColor, | 209 FDE_CSSPROPERTY_BorderTopColor, |
210 FDE_CSSPROPERTY_BorderTopStyle, | 210 FDE_CSSPROPERTY_BorderTopStyle, |
211 FDE_CSSPROPERTY_BorderTopWidth); | 211 FDE_CSSPROPERTY_BorderTopWidth); |
212 return TRUE; | 212 return true; |
213 } | 213 } |
214 break; | 214 break; |
215 case FDE_CSSPROPERTY_BorderRight: | 215 case FDE_CSSPROPERTY_BorderRight: |
216 if (ParseBorderPropoerty(pStaticStore, pszValue, iValueLen, pColor, | 216 if (ParseBorderPropoerty(pStaticStore, pszValue, iValueLen, pColor, |
217 pStyle, pWidth)) { | 217 pStyle, pWidth)) { |
218 AddBorderProperty(pStaticStore, pColor, pStyle, pWidth, bImportant, | 218 AddBorderProperty(pStaticStore, pColor, pStyle, pWidth, bImportant, |
219 FDE_CSSPROPERTY_BorderRightColor, | 219 FDE_CSSPROPERTY_BorderRightColor, |
220 FDE_CSSPROPERTY_BorderRightStyle, | 220 FDE_CSSPROPERTY_BorderRightStyle, |
221 FDE_CSSPROPERTY_BorderRightWidth); | 221 FDE_CSSPROPERTY_BorderRightWidth); |
222 return TRUE; | 222 return true; |
223 } | 223 } |
224 break; | 224 break; |
225 case FDE_CSSPROPERTY_BorderBottom: | 225 case FDE_CSSPROPERTY_BorderBottom: |
226 if (ParseBorderPropoerty(pStaticStore, pszValue, iValueLen, pColor, | 226 if (ParseBorderPropoerty(pStaticStore, pszValue, iValueLen, pColor, |
227 pStyle, pWidth)) { | 227 pStyle, pWidth)) { |
228 AddBorderProperty(pStaticStore, pColor, pStyle, pWidth, bImportant, | 228 AddBorderProperty(pStaticStore, pColor, pStyle, pWidth, bImportant, |
229 FDE_CSSPROPERTY_BorderBottomColor, | 229 FDE_CSSPROPERTY_BorderBottomColor, |
230 FDE_CSSPROPERTY_BorderBottomStyle, | 230 FDE_CSSPROPERTY_BorderBottomStyle, |
231 FDE_CSSPROPERTY_BorderBottomWidth); | 231 FDE_CSSPROPERTY_BorderBottomWidth); |
232 return TRUE; | 232 return true; |
233 } | 233 } |
234 break; | 234 break; |
235 case FDE_CSSPROPERTY_Overflow: | 235 case FDE_CSSPROPERTY_Overflow: |
236 return ParseOverflowProperty(pArgs, pszValue, iValueLen, bImportant); | 236 return ParseOverflowProperty(pArgs, pszValue, iValueLen, bImportant); |
237 case FDE_CSSPROPERTY_ColumnRule: | 237 case FDE_CSSPROPERTY_ColumnRule: |
238 return ParseColumnRuleProperty(pArgs, pszValue, iValueLen, | 238 return ParseColumnRuleProperty(pArgs, pszValue, iValueLen, |
239 bImportant); | 239 bImportant); |
240 default: | 240 default: |
241 break; | 241 break; |
242 } | 242 } |
243 } break; | 243 } break; |
244 case FDE_CSSVALUETYPE_List: | 244 case FDE_CSSVALUETYPE_List: |
245 switch (pArgs->pProperty->eName) { | 245 switch (pArgs->pProperty->eName) { |
246 case FDE_CSSPROPERTY_CounterIncrement: | 246 case FDE_CSSPROPERTY_CounterIncrement: |
247 case FDE_CSSPROPERTY_CounterReset: | 247 case FDE_CSSPROPERTY_CounterReset: |
248 return ParseCounterProperty(pArgs, pszValue, iValueLen, bImportant); | 248 return ParseCounterProperty(pArgs, pszValue, iValueLen, bImportant); |
249 case FDE_CSSPROPERTY_Content: | 249 case FDE_CSSPROPERTY_Content: |
250 return ParseContentProperty(pArgs, pszValue, iValueLen, bImportant); | 250 return ParseContentProperty(pArgs, pszValue, iValueLen, bImportant); |
251 default: | 251 default: |
252 return ParseValueListProperty(pArgs, pszValue, iValueLen, bImportant); | 252 return ParseValueListProperty(pArgs, pszValue, iValueLen, bImportant); |
253 } | 253 } |
254 default: | 254 default: |
255 ASSERT(FALSE); | 255 ASSERT(false); |
256 break; | 256 break; |
257 } | 257 } |
258 return FALSE; | 258 return false; |
259 } | 259 } |
260 FX_BOOL CFDE_CSSDeclaration::AddProperty(const FDE_CSSPROPERTYARGS* pArgs, | 260 bool CFDE_CSSDeclaration::AddProperty(const FDE_CSSPROPERTYARGS* pArgs, |
261 const FX_WCHAR* pszName, | 261 const FX_WCHAR* pszName, |
262 int32_t iNameLen, | 262 int32_t iNameLen, |
263 const FX_WCHAR* pszValue, | 263 const FX_WCHAR* pszValue, |
264 int32_t iValueLen) { | 264 int32_t iValueLen) { |
265 FDE_CSSCustomProperty* pProperty = | 265 FDE_CSSCustomProperty* pProperty = |
266 FXTARGET_NewWith(pArgs->pStaticStore) FDE_CSSCustomProperty; | 266 FXTARGET_NewWith(pArgs->pStaticStore) FDE_CSSCustomProperty; |
267 pProperty->pwsName = CopyToLocal(pArgs, pszName, iNameLen); | 267 pProperty->pwsName = CopyToLocal(pArgs, pszName, iNameLen); |
268 pProperty->pwsValue = CopyToLocal(pArgs, pszValue, iValueLen); | 268 pProperty->pwsValue = CopyToLocal(pArgs, pszValue, iValueLen); |
269 pProperty->pNext = nullptr; | 269 pProperty->pNext = nullptr; |
270 if (m_pLastCustom) | 270 if (m_pLastCustom) |
271 m_pLastCustom->pNext = pProperty; | 271 m_pLastCustom->pNext = pProperty; |
272 else | 272 else |
273 m_pFirstCustom = pProperty; | 273 m_pFirstCustom = pProperty; |
274 m_pLastCustom = pProperty; | 274 m_pLastCustom = pProperty; |
275 return TRUE; | 275 return true; |
276 } | 276 } |
277 IFDE_CSSValue* CFDE_CSSDeclaration::ParseNumber( | 277 IFDE_CSSValue* CFDE_CSSDeclaration::ParseNumber( |
278 const FDE_CSSPROPERTYARGS* pArgs, | 278 const FDE_CSSPROPERTYARGS* pArgs, |
279 const FX_WCHAR* pszValue, | 279 const FX_WCHAR* pszValue, |
280 int32_t iValueLen) { | 280 int32_t iValueLen) { |
281 FX_FLOAT fValue; | 281 FX_FLOAT fValue; |
282 FDE_CSSPRIMITIVETYPE eUnit; | 282 FDE_CSSPRIMITIVETYPE eUnit; |
283 if (!FDE_ParseCSSNumber(pszValue, iValueLen, fValue, eUnit)) { | 283 if (!FDE_ParseCSSNumber(pszValue, iValueLen, fValue, eUnit)) { |
284 return nullptr; | 284 return nullptr; |
285 } | 285 } |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
394 break; | 394 break; |
395 } | 395 } |
396 } | 396 } |
397 IFDE_CSSValueList* pArgumentList = FXTARGET_NewWith(pArgs->pStaticStore) | 397 IFDE_CSSValueList* pArgumentList = FXTARGET_NewWith(pArgs->pStaticStore) |
398 CFDE_CSSValueList(pArgs->pStaticStore, argumentArr); | 398 CFDE_CSSValueList(pArgs->pStaticStore, argumentArr); |
399 CFDE_CSSFunction* pFunction = FXTARGET_NewWith(pArgs->pStaticStore) | 399 CFDE_CSSFunction* pFunction = FXTARGET_NewWith(pArgs->pStaticStore) |
400 CFDE_CSSFunction(pszFuncName, pArgumentList); | 400 CFDE_CSSFunction(pszFuncName, pArgumentList); |
401 return FXTARGET_NewWith(pArgs->pStaticStore) | 401 return FXTARGET_NewWith(pArgs->pStaticStore) |
402 CFDE_CSSPrimitiveValue(pFunction); | 402 CFDE_CSSPrimitiveValue(pFunction); |
403 } | 403 } |
404 FX_BOOL CFDE_CSSDeclaration::ParseContentProperty( | 404 bool CFDE_CSSDeclaration::ParseContentProperty(const FDE_CSSPROPERTYARGS* pArgs, |
405 const FDE_CSSPROPERTYARGS* pArgs, | 405 const FX_WCHAR* pszValue, |
406 const FX_WCHAR* pszValue, | 406 int32_t iValueLen, |
407 int32_t iValueLen, | 407 bool bImportant) { |
408 FX_BOOL bImportant) { | |
409 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; | 408 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; |
410 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); | 409 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); |
411 FDE_CSSPRIMITIVETYPE eType; | 410 FDE_CSSPRIMITIVETYPE eType; |
412 CFDE_CSSValueArray list; | 411 CFDE_CSSValueArray list; |
413 while (parser.NextValue(eType, pszValue, iValueLen)) { | 412 while (parser.NextValue(eType, pszValue, iValueLen)) { |
414 switch (eType) { | 413 switch (eType) { |
415 case FDE_CSSPRIMITIVETYPE_URI: | 414 case FDE_CSSPRIMITIVETYPE_URI: |
416 list.Add(FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue( | 415 list.Add(FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue( |
417 eType, CopyToLocal(pArgs, pszValue, iValueLen))); | 416 eType, CopyToLocal(pArgs, pszValue, iValueLen))); |
418 break; | 417 break; |
419 case FDE_CSSPRIMITIVETYPE_Number: | 418 case FDE_CSSPRIMITIVETYPE_Number: |
420 return FALSE; | 419 return false; |
421 case FDE_CSSPRIMITIVETYPE_String: { | 420 case FDE_CSSPRIMITIVETYPE_String: { |
422 const FDE_CSSPROPERTYVALUETABLE* pValue = | 421 const FDE_CSSPROPERTYVALUETABLE* pValue = |
423 FDE_GetCSSPropertyValueByName(CFX_WideStringC(pszValue, iValueLen)); | 422 FDE_GetCSSPropertyValueByName(CFX_WideStringC(pszValue, iValueLen)); |
424 if (pValue) { | 423 if (pValue) { |
425 switch (pValue->eName) { | 424 switch (pValue->eName) { |
426 case FDE_CSSPROPERTYVALUE_Normal: | 425 case FDE_CSSPROPERTYVALUE_Normal: |
427 case FDE_CSSPROPERTYVALUE_None: { | 426 case FDE_CSSPROPERTYVALUE_None: { |
428 if (list.GetSize() == 0) { | 427 if (list.GetSize() == 0) { |
429 list.Add(NewEnumValue(pStaticStore, pValue->eName)); | 428 list.Add(NewEnumValue(pStaticStore, pValue->eName)); |
430 } else { | 429 } else { |
431 return FALSE; | 430 return false; |
432 } | 431 } |
433 } break; | 432 } break; |
434 case FDE_CSSPROPERTYVALUE_OpenQuote: | 433 case FDE_CSSPROPERTYVALUE_OpenQuote: |
435 case FDE_CSSPROPERTYVALUE_CloseQuote: | 434 case FDE_CSSPROPERTYVALUE_CloseQuote: |
436 case FDE_CSSPROPERTYVALUE_NoOpenQuote: | 435 case FDE_CSSPROPERTYVALUE_NoOpenQuote: |
437 case FDE_CSSPROPERTYVALUE_NoCloseQuote: | 436 case FDE_CSSPROPERTYVALUE_NoCloseQuote: |
438 list.Add(NewEnumValue(pStaticStore, pValue->eName)); | 437 list.Add(NewEnumValue(pStaticStore, pValue->eName)); |
439 break; | 438 break; |
440 default: | 439 default: |
441 return FALSE; | 440 return false; |
442 } | 441 } |
443 continue; | 442 continue; |
444 } | 443 } |
445 IFDE_CSSValue* pFunction = ParseFunction(pArgs, pszValue, iValueLen); | 444 IFDE_CSSValue* pFunction = ParseFunction(pArgs, pszValue, iValueLen); |
446 if (pFunction) { | 445 if (pFunction) { |
447 list.Add(pFunction); | 446 list.Add(pFunction); |
448 continue; | 447 continue; |
449 } | 448 } |
450 list.Add(FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue( | 449 list.Add(FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue( |
451 eType, CopyToLocal(pArgs, pszValue, iValueLen))); | 450 eType, CopyToLocal(pArgs, pszValue, iValueLen))); |
452 } break; | 451 } break; |
453 case FDE_CSSPRIMITIVETYPE_RGB: | 452 case FDE_CSSPRIMITIVETYPE_RGB: |
454 return FALSE; | 453 return false; |
455 default: | 454 default: |
456 break; | 455 break; |
457 } | 456 } |
458 } | 457 } |
459 if (list.GetSize() == 0) { | 458 if (list.GetSize() == 0) { |
460 return FALSE; | 459 return false; |
461 } | 460 } |
462 AddPropertyHolder(pStaticStore, pArgs->pProperty->eName, | 461 AddPropertyHolder(pStaticStore, pArgs->pProperty->eName, |
463 FXTARGET_NewWith(pStaticStore) | 462 FXTARGET_NewWith(pStaticStore) |
464 CFDE_CSSValueList(pStaticStore, list), | 463 CFDE_CSSValueList(pStaticStore, list), |
465 bImportant); | 464 bImportant); |
466 return TRUE; | 465 return true; |
467 } | 466 } |
468 FX_BOOL CFDE_CSSDeclaration::ParseCounterProperty( | 467 bool CFDE_CSSDeclaration::ParseCounterProperty(const FDE_CSSPROPERTYARGS* pArgs, |
469 const FDE_CSSPROPERTYARGS* pArgs, | 468 const FX_WCHAR* pszValue, |
470 const FX_WCHAR* pszValue, | 469 int32_t iValueLen, |
471 int32_t iValueLen, | 470 bool bImportant) { |
472 FX_BOOL bImportant) { | |
473 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; | 471 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; |
474 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); | 472 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); |
475 CFDE_CSSValueArray list; | 473 CFDE_CSSValueArray list; |
476 CFDE_CSSValueArray listFull; | 474 CFDE_CSSValueArray listFull; |
477 FDE_CSSPRIMITIVETYPE eType; | 475 FDE_CSSPRIMITIVETYPE eType; |
478 while (parser.NextValue(eType, pszValue, iValueLen)) { | 476 while (parser.NextValue(eType, pszValue, iValueLen)) { |
479 switch (eType) { | 477 switch (eType) { |
480 case FDE_CSSPRIMITIVETYPE_Number: { | 478 case FDE_CSSPRIMITIVETYPE_Number: { |
481 FX_FLOAT fValue; | 479 FX_FLOAT fValue; |
482 if (FDE_ParseCSSNumber(pszValue, iValueLen, fValue, eType)) { | 480 if (FDE_ParseCSSNumber(pszValue, iValueLen, fValue, eType)) { |
483 if (list.GetSize() == 1) { | 481 if (list.GetSize() == 1) { |
484 list.Add(NewNumberValue(pStaticStore, eType, fValue)); | 482 list.Add(NewNumberValue(pStaticStore, eType, fValue)); |
485 listFull.Add(FXTARGET_NewWith(pStaticStore) | 483 listFull.Add(FXTARGET_NewWith(pStaticStore) |
486 CFDE_CSSValueList(pStaticStore, list)); | 484 CFDE_CSSValueList(pStaticStore, list)); |
487 list.RemoveAll(); | 485 list.RemoveAll(); |
488 } else { | 486 } else { |
489 return FALSE; | 487 return false; |
490 } | 488 } |
491 } | 489 } |
492 } break; | 490 } break; |
493 case FDE_CSSPRIMITIVETYPE_String: { | 491 case FDE_CSSPRIMITIVETYPE_String: { |
494 if (list.GetSize() == 0) { | 492 if (list.GetSize() == 0) { |
495 pszValue = CopyToLocal(pArgs, pszValue, iValueLen); | 493 pszValue = CopyToLocal(pArgs, pszValue, iValueLen); |
496 list.Add(FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue( | 494 list.Add(FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue( |
497 FDE_CSSPRIMITIVETYPE_String, pszValue)); | 495 FDE_CSSPRIMITIVETYPE_String, pszValue)); |
498 } else { | 496 } else { |
499 listFull.Add(FXTARGET_NewWith(pStaticStore) | 497 listFull.Add(FXTARGET_NewWith(pStaticStore) |
500 CFDE_CSSValueList(pStaticStore, list)); | 498 CFDE_CSSValueList(pStaticStore, list)); |
501 list.RemoveAll(); | 499 list.RemoveAll(); |
502 pszValue = CopyToLocal(pArgs, pszValue, iValueLen); | 500 pszValue = CopyToLocal(pArgs, pszValue, iValueLen); |
503 list.Add(FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue( | 501 list.Add(FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue( |
504 FDE_CSSPRIMITIVETYPE_String, pszValue)); | 502 FDE_CSSPRIMITIVETYPE_String, pszValue)); |
505 } | 503 } |
506 } break; | 504 } break; |
507 default: | 505 default: |
508 break; | 506 break; |
509 } | 507 } |
510 } | 508 } |
511 if (list.GetSize() == 1) { | 509 if (list.GetSize() == 1) { |
512 listFull.Add(FXTARGET_NewWith(pStaticStore) | 510 listFull.Add(FXTARGET_NewWith(pStaticStore) |
513 CFDE_CSSValueList(pStaticStore, list)); | 511 CFDE_CSSValueList(pStaticStore, list)); |
514 } | 512 } |
515 if (listFull.GetSize() == 0) { | 513 if (listFull.GetSize() == 0) { |
516 return FALSE; | 514 return false; |
517 } | 515 } |
518 AddPropertyHolder(pStaticStore, pArgs->pProperty->eName, | 516 AddPropertyHolder(pStaticStore, pArgs->pProperty->eName, |
519 FXTARGET_NewWith(pStaticStore) | 517 FXTARGET_NewWith(pStaticStore) |
520 CFDE_CSSValueList(pStaticStore, listFull), | 518 CFDE_CSSValueList(pStaticStore, listFull), |
521 bImportant); | 519 bImportant); |
522 return TRUE; | 520 return true; |
523 } | 521 } |
524 FX_BOOL CFDE_CSSDeclaration::ParseValueListProperty( | 522 bool CFDE_CSSDeclaration::ParseValueListProperty( |
525 const FDE_CSSPROPERTYARGS* pArgs, | 523 const FDE_CSSPROPERTYARGS* pArgs, |
526 const FX_WCHAR* pszValue, | 524 const FX_WCHAR* pszValue, |
527 int32_t iValueLen, | 525 int32_t iValueLen, |
528 FX_BOOL bImportant) { | 526 bool bImportant) { |
529 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; | 527 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; |
530 FX_WCHAR separator = | 528 FX_WCHAR separator = |
531 (pArgs->pProperty->eName == FDE_CSSPROPERTY_FontFamily) ? ',' : ' '; | 529 (pArgs->pProperty->eName == FDE_CSSPROPERTY_FontFamily) ? ',' : ' '; |
532 CFDE_CSSValueListParser parser(pszValue, iValueLen, separator); | 530 CFDE_CSSValueListParser parser(pszValue, iValueLen, separator); |
533 const uint32_t dwType = pArgs->pProperty->dwType; | 531 const uint32_t dwType = pArgs->pProperty->dwType; |
534 FDE_CSSPRIMITIVETYPE eType; | 532 FDE_CSSPRIMITIVETYPE eType; |
535 CFDE_CSSValueArray list; | 533 CFDE_CSSValueArray list; |
536 while (parser.NextValue(eType, pszValue, iValueLen)) { | 534 while (parser.NextValue(eType, pszValue, iValueLen)) { |
537 switch (eType) { | 535 switch (eType) { |
538 case FDE_CSSPRIMITIVETYPE_Number: | 536 case FDE_CSSPRIMITIVETYPE_Number: |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
574 list.Add(FXTARGET_NewWith(pStaticStore) | 572 list.Add(FXTARGET_NewWith(pStaticStore) |
575 CFDE_CSSPrimitiveValue(dwColor)); | 573 CFDE_CSSPrimitiveValue(dwColor)); |
576 } | 574 } |
577 } | 575 } |
578 break; | 576 break; |
579 default: | 577 default: |
580 break; | 578 break; |
581 } | 579 } |
582 } | 580 } |
583 if (list.GetSize() == 0) { | 581 if (list.GetSize() == 0) { |
584 return FALSE; | 582 return false; |
585 } | 583 } |
586 switch (pArgs->pProperty->eName) { | 584 switch (pArgs->pProperty->eName) { |
587 case FDE_CSSPROPERTY_BorderColor: | 585 case FDE_CSSPROPERTY_BorderColor: |
588 return Add4ValuesProperty( | 586 return Add4ValuesProperty( |
589 pStaticStore, list, bImportant, FDE_CSSPROPERTY_BorderLeftColor, | 587 pStaticStore, list, bImportant, FDE_CSSPROPERTY_BorderLeftColor, |
590 FDE_CSSPROPERTY_BorderTopColor, FDE_CSSPROPERTY_BorderRightColor, | 588 FDE_CSSPROPERTY_BorderTopColor, FDE_CSSPROPERTY_BorderRightColor, |
591 FDE_CSSPROPERTY_BorderBottomColor); | 589 FDE_CSSPROPERTY_BorderBottomColor); |
592 case FDE_CSSPROPERTY_BorderStyle: | 590 case FDE_CSSPROPERTY_BorderStyle: |
593 return Add4ValuesProperty( | 591 return Add4ValuesProperty( |
594 pStaticStore, list, bImportant, FDE_CSSPROPERTY_BorderLeftStyle, | 592 pStaticStore, list, bImportant, FDE_CSSPROPERTY_BorderLeftStyle, |
(...skipping 12 matching lines...) Expand all Loading... |
607 case FDE_CSSPROPERTY_Padding: | 605 case FDE_CSSPROPERTY_Padding: |
608 return Add4ValuesProperty( | 606 return Add4ValuesProperty( |
609 pStaticStore, list, bImportant, FDE_CSSPROPERTY_PaddingLeft, | 607 pStaticStore, list, bImportant, FDE_CSSPROPERTY_PaddingLeft, |
610 FDE_CSSPROPERTY_PaddingTop, FDE_CSSPROPERTY_PaddingRight, | 608 FDE_CSSPROPERTY_PaddingTop, FDE_CSSPROPERTY_PaddingRight, |
611 FDE_CSSPROPERTY_PaddingBottom); | 609 FDE_CSSPROPERTY_PaddingBottom); |
612 default: { | 610 default: { |
613 CFDE_CSSValueList* pList = | 611 CFDE_CSSValueList* pList = |
614 FXTARGET_NewWith(pStaticStore) CFDE_CSSValueList(pStaticStore, list); | 612 FXTARGET_NewWith(pStaticStore) CFDE_CSSValueList(pStaticStore, list); |
615 AddPropertyHolder(pStaticStore, pArgs->pProperty->eName, pList, | 613 AddPropertyHolder(pStaticStore, pArgs->pProperty->eName, pList, |
616 bImportant); | 614 bImportant); |
617 return TRUE; | 615 return true; |
618 } break; | 616 } break; |
619 } | 617 } |
620 return FALSE; | 618 return false; |
621 } | 619 } |
622 FX_BOOL CFDE_CSSDeclaration::Add4ValuesProperty( | 620 bool CFDE_CSSDeclaration::Add4ValuesProperty(IFX_MemoryAllocator* pStaticStore, |
623 IFX_MemoryAllocator* pStaticStore, | 621 const CFDE_CSSValueArray& list, |
624 const CFDE_CSSValueArray& list, | 622 bool bImportant, |
625 FX_BOOL bImportant, | 623 FDE_CSSPROPERTY eLeft, |
626 FDE_CSSPROPERTY eLeft, | 624 FDE_CSSPROPERTY eTop, |
627 FDE_CSSPROPERTY eTop, | 625 FDE_CSSPROPERTY eRight, |
628 FDE_CSSPROPERTY eRight, | 626 FDE_CSSPROPERTY eBottom) { |
629 FDE_CSSPROPERTY eBottom) { | |
630 switch (list.GetSize()) { | 627 switch (list.GetSize()) { |
631 case 1: | 628 case 1: |
632 AddPropertyHolder(pStaticStore, eLeft, list[0], bImportant); | 629 AddPropertyHolder(pStaticStore, eLeft, list[0], bImportant); |
633 AddPropertyHolder(pStaticStore, eTop, list[0], bImportant); | 630 AddPropertyHolder(pStaticStore, eTop, list[0], bImportant); |
634 AddPropertyHolder(pStaticStore, eRight, list[0], bImportant); | 631 AddPropertyHolder(pStaticStore, eRight, list[0], bImportant); |
635 AddPropertyHolder(pStaticStore, eBottom, list[0], bImportant); | 632 AddPropertyHolder(pStaticStore, eBottom, list[0], bImportant); |
636 return TRUE; | 633 return true; |
637 case 2: | 634 case 2: |
638 AddPropertyHolder(pStaticStore, eLeft, list[1], bImportant); | 635 AddPropertyHolder(pStaticStore, eLeft, list[1], bImportant); |
639 AddPropertyHolder(pStaticStore, eTop, list[0], bImportant); | 636 AddPropertyHolder(pStaticStore, eTop, list[0], bImportant); |
640 AddPropertyHolder(pStaticStore, eRight, list[1], bImportant); | 637 AddPropertyHolder(pStaticStore, eRight, list[1], bImportant); |
641 AddPropertyHolder(pStaticStore, eBottom, list[0], bImportant); | 638 AddPropertyHolder(pStaticStore, eBottom, list[0], bImportant); |
642 return TRUE; | 639 return true; |
643 case 3: | 640 case 3: |
644 AddPropertyHolder(pStaticStore, eLeft, list[1], bImportant); | 641 AddPropertyHolder(pStaticStore, eLeft, list[1], bImportant); |
645 AddPropertyHolder(pStaticStore, eTop, list[0], bImportant); | 642 AddPropertyHolder(pStaticStore, eTop, list[0], bImportant); |
646 AddPropertyHolder(pStaticStore, eRight, list[1], bImportant); | 643 AddPropertyHolder(pStaticStore, eRight, list[1], bImportant); |
647 AddPropertyHolder(pStaticStore, eBottom, list[2], bImportant); | 644 AddPropertyHolder(pStaticStore, eBottom, list[2], bImportant); |
648 return TRUE; | 645 return true; |
649 case 4: | 646 case 4: |
650 AddPropertyHolder(pStaticStore, eLeft, list[3], bImportant); | 647 AddPropertyHolder(pStaticStore, eLeft, list[3], bImportant); |
651 AddPropertyHolder(pStaticStore, eTop, list[0], bImportant); | 648 AddPropertyHolder(pStaticStore, eTop, list[0], bImportant); |
652 AddPropertyHolder(pStaticStore, eRight, list[1], bImportant); | 649 AddPropertyHolder(pStaticStore, eRight, list[1], bImportant); |
653 AddPropertyHolder(pStaticStore, eBottom, list[2], bImportant); | 650 AddPropertyHolder(pStaticStore, eBottom, list[2], bImportant); |
654 return TRUE; | 651 return true; |
655 default: | 652 default: |
656 break; | 653 break; |
657 } | 654 } |
658 return FALSE; | 655 return false; |
659 } | 656 } |
660 FX_BOOL CFDE_CSSDeclaration::ParseBorderPropoerty( | 657 bool CFDE_CSSDeclaration::ParseBorderPropoerty( |
661 IFX_MemoryAllocator* pStaticStore, | 658 IFX_MemoryAllocator* pStaticStore, |
662 const FX_WCHAR* pszValue, | 659 const FX_WCHAR* pszValue, |
663 int32_t iValueLen, | 660 int32_t iValueLen, |
664 IFDE_CSSValue*& pColor, | 661 IFDE_CSSValue*& pColor, |
665 IFDE_CSSValue*& pStyle, | 662 IFDE_CSSValue*& pStyle, |
666 IFDE_CSSValue*& pWidth) const { | 663 IFDE_CSSValue*& pWidth) const { |
667 pColor = pStyle = pWidth = nullptr; | 664 pColor = pStyle = pWidth = nullptr; |
668 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); | 665 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); |
669 FDE_CSSPRIMITIVETYPE eType; | 666 FDE_CSSPRIMITIVETYPE eType; |
670 while (parser.NextValue(eType, pszValue, iValueLen)) { | 667 while (parser.NextValue(eType, pszValue, iValueLen)) { |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
734 default: | 731 default: |
735 break; | 732 break; |
736 } | 733 } |
737 } | 734 } |
738 if (!pColor) | 735 if (!pColor) |
739 pColor = FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue((FX_ARGB)0); | 736 pColor = FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue((FX_ARGB)0); |
740 if (!pStyle) | 737 if (!pStyle) |
741 pStyle = NewEnumValue(pStaticStore, FDE_CSSPROPERTYVALUE_None); | 738 pStyle = NewEnumValue(pStaticStore, FDE_CSSPROPERTYVALUE_None); |
742 if (!pWidth) | 739 if (!pWidth) |
743 pWidth = NewNumberValue(pStaticStore, FDE_CSSPRIMITIVETYPE_Number, 0.0f); | 740 pWidth = NewNumberValue(pStaticStore, FDE_CSSPRIMITIVETYPE_Number, 0.0f); |
744 return TRUE; | 741 return true; |
745 } | 742 } |
746 void CFDE_CSSDeclaration::AddBorderProperty(IFX_MemoryAllocator* pStaticStore, | 743 void CFDE_CSSDeclaration::AddBorderProperty(IFX_MemoryAllocator* pStaticStore, |
747 IFDE_CSSValue* pColor, | 744 IFDE_CSSValue* pColor, |
748 IFDE_CSSValue* pStyle, | 745 IFDE_CSSValue* pStyle, |
749 IFDE_CSSValue* pWidth, | 746 IFDE_CSSValue* pWidth, |
750 FX_BOOL bImportant, | 747 bool bImportant, |
751 FDE_CSSPROPERTY eColor, | 748 FDE_CSSPROPERTY eColor, |
752 FDE_CSSPROPERTY eStyle, | 749 FDE_CSSPROPERTY eStyle, |
753 FDE_CSSPROPERTY eWidth) { | 750 FDE_CSSPROPERTY eWidth) { |
754 AddPropertyHolder(pStaticStore, eStyle, pStyle, bImportant); | 751 AddPropertyHolder(pStaticStore, eStyle, pStyle, bImportant); |
755 AddPropertyHolder(pStaticStore, eWidth, pWidth, bImportant); | 752 AddPropertyHolder(pStaticStore, eWidth, pWidth, bImportant); |
756 AddPropertyHolder(pStaticStore, eColor, pColor, bImportant); | 753 AddPropertyHolder(pStaticStore, eColor, pColor, bImportant); |
757 } | 754 } |
758 FX_BOOL CFDE_CSSDeclaration::ParseListStyleProperty( | 755 bool CFDE_CSSDeclaration::ParseListStyleProperty( |
759 const FDE_CSSPROPERTYARGS* pArgs, | 756 const FDE_CSSPROPERTYARGS* pArgs, |
760 const FX_WCHAR* pszValue, | 757 const FX_WCHAR* pszValue, |
761 int32_t iValueLen, | 758 int32_t iValueLen, |
762 FX_BOOL bImportant) { | 759 bool bImportant) { |
763 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; | 760 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; |
764 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); | 761 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); |
765 IFDE_CSSPrimitiveValue* pType = nullptr; | 762 IFDE_CSSPrimitiveValue* pType = nullptr; |
766 IFDE_CSSPrimitiveValue* pImage = nullptr; | 763 IFDE_CSSPrimitiveValue* pImage = nullptr; |
767 IFDE_CSSPrimitiveValue* pPosition = nullptr; | 764 IFDE_CSSPrimitiveValue* pPosition = nullptr; |
768 FDE_CSSPRIMITIVETYPE eType; | 765 FDE_CSSPRIMITIVETYPE eType; |
769 while (parser.NextValue(eType, pszValue, iValueLen)) { | 766 while (parser.NextValue(eType, pszValue, iValueLen)) { |
770 switch (eType) { | 767 switch (eType) { |
771 case FDE_CSSPRIMITIVETYPE_URI: | 768 case FDE_CSSPRIMITIVETYPE_URI: |
772 if (!pImage) { | 769 if (!pImage) { |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
822 if (!pImage) | 819 if (!pImage) |
823 pImage = NewEnumValue(pStaticStore, FDE_CSSPROPERTYVALUE_None); | 820 pImage = NewEnumValue(pStaticStore, FDE_CSSPROPERTYVALUE_None); |
824 if (!pType) | 821 if (!pType) |
825 pType = NewEnumValue(pStaticStore, FDE_CSSPROPERTYVALUE_None); | 822 pType = NewEnumValue(pStaticStore, FDE_CSSPROPERTYVALUE_None); |
826 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_ListStylePosition, pPosition, | 823 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_ListStylePosition, pPosition, |
827 bImportant); | 824 bImportant); |
828 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_ListStyleImage, pImage, | 825 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_ListStyleImage, pImage, |
829 bImportant); | 826 bImportant); |
830 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_ListStyleType, pType, | 827 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_ListStyleType, pType, |
831 bImportant); | 828 bImportant); |
832 return TRUE; | 829 return true; |
833 } | 830 } |
834 FX_BOOL CFDE_CSSDeclaration::ParseBackgroundProperty( | 831 bool CFDE_CSSDeclaration::ParseBackgroundProperty( |
835 const FDE_CSSPROPERTYARGS* pArgs, | 832 const FDE_CSSPROPERTYARGS* pArgs, |
836 const FX_WCHAR* pszValue, | 833 const FX_WCHAR* pszValue, |
837 int32_t iValueLen, | 834 int32_t iValueLen, |
838 FX_BOOL bImportant) { | 835 bool bImportant) { |
839 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; | 836 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; |
840 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); | 837 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); |
841 IFDE_CSSPrimitiveValue* pColor = nullptr; | 838 IFDE_CSSPrimitiveValue* pColor = nullptr; |
842 IFDE_CSSPrimitiveValue* pImage = nullptr; | 839 IFDE_CSSPrimitiveValue* pImage = nullptr; |
843 IFDE_CSSPrimitiveValue* pRepeat = nullptr; | 840 IFDE_CSSPrimitiveValue* pRepeat = nullptr; |
844 IFDE_CSSPrimitiveValue* pPosX = nullptr; | 841 IFDE_CSSPrimitiveValue* pPosX = nullptr; |
845 IFDE_CSSPrimitiveValue* pPosY = nullptr; | 842 IFDE_CSSPrimitiveValue* pPosY = nullptr; |
846 IFDE_CSSPrimitiveValue* pAttachment = nullptr; | 843 IFDE_CSSPrimitiveValue* pAttachment = nullptr; |
847 FDE_CSSPRIMITIVETYPE eType; | 844 FDE_CSSPRIMITIVETYPE eType; |
848 while (parser.NextValue(eType, pszValue, iValueLen)) { | 845 while (parser.NextValue(eType, pszValue, iValueLen)) { |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
959 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_BackgroundColor, pColor, | 956 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_BackgroundColor, pColor, |
960 bImportant); | 957 bImportant); |
961 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_BackgroundImage, pImage, | 958 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_BackgroundImage, pImage, |
962 bImportant); | 959 bImportant); |
963 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_BackgroundRepeat, pRepeat, | 960 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_BackgroundRepeat, pRepeat, |
964 bImportant); | 961 bImportant); |
965 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_BackgroundPosition, pPosList, | 962 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_BackgroundPosition, pPosList, |
966 bImportant); | 963 bImportant); |
967 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_BackgroundAttachment, | 964 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_BackgroundAttachment, |
968 pAttachment, bImportant); | 965 pAttachment, bImportant); |
969 return TRUE; | 966 return true; |
970 } | 967 } |
971 FX_BOOL CFDE_CSSDeclaration::ParseFontProperty(const FDE_CSSPROPERTYARGS* pArgs, | 968 bool CFDE_CSSDeclaration::ParseFontProperty(const FDE_CSSPROPERTYARGS* pArgs, |
972 const FX_WCHAR* pszValue, | 969 const FX_WCHAR* pszValue, |
973 int32_t iValueLen, | 970 int32_t iValueLen, |
974 FX_BOOL bImportant) { | 971 bool bImportant) { |
975 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; | 972 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; |
976 CFDE_CSSValueListParser parser(pszValue, iValueLen, '/'); | 973 CFDE_CSSValueListParser parser(pszValue, iValueLen, '/'); |
977 IFDE_CSSPrimitiveValue* pStyle = nullptr; | 974 IFDE_CSSPrimitiveValue* pStyle = nullptr; |
978 IFDE_CSSPrimitiveValue* pVariant = nullptr; | 975 IFDE_CSSPrimitiveValue* pVariant = nullptr; |
979 IFDE_CSSPrimitiveValue* pWeight = nullptr; | 976 IFDE_CSSPrimitiveValue* pWeight = nullptr; |
980 IFDE_CSSPrimitiveValue* pFontSize = nullptr; | 977 IFDE_CSSPrimitiveValue* pFontSize = nullptr; |
981 IFDE_CSSPrimitiveValue* pLineHeight = nullptr; | 978 IFDE_CSSPrimitiveValue* pLineHeight = nullptr; |
982 CFDE_CSSValueArray familyList; | 979 CFDE_CSSValueArray familyList; |
983 FDE_CSSPRIMITIVETYPE eType; | 980 FDE_CSSPRIMITIVETYPE eType; |
984 while (parser.NextValue(eType, pszValue, iValueLen)) { | 981 while (parser.NextValue(eType, pszValue, iValueLen)) { |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1089 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_FontSize, pFontSize, | 1086 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_FontSize, pFontSize, |
1090 bImportant); | 1087 bImportant); |
1091 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_LineHeight, pLineHeight, | 1088 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_LineHeight, pLineHeight, |
1092 bImportant); | 1089 bImportant); |
1093 if (familyList.GetSize() > 0) { | 1090 if (familyList.GetSize() > 0) { |
1094 CFDE_CSSValueList* pList = FXTARGET_NewWith(pStaticStore) | 1091 CFDE_CSSValueList* pList = FXTARGET_NewWith(pStaticStore) |
1095 CFDE_CSSValueList(pStaticStore, familyList); | 1092 CFDE_CSSValueList(pStaticStore, familyList); |
1096 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_FontFamily, pList, | 1093 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_FontFamily, pList, |
1097 bImportant); | 1094 bImportant); |
1098 } | 1095 } |
1099 return TRUE; | 1096 return true; |
1100 } | 1097 } |
1101 FX_BOOL CFDE_CSSDeclaration::ParseColumnRuleProperty( | 1098 bool CFDE_CSSDeclaration::ParseColumnRuleProperty( |
1102 const FDE_CSSPROPERTYARGS* pArgs, | 1099 const FDE_CSSPROPERTYARGS* pArgs, |
1103 const FX_WCHAR* pszValue, | 1100 const FX_WCHAR* pszValue, |
1104 int32_t iValueLen, | 1101 int32_t iValueLen, |
1105 FX_BOOL bImportant) { | 1102 bool bImportant) { |
1106 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; | 1103 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; |
1107 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); | 1104 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); |
1108 IFDE_CSSPrimitiveValue* pColumnRuleWidth = nullptr; | 1105 IFDE_CSSPrimitiveValue* pColumnRuleWidth = nullptr; |
1109 IFDE_CSSPrimitiveValue* pColumnRuleStyle = nullptr; | 1106 IFDE_CSSPrimitiveValue* pColumnRuleStyle = nullptr; |
1110 IFDE_CSSPrimitiveValue* pColumnRuleColor = nullptr; | 1107 IFDE_CSSPrimitiveValue* pColumnRuleColor = nullptr; |
1111 FDE_CSSPRIMITIVETYPE eType; | 1108 FDE_CSSPRIMITIVETYPE eType; |
1112 while (parser.NextValue(eType, pszValue, iValueLen)) { | 1109 while (parser.NextValue(eType, pszValue, iValueLen)) { |
1113 switch (eType) { | 1110 switch (eType) { |
1114 case FDE_CSSPRIMITIVETYPE_String: { | 1111 case FDE_CSSPRIMITIVETYPE_String: { |
1115 const FDE_CSSPROPERTYVALUETABLE* pValue = | 1112 const FDE_CSSPROPERTYVALUETABLE* pValue = |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1165 FDE_ParseCSSColor(pszValue, iValueLen, dwColor)) { | 1162 FDE_ParseCSSColor(pszValue, iValueLen, dwColor)) { |
1166 pColumnRuleColor = FXTARGET_NewWith(pStaticStore) | 1163 pColumnRuleColor = FXTARGET_NewWith(pStaticStore) |
1167 CFDE_CSSPrimitiveValue((FX_ARGB)dwColor); | 1164 CFDE_CSSPrimitiveValue((FX_ARGB)dwColor); |
1168 } | 1165 } |
1169 } break; | 1166 } break; |
1170 default: | 1167 default: |
1171 break; | 1168 break; |
1172 } | 1169 } |
1173 } | 1170 } |
1174 if (!pColumnRuleColor && !pColumnRuleStyle && !pColumnRuleWidth) | 1171 if (!pColumnRuleColor && !pColumnRuleStyle && !pColumnRuleWidth) |
1175 return FALSE; | 1172 return false; |
1176 | 1173 |
1177 if (!pColumnRuleStyle) | 1174 if (!pColumnRuleStyle) |
1178 pColumnRuleStyle = NewEnumValue(pStaticStore, FDE_CSSPROPERTYVALUE_None); | 1175 pColumnRuleStyle = NewEnumValue(pStaticStore, FDE_CSSPROPERTYVALUE_None); |
1179 if (!pColumnRuleWidth) | 1176 if (!pColumnRuleWidth) |
1180 pColumnRuleWidth = NewEnumValue(pStaticStore, FDE_CSSPROPERTYVALUE_Medium); | 1177 pColumnRuleWidth = NewEnumValue(pStaticStore, FDE_CSSPROPERTYVALUE_Medium); |
1181 if (!pColumnRuleColor) { | 1178 if (!pColumnRuleColor) { |
1182 pColumnRuleColor = | 1179 pColumnRuleColor = |
1183 FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue((FX_ARGB)0); | 1180 FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue((FX_ARGB)0); |
1184 } | 1181 } |
1185 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_ColumnRuleStyle, | 1182 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_ColumnRuleStyle, |
1186 pColumnRuleStyle, bImportant); | 1183 pColumnRuleStyle, bImportant); |
1187 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_ColumnRuleWidth, | 1184 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_ColumnRuleWidth, |
1188 pColumnRuleWidth, bImportant); | 1185 pColumnRuleWidth, bImportant); |
1189 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_ColumnRuleColor, | 1186 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_ColumnRuleColor, |
1190 pColumnRuleColor, bImportant); | 1187 pColumnRuleColor, bImportant); |
1191 return TRUE; | 1188 return true; |
1192 } | 1189 } |
1193 FX_BOOL CFDE_CSSDeclaration::ParseTextEmphasisProperty( | 1190 bool CFDE_CSSDeclaration::ParseTextEmphasisProperty(FDE_CSSPROPERTYARGS* pArgs, |
1194 FDE_CSSPROPERTYARGS* pArgs, | 1191 const FX_WCHAR* pszValue, |
1195 const FX_WCHAR* pszValue, | 1192 int32_t iValueLen, |
1196 int32_t iValueLen, | 1193 bool bImportant) { |
1197 FX_BOOL bImportant) { | |
1198 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; | 1194 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; |
1199 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); | 1195 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); |
1200 CFDE_CSSValueArray arrEmphasisStyle; | 1196 CFDE_CSSValueArray arrEmphasisStyle; |
1201 FDE_CSSPRIMITIVETYPE eType; | 1197 FDE_CSSPRIMITIVETYPE eType; |
1202 IFDE_CSSPrimitiveValue* pEmphasisColor = nullptr; | 1198 IFDE_CSSPrimitiveValue* pEmphasisColor = nullptr; |
1203 while (parser.NextValue(eType, pszValue, iValueLen)) { | 1199 while (parser.NextValue(eType, pszValue, iValueLen)) { |
1204 switch (eType) { | 1200 switch (eType) { |
1205 case FDE_CSSPRIMITIVETYPE_String: { | 1201 case FDE_CSSPRIMITIVETYPE_String: { |
1206 const FDE_CSSPROPERTYVALUETABLE* pValue = | 1202 const FDE_CSSPROPERTYVALUETABLE* pValue = |
1207 FDE_GetCSSPropertyValueByName(CFX_WideStringC(pszValue, iValueLen)); | 1203 FDE_GetCSSPropertyValueByName(CFX_WideStringC(pszValue, iValueLen)); |
(...skipping 26 matching lines...) Expand all Loading... |
1234 if (arrEmphasisStyle.GetSize() != 0) { | 1230 if (arrEmphasisStyle.GetSize() != 0) { |
1235 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_TextEmphasisStyle, | 1231 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_TextEmphasisStyle, |
1236 FXTARGET_NewWith(pStaticStore) | 1232 FXTARGET_NewWith(pStaticStore) |
1237 CFDE_CSSValueList(pStaticStore, arrEmphasisStyle), | 1233 CFDE_CSSValueList(pStaticStore, arrEmphasisStyle), |
1238 bImportant); | 1234 bImportant); |
1239 } | 1235 } |
1240 if (pEmphasisColor) { | 1236 if (pEmphasisColor) { |
1241 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_TextEmphasisColor, | 1237 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_TextEmphasisColor, |
1242 pEmphasisColor, bImportant); | 1238 pEmphasisColor, bImportant); |
1243 } | 1239 } |
1244 return TRUE; | 1240 return true; |
1245 } | 1241 } |
1246 FX_BOOL CFDE_CSSDeclaration::ParseColumnsProperty( | 1242 bool CFDE_CSSDeclaration::ParseColumnsProperty(const FDE_CSSPROPERTYARGS* pArgs, |
1247 const FDE_CSSPROPERTYARGS* pArgs, | 1243 const FX_WCHAR* pszValue, |
1248 const FX_WCHAR* pszValue, | 1244 int32_t iValueLen, |
1249 int32_t iValueLen, | 1245 bool bImportant) { |
1250 FX_BOOL bImportant) { | |
1251 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; | 1246 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; |
1252 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); | 1247 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); |
1253 IFDE_CSSPrimitiveValue* pColumnWidth = nullptr; | 1248 IFDE_CSSPrimitiveValue* pColumnWidth = nullptr; |
1254 IFDE_CSSPrimitiveValue* pColumnCount = nullptr; | 1249 IFDE_CSSPrimitiveValue* pColumnCount = nullptr; |
1255 FDE_CSSPRIMITIVETYPE eType; | 1250 FDE_CSSPRIMITIVETYPE eType; |
1256 while (parser.NextValue(eType, pszValue, iValueLen)) { | 1251 while (parser.NextValue(eType, pszValue, iValueLen)) { |
1257 switch (eType) { | 1252 switch (eType) { |
1258 case FDE_CSSPRIMITIVETYPE_String: { | 1253 case FDE_CSSPRIMITIVETYPE_String: { |
1259 const FDE_CSSPROPERTYVALUETABLE* pValue = | 1254 const FDE_CSSPROPERTYVALUETABLE* pValue = |
1260 FDE_GetCSSPropertyValueByName(CFX_WideStringC(pszValue, iValueLen)); | 1255 FDE_GetCSSPropertyValueByName(CFX_WideStringC(pszValue, iValueLen)); |
(...skipping 14 matching lines...) Expand all Loading... |
1275 pColumnWidth = NewNumberValue(pStaticStore, eType, fValue); | 1270 pColumnWidth = NewNumberValue(pStaticStore, eType, fValue); |
1276 break; | 1271 break; |
1277 } | 1272 } |
1278 } | 1273 } |
1279 } break; | 1274 } break; |
1280 default: | 1275 default: |
1281 break; | 1276 break; |
1282 } | 1277 } |
1283 } | 1278 } |
1284 if (!pColumnWidth && !pColumnCount) | 1279 if (!pColumnWidth && !pColumnCount) |
1285 return FALSE; | 1280 return false; |
1286 | 1281 |
1287 if (!pColumnWidth) | 1282 if (!pColumnWidth) |
1288 pColumnWidth = NewEnumValue(pStaticStore, FDE_CSSPROPERTYVALUE_Auto); | 1283 pColumnWidth = NewEnumValue(pStaticStore, FDE_CSSPROPERTYVALUE_Auto); |
1289 else if (!pColumnCount) | 1284 else if (!pColumnCount) |
1290 pColumnCount = NewEnumValue(pStaticStore, FDE_CSSPROPERTYVALUE_Auto); | 1285 pColumnCount = NewEnumValue(pStaticStore, FDE_CSSPROPERTYVALUE_Auto); |
1291 | 1286 |
1292 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_ColumnWidth, pColumnWidth, | 1287 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_ColumnWidth, pColumnWidth, |
1293 bImportant); | 1288 bImportant); |
1294 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_ColumnCount, pColumnCount, | 1289 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_ColumnCount, pColumnCount, |
1295 bImportant); | 1290 bImportant); |
1296 return TRUE; | 1291 return true; |
1297 } | 1292 } |
1298 FX_BOOL CFDE_CSSDeclaration::ParseOverflowProperty( | 1293 bool CFDE_CSSDeclaration::ParseOverflowProperty( |
1299 const FDE_CSSPROPERTYARGS* pArgs, | 1294 const FDE_CSSPROPERTYARGS* pArgs, |
1300 const FX_WCHAR* pszValue, | 1295 const FX_WCHAR* pszValue, |
1301 int32_t iValueLen, | 1296 int32_t iValueLen, |
1302 FX_BOOL bImportant) { | 1297 bool bImportant) { |
1303 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; | 1298 IFX_MemoryAllocator* pStaticStore = pArgs->pStaticStore; |
1304 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); | 1299 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); |
1305 IFDE_CSSPrimitiveValue* pOverflowX = nullptr; | 1300 IFDE_CSSPrimitiveValue* pOverflowX = nullptr; |
1306 IFDE_CSSPrimitiveValue* pOverflowY = nullptr; | 1301 IFDE_CSSPrimitiveValue* pOverflowY = nullptr; |
1307 FDE_CSSPRIMITIVETYPE eType; | 1302 FDE_CSSPRIMITIVETYPE eType; |
1308 while (parser.NextValue(eType, pszValue, iValueLen)) { | 1303 while (parser.NextValue(eType, pszValue, iValueLen)) { |
1309 if (eType == FDE_CSSPRIMITIVETYPE_String) { | 1304 if (eType == FDE_CSSPRIMITIVETYPE_String) { |
1310 const FDE_CSSPROPERTYVALUETABLE* pValue = | 1305 const FDE_CSSPROPERTYVALUETABLE* pValue = |
1311 FDE_GetCSSPropertyValueByName(CFX_WideStringC(pszValue, iValueLen)); | 1306 FDE_GetCSSPropertyValueByName(CFX_WideStringC(pszValue, iValueLen)); |
1312 if (pValue) { | 1307 if (pValue) { |
1313 switch (pValue->eName) { | 1308 switch (pValue->eName) { |
1314 case FDE_CSSOVERFLOW_Visible: | 1309 case FDE_CSSOVERFLOW_Visible: |
1315 case FDE_CSSOVERFLOW_Hidden: | 1310 case FDE_CSSOVERFLOW_Hidden: |
1316 case FDE_CSSOVERFLOW_Scroll: | 1311 case FDE_CSSOVERFLOW_Scroll: |
1317 case FDE_CSSOVERFLOW_Auto: | 1312 case FDE_CSSOVERFLOW_Auto: |
1318 case FDE_CSSOVERFLOW_NoDisplay: | 1313 case FDE_CSSOVERFLOW_NoDisplay: |
1319 case FDE_CSSOVERFLOW_NoContent: | 1314 case FDE_CSSOVERFLOW_NoContent: |
1320 if (pOverflowX && pOverflowY) | 1315 if (pOverflowX && pOverflowY) |
1321 return FALSE; | 1316 return false; |
1322 if (!pOverflowX) { | 1317 if (!pOverflowX) { |
1323 pOverflowX = NewEnumValue(pStaticStore, pValue->eName); | 1318 pOverflowX = NewEnumValue(pStaticStore, pValue->eName); |
1324 } else if (!pOverflowY) { | 1319 } else if (!pOverflowY) { |
1325 pOverflowY = NewEnumValue(pStaticStore, pValue->eName); | 1320 pOverflowY = NewEnumValue(pStaticStore, pValue->eName); |
1326 } | 1321 } |
1327 break; | 1322 break; |
1328 default: | 1323 default: |
1329 break; | 1324 break; |
1330 } | 1325 } |
1331 } | 1326 } |
1332 } | 1327 } |
1333 } | 1328 } |
1334 if (!pOverflowX && !pOverflowY) | 1329 if (!pOverflowX && !pOverflowY) |
1335 return FALSE; | 1330 return false; |
1336 | 1331 |
1337 if (!pOverflowY) | 1332 if (!pOverflowY) |
1338 pOverflowY = NewEnumValue(pStaticStore, pOverflowX->GetEnum()); | 1333 pOverflowY = NewEnumValue(pStaticStore, pOverflowX->GetEnum()); |
1339 | 1334 |
1340 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_OverflowX, pOverflowX, | 1335 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_OverflowX, pOverflowX, |
1341 bImportant); | 1336 bImportant); |
1342 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_OverflowY, pOverflowY, | 1337 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_OverflowY, pOverflowY, |
1343 bImportant); | 1338 bImportant); |
1344 return TRUE; | 1339 return true; |
1345 } | 1340 } |
OLD | NEW |