Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 # Copyright (c) 2016 The Chromium Authors. All rights reserved. | |
| 2 # Use of this source code is governed by a BSD-style license that can be | |
| 3 # found in the LICENSE file. | |
| 4 | |
| 5 """Represents the trace of a page load.""" | |
| 6 | |
| 7 import page_track | |
| 8 import request_track | |
| 9 import tracing | |
| 10 | |
| 11 class LoadingTrace(object): | |
| 12 """Represents the trace of a page load.""" | |
| 13 def __init__(self, url, metadata, page, request, tracing_track): | |
| 14 """Initializes a loading trace instance. | |
| 15 | |
| 16 Args: | |
| 17 url: (str) URL that has been loaded | |
| 18 metadata: (dict) Metadata associated with the load. | |
| 19 page: (PageTrack) instance of PageTrack. | |
| 20 request: (RequestTrack) instance of RequestTrack. | |
| 21 tracing_track: (TracingTrack) instance of TracingTrack. | |
| 22 """ | |
| 23 self.url = url | |
| 24 self.metadata = metadata | |
| 25 self.page_track = page | |
| 26 self.request_track = request | |
| 27 self.tracing_track = tracing_track | |
| 28 | |
| 29 def ToJsonDict(self): | |
| 30 """Returns a dictionary representing this instance.""" | |
| 31 result = {'url': self.url, 'metadata': self.metadata, | |
|
mattcary
2016/01/19 15:24:47
Turn the keys into class constants to avoid typos?
Benoit L
2016/01/19 15:54:50
Done.
| |
| 32 'page_track': self.page_track.ToJsonDict(), | |
| 33 'request_track': self.request_track.ToJsonDict(), | |
| 34 'tracing_track': self.tracing_track.ToJsonDict()} | |
| 35 return result | |
| 36 | |
| 37 @classmethod | |
| 38 def FromJsonDict(cls, json_dict): | |
| 39 """Returns an instance from a dictionary returned by ToJsonDict().""" | |
| 40 keys = ('url', 'metadata', 'page_track', 'request_track', 'tracing_track') | |
| 41 assert all(key in json_dict for key in keys) | |
| 42 page = page_track.PageTrack.FromJsonDict(json_dict['page_track']) | |
| 43 request = request_track.RequestTrack.FromJsonDict( | |
| 44 json_dict['request_track']) | |
| 45 tracing_track = tracing.TracingTrack.FromJsonDict( | |
| 46 json_dict['tracing_track']) | |
| 47 return LoadingTrace(json_dict['url'], json_dict['metadata'], | |
| 48 page, request, tracing_track) | |
| OLD | NEW |