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

Side by Side Diff: xfa/fde/css/fde_cssdeclaration.cpp

Issue 1919563002: Pass CFX_*StringCs to FX_HashCode_GETA and _GETW hash functions. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: fix issue from c4 Created 4 years, 7 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
« no previous file with comments | « xfa/fde/css/fde_cssdatatable.cpp ('k') | xfa/fde/css/fde_cssstyleselector.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/include/fx_ext.h" 9 #include "core/fxcrt/include/fx_ext.h"
10 #include "xfa/fgas/crt/fgas_system.h" 10 #include "xfa/fgas/crt/fgas_system.h"
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 } 50 }
51 const FX_WCHAR* CFDE_CSSDeclaration::CopyToLocal( 51 const FX_WCHAR* CFDE_CSSDeclaration::CopyToLocal(
52 const FDE_CSSPROPERTYARGS* pArgs, 52 const FDE_CSSPROPERTYARGS* pArgs,
53 const FX_WCHAR* pszValue, 53 const FX_WCHAR* pszValue,
54 int32_t iValueLen) { 54 int32_t iValueLen) {
55 FXSYS_assert(iValueLen > 0); 55 FXSYS_assert(iValueLen > 0);
56 CFX_MapPtrToPtr* pCache = pArgs->pStringCache; 56 CFX_MapPtrToPtr* pCache = pArgs->pStringCache;
57 void* pKey = NULL; 57 void* pKey = NULL;
58 if (pCache) { 58 if (pCache) {
59 void* pszCached = NULL; 59 void* pszCached = NULL;
60 pKey = 60 pKey = (void*)(uintptr_t)FX_HashCode_GetW(
61 (void*)(uintptr_t)FX_HashCode_String_GetW(pszValue, iValueLen, FALSE); 61 CFX_WideStringC(pszValue, iValueLen), false);
62 if (pCache->Lookup(pKey, pszCached)) { 62 if (pCache->Lookup(pKey, pszCached)) {
63 return (const FX_WCHAR*)pszCached; 63 return (const FX_WCHAR*)pszCached;
64 } 64 }
65 } 65 }
66 FX_WCHAR* psz = 66 FX_WCHAR* psz =
67 (FX_WCHAR*)pArgs->pStaticStore->Alloc((iValueLen + 1) * sizeof(FX_WCHAR)); 67 (FX_WCHAR*)pArgs->pStaticStore->Alloc((iValueLen + 1) * sizeof(FX_WCHAR));
68 if (psz == NULL) { 68 if (psz == NULL) {
69 return NULL; 69 return NULL;
70 } 70 }
71 FXSYS_wcsncpy(psz, pszValue, iValueLen); 71 FXSYS_wcsncpy(psz, pszValue, iValueLen);
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 FDE_CSSPRIMITIVETYPE eUnit; 291 FDE_CSSPRIMITIVETYPE eUnit;
292 if (!FDE_ParseCSSNumber(pszValue, iValueLen, fValue, eUnit)) { 292 if (!FDE_ParseCSSNumber(pszValue, iValueLen, fValue, eUnit)) {
293 return NULL; 293 return NULL;
294 } 294 }
295 return NewNumberValue(pArgs->pStaticStore, eUnit, fValue); 295 return NewNumberValue(pArgs->pStaticStore, eUnit, fValue);
296 } 296 }
297 IFDE_CSSValue* CFDE_CSSDeclaration::ParseEnum(const FDE_CSSPROPERTYARGS* pArgs, 297 IFDE_CSSValue* CFDE_CSSDeclaration::ParseEnum(const FDE_CSSPROPERTYARGS* pArgs,
298 const FX_WCHAR* pszValue, 298 const FX_WCHAR* pszValue,
299 int32_t iValueLen) { 299 int32_t iValueLen) {
300 const FDE_CSSPROPERTYVALUETABLE* pValue = 300 const FDE_CSSPROPERTYVALUETABLE* pValue =
301 FDE_GetCSSPropertyValueByName(pszValue, iValueLen); 301 FDE_GetCSSPropertyValueByName(CFX_WideStringC(pszValue, iValueLen));
302 return pValue ? NewEnumValue(pArgs->pStaticStore, pValue->eName) : NULL; 302 return pValue ? NewEnumValue(pArgs->pStaticStore, pValue->eName) : NULL;
303 } 303 }
304 IFDE_CSSValue* CFDE_CSSDeclaration::ParseColor(const FDE_CSSPROPERTYARGS* pArgs, 304 IFDE_CSSValue* CFDE_CSSDeclaration::ParseColor(const FDE_CSSPROPERTYARGS* pArgs,
305 const FX_WCHAR* pszValue, 305 const FX_WCHAR* pszValue,
306 int32_t iValueLen) { 306 int32_t iValueLen) {
307 FX_ARGB dwColor; 307 FX_ARGB dwColor;
308 if (!FDE_ParseCSSColor(pszValue, iValueLen, dwColor)) { 308 if (!FDE_ParseCSSColor(pszValue, iValueLen, dwColor)) {
309 return NULL; 309 return NULL;
310 } 310 }
311 return FXTARGET_NewWith(pArgs->pStaticStore) CFDE_CSSPrimitiveValue(dwColor); 311 return FXTARGET_NewWith(pArgs->pStaticStore) CFDE_CSSPrimitiveValue(dwColor);
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 const FX_WCHAR* pszFuncName = CopyToLocal(pArgs, pszValue, iStartBracket); 364 const FX_WCHAR* pszFuncName = CopyToLocal(pArgs, pszValue, iStartBracket);
365 pszValue += (iStartBracket + 1); 365 pszValue += (iStartBracket + 1);
366 iValueLen -= (iStartBracket + 2); 366 iValueLen -= (iStartBracket + 2);
367 CFDE_CSSValueArray argumentArr; 367 CFDE_CSSValueArray argumentArr;
368 CFDE_CSSValueListParser parser(pszValue, iValueLen, ','); 368 CFDE_CSSValueListParser parser(pszValue, iValueLen, ',');
369 FDE_CSSPRIMITIVETYPE ePrimitiveType; 369 FDE_CSSPRIMITIVETYPE ePrimitiveType;
370 while (parser.NextValue(ePrimitiveType, pszValue, iValueLen)) { 370 while (parser.NextValue(ePrimitiveType, pszValue, iValueLen)) {
371 switch (ePrimitiveType) { 371 switch (ePrimitiveType) {
372 case FDE_CSSPRIMITIVETYPE_String: { 372 case FDE_CSSPRIMITIVETYPE_String: {
373 const FDE_CSSPROPERTYVALUETABLE* pPropertyValue = 373 const FDE_CSSPROPERTYVALUETABLE* pPropertyValue =
374 FDE_GetCSSPropertyValueByName(pszValue, iValueLen); 374 FDE_GetCSSPropertyValueByName(CFX_WideStringC(pszValue, iValueLen));
375 if (pPropertyValue != NULL) { 375 if (pPropertyValue != NULL) {
376 argumentArr.Add( 376 argumentArr.Add(
377 NewEnumValue(pArgs->pStaticStore, pPropertyValue->eName)); 377 NewEnumValue(pArgs->pStaticStore, pPropertyValue->eName));
378 continue; 378 continue;
379 } 379 }
380 IFDE_CSSValue* pFunctionValue = 380 IFDE_CSSValue* pFunctionValue =
381 ParseFunction(pArgs, pszValue, iValueLen); 381 ParseFunction(pArgs, pszValue, iValueLen);
382 if (pFunctionValue != NULL) { 382 if (pFunctionValue != NULL) {
383 argumentArr.Add(pFunctionValue); 383 argumentArr.Add(pFunctionValue);
384 continue; 384 continue;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
422 while (parser.NextValue(eType, pszValue, iValueLen)) { 422 while (parser.NextValue(eType, pszValue, iValueLen)) {
423 switch (eType) { 423 switch (eType) {
424 case FDE_CSSPRIMITIVETYPE_URI: 424 case FDE_CSSPRIMITIVETYPE_URI:
425 list.Add(FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue( 425 list.Add(FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue(
426 eType, CopyToLocal(pArgs, pszValue, iValueLen))); 426 eType, CopyToLocal(pArgs, pszValue, iValueLen)));
427 break; 427 break;
428 case FDE_CSSPRIMITIVETYPE_Number: 428 case FDE_CSSPRIMITIVETYPE_Number:
429 return FALSE; 429 return FALSE;
430 case FDE_CSSPRIMITIVETYPE_String: { 430 case FDE_CSSPRIMITIVETYPE_String: {
431 const FDE_CSSPROPERTYVALUETABLE* pValue = 431 const FDE_CSSPROPERTYVALUETABLE* pValue =
432 FDE_GetCSSPropertyValueByName(pszValue, iValueLen); 432 FDE_GetCSSPropertyValueByName(CFX_WideStringC(pszValue, iValueLen));
433 if (pValue != NULL) { 433 if (pValue != NULL) {
434 switch (pValue->eName) { 434 switch (pValue->eName) {
435 case FDE_CSSPROPERTYVALUE_Normal: 435 case FDE_CSSPROPERTYVALUE_Normal:
436 case FDE_CSSPROPERTYVALUE_None: { 436 case FDE_CSSPROPERTYVALUE_None: {
437 if (list.GetSize() == 0) { 437 if (list.GetSize() == 0) {
438 list.Add(NewEnumValue(pStaticStore, pValue->eName)); 438 list.Add(NewEnumValue(pStaticStore, pValue->eName));
439 } else { 439 } else {
440 return FALSE; 440 return FALSE;
441 } 441 }
442 } break; 442 } break;
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 if (dwType & FDE_CSSVALUETYPE_MaybeColor) { 556 if (dwType & FDE_CSSVALUETYPE_MaybeColor) {
557 FX_ARGB dwColor; 557 FX_ARGB dwColor;
558 if (FDE_ParseCSSColor(pszValue, iValueLen, dwColor)) { 558 if (FDE_ParseCSSColor(pszValue, iValueLen, dwColor)) {
559 list.Add(FXTARGET_NewWith(pStaticStore) 559 list.Add(FXTARGET_NewWith(pStaticStore)
560 CFDE_CSSPrimitiveValue(dwColor)); 560 CFDE_CSSPrimitiveValue(dwColor));
561 continue; 561 continue;
562 } 562 }
563 } 563 }
564 if (dwType & FDE_CSSVALUETYPE_MaybeEnum) { 564 if (dwType & FDE_CSSVALUETYPE_MaybeEnum) {
565 const FDE_CSSPROPERTYVALUETABLE* pValue = 565 const FDE_CSSPROPERTYVALUETABLE* pValue =
566 FDE_GetCSSPropertyValueByName(pszValue, iValueLen); 566 FDE_GetCSSPropertyValueByName(
567 CFX_WideStringC(pszValue, iValueLen));
567 if (pValue != NULL) { 568 if (pValue != NULL) {
568 list.Add(NewEnumValue(pStaticStore, pValue->eName)); 569 list.Add(NewEnumValue(pStaticStore, pValue->eName));
569 continue; 570 continue;
570 } 571 }
571 } 572 }
572 if (dwType & FDE_CSSVALUETYPE_MaybeString) { 573 if (dwType & FDE_CSSVALUETYPE_MaybeString) {
573 pszValue = CopyToLocal(pArgs, pszValue, iValueLen); 574 pszValue = CopyToLocal(pArgs, pszValue, iValueLen);
574 list.Add(FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue( 575 list.Add(FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue(
575 FDE_CSSPRIMITIVETYPE_String, pszValue)); 576 FDE_CSSPRIMITIVETYPE_String, pszValue));
576 } 577 }
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
688 if (pColor == NULL) { 689 if (pColor == NULL) {
689 FX_ARGB dwColor; 690 FX_ARGB dwColor;
690 if (FDE_ParseCSSColor(pszValue, iValueLen, dwColor)) { 691 if (FDE_ParseCSSColor(pszValue, iValueLen, dwColor)) {
691 pColor = 692 pColor =
692 FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue(dwColor); 693 FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue(dwColor);
693 } 694 }
694 } 695 }
695 break; 696 break;
696 case FDE_CSSPRIMITIVETYPE_String: { 697 case FDE_CSSPRIMITIVETYPE_String: {
697 const FDE_CSSCOLORTABLE* pColorItem = 698 const FDE_CSSCOLORTABLE* pColorItem =
698 FDE_GetCSSColorByName(pszValue, iValueLen); 699 FDE_GetCSSColorByName(CFX_WideStringC(pszValue, iValueLen));
699 if (pColorItem != NULL) { 700 if (pColorItem != NULL) {
700 if (pColor == NULL) { 701 if (pColor == NULL) {
701 pColor = FXTARGET_NewWith(pStaticStore) 702 pColor = FXTARGET_NewWith(pStaticStore)
702 CFDE_CSSPrimitiveValue(pColorItem->dwValue); 703 CFDE_CSSPrimitiveValue(pColorItem->dwValue);
703 } 704 }
704 continue; 705 continue;
705 } 706 }
706 const FDE_CSSPROPERTYVALUETABLE* pValue = 707 const FDE_CSSPROPERTYVALUETABLE* pValue =
707 FDE_GetCSSPropertyValueByName(pszValue, iValueLen); 708 FDE_GetCSSPropertyValueByName(CFX_WideStringC(pszValue, iValueLen));
708 if (pValue == NULL) { 709 if (pValue == NULL) {
709 continue; 710 continue;
710 } 711 }
711 switch (pValue->eName) { 712 switch (pValue->eName) {
712 case FDE_CSSPROPERTYVALUE_Transparent: 713 case FDE_CSSPROPERTYVALUE_Transparent:
713 if (pColor == NULL) { 714 if (pColor == NULL) {
714 pColor = FXTARGET_NewWith(pStaticStore) 715 pColor = FXTARGET_NewWith(pStaticStore)
715 CFDE_CSSPrimitiveValue((FX_ARGB)0); 716 CFDE_CSSPrimitiveValue((FX_ARGB)0);
716 } 717 }
717 break; 718 break;
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
779 while (parser.NextValue(eType, pszValue, iValueLen)) { 780 while (parser.NextValue(eType, pszValue, iValueLen)) {
780 switch (eType) { 781 switch (eType) {
781 case FDE_CSSPRIMITIVETYPE_URI: 782 case FDE_CSSPRIMITIVETYPE_URI:
782 if (pImage == NULL) { 783 if (pImage == NULL) {
783 pImage = FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue( 784 pImage = FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue(
784 eType, CopyToLocal(pArgs, pszValue, iValueLen)); 785 eType, CopyToLocal(pArgs, pszValue, iValueLen));
785 } 786 }
786 break; 787 break;
787 case FDE_CSSPRIMITIVETYPE_String: { 788 case FDE_CSSPRIMITIVETYPE_String: {
788 const FDE_CSSPROPERTYVALUETABLE* pValue = 789 const FDE_CSSPROPERTYVALUETABLE* pValue =
789 FDE_GetCSSPropertyValueByName(pszValue, iValueLen); 790 FDE_GetCSSPropertyValueByName(CFX_WideStringC(pszValue, iValueLen));
790 if (pValue == NULL) { 791 if (pValue == NULL) {
791 break; 792 break;
792 } 793 }
793 switch (pValue->eName) { 794 switch (pValue->eName) {
794 case FDE_CSSPROPERTYVALUE_None: 795 case FDE_CSSPROPERTYVALUE_None:
795 if (pImage == NULL) { 796 if (pImage == NULL) {
796 pImage = NewEnumValue(pStaticStore, pValue->eName); 797 pImage = NewEnumValue(pStaticStore, pValue->eName);
797 } else if (pType == NULL) { 798 } else if (pType == NULL) {
798 pImage = NewEnumValue(pStaticStore, pValue->eName); 799 pImage = NewEnumValue(pStaticStore, pValue->eName);
799 } 800 }
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
871 break; 872 break;
872 } 873 }
873 if (pPosX == NULL) { 874 if (pPosX == NULL) {
874 pPosX = NewNumberValue(pStaticStore, eType, fValue); 875 pPosX = NewNumberValue(pStaticStore, eType, fValue);
875 } else if (pPosY == NULL) { 876 } else if (pPosY == NULL) {
876 pPosY = NewNumberValue(pStaticStore, eType, fValue); 877 pPosY = NewNumberValue(pStaticStore, eType, fValue);
877 } 878 }
878 } break; 879 } break;
879 case FDE_CSSPRIMITIVETYPE_String: { 880 case FDE_CSSPRIMITIVETYPE_String: {
880 const FDE_CSSPROPERTYVALUETABLE* pValue = 881 const FDE_CSSPROPERTYVALUETABLE* pValue =
881 FDE_GetCSSPropertyValueByName(pszValue, iValueLen); 882 FDE_GetCSSPropertyValueByName(CFX_WideStringC(pszValue, iValueLen));
882 if (pValue != NULL) { 883 if (pValue != NULL) {
883 switch (pValue->eName) { 884 switch (pValue->eName) {
884 case FDE_CSSPROPERTYVALUE_None: 885 case FDE_CSSPROPERTYVALUE_None:
885 if (pImage == NULL) { 886 if (pImage == NULL) {
886 pImage = NewEnumValue(pStaticStore, pValue->eName); 887 pImage = NewEnumValue(pStaticStore, pValue->eName);
887 } 888 }
888 break; 889 break;
889 case FDE_CSSPROPERTYVALUE_Transparent: 890 case FDE_CSSPROPERTYVALUE_Transparent:
890 if (pColor == NULL) { 891 if (pColor == NULL) {
891 pColor = FXTARGET_NewWith(pStaticStore) 892 pColor = FXTARGET_NewWith(pStaticStore)
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
924 } else if (pPosY == NULL) { 925 } else if (pPosY == NULL) {
925 pPosX = NewEnumValue(pStaticStore, pValue->eName); 926 pPosX = NewEnumValue(pStaticStore, pValue->eName);
926 } 927 }
927 break; 928 break;
928 default: 929 default:
929 break; 930 break;
930 } 931 }
931 break; 932 break;
932 } 933 }
933 const FDE_CSSCOLORTABLE* pColorItem = 934 const FDE_CSSCOLORTABLE* pColorItem =
934 FDE_GetCSSColorByName(pszValue, iValueLen); 935 FDE_GetCSSColorByName(CFX_WideStringC(pszValue, iValueLen));
935 if (pColorItem != NULL) { 936 if (pColorItem != NULL) {
936 if (pColor == NULL) { 937 if (pColor == NULL) {
937 pColor = FXTARGET_NewWith(pStaticStore) 938 pColor = FXTARGET_NewWith(pStaticStore)
938 CFDE_CSSPrimitiveValue(pColorItem->dwValue); 939 CFDE_CSSPrimitiveValue(pColorItem->dwValue);
939 } 940 }
940 } 941 }
941 } break; 942 } break;
942 case FDE_CSSPRIMITIVETYPE_RGB: 943 case FDE_CSSPRIMITIVETYPE_RGB:
943 if (pColor == NULL) { 944 if (pColor == NULL) {
944 FX_ARGB dwColor; 945 FX_ARGB dwColor;
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
994 IFX_MEMAllocator* pStaticStore = pArgs->pStaticStore; 995 IFX_MEMAllocator* pStaticStore = pArgs->pStaticStore;
995 CFDE_CSSValueListParser parser(pszValue, iValueLen, '/'); 996 CFDE_CSSValueListParser parser(pszValue, iValueLen, '/');
996 IFDE_CSSPrimitiveValue *pStyle = NULL, *pVariant = NULL, *pWeight = NULL; 997 IFDE_CSSPrimitiveValue *pStyle = NULL, *pVariant = NULL, *pWeight = NULL;
997 IFDE_CSSPrimitiveValue *pFontSize = NULL, *pLineHeight = NULL; 998 IFDE_CSSPrimitiveValue *pFontSize = NULL, *pLineHeight = NULL;
998 CFDE_CSSValueArray familyList; 999 CFDE_CSSValueArray familyList;
999 FDE_CSSPRIMITIVETYPE eType; 1000 FDE_CSSPRIMITIVETYPE eType;
1000 while (parser.NextValue(eType, pszValue, iValueLen)) { 1001 while (parser.NextValue(eType, pszValue, iValueLen)) {
1001 switch (eType) { 1002 switch (eType) {
1002 case FDE_CSSPRIMITIVETYPE_String: { 1003 case FDE_CSSPRIMITIVETYPE_String: {
1003 const FDE_CSSPROPERTYVALUETABLE* pValue = 1004 const FDE_CSSPROPERTYVALUETABLE* pValue =
1004 FDE_GetCSSPropertyValueByName(pszValue, iValueLen); 1005 FDE_GetCSSPropertyValueByName(CFX_WideStringC(pszValue, iValueLen));
1005 if (pValue != NULL) { 1006 if (pValue != NULL) {
1006 switch (pValue->eName) { 1007 switch (pValue->eName) {
1007 case FDE_CSSPROPERTYVALUE_XxSmall: 1008 case FDE_CSSPROPERTYVALUE_XxSmall:
1008 case FDE_CSSPROPERTYVALUE_XSmall: 1009 case FDE_CSSPROPERTYVALUE_XSmall:
1009 case FDE_CSSPROPERTYVALUE_Small: 1010 case FDE_CSSPROPERTYVALUE_Small:
1010 case FDE_CSSPROPERTYVALUE_Medium: 1011 case FDE_CSSPROPERTYVALUE_Medium:
1011 case FDE_CSSPROPERTYVALUE_Large: 1012 case FDE_CSSPROPERTYVALUE_Large:
1012 case FDE_CSSPROPERTYVALUE_XLarge: 1013 case FDE_CSSPROPERTYVALUE_XLarge:
1013 case FDE_CSSPROPERTYVALUE_XxLarge: 1014 case FDE_CSSPROPERTYVALUE_XxLarge:
1014 case FDE_CSSPROPERTYVALUE_Smaller: 1015 case FDE_CSSPROPERTYVALUE_Smaller:
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
1132 IFX_MEMAllocator* pStaticStore = pArgs->pStaticStore; 1133 IFX_MEMAllocator* pStaticStore = pArgs->pStaticStore;
1133 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); 1134 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' ');
1134 IFDE_CSSPrimitiveValue* pColumnRuleWidth = NULL; 1135 IFDE_CSSPrimitiveValue* pColumnRuleWidth = NULL;
1135 IFDE_CSSPrimitiveValue* pColumnRuleStyle = NULL; 1136 IFDE_CSSPrimitiveValue* pColumnRuleStyle = NULL;
1136 IFDE_CSSPrimitiveValue* pColumnRuleColor = NULL; 1137 IFDE_CSSPrimitiveValue* pColumnRuleColor = NULL;
1137 FDE_CSSPRIMITIVETYPE eType; 1138 FDE_CSSPRIMITIVETYPE eType;
1138 while (parser.NextValue(eType, pszValue, iValueLen)) { 1139 while (parser.NextValue(eType, pszValue, iValueLen)) {
1139 switch (eType) { 1140 switch (eType) {
1140 case FDE_CSSPRIMITIVETYPE_String: { 1141 case FDE_CSSPRIMITIVETYPE_String: {
1141 const FDE_CSSPROPERTYVALUETABLE* pValue = 1142 const FDE_CSSPROPERTYVALUETABLE* pValue =
1142 FDE_GetCSSPropertyValueByName(pszValue, iValueLen); 1143 FDE_GetCSSPropertyValueByName(CFX_WideStringC(pszValue, iValueLen));
1143 if (pValue != NULL) { 1144 if (pValue != NULL) {
1144 switch (pValue->eName) { 1145 switch (pValue->eName) {
1145 case FDE_CSSPROPERTYVALUE_None: 1146 case FDE_CSSPROPERTYVALUE_None:
1146 case FDE_CSSPROPERTYVALUE_Hidden: 1147 case FDE_CSSPROPERTYVALUE_Hidden:
1147 case FDE_CSSPROPERTYVALUE_Dotted: 1148 case FDE_CSSPROPERTYVALUE_Dotted:
1148 case FDE_CSSPROPERTYVALUE_Dashed: 1149 case FDE_CSSPROPERTYVALUE_Dashed:
1149 case FDE_CSSPROPERTYVALUE_Solid: 1150 case FDE_CSSPROPERTYVALUE_Solid:
1150 case FDE_CSSPROPERTYVALUE_Double: 1151 case FDE_CSSPROPERTYVALUE_Double:
1151 case FDE_CSSPROPERTYVALUE_Groove: 1152 case FDE_CSSPROPERTYVALUE_Groove:
1152 case FDE_CSSPROPERTYVALUE_Ridge: 1153 case FDE_CSSPROPERTYVALUE_Ridge:
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
1229 FX_BOOL bImportant) { 1230 FX_BOOL bImportant) {
1230 IFX_MEMAllocator* pStaticStore = pArgs->pStaticStore; 1231 IFX_MEMAllocator* pStaticStore = pArgs->pStaticStore;
1231 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); 1232 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' ');
1232 CFDE_CSSValueArray arrEmphasisStyle; 1233 CFDE_CSSValueArray arrEmphasisStyle;
1233 FDE_CSSPRIMITIVETYPE eType; 1234 FDE_CSSPRIMITIVETYPE eType;
1234 IFDE_CSSPrimitiveValue* pEmphasisColor = NULL; 1235 IFDE_CSSPrimitiveValue* pEmphasisColor = NULL;
1235 while (parser.NextValue(eType, pszValue, iValueLen)) { 1236 while (parser.NextValue(eType, pszValue, iValueLen)) {
1236 switch (eType) { 1237 switch (eType) {
1237 case FDE_CSSPRIMITIVETYPE_String: { 1238 case FDE_CSSPRIMITIVETYPE_String: {
1238 const FDE_CSSPROPERTYVALUETABLE* pValue = 1239 const FDE_CSSPROPERTYVALUETABLE* pValue =
1239 FDE_GetCSSPropertyValueByName(pszValue, iValueLen); 1240 FDE_GetCSSPropertyValueByName(CFX_WideStringC(pszValue, iValueLen));
1240 if (pValue != NULL) { 1241 if (pValue != NULL) {
1241 arrEmphasisStyle.Add(NewEnumValue(pStaticStore, pValue->eName)); 1242 arrEmphasisStyle.Add(NewEnumValue(pStaticStore, pValue->eName));
1242 continue; 1243 continue;
1243 } 1244 }
1244 FX_ARGB dwColor; 1245 FX_ARGB dwColor;
1245 if (FDE_ParseCSSColor(pszValue, iValueLen, dwColor)) { 1246 if (FDE_ParseCSSColor(pszValue, iValueLen, dwColor)) {
1246 pEmphasisColor = 1247 pEmphasisColor =
1247 FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue(dwColor); 1248 FXTARGET_NewWith(pStaticStore) CFDE_CSSPrimitiveValue(dwColor);
1248 continue; 1249 continue;
1249 } 1250 }
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1282 FX_BOOL bImportant) { 1283 FX_BOOL bImportant) {
1283 IFX_MEMAllocator* pStaticStore = pArgs->pStaticStore; 1284 IFX_MEMAllocator* pStaticStore = pArgs->pStaticStore;
1284 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); 1285 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' ');
1285 IFDE_CSSPrimitiveValue* pColumnWidth = NULL; 1286 IFDE_CSSPrimitiveValue* pColumnWidth = NULL;
1286 IFDE_CSSPrimitiveValue* pColumnCount = NULL; 1287 IFDE_CSSPrimitiveValue* pColumnCount = NULL;
1287 FDE_CSSPRIMITIVETYPE eType; 1288 FDE_CSSPRIMITIVETYPE eType;
1288 while (parser.NextValue(eType, pszValue, iValueLen)) { 1289 while (parser.NextValue(eType, pszValue, iValueLen)) {
1289 switch (eType) { 1290 switch (eType) {
1290 case FDE_CSSPRIMITIVETYPE_String: { 1291 case FDE_CSSPRIMITIVETYPE_String: {
1291 const FDE_CSSPROPERTYVALUETABLE* pValue = 1292 const FDE_CSSPROPERTYVALUETABLE* pValue =
1292 FDE_GetCSSPropertyValueByName(pszValue, iValueLen); 1293 FDE_GetCSSPropertyValueByName(CFX_WideStringC(pszValue, iValueLen));
1293 if (pValue == NULL && pValue->eName == FDE_CSSPROPERTYVALUE_Auto) { 1294 if (pValue == NULL && pValue->eName == FDE_CSSPROPERTYVALUE_Auto) {
1294 pColumnWidth = NewEnumValue(pStaticStore, pValue->eName); 1295 pColumnWidth = NewEnumValue(pStaticStore, pValue->eName);
1295 } 1296 }
1296 } break; 1297 } break;
1297 case FDE_CSSPRIMITIVETYPE_Number: { 1298 case FDE_CSSPRIMITIVETYPE_Number: {
1298 FX_FLOAT fValue; 1299 FX_FLOAT fValue;
1299 if (FDE_ParseCSSNumber(pszValue, iValueLen, fValue, eType)) { 1300 if (FDE_ParseCSSNumber(pszValue, iValueLen, fValue, eType)) {
1300 switch (eType) { 1301 switch (eType) {
1301 case FDE_CSSPRIMITIVETYPE_Number: 1302 case FDE_CSSPRIMITIVETYPE_Number:
1302 if (pColumnCount == NULL) { 1303 if (pColumnCount == NULL) {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1334 int32_t iValueLen, 1335 int32_t iValueLen,
1335 FX_BOOL bImportant) { 1336 FX_BOOL bImportant) {
1336 IFX_MEMAllocator* pStaticStore = pArgs->pStaticStore; 1337 IFX_MEMAllocator* pStaticStore = pArgs->pStaticStore;
1337 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' '); 1338 CFDE_CSSValueListParser parser(pszValue, iValueLen, ' ');
1338 IFDE_CSSPrimitiveValue* pOverflowX = NULL; 1339 IFDE_CSSPrimitiveValue* pOverflowX = NULL;
1339 IFDE_CSSPrimitiveValue* pOverflowY = NULL; 1340 IFDE_CSSPrimitiveValue* pOverflowY = NULL;
1340 FDE_CSSPRIMITIVETYPE eType; 1341 FDE_CSSPRIMITIVETYPE eType;
1341 while (parser.NextValue(eType, pszValue, iValueLen)) { 1342 while (parser.NextValue(eType, pszValue, iValueLen)) {
1342 if (eType == FDE_CSSPRIMITIVETYPE_String) { 1343 if (eType == FDE_CSSPRIMITIVETYPE_String) {
1343 const FDE_CSSPROPERTYVALUETABLE* pValue = 1344 const FDE_CSSPROPERTYVALUETABLE* pValue =
1344 FDE_GetCSSPropertyValueByName(pszValue, iValueLen); 1345 FDE_GetCSSPropertyValueByName(CFX_WideStringC(pszValue, iValueLen));
1345 if (pValue != NULL) { 1346 if (pValue != NULL) {
1346 switch (pValue->eName) { 1347 switch (pValue->eName) {
1347 case FDE_CSSOVERFLOW_Visible: 1348 case FDE_CSSOVERFLOW_Visible:
1348 case FDE_CSSOVERFLOW_Hidden: 1349 case FDE_CSSOVERFLOW_Hidden:
1349 case FDE_CSSOVERFLOW_Scroll: 1350 case FDE_CSSOVERFLOW_Scroll:
1350 case FDE_CSSOVERFLOW_Auto: 1351 case FDE_CSSOVERFLOW_Auto:
1351 case FDE_CSSOVERFLOW_NoDisplay: 1352 case FDE_CSSOVERFLOW_NoDisplay:
1352 case FDE_CSSOVERFLOW_NoContent: 1353 case FDE_CSSOVERFLOW_NoContent:
1353 if (pOverflowX != NULL && pOverflowY != NULL) { 1354 if (pOverflowX != NULL && pOverflowY != NULL) {
1354 return FALSE; 1355 return FALSE;
(...skipping 13 matching lines...) Expand all
1368 return FALSE; 1369 return FALSE;
1369 } else if (pOverflowY == NULL) { 1370 } else if (pOverflowY == NULL) {
1370 pOverflowY = NewEnumValue(pStaticStore, pOverflowX->GetEnum()); 1371 pOverflowY = NewEnumValue(pStaticStore, pOverflowX->GetEnum());
1371 } 1372 }
1372 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_OverflowX, pOverflowX, 1373 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_OverflowX, pOverflowX,
1373 bImportant); 1374 bImportant);
1374 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_OverflowY, pOverflowY, 1375 AddPropertyHolder(pStaticStore, FDE_CSSPROPERTY_OverflowY, pOverflowY,
1375 bImportant); 1376 bImportant);
1376 return TRUE; 1377 return TRUE;
1377 } 1378 }
OLDNEW
« no previous file with comments | « xfa/fde/css/fde_cssdatatable.cpp ('k') | xfa/fde/css/fde_cssstyleselector.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698