diff --git a/modules/benchpress/src/webdriver/chrome_driver_extension.ts b/modules/benchpress/src/webdriver/chrome_driver_extension.ts index 279c81afc6..3e0161229c 100644 --- a/modules/benchpress/src/webdriver/chrome_driver_extension.ts +++ b/modules/benchpress/src/webdriver/chrome_driver_extension.ts @@ -183,7 +183,8 @@ export class ChromeDriverExtension extends WebDriverExtension { return normalizeEvent(event, {'name': 'gc', 'args': normArgs}); } else if (this._isEvent(categories, name, ['devtools.timeline', 'v8'], 'FunctionCall') && (isBlank(args) || isBlank(args['data']) || - !StringWrapper.equals(args['data']['scriptName'], 'InjectedScript'))) { + (!StringWrapper.equals(args['data']['scriptName'], 'InjectedScript') && + !StringWrapper.equals(args['data']['scriptName'], '')))) { return normalizeEvent(event, {'name': 'script'}); } else if (this._isEvent(categories, name, ['devtools.timeline', 'blink'], 'UpdateLayoutTree')) { diff --git a/modules/benchpress/test/webdriver/chrome_driver_extension_spec.ts b/modules/benchpress/test/webdriver/chrome_driver_extension_spec.ts index 2ba436b5d8..81f419e47d 100644 --- a/modules/benchpress/test/webdriver/chrome_driver_extension_spec.ts +++ b/modules/benchpress/test/webdriver/chrome_driver_extension_spec.ts @@ -342,6 +342,17 @@ export function main() { }); })); + it('should ignore FunctionCalls with empty scriptName', + inject([AsyncTestCompleter], (async) => { + createExtension( + [chromeTimelineV8Events.start('FunctionCall', 0, {'data': {'scriptName': ''}})]) + .readPerfLog() + .then((events) => { + expect(events).toEqual([]); + async.done(); + }); + })); + });