files/en-us/mozilla/firefox/releases/3/dom_improvements/index.md
Firefox 3 offers a number of improvements to the Document Object Model (DOM), especially in regard to support for extensions to the DOM added by other browsers. This article provides a list of those improvements as well as links to more detailed documentation.
clientTop and clientLeft DOM extensions are now supported.window.fullScreen property is now always accurate no matter where it is read, even in content. Previously it would return false inaccurately (Firefox bug 127013).getClientRects and getBoundingClientRect DOM extensions are now supported (see Firefox bug 174397).elementFromPoint DOM extension is now supported (Firefox bug 199692).oncut, oncopy, and onpaste DOM extensions are now supported (Firefox bug 280959).Node.nodePrincipal, Node.baseURIObject, and document.documentURIObject. Chrome code must not touch (get or set) these properties on an unwrapped content object (e.g., on a wrappedJSObject of an XPCNativeWrapper), see Firefox bug 324464 for details.getElementsByClassName() DOM method is now supported.window.postMessage DOM method is now supported. This method allows a limited, opt-in form of client-side communication between windows not necessarily on the same domain.charCode value of the keypress event is changed to an ASCII character if the accelerator key is pressed. Otherwise the charCode is the unmodified character (excepting Shift state).