| OLD | NEW |
| 1 # Copyright 2017 The Chromium Authors. All rights reserved. | 1 # Copyright 2017 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 logging | 5 import logging |
| 6 from collections import namedtuple | 6 from collections import namedtuple |
| 7 | 7 |
| 8 from crash import detect_regression_range | 8 from crash import detect_regression_range |
| 9 from crash.crash_data import CrashData | 9 from crash.crash_data import CrashData |
| 10 from crash.chromecrash_parser import ChromeCrashParser | 10 from crash.chromecrash_parser import ChromeCrashParser |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 all dependencies related to crashed version. | 90 all dependencies related to crashed version. |
| 91 top_n_frames (int): number of the frames in stacktrace we should parse. | 91 top_n_frames (int): number of the frames in stacktrace we should parse. |
| 92 """ | 92 """ |
| 93 super(ChromeCrashData, self).__init__(crash_data) | 93 super(ChromeCrashData, self).__init__(crash_data) |
| 94 self._channel = crash_data['customized_data']['channel'] | 94 self._channel = crash_data['customized_data']['channel'] |
| 95 self._historical_metadata = crash_data['customized_data'][ | 95 self._historical_metadata = crash_data['customized_data'][ |
| 96 'historical_metadata'] | 96 'historical_metadata'] |
| 97 | 97 |
| 98 # Delay the stacktrace parsing to the first time when stacktrace property | 98 # Delay the stacktrace parsing to the first time when stacktrace property |
| 99 # gets called. | 99 # gets called. |
| 100 self._stacktrace_str = crash_data['stack_trace'] or '' | |
| 101 self._top_n_frames = top_n_frames | 100 self._top_n_frames = top_n_frames |
| 102 self._stacktrace = None | 101 self._stacktrace = None |
| 103 | 102 |
| 104 self._dep_fetcher = dep_fetcher | 103 self._dep_fetcher = dep_fetcher |
| 105 self._crashed_version_deps = None | 104 self._crashed_version_deps = None |
| 106 | 105 |
| 107 self._regression_range = None | 106 self._regression_range = None |
| 108 | 107 |
| 109 self._dependencies = {} | 108 self._dependencies = {} |
| 110 self._dependency_rolls = {} | 109 self._dependency_rolls = {} |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 209 # Apply the above filter, and also filter to only retain those | 208 # Apply the above filter, and also filter to only retain those |
| 210 # which occur in ``crashed_stack_deps``. | 209 # which occur in ``crashed_stack_deps``. |
| 211 self._dependency_rolls = { | 210 self._dependency_rolls = { |
| 212 dep_path: dep_roll | 211 dep_path: dep_roll |
| 213 for dep_path, dep_roll in regression_range_dep_rolls.iteritems() | 212 for dep_path, dep_roll in regression_range_dep_rolls.iteritems() |
| 214 if HasBothRevisions(dep_path, dep_roll) and dep_path | 213 if HasBothRevisions(dep_path, dep_roll) and dep_path |
| 215 in self.dependencies | 214 in self.dependencies |
| 216 } | 215 } |
| 217 | 216 |
| 218 return self._dependency_rolls | 217 return self._dependency_rolls |
| OLD | NEW |