onRemoveAttribute method
void
onRemoveAttribute(
- int? id,
- Map<String, dynamic> params
)
Implementation
void onRemoveAttribute(int? id, Map<String, dynamic> params) {
// https://chromedevtools.github.io/devtools-protocol/tot/DOM/#method-removeAttribute
if (DebugFlags.enableDevToolsLogs) {
devToolsLogger
.finer('[DevTools] DOM.removeAttribute nodeId=${params['nodeId']} name=${params['name']}');
}
final ctx = dbgContext;
if (ctx == null) {
sendToFrontend(id, null);
return;
}
int? nodeId = params['nodeId'];
String? name = params['name'];
if (nodeId == null || name == null) {
sendToFrontend(id, null);
return;
}
final targetId = ctx.getTargetIdByNodeId(nodeId);
if (targetId == null) {
sendToFrontend(id, null);
return;
}
final Node? node = ctx.getBindingObject(Pointer.fromAddress(targetId)) as Node?;
if (node is Element) {
final controller = ctx.getController() ?? devtoolsService.controller;
if (controller != null) {
try {
controller.view.removeAttribute(node.pointer!, name);
} catch (_) {
node.removeAttribute(name);
}
} else {
node.removeAttribute(name);
}
}
sendToFrontend(id, null);
}