Changeset 89362 in webkit
- Timestamp:
- Jun 21, 2011 10:32:29 AM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/CMakeLists.txt
r89321 r89362 2208 2208 DEPENDS ${WebCore_CSS_PROPERTY_NAMES} 2209 2209 WORKING_DIRECTORY ${DERIVED_SOURCES_WEBCORE_DIR} 2210 COMMAND ${PERL_EXECUTABLE} -ne "print"${WebCore_CSS_PROPERTY_NAMES} > ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.in2211 COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/css/makeprop.pl2210 COMMAND cat ${WebCore_CSS_PROPERTY_NAMES} > ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.in 2211 COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${WEBCORE_DIR}/css/makeprop.pl --defines "${FEATURE_DEFINES}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" 2212 2212 VERBATIM) 2213 2213 LIST(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.cpp) … … 2222 2222 DEPENDS ${WebCore_CSS_VALUE_KEYWORDS} 2223 2223 WORKING_DIRECTORY ${DERIVED_SOURCES_WEBCORE_DIR} 2224 COMMAND ${PERL_EXECUTABLE} -ne "print lc"${WebCore_CSS_VALUE_KEYWORDS} > ${DERIVED_SOURCES_WEBCORE_DIR}/CSSValueKeywords.in2225 COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/css/makevalues.pl2224 COMMAND cat ${WebCore_CSS_VALUE_KEYWORDS} > ${DERIVED_SOURCES_WEBCORE_DIR}/CSSValueKeywords.in 2225 COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${WEBCORE_DIR}/css/makevalues.pl --defines "${FEATURE_DEFINES}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" 2226 2226 VERBATIM) 2227 2227 LIST(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/CSSValueKeywords.cpp) -
trunk/Source/WebCore/ChangeLog
r89359 r89362 1 2011-06-21 Alexandru Chiculita <achicu@adobe.com> 2 3 Reviewed by Tony Chang. 4 5 "WebCore/css/makeprop.pl" and "WebCore/css/makevalues.pl" should take ENABLE_ flags into account 6 https://bugs.webkit.org/show_bug.cgi?id=62114 7 8 Changed the line commenting style in WebCore/css/*.in files from "#" prefixed to "//" prefixed. 9 That's needed because we now pre-process the files with the C++ pre-processor. Also, there's 10 no need to manually strip the comments anymore. 11 12 Moved the duplication checks from project files to makeprop.pl and makevalues.pl. 13 In addition makevalues.pl will also lower case the values. 14 15 This is a build script refactoring, so no tests are provided. 16 17 * CMakeLists.txt: 18 * CodeGenerators.pri: 19 * DerivedSources.make: 20 * GNUmakefile.am: 21 * WebCore.gyp/WebCore.gyp: 22 * WebCore.gyp/scripts/action_csspropertynames.py: 23 * WebCore.gyp/scripts/action_cssvaluekeywords.py: 24 * css/CSSPropertyNames.in: comment style only 25 * css/CSSValueKeywords.in: comment style only 26 * css/SVGCSSPropertyNames.in: comment style only 27 * css/SVGCSSValueKeywords.in: comment style only 28 * css/WCSSValueKeywords.in: comment style only 29 * css/makeprop.pl: 30 * css/makevalues.pl: 31 1 32 2011-06-21 Peter Varga <pvarga@webkit.org> 2 33 -
trunk/Source/WebCore/CodeGenerators.pri
r88798 r89362 608 608 cssprops.output = $${WC_GENERATED_SOURCES_DIR}/CSSPropertyNames.cpp 609 609 cssprops.input = WALDOCSSPROPS 610 cssprops.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} $${DASHBOARDSUPPORTCSSPROPERTIES} $${EXTRACSSPROPERTIES} > $${WC_GENERATED_SOURCES_DIR}/${QMAKE_FILE_BASE}.in && cd $$WC_GENERATED_SOURCES_DIR && perl $$cssprops.wkScript&& $(DEL_FILE) ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.gperf610 cssprops.commands = cat ${QMAKE_FILE_NAME} $${DASHBOARDSUPPORTCSSPROPERTIES} $${EXTRACSSPROPERTIES} > $${WC_GENERATED_SOURCES_DIR}/${QMAKE_FILE_BASE}.in && cd $$WC_GENERATED_SOURCES_DIR && perl -I$$PWD/bindings/scripts $$cssprops.wkScript --defines \"$${FEATURE_DEFINES_JAVASCRIPT}\" --preprocessor \"$${QMAKE_MOC} -E\" ${QMAKE_FILE_NAME} && $(DEL_FILE) ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.gperf 611 611 cssprops.depends = ${QMAKE_FILE_NAME} $${DASHBOARDSUPPORTCSSPROPERTIES} $${EXTRACSSPROPERTIES} $$cssprops.wkScript 612 612 addExtraCompiler(cssprops) … … 616 616 cssvalues.output = $${WC_GENERATED_SOURCES_DIR}/CSSValueKeywords.cpp 617 617 cssvalues.input = WALDOCSSVALUES 618 cssvalues.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} $$EXTRACSSVALUES > $${WC_GENERATED_SOURCES_DIR}/${QMAKE_FILE_BASE}.in && cd $$WC_GENERATED_SOURCES_DIR && perl $$cssvalues.wkScript&& $(DEL_FILE) ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.gperf618 cssvalues.commands = cat ${QMAKE_FILE_NAME} $$EXTRACSSVALUES > $${WC_GENERATED_SOURCES_DIR}/${QMAKE_FILE_BASE}.in && cd $$WC_GENERATED_SOURCES_DIR && perl -I$$PWD/bindings/scripts $$cssvalues.wkScript --defines \"$${FEATURE_DEFINES_JAVASCRIPT}\" --preprocessor \"$${QMAKE_MOC} -E\" ${QMAKE_FILE_NAME} && $(DEL_FILE) ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.gperf 619 619 cssvalues.depends = ${QMAKE_FILE_NAME} $${EXTRACSSVALUES} $$cssvalues.wkScript 620 620 cssvalues.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_WC_GENERATED_SOURCES_DIR}/${QMAKE_FILE_BASE}.h -
trunk/Source/WebCore/DerivedSources.make
r88798 r89362 651 651 endif 652 652 653 # The grep commands below reject output containing anything other than:654 # 1. Lines beginning with '#'655 # 2. Lines containing only whitespace656 # These two types of lines will be ignored by make{prop,values}.pl.657 653 CSSPropertyNames.h : $(WEBCORE_CSS_PROPERTY_NAMES) css/makeprop.pl 658 if sort $(WEBCORE_CSS_PROPERTY_NAMES) | uniq -d | grep -E -v '(^#)|(^[[:space:]]*$$)'; then echo 'Duplicate value!'; exit 1; fi659 654 cat $(WEBCORE_CSS_PROPERTY_NAMES) > CSSPropertyNames.in 660 perl "$(WebCore)/css/makeprop.pl"655 perl -I$(WebCore)/bindings/scripts "$(WebCore)/css/makeprop.pl" --defines "$(FEATURE_DEFINES)" 661 656 662 657 CSSValueKeywords.h : $(WEBCORE_CSS_VALUE_KEYWORDS) css/makevalues.pl 663 # Lower case all the values, as CSS values are case-insensitive 664 perl -ne 'print lc' $(WEBCORE_CSS_VALUE_KEYWORDS) > CSSValueKeywords.in 665 if sort CSSValueKeywords.in | uniq -d | grep -E -v '(^#)|(^[[:space:]]*$$)'; then echo 'Duplicate value!'; exit 1; fi 666 perl "$(WebCore)/css/makevalues.pl" 658 cat $(WEBCORE_CSS_VALUE_KEYWORDS) > CSSValueKeywords.in 659 perl -I$(WebCore)/bindings/scripts "$(WebCore)/css/makevalues.pl" --defines "$(FEATURE_DEFINES)" 667 660 668 661 # -------- -
trunk/Source/WebCore/GNUmakefile.am
r89251 r89362 596 596 DerivedSources/WebCore/CSSPropertyNames.cpp: DerivedSources/WebCore/CSSPropertyNames.h 597 597 DerivedSources/WebCore/CSSPropertyNames.h: $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/makeprop.pl 598 if sort $(WEBCORE_CSS_PROPERTY_NAMES) | uniq -d | grep -E '^[^#]'; then echo 'Duplicate value!'; exit 1; fi599 598 cat $(WEBCORE_CSS_PROPERTY_NAMES) > CSSPropertyNames.in 600 $(PERL) "$(WebCore)/css/makeprop.pl"599 $(PERL) -I$(WebCore)/bindings/scripts "$(WebCore)/css/makeprop.pl" --defines "$(FEATURE_DEFINES)" 601 600 mv CSSPropertyNames* $(GENSOURCES_WEBCORE) 602 601 … … 604 603 DerivedSources/WebCore/CSSValueKeywords.cpp: DerivedSources/WebCore/CSSValueKeywords.h 605 604 DerivedSources/WebCore/CSSValueKeywords.h: $(WEBCORE_CSS_VALUE_KEYWORDS) $(WebCore)/css/makevalues.pl 606 $(PERL) -ne 'print lc' $(WEBCORE_CSS_VALUE_KEYWORDS) > CSSValueKeywords.in 607 if sort CSSValueKeywords.in | uniq -d | grep -E '^[^#]'; then echo 'Duplicate value!'; exit 1; fi 608 $(PERL) "$(WebCore)/css/makevalues.pl" 605 cat $(WEBCORE_CSS_VALUE_KEYWORDS) > CSSValueKeywords.in 606 $(PERL) -I$(WebCore)/bindings/scripts "$(WebCore)/css/makevalues.pl" --defines "$(FEATURE_DEFINES)" 609 607 mv CSSValueKeywords* $(GENSOURCES_WEBCORE) 610 608 -
trunk/Source/WebCore/WebCore.gyp/WebCore.gyp
r89266 r89362 533 533 '<@(_outputs)', 534 534 '--', 535 '<@(_inputs)' 535 '--defines', '<(feature_defines)', 536 '--', 537 '<@(_inputs)', 536 538 ], 537 539 'conditions': [ … … 559 561 '<@(_outputs)', 560 562 '--', 561 '<@(_inputs)' 563 '--defines', '<(feature_defines)', 564 '--', 565 '<@(_inputs)', 562 566 ], 563 567 'conditions': [ -
trunk/Source/WebCore/WebCore.gyp/scripts/action_csspropertynames.py
r50480 r89362 32 32 # gyp-based builds to makeprop.pl. 33 33 # 34 # usage: action_ makenames.py OUTPUTS-- INPUTS34 # usage: action_csspropertynames.py OUTPUTS -- [--defines ENABLE_FLAG1 ENABLE_FLAG2 ...] -- INPUTS 35 35 # 36 36 # Exactly two outputs must be specified: a path to each of CSSPropertyNames.cpp … … 45 45 import os 46 46 import posixpath 47 import shlex 47 48 import shutil 48 49 import subprocess … … 74 75 75 76 77 def SplitDefines(options): 78 # The defines come in as one flat string. Split it up into distinct arguments. 79 if '--defines' in options: 80 definesIndex = options.index('--defines') 81 if definesIndex + 1 < len(options): 82 splitOptions = shlex.split(options[definesIndex + 1]) 83 if splitOptions: 84 options[definesIndex + 1] = ' '.join(splitOptions) 85 76 86 def main(args): 77 (outputs, inputs) = SplitArgsIntoSections(args[1:]) 87 outputs, options, inputs = SplitArgsIntoSections(args[1:]) 88 89 SplitDefines(options) 78 90 79 91 # Make all output pathnames absolute so that they can be accessed after … … 115 127 merged = open(mergedPath, 'wb') # 'wb' to get \n only on windows 116 128 117 # Make sure there aren't any duplicate lines in the in files. 118 lineDict = {} 129 # Concatenate all the input files. 119 130 for inFilePath in inFiles: 120 131 inFile = open(inFilePath) 121 for line in inFile: 122 line = line.rstrip() 123 if line.startswith('#'): 124 line = '' 125 if line == '': 126 continue 127 if line in lineDict: 128 raise KeyError, 'Duplicate value %s' % line 129 lineDict[line] = True 130 print >>merged, line 132 shutil.copyfileobj(inFile, merged) 131 133 inFile.close() 132 134 133 135 merged.close() 134 136 137 # scriptsPath is a Perl include directory, located relative to 138 # makepropInput. 139 scriptsPath = os.path.normpath( 140 os.path.join(os.path.dirname(makepropInput), os.pardir, 'bindings', 'scripts')) 141 135 142 # Build up the command. 136 command = ['perl', makepropInput] 143 command = ['perl', '-I', scriptsPath, makepropInput] 144 command.extend(options) 137 145 138 146 # Do it. checkCall is new in 2.5, so simulate its behavior with call and -
trunk/Source/WebCore/WebCore.gyp/scripts/action_cssvaluekeywords.py
r50480 r89362 36 36 # gyp-based builds to makevalues.pl. 37 37 # 38 # usage: action_cssvaluekeywords.py OUTPUTS -- INPUTS38 # usage: action_cssvaluekeywords.py OUTPUTS -- [--defines ENABLE_FLAG1 ENABLE_FLAG2 ...] -- INPUTS 39 39 # 40 40 # Exactly two outputs must be specified: a path to each of CSSValueKeywords.c … … 49 49 import os 50 50 import posixpath 51 import shlex 51 52 import shutil 52 53 import subprocess … … 78 79 79 80 81 def SplitDefines(options): 82 # The defines come in as one flat string. Split it up into distinct arguments. 83 if '--defines' in options: 84 definesIndex = options.index('--defines') 85 if definesIndex + 1 < len(options): 86 splitOptions = shlex.split(options[definesIndex + 1]) 87 if splitOptions: 88 options[definesIndex + 1] = ' '.join(splitOptions) 89 80 90 def main(args): 81 (outputs, inputs) = SplitArgsIntoSections(args[1:]) 91 outputs, options, inputs = SplitArgsIntoSections(args[1:]) 92 93 SplitDefines(options) 82 94 83 95 # Make all output pathnames absolute so that they can be accessed after … … 119 131 merged = open(mergedPath, 'wb') # 'wb' to get \n only on windows 120 132 121 # Make sure there aren't any duplicate lines in the in files. Lowercase 122 # everything because CSS values are case-insensitive. 123 lineDict = {} 133 # Concatenate all the input files. 124 134 for inFilePath in inFiles: 125 135 inFile = open(inFilePath) 126 for line in inFile: 127 line = line.rstrip() 128 if line.startswith('#'): 129 line = '' 130 if line == '': 131 continue 132 line = line.lower() 133 if line in lineDict: 134 raise KeyError, 'Duplicate value %s' % line 135 lineDict[line] = True 136 print >>merged, line 136 shutil.copyfileobj(inFile, merged) 137 137 inFile.close() 138 138 139 139 merged.close() 140 140 141 # scriptsPath is a Perl include directory, located relative to 142 # makevaluesInput. 143 scriptsPath = os.path.normpath( 144 os.path.join(os.path.dirname(makevaluesInput), os.pardir, 'bindings', 'scripts')) 145 141 146 # Build up the command. 142 command = ['perl', makevaluesInput] 147 command = ['perl', '-I', scriptsPath, makevaluesInput] 148 command.extend(options) 143 149 144 150 # Do it. checkCall is new in 2.5, so simulate its behavior with call and -
trunk/Source/WebCore/css/CSSPropertyNames.in
r87121 r89362 1 # 2 #CSS property names3 # 4 #Some properties are used internally, but are not part of CSS. They are used to get5 #HTML4 compatibility in the rendering engine.6 # 7 #Microsoft extensions are documented here:8 #http://msdn.microsoft.com/workshop/author/css/reference/attributes.asp9 # 1 // 2 // CSS property names 3 // 4 // Some properties are used internally, but are not part of CSS. They are used to get 5 // HTML4 compatibility in the rendering engine. 6 // 7 // Microsoft extensions are documented here: 8 // http://msdn.microsoft.com/workshop/author/css/reference/attributes.asp 9 // 10 10 11 #high-priority property names have to be listed first, to simplify the check12 #for applying them first.11 // high-priority property names have to be listed first, to simplify the check 12 // for applying them first. 13 13 color 14 14 direction … … 29 29 zoom 30 30 31 #line height needs to be right after the above high-priority properties31 // line height needs to be right after the above high-priority properties 32 32 line-height 33 33 34 #The remaining properties are listed in alphabetical order34 // The remaining properties are listed in alphabetical order 35 35 background 36 36 background-attachment … … 80 80 box-shadow 81 81 box-sizing 82 #-webkit-box-sizing worked in Safari 4 and earlier.82 // -webkit-box-sizing worked in Safari 4 and earlier. 83 83 -webkit-box-sizing = box-sizing 84 84 caption-side … … 111 111 min-width 112 112 opacity 113 #Honor -webkit-opacity as a synonym for opacity. This was the only syntax that worked in Safari 1.1,114 #and may be in use on some websites and widgets.113 // Honor -webkit-opacity as a synonym for opacity. This was the only syntax that worked in Safari 1.1, 114 // and may be in use on some websites and widgets. 115 115 -webkit-opacity = opacity 116 116 orphans … … 190 190 -webkit-background-composite 191 191 -webkit-background-origin 192 #-webkit-background-size differs from background-size only in the interpretation of193 #a single value: -webkit-background-size: l; is equivalent to background-size: l l;194 #whereas background-size: l; is equivalent to background-size: l auto;192 // -webkit-background-size differs from background-size only in the interpretation of 193 // a single value: -webkit-background-size: l; is equivalent to background-size: l l; 194 // whereas background-size: l; is equivalent to background-size: l auto; 195 195 -webkit-background-size 196 196 -webkit-border-after … … 209 209 -webkit-border-horizontal-spacing 210 210 -webkit-border-image 211 #-webkit-border-radius differs from border-radius only in the interpretation of212 #a value consisting of two lengths: "-webkit-border-radius: l1 l2;" is equivalent213 #to "border-radius: l1 / l2;"211 // -webkit-border-radius differs from border-radius only in the interpretation of 212 // a value consisting of two lengths: "-webkit-border-radius: l1 l2;" is equivalent 213 // to "border-radius: l1 / l2;" 214 214 -webkit-border-radius 215 215 -webkit-border-start -
trunk/Source/WebCore/css/CSSValueKeywords.in
r87881 r89362 1 #These are all values accepted for CSS2.2 # 3 #WARNING:4 #--------5 # 6 #The Values are sorted according to the properties they belong to,7 #and have to be in the same order as the enums in RenderStyleConstants.h.8 # 9 #If not, the optimizations in the cssparser and style selector will fail,10 #and produce incorrect results.11 # 1 // These are all values accepted for CSS2. 2 // 3 // WARNING: 4 // -------- 5 // 6 // The Values are sorted according to the properties they belong to, 7 // and have to be in the same order as the enums in RenderStyleConstants.h. 8 // 9 // If not, the optimizations in the cssparser and style selector will fail, 10 // and produce incorrect results. 11 // 12 12 inherit 13 13 initial 14 # 15 #CSS_PROP_OUTLINE_STYLE16 #CSS_PROP_BORDER_TOP_STYLE17 #CSS_PROP_BORDER_BOTTOM_STYLE18 #CSS_PROP_BORDER_LEFT_STYLE14 // 15 // CSS_PROP_OUTLINE_STYLE 16 // CSS_PROP_BORDER_TOP_STYLE 17 // CSS_PROP_BORDER_BOTTOM_STYLE 18 // CSS_PROP_BORDER_LEFT_STYLE 19 19 none 20 20 hidden … … 27 27 solid 28 28 double 29 # 30 #CSS_PROP_FONT:31 # 29 // 30 // CSS_PROP_FONT: 31 // 32 32 caption 33 33 icon … … 40 40 status-bar 41 41 42 # 43 #CSS_PROP_FONT_STYLE:44 # 45 #normal42 // 43 // CSS_PROP_FONT_STYLE: 44 // 45 //normal 46 46 italic 47 47 oblique 48 #The following is only allowed in @font-face:48 // The following is only allowed in @font-face: 49 49 all 50 # 51 #CSS_PROP_FONT_VARIANT:52 # 53 #normal50 // 51 // CSS_PROP_FONT_VARIANT: 52 // 53 //normal 54 54 small-caps 55 # 56 #CSS_PROP_FONT_WEIGHT:57 # 55 // 56 // CSS_PROP_FONT_WEIGHT: 57 // 58 58 normal 59 59 bold … … 69 69 800 70 70 900 71 # 72 #CSS_PROP_FONT_SIZE:73 # 71 // 72 // CSS_PROP_FONT_SIZE: 73 // 74 74 xx-small 75 75 x-small … … 82 82 smaller 83 83 larger 84 # 85 #CSS_PROP_FONT_STRETCH:86 # 87 #normal84 // 85 // CSS_PROP_FONT_STRETCH: 86 // 87 //normal 88 88 wider 89 89 narrower … … 96 96 extra-expanded 97 97 ultra-expanded 98 # 99 #CSS_PROP_GENERIC_FONT_FAMILY:100 # 98 // 99 // CSS_PROP_GENERIC_FONT_FAMILY: 100 // 101 101 serif 102 102 sans-serif … … 105 105 monospace 106 106 -webkit-body 107 # 108 # 109 #CSS_PROP_*_COLOR110 # 107 // 108 // 109 // CSS_PROP_*_COLOR 110 // 111 111 aqua 112 112 black … … 159 159 -webkit-focus-ring-color 160 160 currentcolor 161 # 162 #colors in non strict mode161 // 162 // colors in non strict mode 163 163 grey 164 164 -webkit-text 165 # 166 #CSS_PROP_BACKGROUND_REPEAT:167 # 165 // 166 // CSS_PROP_BACKGROUND_REPEAT: 167 // 168 168 repeat 169 169 repeat-x 170 170 repeat-y 171 171 no-repeat 172 #round173 #space174 # 175 #CSS_PROP__WEBKIT_BACKGROUND_COMPOSITE:176 # 172 // round 173 // space 174 // 175 // CSS_PROP__WEBKIT_BACKGROUND_COMPOSITE: 176 // 177 177 clear 178 178 copy … … 187 187 xor 188 188 plus-darker 189 #highlight189 // highlight 190 190 plus-lighter 191 # 192 #CSS_PROP_VERTICAL_ALIGN:193 # 191 // 192 // CSS_PROP_VERTICAL_ALIGN: 193 // 194 194 baseline 195 195 middle … … 200 200 top 201 201 bottom 202 #HTML alignment MIDDLE has no corresponding CSS alignment202 // HTML alignment MIDDLE has no corresponding CSS alignment 203 203 -webkit-baseline-middle 204 # 205 #CSS_PROP_TEXT_ALIGN:206 # 204 // 205 // CSS_PROP_TEXT_ALIGN: 206 // 207 207 -webkit-auto 208 208 left … … 214 214 -webkit-center 215 215 -webkit-match-parent 216 # 217 #CSS_PROP_LIST_STYLE_POSITION:218 # 216 // 217 // CSS_PROP_LIST_STYLE_POSITION: 218 // 219 219 outside 220 220 inside 221 # 222 #CSS_PROP_LIST_STYLE_TYPE:223 # 221 // 222 // CSS_PROP_LIST_STYLE_TYPE: 223 // 224 224 disc 225 225 circle … … 302 302 hiragana-iroha 303 303 katakana-iroha 304 #none305 # 306 #CSS_PROP_DISPLAY:307 # 304 //none 305 // 306 // CSS_PROP_DISPLAY: 307 // 308 308 inline 309 309 block … … 325 325 -webkit-inline-box 326 326 -wap-marquee 327 #none328 # 329 #CSS_PROP_CURSOR:330 # 327 //none 328 // 329 // CSS_PROP_CURSOR: 330 // 331 331 auto 332 332 crosshair … … 338 338 context-menu 339 339 alias 340 #copy340 // copy 341 341 progress 342 342 no-drop … … 364 364 -webkit-grab 365 365 -webkit-grabbing 366 #none367 # 368 #CSS_PROP_DIRECTION:369 # 366 // none 367 // 368 // CSS_PROP_DIRECTION: 369 // 370 370 ltr 371 371 rtl 372 # 373 #CSS_PROP_TEXT_TRANSFORM:374 # 372 // 373 // CSS_PROP_TEXT_TRANSFORM: 374 // 375 375 capitalize 376 376 uppercase 377 377 lowercase 378 #none379 # 380 #CSS_PROP_VISIBILITY:381 # 378 //none 379 // 380 // CSS_PROP_VISIBILITY: 381 // 382 382 visible 383 #hidden383 //hidden 384 384 collapse 385 # 386 #Unordered rest387 # 385 // 386 // Unordered rest 387 // 388 388 a3 389 389 a4 … … 440 440 -webkit-nowrap 441 441 442 #CSS3 Values443 #CSS_PROP_BOX_ALIGN442 // CSS3 Values 443 // CSS_PROP_BOX_ALIGN 444 444 stretch 445 445 start 446 446 end 447 #center448 #baseline449 450 #CSS_PROP_BOX_DIRECTION451 #normal447 //center 448 //baseline 449 450 // CSS_PROP_BOX_DIRECTION 451 // normal 452 452 reverse 453 453 454 #CSS_PROP_BOX_ORIENT454 // CSS_PROP_BOX_ORIENT 455 455 horizontal 456 456 vertical … … 458 458 block-axis 459 459 460 #CSS_PROP_BOX_PACK461 #start462 #end463 #center464 #justify465 466 #CSS_PROP_BOX_LINES460 // CSS_PROP_BOX_PACK 461 // start 462 // end 463 // center 464 // justify 465 466 // CSS_PROP_BOX_LINES 467 467 single 468 468 multiple 469 469 470 #CSS_PROP_MARQUEE_DIRECTION470 // CSS_PROP_MARQUEE_DIRECTION 471 471 forwards 472 472 backwards 473 473 ahead 474 #reverse475 #left476 #right474 // reverse 475 // left 476 // right 477 477 up 478 478 down 479 #auto480 481 #CSS_PROP_MARQUEE_SPEED479 // auto 480 481 // CSS_PROP_MARQUEE_SPEED 482 482 slow 483 #normal483 // normal 484 484 fast 485 485 486 #CSS_PROP_MARQUEE_REPETITION486 // CSS_PROP_MARQUEE_REPETITION 487 487 infinite 488 488 489 #CSS_PROP_MARQUEE_STYLE490 #none489 // CSS_PROP_MARQUEE_STYLE 490 // none 491 491 slide 492 #scroll492 // scroll 493 493 alternate 494 494 495 # 496 #CSS_PROP__KHTML_USER_MODIFY497 # 495 // 496 // CSS_PROP__KHTML_USER_MODIFY 497 // 498 498 read-only 499 499 read-write 500 500 read-write-plaintext-only 501 501 502 # 503 #CSS_PROP__KHTML_USER_DRAG504 # 502 // 503 // CSS_PROP__KHTML_USER_DRAG 504 // 505 505 element 506 506 507 # 508 #CSS_PROP__KHTML_USER_SELECT509 # 507 // 508 // CSS_PROP__KHTML_USER_SELECT 509 // 510 510 ignore 511 511 512 # 513 #CSS_PROP_WIDTH/MIN_WIDTH/MAX_WIDTH514 # 512 // 513 // CSS_PROP_WIDTH/MIN_WIDTH/MAX_WIDTH 514 // 515 515 intrinsic 516 516 min-intrinsic 517 517 518 # 519 #CSS_PROP_TEXT_OVERFLOW520 # 518 // 519 // CSS_PROP_TEXT_OVERFLOW 520 // 521 521 clip 522 522 ellipsis 523 523 524 # 525 #CSS_PROP__KHTML_MARGIN_COLLAPSE526 # 527 #collapse528 #separate524 // 525 // CSS_PROP__KHTML_MARGIN_COLLAPSE 526 // 527 // collapse 528 // separate 529 529 discard 530 530 531 # 532 #CSS_PROP_TEXT_*_COLOR533 # 531 // 532 // CSS_PROP_TEXT_*_COLOR 533 // 534 534 dot-dash 535 535 dot-dot-dash 536 536 wave 537 537 538 # 539 #CSS_PROP_TEXT_*_MODE540 # 538 // 539 // CSS_PROP_TEXT_*_MODE 540 // 541 541 continuous 542 542 skip-white-space 543 543 544 # 545 #CSS_PROP_WORD_BREAK546 # 544 // 545 // CSS_PROP_WORD_BREAK 546 // 547 547 break-all 548 548 549 # 550 #CSS_PROP_WORD_WRAP551 # 549 // 550 // CSS_PROP_WORD_WRAP 551 // 552 552 break-word 553 553 554 # 555 #CSS_PROP__KHTML_NBSP_MODE556 # 554 // 555 // CSS_PROP__KHTML_NBSP_MODE 556 // 557 557 space 558 558 559 # 560 #CSS_PROP__KHTML_LINE_BREAK561 # 559 // 560 // CSS_PROP__KHTML_LINE_BREAK 561 // 562 562 after-white-space 563 563 564 #-webkit-appearance565 #The order here should match the order in the ControlPart enum in ThemeTypes.h.566 #All appearance values that should be accepted by the parser should be listed between 'checkbox' and 'textarea':564 // -webkit-appearance 565 // The order here should match the order in the ControlPart enum in ThemeTypes.h. 566 // All appearance values that should be accepted by the parser should be listed between 'checkbox' and 'textarea': 567 567 checkbox 568 568 radio … … 618 618 rating-level-indicator 619 619 textarea 620 #An appearance value that should not be accepted by the parser:620 // An appearance value that should not be accepted by the parser: 621 621 caps-lock-indicator 622 622 623 # 624 #CSS_PROP_BORDER_IMAGE625 # 626 #stretch627 #repeat623 // 624 // CSS_PROP_BORDER_IMAGE 625 // 626 // stretch 627 // repeat 628 628 round 629 629 630 # 631 #CSS_PROP_BACKGROUND_CLIP/ORIGIN632 # 633 #border/content/padding are deprecated and ultimately will only apply to the -webkit- form of these properties.634 #border-box/content-box/padding-box should be used instead.635 # 630 // 631 // CSS_PROP_BACKGROUND_CLIP/ORIGIN 632 // 633 // border/content/padding are deprecated and ultimately will only apply to the -webkit- form of these properties. 634 // border-box/content-box/padding-box should be used instead. 635 // 636 636 border 637 637 border-box … … 641 641 padding-box 642 642 643 # 644 #background-size645 # 643 // 644 // background-size 645 // 646 646 contain 647 647 cover 648 648 649 # 650 #CSS_PROP__KHTML_RTL_ORDERING651 # 649 // 650 // CSS_PROP__KHTML_RTL_ORDERING 651 // 652 652 logical 653 653 visual 654 654 655 # 656 #CSS_PROP__WEBKIT_BORDER_FIT657 # 655 // 656 // CSS_PROP__WEBKIT_BORDER_FIT 657 // 658 658 lines 659 659 660 # 661 #CSS_PROP__WEBKIT_ANIMATION_DIRECTION662 # 663 #alternate664 665 # 666 #CSS_PROP__WEBKIT_ANIMATION_FILL_MODE667 # 668 #forwards669 #backwards670 #both671 672 # 673 #CSS_PROP__WEBKIT_ANIMATION_ITERATION_COUNT674 # 675 #infinite676 677 # 678 #CSS_PROP__WEBKIT_ANIMATION_PLAY_STATE679 # 660 // 661 // CSS_PROP__WEBKIT_ANIMATION_DIRECTION 662 // 663 // alternate 664 665 // 666 // CSS_PROP__WEBKIT_ANIMATION_FILL_MODE 667 // 668 // forwards 669 // backwards 670 // both 671 672 // 673 // CSS_PROP__WEBKIT_ANIMATION_ITERATION_COUNT 674 // 675 // infinite 676 677 // 678 // CSS_PROP__WEBKIT_ANIMATION_PLAY_STATE 679 // 680 680 running 681 681 paused 682 682 683 # 684 #CSS_PROP__WEBKIT_TRANSFORM_STYLE685 # 683 // 684 // CSS_PROP__WEBKIT_TRANSFORM_STYLE 685 // 686 686 flat 687 687 preserve-3d 688 688 689 # 690 #CSS_PROP__WEBKIT_TRANSITION_TIMING_FUNCTION691 #CSS_PROP__WEBKIT_ANIMATION_TIMING_FUNCTION692 # 689 // 690 // CSS_PROP__WEBKIT_TRANSITION_TIMING_FUNCTION 691 // CSS_PROP__WEBKIT_ANIMATION_TIMING_FUNCTION 692 // 693 693 ease 694 694 linear … … 699 699 step-end 700 700 701 # 702 #CSS_PROP_ZOOM703 # 701 // 702 // CSS_PROP_ZOOM 703 // 704 704 document 705 705 reset 706 706 707 # 708 #CSS_PROP_POINTER_EVENTS709 # 707 // 708 // CSS_PROP_POINTER_EVENTS 709 // 710 710 visiblePainted 711 711 visibleFill 712 712 visibleStroke 713 #visible713 //visible 714 714 painted 715 715 fill 716 716 stroke 717 #all718 #none719 720 # 721 #CSS_PROP_SPEECH722 # 717 //all 718 //none 719 720 // 721 // CSS_PROP_SPEECH 722 // 723 723 spell-out 724 724 digits … … 726 726 no-punctuation 727 727 728 # 729 #-webkit-font-smoothing730 # 731 #auto732 #none728 // 729 // -webkit-font-smoothing 730 // 731 // auto 732 // none 733 733 antialiased 734 734 subpixel-antialiased 735 735 736 #text-rendering737 #auto736 // text-rendering 737 //auto 738 738 optimizeSpeed 739 739 optimizeLegibility 740 740 geometricPrecision 741 741 742 #-webkit-color-correction743 #default742 // -webkit-color-correction 743 //default 744 744 sRGB 745 745 746 #(-webkit-view-mode:) media feature:746 // (-webkit-view-mode:) media feature: 747 747 floating 748 748 fullscreen … … 751 751 windowed 752 752 753 #-webkit-hyphens754 #none753 // -webkit-hyphens 754 // none 755 755 manual 756 #auto757 758 #-webkit-writing-mode759 #SVG compatibility756 // auto 757 758 // -webkit-writing-mode 759 // SVG compatibility 760 760 lr 761 761 rl … … 764 764 rl-tb 765 765 tb-rl 766 #Standard values from CSS3766 // Standard values from CSS3 767 767 horizontal-tb 768 768 vertical-rl … … 770 770 horizontal-bt 771 771 772 #-webkit-text-emphasis-position772 // -webkit-text-emphasis-position 773 773 over 774 774 under 775 775 776 #-webkit-text-emphasis-style776 // -webkit-text-emphasis-style 777 777 filled 778 778 open 779 779 dot 780 #circle780 // circle 781 781 double-circle 782 782 triangle 783 783 sesame 784 784 785 #-webkit-radial-gradient786 #circle785 // -webkit-radial-gradient 786 // circle 787 787 ellipse 788 788 closest-side … … 790 790 farthest-side 791 791 farthest-corner 792 #contain793 #cover794 795 #-webkit-text-orientation792 // contain 793 // cover 794 795 // -webkit-text-orientation 796 796 upright 797 797 vertical-right 798 798 799 #-webkit-line-box-contain799 // -webkit-line-box-contain 800 800 font 801 801 glyphs … … 803 803 replaced 804 804 805 #image-rendering806 #auto807 #optimizeSpeed805 // image-rendering 806 //auto 807 //optimizeSpeed 808 808 optimizeQuality 809 809 -webkit-optimize-contrast -
trunk/Source/WebCore/css/SVGCSSPropertyNames.in
r87121 r89362 1 # 2 #all valid SVG CSS2 properties.3 # 1 // 2 // all valid SVG CSS2 properties. 3 // 4 4 5 #SVG style props5 // SVG style props 6 6 clip-path 7 7 clip-rule 8 8 mask 9 #opacity9 // opacity 10 10 enable-background 11 11 filter … … 15 15 stop-color 16 16 stop-opacity 17 #pointer-events17 // pointer-events 18 18 color-interpolation 19 19 color-interpolation-filters … … 23 23 fill-opacity 24 24 fill-rule 25 #font-size-adjust26 #image-rendering25 //font-size-adjust 26 //image-rendering 27 27 marker 28 28 marker-end … … 38 38 stroke-opacity 39 39 stroke-width 40 #text-rendering40 // text-rendering 41 41 alignment-baseline 42 42 baseline-shift -
trunk/Source/WebCore/css/SVGCSSValueKeywords.in
r87121 r89362 1 #These are all values accepted for CSS2.2 # 3 #WARNING:4 #--------5 # 6 #The Values are sorted according to the properties they belong to,7 #and have to be in the same order as the enums in RenderStyle.h.8 # 9 #If not, the optimizations in the cssparser and style selector will fail,10 #and produce incorrect results.11 # 12 # 13 #CSS_PROP_*_COLOR14 # 1 // These are all values accepted for CSS2. 2 // 3 // WARNING: 4 // -------- 5 // 6 // The Values are sorted according to the properties they belong to, 7 // and have to be in the same order as the enums in RenderStyle.h. 8 // 9 // If not, the optimizations in the cssparser and style selector will fail, 10 // and produce incorrect results. 11 // 12 // 13 // CSS_PROP_*_COLOR 14 // 15 15 aliceblue 16 16 antiquewhite 17 #aqua17 // aqua 18 18 aquamarine 19 19 azure 20 20 beige 21 21 bisque 22 #black22 // black 23 23 blanchedalmond 24 #blue24 // blue 25 25 blueviolet 26 26 brown … … 61 61 floralwhite 62 62 forestgreen 63 #fuchsia63 // fuchsia 64 64 gainsboro 65 65 ghostwhite 66 66 gold 67 67 goldenrod 68 #gray69 #grey70 #green68 // gray 69 // grey 70 // green 71 71 greenyellow 72 72 honeydew … … 95 95 lightsteelblue 96 96 lightyellow 97 #lime97 // lime 98 98 limegreen 99 99 linen 100 100 magenta 101 #maroon101 // maroon 102 102 mediumaquamarine 103 103 mediumblue … … 114 114 moccasin 115 115 navajowhite 116 #navy116 // navy 117 117 oldlace 118 #olive118 // olive 119 119 olivedrab 120 #orange120 // orange 121 121 orangered 122 122 orchid … … 131 131 plum 132 132 powderblue 133 #purple134 #red133 // purple 134 // red 135 135 rosybrown 136 136 royalblue … … 141 141 seashell 142 142 sienna 143 #silver143 // silver 144 144 skyblue 145 145 slateblue … … 150 150 steelblue 151 151 tan 152 #teal152 // teal 153 153 thistle 154 154 tomato … … 156 156 violet 157 157 wheat 158 #white158 // white 159 159 whitesmoke 160 #yellow160 // yellow 161 161 yellowgreen 162 162 163 #CSS_PROP_CLIP_PATH164 #CSS_PROP_CLIP_RULE163 // CSS_PROP_CLIP_PATH 164 // CSS_PROP_CLIP_RULE 165 165 nonzero 166 166 evenodd 167 167 168 #CSS_PROP_MASK169 #CSS_PROP_OPACITY170 #CSS_PROP_ENABLE_BACKGROUND168 // CSS_PROP_MASK 169 // CSS_PROP_OPACITY 170 // CSS_PROP_ENABLE_BACKGROUND 171 171 accumulate 172 172 new 173 173 174 #CSS_PROP_FILTER175 #CSS_PROP_FLOOD_COLOR176 #currentColor177 178 #CSS_PROP_FLOOD_OPACITY179 #CSS_PROP_LIGHTING_COLOR180 #currentColor181 182 #CSS_PROP_STOP_COLOR183 #CSS_PROP_STOP_OPACITY184 #CSS_PROP_COLOR_INTERPOLATION185 #auto186 #sRGB174 // CSS_PROP_FILTER 175 // CSS_PROP_FLOOD_COLOR 176 //currentColor 177 178 // CSS_PROP_FLOOD_OPACITY 179 // CSS_PROP_LIGHTING_COLOR 180 //currentColor 181 182 // CSS_PROP_STOP_COLOR 183 // CSS_PROP_STOP_OPACITY 184 // CSS_PROP_COLOR_INTERPOLATION 185 //auto 186 //sRGB 187 187 linearRGB 188 188 189 #CSS_PROP_COLOR_INTERPOLATION_FILTERS190 #auto191 #sRGB192 #linearRGB193 194 #CSS_PROP_COLOR_PROFILE195 #sRGB196 197 #CSS_PROP_COLOR_RENDERING198 #auto199 #optimizeSpeed200 #optimizeQuality201 202 ##CSS_PROP_FILL203 #currentColor204 205 #CSS_PROP_FILL_OPACITY206 #CSS_PROP_FILL_RULE207 #nonzero208 #evenodd209 210 #CSS_PROP_IMAGE_RENDERING211 #auto212 #optimizeSpeed213 #optimizeQuality214 215 #CSS_PROP_MARKER216 #CSS_PROP_MARKER_END217 #CSS_PROP_MARKER_MID218 #CSS_PROP_MARKER_START219 #CSS_PROP_SHAPE_RENDERING220 #auto221 #optimizeSpeed189 // CSS_PROP_COLOR_INTERPOLATION_FILTERS 190 //auto 191 //sRGB 192 //linearRGB 193 194 // CSS_PROP_COLOR_PROFILE 195 //sRGB 196 197 // CSS_PROP_COLOR_RENDERING 198 //auto 199 //optimizeSpeed 200 //optimizeQuality 201 202 //// CSS_PROP_FILL 203 //currentColor 204 205 // CSS_PROP_FILL_OPACITY 206 // CSS_PROP_FILL_RULE 207 //nonzero 208 //evenodd 209 210 // CSS_PROP_IMAGE_RENDERING 211 //auto 212 //optimizeSpeed 213 //optimizeQuality 214 215 // CSS_PROP_MARKER 216 // CSS_PROP_MARKER_END 217 // CSS_PROP_MARKER_MID 218 // CSS_PROP_MARKER_START 219 // CSS_PROP_SHAPE_RENDERING 220 //auto 221 //optimizeSpeed 222 222 crispEdges 223 #geometricPrecision224 225 #CSS_PROP_STROKE226 #CSS_PROP_STROKE_DASHARRAY227 #CSS_PROP_STROKE_DASHOFFSET228 #CSS_PROP_STROKE_LINECAP223 //geometricPrecision 224 225 // CSS_PROP_STROKE 226 // CSS_PROP_STROKE_DASHARRAY 227 // CSS_PROP_STROKE_DASHOFFSET 228 // CSS_PROP_STROKE_LINECAP 229 229 butt 230 #round231 #square232 233 #CSS_PROP_STROKE_LINEJOIN230 // round 231 // square 232 233 // CSS_PROP_STROKE_LINEJOIN 234 234 miter 235 #round235 // round 236 236 bevel 237 237 238 #CSS_PROP_STROKE_MITERLIMIT239 #CSS_PROP_STROKE_OPACITY240 #CSS_PROP_STROKE_WIDTH241 242 #CSS_PROP_ALIGNMENT_BASELINE243 #auto244 #baseline238 // CSS_PROP_STROKE_MITERLIMIT 239 // CSS_PROP_STROKE_OPACITY 240 // CSS_PROP_STROKE_WIDTH 241 242 // CSS_PROP_ALIGNMENT_BASELINE 243 //auto 244 // baseline 245 245 before-edge 246 246 after-edge 247 #middle247 //middle 248 248 central 249 249 text-before-edge … … 254 254 mathematical 255 255 256 #CSS_PROP_BASELINE_SHIFT257 #baseline258 #sub259 #super260 261 #CSS_PROP_DOMINANT_BASELINE262 #auto256 // CSS_PROP_BASELINE_SHIFT 257 //baseline 258 // sub 259 // super 260 261 // CSS_PROP_DOMINANT_BASELINE 262 //auto 263 263 use-script 264 264 no-change 265 265 reset-size 266 266 267 #CSS_PROP_GLYPH_ORIENTATION_HORIZONTAL268 269 #CSS_PROP_GLYPH_ORIENTATION_VERTICAL270 #CSS_PROP_KERNING271 #CSS_PROP_TEXT_ANCHOR272 #start273 #middle274 #end275 276 #CSS_PROP_VECTOR_EFFECT277 #none267 // CSS_PROP_GLYPH_ORIENTATION_HORIZONTAL 268 269 // CSS_PROP_GLYPH_ORIENTATION_VERTICAL 270 // CSS_PROP_KERNING 271 // CSS_PROP_TEXT_ANCHOR 272 // start 273 // middle 274 // end 275 276 // CSS_PROP_VECTOR_EFFECT 277 // none 278 278 non-scaling-stroke -
trunk/Source/WebCore/css/WCSSValueKeywords.in
r47176 r89362 1 #place holder for all WCSS specific CSS value keywords1 // place holder for all WCSS specific CSS value keywords -
trunk/Source/WebCore/css/makeprop.pl
r85212 r89362 22 22 # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 23 23 # Boston, MA 02110-1301, USA. 24 use Getopt::Long; 25 use preprocessor; 24 26 use strict; 25 27 use warnings; 26 28 27 open NAMES, "<CSSPropertyNames.in" || die "Could not find CSSPropertyNames.in"; 29 my $defines; 30 my $preprocessor; 31 GetOptions('defines=s' => \$defines, 32 'preprocessor=s' => \$preprocessor); 33 34 my @NAMES = applyPreprocessor("CSSPropertyNames.in", $defines, $preprocessor); 35 36 my %namesHash; 37 my @duplicates = (); 38 28 39 my @names = (); 29 40 my @aliases = (); 30 while (<NAMES>) {31 next if (m/(^ #)|(^\s*$)/);41 foreach (@NAMES) { 42 next if (m/(^\s*$)/); 32 43 # Input may use a different EOL sequence than $/, so avoid chomp. 33 44 $_ =~ s/[\r\n]+$//g; 45 if (exists $namesHash{$_}) { 46 push @duplicates, $_; 47 } else { 48 $namesHash{$_} = 1; 49 } 34 50 if ($_ =~ /=/) { 35 51 push @aliases, $_; … … 38 54 } 39 55 } 40 close(NAMES); 56 57 if (@duplicates > 0) { 58 die 'Duplicate CSS property names: ', join(', ', @duplicates) . "\n"; 59 } 41 60 42 61 open GPERF, ">CSSPropertyNames.gperf" || die "Could not open CSSPropertyNames.gperf for writing"; -
trunk/Source/WebCore/css/makevalues.pl
r72667 r89362 22 22 # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 23 23 # Boston, MA 02110-1301, USA. 24 use Getopt::Long; 25 use preprocessor; 24 26 use strict; 25 27 use warnings; 26 28 27 open NAMES, "<CSSValueKeywords.in" || die "Could not open CSSValueKeywords.in"; 29 my $defines; 30 my $preprocessor; 31 GetOptions('defines=s' => \$defines, 32 'preprocessor=s' => \$preprocessor); 33 34 my @NAMES = applyPreprocessor("CSSValueKeywords.in", $defines, $preprocessor); 35 36 my %namesHash; 37 my @duplicates = (); 38 28 39 my @names = (); 29 while (<NAMES>) {30 next if (m/(^ #)|(^\s*$)/);40 foreach (@NAMES) { 41 next if (m/(^\s*$)/); 31 42 # Input may use a different EOL sequence than $/, so avoid chomp. 32 43 $_ =~ s/[\r\n]+$//g; 44 # CSS values need to be lower case. 45 $_ = lc $_; 46 if (exists $namesHash{$_}) { 47 push @duplicates, $_; 48 } else { 49 $namesHash{$_} = 1; 50 } 33 51 push @names, $_; 34 52 } 35 close(NAMES); 53 54 if (@duplicates > 0) { 55 die 'Duplicate CSS value keywords values: ', join(', ', @duplicates) . "\n"; 56 } 36 57 37 58 open GPERF, ">CSSValueKeywords.gperf" || die "Could not open CSSValueKeywords.gperf for writing";
Note: See TracChangeset
for help on using the changeset viewer.