Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(240)

Unified Diff: tools/android/loading/loading_trace.py

Issue 1606903002: tools/android/loading: Archive tracks in LoadingTrace. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments. Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tools/android/loading/request_track.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/android/loading/loading_trace.py
diff --git a/tools/android/loading/loading_trace.py b/tools/android/loading/loading_trace.py
new file mode 100644
index 0000000000000000000000000000000000000000..720fa1d17fce6361613452b6a57f8d295cf3cc45
--- /dev/null
+++ b/tools/android/loading/loading_trace.py
@@ -0,0 +1,55 @@
+# Copyright (c) 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""Represents the trace of a page load."""
+
+import page_track
+import request_track
+import tracing
+
+class LoadingTrace(object):
+ """Represents the trace of a page load."""
+ _URL_KEY = 'url'
+ _METADATA_KEY = 'metadata'
+ _PAGE_KEY = 'page_track'
+ _REQUEST_KEY = 'request_track'
+ _TRACING_KEY = 'tracing_track'
+
+ def __init__(self, url, metadata, page, request, tracing_track):
+ """Initializes a loading trace instance.
+
+ Args:
+ url: (str) URL that has been loaded
+ metadata: (dict) Metadata associated with the load.
+ page: (PageTrack) instance of PageTrack.
+ request: (RequestTrack) instance of RequestTrack.
+ tracing_track: (TracingTrack) instance of TracingTrack.
+ """
+ self.url = url
+ self.metadata = metadata
+ self.page_track = page
+ self.request_track = request
+ self.tracing_track = tracing_track
+
+ def ToJsonDict(self):
+ """Returns a dictionary representing this instance."""
+ result = {self._URL_KEY: self.url, self._METADATA_KEY: self.metadata,
+ self._PAGE_KEY: self.page_track.ToJsonDict(),
+ self._REQUEST_KEY: self.request_track.ToJsonDict(),
+ self._TRACING_KEY: self.tracing_track.ToJsonDict()}
+ return result
+
+ @classmethod
+ def FromJsonDict(cls, json_dict):
+ """Returns an instance from a dictionary returned by ToJsonDict()."""
+ keys = (cls._URL_KEY, cls._METADATA_KEY, cls._PAGE_KEY, cls._REQUEST_KEY,
+ cls._TRACING_KEY)
+ assert all(key in json_dict for key in keys)
+ page = page_track.PageTrack.FromJsonDict(json_dict[cls._PAGE_KEY])
+ request = request_track.RequestTrack.FromJsonDict(
+ json_dict[cls._REQUEST_KEY])
+ tracing_track = tracing.TracingTrack.FromJsonDict(
+ json_dict[cls._TRACING_KEY])
+ return LoadingTrace(json_dict[cls._URL_KEY], json_dict[cls._METADATA_KEY],
+ page, request, tracing_track)
« no previous file with comments | « no previous file | tools/android/loading/request_track.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698