A set of utility functions and helpers for IFrames
Disable all mouse events in all iframes on this page.
This is necessary for many drag-n-drop operations, since without it the frames will not only eat the events, but may leave applications in a bad state.
While the event copying utilities above mitigate this, they cannot prevent it entirely.
Enable all mouse events on all iframes on this page.
This accompanies DisableFramePointerEvents, and should be used to revert back to a healthy state after a drag operation is complete.
Clone events from a given document to an HTMLElement on a different document.
The document to capture events from
An HTML element to create new events on
A disposable delegate that can be used to unhook the bubbling
This is used by the MavenWorks framework to clone events from popups and iframes out to the parent window. There are a number of caveats, which are detailed below.
Keyboard events are copied wholesale, using the original event as an event init dict.
Caveat: Keyboard events are not cloned if their target is the child document's active element (meaning, it has focus).
Mouse events have their clientX and clientY properties corrected to matcch the parent document's positioning. No other properties are corrected in this manner, though such corrections should be implemented if the need arises.
Drag events do not have their positions corrected, and do not include their dataTransfer objects.
Focus events will not result in CSS focus being applied.
Copy stylesheets and base-urls from one document to another.
The document to copy and