blob: 689736a29a29123d8f960dad46609213db1183a9 [file] [log] [blame]
// Copyright 2015 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';
@Deprecated('This domain is deprecated - use Runtime or Log instead')
class WipConsole extends WipDomain {
WipConsole(WipConnection connection) : super(connection);
Future<WipResponse> enable() => sendCommand('Console.enable');
Future<WipResponse> disable() => sendCommand('Console.disable');
Future<WipResponse> clearMessages() => sendCommand('Console.clearMessages');
Stream<ConsoleMessageEvent> get onMessage => eventStream(
'Console.messageAdded',
(WipEvent event) => new ConsoleMessageEvent(event.json));
Stream<ConsoleClearedEvent> get onCleared => eventStream(
'Console.messagesCleared',
(WipEvent event) => new ConsoleClearedEvent(event.json));
}
class ConsoleMessageEvent extends WipEvent {
ConsoleMessageEvent(Map<String, dynamic> json) : super(json);
Map get _message => params!['message'] as Map;
String get text => _message['text'] as String;
String get level => _message['level'] as String;
String? get url => _message['url'] as String?;
Iterable<WipConsoleCallFrame> getStackTrace() {
if (_message.containsKey('stackTrace')) {
return (params!['stackTrace'] as List).map((frame) =>
new WipConsoleCallFrame.fromMap(frame as Map<String, dynamic>));
} else {
return [];
}
}
String toString() => text;
}
class ConsoleClearedEvent extends WipEvent {
ConsoleClearedEvent(Map<String, dynamic> json) : super(json);
}
class WipConsoleCallFrame {
final Map<String, dynamic> json;
WipConsoleCallFrame.fromMap(this.json);
int get columnNumber => json['columnNumber'] as int;
String get functionName => json['functionName'] as String;
int get lineNumber => json['lineNumber'] as int;
String get scriptId => json['scriptId'] as String;
String get url => json['url'] as String;
}