OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium 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 import base64 | 5 import base64 |
6 import os | 6 import os |
7 import re | 7 import re |
8 | 8 |
9 | 9 |
10 class Image(object): | 10 class Image(object): |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 def _Load(self, containing_dirname): | 68 def _Load(self, containing_dirname): |
69 if self.contents.find('@import') != -1: | 69 if self.contents.find('@import') != -1: |
70 raise Exception('@imports are not supported') | 70 raise Exception('@imports are not supported') |
71 | 71 |
72 matches = re.findall( | 72 matches = re.findall( |
73 'url\((?:["|\']?)([^"\'()]*)(?:["|\']?)\)', | 73 'url\((?:["|\']?)([^"\'()]*)(?:["|\']?)\)', |
74 self.contents) | 74 self.contents) |
75 | 75 |
76 def resolve_url(url): | 76 def resolve_url(url): |
77 if os.path.isabs(url): | 77 if os.path.isabs(url): |
78 # FIXME: module is used here, but tvcm.module is never imported. | 78 # FIXME: module is used here, but py_vulcanize.module is never imported. |
79 # However, tvcm.module cannot be imported since tvcm.module may import | 79 # However, py_vulcanize.module cannot be imported since py_vulcanize.mod
ule may import |
80 # style_sheet, leading to an import loop. | 80 # style_sheet, leading to an import loop. |
81 raise module.DepsException('URL references must be relative') | 81 raise module.DepsException('URL references must be relative') |
82 # URLS are relative to this module's directory | 82 # URLS are relative to this module's directory |
83 abs_path = os.path.abspath(os.path.join(containing_dirname, url)) | 83 abs_path = os.path.abspath(os.path.join(containing_dirname, url)) |
84 image = self.loader.LoadImage(abs_path) | 84 image = self.loader.LoadImage(abs_path) |
85 image.aliases.append(url) | 85 image.aliases.append(url) |
86 return image | 86 return image |
87 | 87 |
88 self._images = [resolve_url(x) for x in matches] | 88 self._images = [resolve_url(x) for x in matches] |
89 | 89 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 | 127 |
128 def load(self): | 128 def load(self): |
129 self._InitParsedStyleSheetIfNeeded() | 129 self._InitParsedStyleSheetIfNeeded() |
130 | 130 |
131 def _InitParsedStyleSheetIfNeeded(self): | 131 def _InitParsedStyleSheetIfNeeded(self): |
132 if self._parsed_style_sheet: | 132 if self._parsed_style_sheet: |
133 return | 133 return |
134 module_dirname = os.path.dirname(self.resource.absolute_path) | 134 module_dirname = os.path.dirname(self.resource.absolute_path) |
135 self._parsed_style_sheet = ParsedStyleSheet( | 135 self._parsed_style_sheet = ParsedStyleSheet( |
136 self.loader, module_dirname, self.contents) | 136 self.loader, module_dirname, self.contents) |
OLD | NEW |