Range set* functions should not throw WRONG_DOCUMENT_ERR. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS range.setStart(iframe.contentDocument.body, 0) did not throw exception. PASS range.startContainer is iframe.contentDocument.body PASS range.collapsed is true PASS range.setEnd(iframe.contentDocument.body, 0) did not throw exception. PASS range.startContainer is iframe.contentDocument.body PASS range.collapsed is true PASS range.setStartAfter(iframe.contentDocument.body.firstChild) did not throw exception. PASS range.startContainer is iframe.contentDocument.body PASS range.collapsed is true PASS range.setStartBefore(iframe.contentDocument.body.firstChild) did not throw exception. PASS range.startContainer is iframe.contentDocument.body PASS range.collapsed is true PASS range.setEndAfter(iframe.contentDocument.body.firstChild) did not throw exception. PASS range.startContainer is iframe.contentDocument.body PASS range.collapsed is true PASS range.setEndBefore(iframe.contentDocument.body.firstChild) did not throw exception. PASS range.startContainer is iframe.contentDocument.body PASS range.collapsed is true PASS successfullyParsed is true TEST COMPLETE