diff --git a/lib/global-config.js b/lib/global-config.js deleted file mode 100644 index 6192fc3950..0000000000 --- a/lib/global-config.js +++ /dev/null @@ -1,79 +0,0 @@ -/** - * @license - * Copyright 2015 Google Inc. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -function enable () { - // Sets some global options so that the trace viewer code can work. - // It expects to be run inside of a browser, where host objects - // (and Polymer) exist. Since they don't they need stubbing out. - global.Polymer = function () {}; - global.Polymer.elements = {}; - - global.HTMLUnknownElement = {}; - global.HTMLDivElement = {}; - global.document = { - currentScript: { - ownerDocument: {} - }, - - createElement: function () { - return { - style: { - - } - }; - } - }; - - global.vec2 = {create: function () {}, set: function () {}}; - global.vec3 = {create: function () {}}; - global.vec4 = {create: function () {}}; - global.mat2d = {create: function () {}}; - global.mat4 = {create: function () {}}; - global.window = { - performance: { - now: function () { - return Date.now(); - } - }, webkitRequestAnimationFrame: function (cb) { - cb(); - }, requestAnimationFrame: function (cb) { - cb(); - } - }; -} - -function disable () { - - delete global.Polymer.elements; - delete global.Polymer; - - delete global.HTMLUnknownElement; - delete global.HTMLDivElement; - delete global.document; - - delete global.vec2; - delete global.vec3; - delete global.vec4; - delete global.mat2d; - delete global.mat4; - delete global.window; -} - -module.exports = { - enable: enable, - disable: disable -}; diff --git a/lib/processor.js b/lib/processor.js index 4c3476dec7..c740238552 100644 --- a/lib/processor.js +++ b/lib/processor.js @@ -17,16 +17,13 @@ /* global tr */ +var traceviewer = require('traceviewer'); + var URL = require('url'); var RESPONSE = 'Response'; var ANIMATION = 'Animation'; var LOAD = 'Load'; -// Does a bunch on the global object, because the code for trace viewer -// currently operates on `window`, and the conversion doesn't account for -// requires and modules. -var globalConfig = require('./global-config.js'); - function analyzeTrace (contents, opts) { var contentsJSON = null; @@ -50,8 +47,6 @@ function analyzeTrace (contents, opts) { })]; // Switch on all the globals we need, and import tracing. - globalConfig.enable(); - var model = convertEventsToModel(events); var processes = model.getAllProcesses(); var traceProcess = null; @@ -97,22 +92,12 @@ function analyzeTrace (contents, opts) { } traceProcess = summarizable.pop(); - // Reset all the globals we had to define for window etc. - globalConfig.disable(); return processTrace(model, traceProcess, opts); } function convertEventsToModel (events) { - - require('./third_party/tracing/importer/import.js'); - require('./third_party/tracing/extras/importer/trace_event_importer.js'); - require('./third_party/tracing/extras/rail/rail_score.js'); - require('./third_party/tracing/extras/rail/rail_ir_finder.js'); - require('./tracing-config.js'); - var io = new tr.importer.ImportOptions(); io.showImportWarnings = false; - io.shiftWorldToZero = true; io.pruneEmptyContainers = false; var model = new tr.Model(); diff --git a/lib/tracing-config.js b/lib/tracing-config.js deleted file mode 100644 index f6ab6cdb84..0000000000 --- a/lib/tracing-config.js +++ /dev/null @@ -1,34 +0,0 @@ -/** - * @license - * Copyright 2015 Google Inc. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* global tr */ - -// Sets up a few stubs for tracing, particularly for the HTML Elements it -// expects to exist, which won't because this is running in Node. -tr.isHeadless = false; -tr.ui.b.Overlay = function () { - return { - title: '', - msgEl: { - style: { - margin: '' - } - }, - appendChild: function () { - } - }; -}; diff --git a/package.json b/package.json index 751947537a..d831220f6c 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "cheerio": "^0.19.0", "file": "^0.2.2", "selenium-webdriver": "^2.48.2", + "traceviewer": "^1.0.8", "walk": "^2.3.9" }, "devDependencies": {