| // Copyright 2017 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. |
| * @implements {Protocol.LogDispatcher} |
| SDK.LogModel = class extends SDK.SDKModel { |
| * @param {!SDK.Target} target |
| target.registerLogDispatcher(this); |
| this._logAgent = target.logAgent(); |
| if (!Host.isUnderTest()) { |
| this._logAgent.startViolationsReport([ |
| {name: 'longTask', threshold: 200}, {name: 'longLayout', threshold: 30}, {name: 'blockedEvent', threshold: 100}, |
| {name: 'blockedParser', threshold: -1}, {name: 'handler', threshold: 150}, |
| {name: 'recurringHandler', threshold: 50}, {name: 'discouragedAPIUse', threshold: -1} |
| * @param {!Protocol.Log.LogEntry} payload |
| this.dispatchEventToListeners(SDK.LogModel.Events.EntryAdded, {logModel: this, entry: payload}); |
| SDK.SDKModel.register(SDK.LogModel, SDK.Target.Capability.Log, true); |
| EntryAdded: Symbol('EntryAdded') |