blob: 97ec1390dccaa452a34ec1770e76b0fbeba7d279 [file] [log] [blame]
// Copyright 2017 Google. All rights reserved. Use of this source code is
// governed by a BSD-style license that can be found in the LICENSE file.
import 'dart:async';
import '../webkit_inspection_protocol.dart';
class WipLog extends WipDomain {
WipLog(WipConnection connection) : super(connection);
Future<WipResponse> enable() => sendCommand('Log.enable');
Future<WipResponse> disable() => sendCommand('Log.disable');
Stream<LogEntry> get onEntryAdded => eventStream(
'Log.entryAdded', (WipEvent event) => new LogEntry(event.json));
}
class LogEntry extends WipEvent {
LogEntry(Map<String, dynamic> json) : super(json);
Map<String, dynamic> get _entry => params!['entry'] as Map<String, dynamic>;
/// Log entry source. Allowed values: xml, javascript, network, storage,
/// appcache, rendering, security, deprecation, worker, violation,
/// intervention, other.
String get source => _entry['source'] as String;
/// Log entry severity. Allowed values: verbose, info, warning, error.
String get level => _entry['level'] as String;
/// Logged text.
String get text => _entry['text'] as String;
/// URL of the resource if known.
@optional
String? get url => _entry['url'] as String?;
/// Timestamp when this entry was added.
num get timestamp => _entry['timestamp'] as num;
String toString() => text;
}