Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/sdk/TracingModel.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/TracingModel.js b/third_party/WebKit/Source/devtools/front_end/sdk/TracingModel.js |
| index 725e0e4752c501ea7c3f5a7f934c826d98d7837e..ea340b13c685c20c3ee4574a3c9f8a2be5986968 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/sdk/TracingModel.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/sdk/TracingModel.js |
| @@ -117,6 +117,35 @@ WebInspector.TracingModel._extractId = function(payload) |
| } |
| /** |
| + * @param {!WebInspector.TracingModel} tracingModel |
| + * @return {?WebInspector.TracingModel.Thread} |
| + * |
| + * FIXME: this is here just for convenience of re-use between modules. |
|
alph
2016/09/29 00:12:53
TODO
|
| + * This really belongs to a higher level, since it is specific to chrome's |
| + * usage of tracing. |
| + */ |
| +WebInspector.TracingModel.browserMainThread = function(tracingModel) |
| +{ |
| + var processes = tracingModel.sortedProcesses(); |
| + var browserProcess = []; |
|
alph
2016/09/29 00:12:53
nit: browserProcesses
|
| + var crRendererMainThreads = []; |
| + for (var process of processes) { |
| + if (process.name().toLowerCase().endsWith("Browser")) |
|
alph
2016/09/29 00:12:53
browser
|
| + browserProcess.push(process); |
| + crRendererMainThreads.push(...process.sortedThreads().filter(t => t.name() === "CrBrowserMain")); |
| + } |
| + if (crRendererMainThreads.length === 1) |
| + return crRendererMainThreads[0]; |
| + if (browserProcess.length === 1) |
| + return browserProcess[0].threadByName("CrBrowserMain"); |
| + var tracingStartedInBrowser = tracingModel.devToolsMetadataEvents().filter(e => e.name === "TracingStartedInBrowser"); |
| + if (tracingStartedInBrowser.length === 1) |
| + return tracingStartedInBrowser[0].thread; |
| + WebInspector.console.error("Failed to find browser main thread in trace, some timeline features may be unavailable"); |
| + return null; |
| +} |
| + |
| +/** |
| * @interface |
| */ |
| WebInspector.BackingStorage = function() |