OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 | 2 |
3 # Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. | 3 # Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. |
4 # | 4 # |
5 # Redistribution and use in source and binary forms, with or without | 5 # Redistribution and use in source and binary forms, with or without |
6 # modification, are permitted provided that the following conditions | 6 # modification, are permitted provided that the following conditions |
7 # are met: | 7 # are met: |
8 # | 8 # |
9 # 1. Redistributions of source code must retain the above | 9 # 1. Redistributions of source code must retain the above |
10 # copyright notice, this list of conditions and the following | 10 # copyright notice, this list of conditions and the following |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 self.converted_properties = [] | 64 self.converted_properties = [] |
65 self.in_style_tag = False | 65 self.in_style_tag = False |
66 self.style_data = [] | 66 self.style_data = [] |
67 self.filename = filename | 67 self.filename = filename |
68 | 68 |
69 resources_path = self.path_from_webkit_root('LayoutTests', 'resources') | 69 resources_path = self.path_from_webkit_root('LayoutTests', 'resources') |
70 resources_relpath = self._filesystem.relpath(resources_path, new_path) | 70 resources_relpath = self._filesystem.relpath(resources_path, new_path) |
71 self.resources_relpath = resources_relpath | 71 self.resources_relpath = resources_relpath |
72 | 72 |
73 # These settings might vary between WebKit and Blink | 73 # These settings might vary between WebKit and Blink |
74 self._css_property_file = self.path_from_webkit_root('Source', 'core', '
css', 'CSSPropertyNames.in') | 74 self._css_property_file = self.path_from_webkit_root('Source', 'core', '
css', 'CSSProperties.in') |
75 self._css_property_split_string = 'alias_for=' | |
76 | 75 |
77 self.prefixed_properties = self.read_webkit_prefixed_css_property_list() | 76 self.prefixed_properties = self.read_webkit_prefixed_css_property_list() |
78 | 77 |
79 self.prefixed_properties = self.read_webkit_prefixed_css_property_list() | 78 self.prefixed_properties = self.read_webkit_prefixed_css_property_list() |
80 prop_regex = '([\s{]|^)(' + "|".join(prop.replace('-webkit-', '') for pr
op in self.prefixed_properties) + ')(\s+:|:)' | 79 prop_regex = '([\s{]|^)(' + "|".join(prop.replace('-webkit-', '') for pr
op in self.prefixed_properties) + ')(\s+:|:)' |
81 self.prop_re = re.compile(prop_regex) | 80 self.prop_re = re.compile(prop_regex) |
82 | 81 |
83 def output(self): | 82 def output(self): |
84 return (self.converted_properties, ''.join(self.converted_data)) | 83 return (self.converted_properties, ''.join(self.converted_data)) |
85 | 84 |
86 def path_from_webkit_root(self, *comps): | 85 def path_from_webkit_root(self, *comps): |
87 return self._filesystem.abspath(self._filesystem.join(self._webkit_root,
*comps)) | 86 return self._filesystem.abspath(self._filesystem.join(self._webkit_root,
*comps)) |
88 | 87 |
89 def read_webkit_prefixed_css_property_list(self): | 88 def read_webkit_prefixed_css_property_list(self): |
90 prefixed_properties = [] | 89 prefixed_properties = [] |
91 unprefixed_properties = set() | 90 unprefixed_properties = set() |
92 | 91 |
93 contents = self._filesystem.read_text_file(self._css_property_file) | 92 contents = self._filesystem.read_text_file(self._css_property_file) |
94 for line in contents.splitlines(): | 93 for line in contents.splitlines(): |
95 if re.match('^(#|//)', line): | 94 if re.match('^(#|//|$)', line): |
96 # skip comments and preprocessor directives | 95 # skip comments and preprocessor directives |
97 continue | 96 continue |
98 fields = line.split(self._css_property_split_string) | 97 prop = line.split()[0] |
99 for prop in fields: | 98 # Find properties starting with the -webkit- prefix. |
100 # Find properties starting with the -webkit- prefix. | 99 match = re.match('-webkit-([\w|-]*)', prop) |
101 match = re.match('-webkit-([\w|-]*)', prop) | 100 if match: |
102 if match: | 101 prefixed_properties.append(match.group(1)) |
103 prefixed_properties.append(match.group(1)) | 102 else: |
104 else: | 103 unprefixed_properties.add(prop.strip()) |
105 unprefixed_properties.add(prop.strip()) | |
106 | 104 |
107 # Ignore any prefixed properties for which an unprefixed version is supp
orted | 105 # Ignore any prefixed properties for which an unprefixed version is supp
orted |
108 return [prop for prop in prefixed_properties if prop not in unprefixed_p
roperties] | 106 return [prop for prop in prefixed_properties if prop not in unprefixed_p
roperties] |
109 | 107 |
110 def add_webkit_prefix_to_unprefixed_properties(self, text): | 108 def add_webkit_prefix_to_unprefixed_properties(self, text): |
111 """ Searches |text| for instances of properties requiring the -webkit- p
refix and adds the prefix to them. | 109 """ Searches |text| for instances of properties requiring the -webkit- p
refix and adds the prefix to them. |
112 | 110 |
113 Returns the list of converted properties and the modified text.""" | 111 Returns the list of converted properties and the modified text.""" |
114 | 112 |
115 converted_properties = set() | 113 converted_properties = set() |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
190 | 188 |
191 def handle_comment(self, data): | 189 def handle_comment(self, data): |
192 self.converted_data.extend(['<!-- ', data, ' -->']) | 190 self.converted_data.extend(['<!-- ', data, ' -->']) |
193 | 191 |
194 def handle_decl(self, decl): | 192 def handle_decl(self, decl): |
195 self.converted_data.extend(['<!', decl, '>']) | 193 self.converted_data.extend(['<!', decl, '>']) |
196 | 194 |
197 def handle_pi(self, data): | 195 def handle_pi(self, data): |
198 self.converted_data.extend(['<?', data, '>']) | 196 self.converted_data.extend(['<?', data, '>']) |
199 | 197 |
OLD | NEW |