PassRefPtr<Event> MouseEvent::cloneFor(HTMLIFrameElement* iframe) const { ASSERT(iframe); RefPtr<MouseEvent> clonedMouseEvent = MouseEvent::create(); Frame* frame = iframe->document().frame(); FrameView* frameView = frame ? frame->view() : 0; clonedMouseEvent->initMouseEvent(type(), bubbles(), cancelable(), iframe->document().defaultView(), detail(), screenX(), screenY(), frameView ? adjustedClientX(clientX(), iframe, frameView) : 0, frameView ? adjustedClientY(clientY(), iframe, frameView) : 0, ctrlKey(), altKey(), shiftKey(), metaKey(), button(), // Nullifies relatedTarget. 0); return clonedMouseEvent.release(); }
Ref<Event> MouseEvent::cloneFor(HTMLIFrameElement* iframe) const { ASSERT(iframe); Frame* frame = iframe->document().frame(); FrameView* frameView = frame ? frame->view() : nullptr; Ref<MouseEvent> clonedMouseEvent = MouseEvent::create(type(), bubbles(), cancelable(), iframe->document().defaultView(), detail(), screenX(), screenY(), frameView ? adjustedClientX(clientX(), iframe, frameView) : 0, frameView ? adjustedClientY(clientY(), iframe, frameView) : 0, ctrlKey(), altKey(), shiftKey(), metaKey(), button(), syntheticClickType(), // Nullifies relatedTarget. 0); clonedMouseEvent->setForce(force()); return WTFMove(clonedMouseEvent); }