| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 | 2 |
| 3 import subprocess | 3 import subprocess |
| 4 import sys | 4 import sys |
| 5 | 5 |
| 6 import css_properties | 6 import css_properties |
| 7 import in_generator | 7 import in_generator |
| 8 import license | 8 import license |
| 9 | 9 |
| 10 | 10 |
| 11 HEADER_TEMPLATE = """ | 11 HEADER_TEMPLATE = """ |
| 12 %(license)s | 12 %(license)s |
| 13 | 13 |
| 14 #ifndef %(class_name)s_h | 14 #ifndef %(class_name)s_h |
| 15 #define %(class_name)s_h | 15 #define %(class_name)s_h |
| 16 | 16 |
| 17 #include "core/CoreExport.h" | 17 #include "core/CoreExport.h" |
| 18 #include "core/css/parser/CSSParserMode.h" | 18 #include "wtf/Assertions.h" |
| 19 #include "wtf/HashFunctions.h" | 19 #include <stddef.h> |
| 20 #include "wtf/HashTraits.h" | |
| 21 #include <string.h> | |
| 22 | 20 |
| 23 namespace WTF { | 21 namespace WTF { |
| 24 class AtomicString; | 22 class AtomicString; |
| 25 class String; | 23 class String; |
| 26 } | 24 } |
| 27 | 25 |
| 28 namespace blink { | 26 namespace blink { |
| 29 | 27 |
| 30 enum CSSPropertyID { | 28 enum CSSPropertyID { |
| 31 CSSPropertyInvalid = 0, | 29 CSSPropertyInvalid = 0, |
| (...skipping 26 matching lines...) Expand all Loading... |
| 58 } | 56 } |
| 59 | 57 |
| 60 inline bool isPropertyAlias(CSSPropertyID id) { return id & 512; } | 58 inline bool isPropertyAlias(CSSPropertyID id) { return id & 512; } |
| 61 | 59 |
| 62 CSSPropertyID unresolvedCSSPropertyID(const WTF::String&); | 60 CSSPropertyID unresolvedCSSPropertyID(const WTF::String&); |
| 63 | 61 |
| 64 CSSPropertyID CORE_EXPORT cssPropertyID(const WTF::String&); | 62 CSSPropertyID CORE_EXPORT cssPropertyID(const WTF::String&); |
| 65 | 63 |
| 66 } // namespace blink | 64 } // namespace blink |
| 67 | 65 |
| 68 namespace WTF { | |
| 69 template<> struct DefaultHash<blink::CSSPropertyID> { typedef IntHash<unsigned>
Hash; }; | |
| 70 template<> struct HashTraits<blink::CSSPropertyID> : GenericHashTraits<blink::CS
SPropertyID> { | |
| 71 static const bool emptyValueIsZero = true; | |
| 72 static void constructDeletedValue(blink::CSSPropertyID& slot, bool) { slot =
static_cast<blink::CSSPropertyID>(blink::lastUnresolvedCSSProperty + 1); } | |
| 73 static bool isDeletedValue(blink::CSSPropertyID value) { return value == (bl
ink::lastUnresolvedCSSProperty + 1); } | |
| 74 }; | |
| 75 } | |
| 76 | |
| 77 #endif // %(class_name)s_h | 66 #endif // %(class_name)s_h |
| 78 """ | 67 """ |
| 79 | 68 |
| 80 GPERF_TEMPLATE = """ | 69 GPERF_TEMPLATE = """ |
| 81 %%{ | 70 %%{ |
| 82 %(license)s | 71 %(license)s |
| 83 | 72 |
| 84 #include "%(class_name)s.h" | 73 #include "%(class_name)s.h" |
| 85 #include "core/css/HashTools.h" | 74 #include "core/css/HashTools.h" |
| 86 #include <string.h> | 75 #include <string.h> |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 # FIXME: If we could depend on Python 2.7, we would use subprocess.check
_output | 219 # FIXME: If we could depend on Python 2.7, we would use subprocess.check
_output |
| 231 gperf_args = [self.gperf_path, '--key-positions=*', '-P', '-n'] | 220 gperf_args = [self.gperf_path, '--key-positions=*', '-P', '-n'] |
| 232 gperf_args.extend(['-m', '50']) # Pick best of 50 attempts. | 221 gperf_args.extend(['-m', '50']) # Pick best of 50 attempts. |
| 233 gperf_args.append('-D') # Allow duplicate hashes -> More compact code. | 222 gperf_args.append('-D') # Allow duplicate hashes -> More compact code. |
| 234 gperf = subprocess.Popen(gperf_args, stdin=subprocess.PIPE, stdout=subpr
ocess.PIPE, universal_newlines=True) | 223 gperf = subprocess.Popen(gperf_args, stdin=subprocess.PIPE, stdout=subpr
ocess.PIPE, universal_newlines=True) |
| 235 return gperf.communicate(gperf_input)[0] | 224 return gperf.communicate(gperf_input)[0] |
| 236 | 225 |
| 237 | 226 |
| 238 if __name__ == "__main__": | 227 if __name__ == "__main__": |
| 239 in_generator.Maker(CSSPropertyNamesWriter).main(sys.argv) | 228 in_generator.Maker(CSSPropertyNamesWriter).main(sys.argv) |
| OLD | NEW |