cloneNode method
Implementation
void cloneNode(Pointer<NativeBindingObject> selfPtr, Pointer<NativeBindingObject> newPtr) {
assert(hasBindingObject(selfPtr));
assert(hasBindingObject(newPtr));
EventTarget? originalTarget = getBindingObject<EventTarget>(selfPtr);
EventTarget? newTarget = getBindingObject<EventTarget>(newPtr);
if (originalTarget == null || newTarget == null) return;
// Current only element clone will process in dart.
if (originalTarget is Element) {
Element newElement = newTarget as Element;
// Copy inline style.
originalTarget.inlineStyle.forEach((key, value) {
newElement.setInlineStyle(key, value);
});
// Copy element attributes.
originalTarget.attributes.forEach((key, value) {
newElement.setAttribute(key, value);
});
newElement.className = originalTarget.className;
newElement.id = originalTarget.id;
}
}