<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[189182] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/189182">189182</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2015-08-31 13:41:34 -0700 (Mon, 31 Aug 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Range.detach() / NodeIterator.detach() should be no-ops as per the latest DOM specification
https://bugs.webkit.org/show_bug.cgi?id=148454

Reviewed by Ryosuke Niwa.

Source/WebCore:

Range.detach() / NodeIterator.detach() should be no-ops as per the
latest DOM specification:
- https://dom.spec.whatwg.org/#dom-range-detach
- https://dom.spec.whatwg.org/#dom-nodeiterator-detach

These are already no-ops in Firefox:
- https://bugzilla.mozilla.org/show_bug.cgi?id=702948
- https://bugzilla.mozilla.org/show_bug.cgi?id=823549

and Chrome:
- https://src.chromium.org/viewvc/blink?revision=173010&amp;view=revision
- https://src.chromium.org/viewvc/blink?revision=172768&amp;view=revision

Tests: fast/dom/Range/range-detach-noop.html
       fast/dom/node-iterator-detach-noop.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::selectText):
(WebCore::AccessibilityObject::stringForVisiblePositionRange):
(WebCore::AccessibilityObject::lengthForVisiblePositionRange):
* accessibility/atk/WebKitAccessibleUtil.cpp:
(selectionBelongsToObject):
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
(-[WebAccessibilityObjectWrapper _convertToNSRange:]):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
(-[WebAccessibilityObjectWrapper _convertToNSRange:]):
* bindings/scripts/CodeGeneratorGObject.pm:
(FunctionUsedToRaiseException):
* dom/DocumentMarkerController.cpp:
(WebCore::DocumentMarkerController::addMarker):
(WebCore::DocumentMarkerController::addTextMatchMarker):
(WebCore::DocumentMarkerController::addDictationPhraseWithAlternativesMarker):
(WebCore::DocumentMarkerController::addDictationResultMarker):
(WebCore::DocumentMarkerController::removeMarkers):
(WebCore::DocumentMarkerController::markersInRange):
(DocumentMarkerController::setMarkersActive):
(DocumentMarkerController::hasMarkers):
(DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
* dom/NodeIterator.cpp:
(WebCore::NodeIterator::nextNode):
(WebCore::NodeIterator::previousNode):
(WebCore::NodeIterator::detach):
(WebCore::NodeIterator::NodeIterator): Deleted.
(WebCore::NodeIterator::nodeWillBeRemoved): Deleted.
(WebCore::NodeIterator::updateForNodeRemoval): Deleted.
* dom/NodeIterator.h:
(WebCore::NodeIterator::nextNode):
(WebCore::NodeIterator::previousNode):
* dom/NodeIterator.idl:
* dom/Range.cpp:
(WebCore::Range::commonAncestorContainer):
(WebCore::Range::setStart):
(WebCore::Range::setEnd):
(WebCore::Range::collapse):
(WebCore::Range::isPointInRange):
(WebCore::Range::comparePoint):
(WebCore::Range::compareNode):
(WebCore::Range::compareBoundaryPoints):
(WebCore::Range::boundaryPointsValid):
(WebCore::Range::deleteContents):
(WebCore::Range::processContents):
(WebCore::Range::processContentsBetweenOffsets):
(WebCore::Range::processAncestorsAndTheirSiblings):
(WebCore::Range::extractContents):
(WebCore::Range::cloneContents):
(WebCore::Range::insertNode):
(WebCore::Range::toString):
(WebCore::Range::text):
(WebCore::Range::createContextualFragment):
(WebCore::Range::detach):
(WebCore::Range::cloneRange):
(WebCore::Range::surroundContents):
(WebCore::Range::checkDeleteExtract):
(WebCore::Range::containedByReadOnly):
(WebCore::Range::firstNode):
(WebCore::Range::shadowRoot):
(WebCore::Range::pastLastNode):
(WebCore::Range::absoluteTextRects):
(WebCore::Range::absoluteTextQuads):
(WebCore::Range::collectSelectionRects):
(WebCore::Range::formatForDebugger):
(WebCore::Range::contains):
(WebCore::rangesOverlap):
(WebCore::Range::getBorderAndTextQuads):
(WebCore::Range::boundingRectInternal):
(showTree):
(WebCore::checkForDifferentRootContainer): Deleted.
(WebCore::lengthOfContentsInNode): Deleted.
(WebCore::Range::processNodes): Deleted.
(WebCore::Range::checkNodeWOffset): Deleted.
(WebCore::Range::checkNodeBA): Deleted.
(WebCore::Range::setStartAfter): Deleted.
(WebCore::Range::setEndBefore): Deleted.
(WebCore::Range::setEndAfter): Deleted.
(WebCore::Range::selectNode): Deleted.
(WebCore::intervalsSufficientlyOverlap): Deleted.
(WebCore::coalesceSelectionRects): Deleted.
(WebCore::areRangesEqual): Deleted.
(WebCore::boundaryTextNodesSplit): Deleted.
(WebCore::Range::textNodeSplit): Deleted.
(WebCore::Range::expand): Deleted.
* dom/Range.h:
(WebCore::Range::startContainer):
(WebCore::Range::endContainer):
(WebCore::Range::collapsed):
(WebCore::Range::commonAncestorContainer):
* dom/Range.idl:
* editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::applyAlternativeTextToRange):
(WebCore::AlternativeTextController::handleAlternativeTextUIResult):
(WebCore::AlternativeTextController::markReversed):
(WebCore::AlternativeTextController::markCorrection):
(WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection):
(WebCore::AlternativeTextController::applyDictationAlternative):
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::styleAtSelectionStart):
* editing/Editor.cpp:
(WebCore::Editor::canDeleteRange):
(WebCore::Editor::shouldDeleteRange):
(WebCore::Editor::advanceToNextMisspelling):
(WebCore::Editor::markMisspellingsOrBadGrammar):
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
(WebCore::correctSpellcheckingPreservingTextCheckingParagraph):
(WebCore::Editor::markAndReplaceFor):
(WebCore::Editor::changeBackToReplacedString):
(WebCore::Editor::firstRectForRange):
(WebCore::Editor::rangeOfString):
(WebCore::Editor::countMatchesForText):
(WebCore::Editor::scanRangeForTelephoneNumbers):
(WebCore::isFrameInRange): Deleted.
* editing/EditorCommand.cpp:
(WebCore::expandSelectionToGranularity):
(WebCore::unionDOMRanges):
* editing/FormatBlockCommand.cpp:
(WebCore::FormatBlockCommand::elementForFormatBlockCommand):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::setSelectedRange):
(WebCore::FrameSelection::wordOffsetInRange):
(WebCore::FrameSelection::spaceFollowsWordInRange):
(WebCore::FrameSelection::selectionAtDocumentStart): Deleted.
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendText):
* editing/SpellChecker.cpp:
(WebCore::SpellCheckRequest::SpellCheckRequest):
(WebCore::SpellChecker::isCheckable):
* editing/SpellingCorrectionCommand.cpp:
(WebCore::SpellingCorrectionCommand::SpellingCorrectionCommand):
* editing/TextCheckingHelper.cpp:
(WebCore::expandToParagraphBoundary):
(WebCore::TextCheckingParagraph::offsetTo):
(WebCore::TextCheckingParagraph::offsetAsRange):
(WebCore::TextCheckingHelper::findFirstMisspelling):
(WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
(WebCore::TextCheckingHelper::findFirstGrammarDetail):
(WebCore::TextCheckingHelper::isUngrammatical):
(WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
* editing/TextIterator.cpp:
(WebCore::TextIterator::TextIterator):
(WebCore::TextIterator::node):
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
(WebCore::CharacterIterator::range):
(WebCore::characterSubrange):
(WebCore::BackwardsCharacterIterator::range):
(WebCore::TextIterator::rangeFromLocationAndLength):
(WebCore::TextIterator::getLocationAndLengthFromRange):
(WebCore::collapsedToBoundary):
(WebCore::findPlainText):
(WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator): Deleted.
(WebCore::BackwardsCharacterIterator::advance): Deleted.
(WebCore::plainText): Deleted.
* editing/VisibleUnits.cpp:
(WebCore::previousBoundary):
* editing/cocoa/HTMLConverter.mm:
(HTMLConverter::_processText):
(HTMLConverter::_traverseNode):
(HTMLConverter::_traverseFooterNode):
(HTMLConverterCaches::cacheAncestorsOfStartToBeConverted):
(WebCore::editingAttributedStringFromRange):
* editing/mac/EditorMac.mm:
(WebCore::Editor::adjustedSelectionRange):
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::renderedText):
(WebCore::StyledMarkupAccumulator::stringValueForRange):
(WebCore::highestAncestorToWrapMarkup):
(WebCore::createMarkupInternal):
(WebCore::createFullMarkup):
(WebCore::urlToMarkup): Deleted.
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::create):
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
* page/DOMSelection.cpp:
(WebCore::DOMSelection::deleteFromDocument):
(WebCore::DOMSelection::containsNode):
* page/TextIndicator.cpp:
(WebCore::TextIndicator::createWithRange):
* page/ios/FrameIOS.mm:
(WebCore::Frame::indexCountOfWordPrecedingSelection):
(WebCore::Frame::wordsInCurrentParagraph):
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writeRangeToDataObject):
(WebCore::Pasteboard::writeSelection):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::getRanges):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::absoluteBoundingBoxRectForRange):

Source/WebKit/mac:

Update Range API call sites to reflect changes.

* WebView/WebImmediateActionController.mm:
(dictionaryPopupInfoForRange):

Source/WebKit/win:

Update Range API call sites to reflect changes.

* DOMCoreClasses.cpp:
(DOMRange::startContainer):
(DOMRange::endContainer):
(DOMRange::collapsed):
(DOMRange::toString):
* WebView.cpp:
(WebView::prepareCandidateWindow):
(WebView::onIMERequestCharPosition):
(WebView::firstRectForCharacterRangeForTesting): Deleted.

Source/WebKit2:

Update Range API call sites to reflect changes.

* WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
(-[WKDOMRange collapse:]):
(-[WKDOMRange startContainer]):
(-[WKDOMRange startOffset]):
(-[WKDOMRange endContainer]):
(-[WKDOMRange endOffset]):
(-[WKDOMRange isCollapsed]):
(-[WKDOMRange text]): Deleted.
* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::getImageForFindMatch):
(WebKit::FindController::selectFindMatch):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::targetFrameForEditing):
(WebKit::WebPage::firstRectForCharacterRangeAsync): Deleted.
* WebProcess/WebPage/efl/WebPageEfl.cpp:
(WebKit::targetFrameForEditing):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::rangeForBlockAtPoint):
(WebKit::containsRange):
(WebKit::unionDOMRanges):
(WebKit::WebPage::contractedRangeFromHandle):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::dictionaryPopupInfoForRange):
(WebKit::WebPage::firstRectForCharacterRange): Deleted.

LayoutTests:

* fast/dom/Range/bug-19527.html:
* fast/dom/Range/detach-range-during-deletecontents-expected.txt:
* fast/dom/Range/range-compareNode-expected.txt:
* fast/dom/Range/range-compareNode.html:
* fast/dom/Range/range-comparePoint.html:
* fast/dom/Range/range-intersectsNode-exception-expected.txt: Removed.
* fast/dom/Range/range-intersectsNode-exception.html: Removed.
* fast/dom/Range/range-intersectsNode-expected.txt:
* fast/dom/Range/range-isPointInRange.html:
* fast/dom/Range/resources/intersectsNode.js:
Update / rebaseline tests.

* fast/dom/Range/range-detach-noop-expected.txt: Added.
* fast/dom/Range/range-detach-noop.html: Added.
New test checking that Range.detach() is a no-op.

* fast/dom/node-iterator-detach-noop-expected.txt: Added.
* fast/dom/node-iterator-detach-noop.html: Added.
New test checking that NodeIterator.detach() is a no-op.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsfastdomRangebug19527html">trunk/LayoutTests/fast/dom/Range/bug-19527.html</a></li>
<li><a href="#trunkLayoutTestsfastdomRangedetachrangeduringdeletecontentsexpectedtxt">trunk/LayoutTests/fast/dom/Range/detach-range-during-deletecontents-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastdomRangerangecompareNodeexpectedtxt">trunk/LayoutTests/fast/dom/Range/range-compareNode-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastdomRangerangecompareNodehtml">trunk/LayoutTests/fast/dom/Range/range-compareNode.html</a></li>
<li><a href="#trunkLayoutTestsfastdomRangerangecomparePointhtml">trunk/LayoutTests/fast/dom/Range/range-comparePoint.html</a></li>
<li><a href="#trunkLayoutTestsfastdomRangerangeintersectsNodeexpectedtxt">trunk/LayoutTests/fast/dom/Range/range-intersectsNode-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastdomRangerangeisPointInRangehtml">trunk/LayoutTests/fast/dom/Range/range-isPointInRange.html</a></li>
<li><a href="#trunkLayoutTestsfastdomRangeresourcesintersectsNodejs">trunk/LayoutTests/fast/dom/Range/resources/intersectsNode.js</a></li>
<li><a href="#trunkLayoutTestshttptestsw3cdominterfacesexpectedtxt">trunk/LayoutTests/http/tests/w3c/dom/interfaces-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestsw3cdomrangesRangeattributesexpectedtxt">trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestsw3cdomrangesRangecloneContentsexpectedtxt">trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-cloneContents-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestsw3cdomrangesRangecommonAncestorContainer2expectedtxt">trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-commonAncestorContainer-2-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestsw3cdomrangesRangecommonAncestorContainerexpectedtxt">trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-commonAncestorContainer-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestsw3cdomrangesRangecompareBoundaryPointsexpectedtxt">trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-compareBoundaryPoints-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestsw3cdomrangesRangecomparePoint2expectedtxt">trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-comparePoint-2-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestsw3cdomrangesRangedeleteContentsexpectedtxt">trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-deleteContents-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestsw3cdomrangesRangedetachexpectedtxt">trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-detach-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestsw3cdomrangesRangeextractContentsexpectedtxt">trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-extractContents-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestsw3cdomrangesRangeintersectsNodeexpectedtxt">trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-intersectsNode-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestsw3cdomrangesRangeisPointInRangeexpectedtxt">trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-isPointInRange-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestsw3cdomrangesRangeselectNodeexpectedtxt">trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-selectNode-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityObjectcpp">trunk/Source/WebCore/accessibility/AccessibilityObject.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityatkWebKitAccessibleUtilcpp">trunk/Source/WebCore/accessibility/atk/WebKitAccessibleUtil.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityiosWebAccessibilityObjectWrapperIOSmm">trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm</a></li>
<li><a href="#trunkSourceWebCoreaccessibilitymacWebAccessibilityObjectWrapperMacmm">trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorGObjectpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm</a></li>
<li><a href="#trunkSourceWebCoredomDocumentMarkerControllercpp">trunk/Source/WebCore/dom/DocumentMarkerController.cpp</a></li>
<li><a href="#trunkSourceWebCoredomNodeIteratorcpp">trunk/Source/WebCore/dom/NodeIterator.cpp</a></li>
<li><a href="#trunkSourceWebCoredomNodeIteratorh">trunk/Source/WebCore/dom/NodeIterator.h</a></li>
<li><a href="#trunkSourceWebCoredomNodeIteratoridl">trunk/Source/WebCore/dom/NodeIterator.idl</a></li>
<li><a href="#trunkSourceWebCoredomRangecpp">trunk/Source/WebCore/dom/Range.cpp</a></li>
<li><a href="#trunkSourceWebCoredomRangeh">trunk/Source/WebCore/dom/Range.h</a></li>
<li><a href="#trunkSourceWebCoredomRangeidl">trunk/Source/WebCore/dom/Range.idl</a></li>
<li><a href="#trunkSourceWebCoreeditingAlternativeTextControllercpp">trunk/Source/WebCore/editing/AlternativeTextController.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingEditingStylecpp">trunk/Source/WebCore/editing/EditingStyle.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingEditorcpp">trunk/Source/WebCore/editing/Editor.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingEditorCommandcpp">trunk/Source/WebCore/editing/EditorCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingFormatBlockCommandcpp">trunk/Source/WebCore/editing/FormatBlockCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingFrameSelectioncpp">trunk/Source/WebCore/editing/FrameSelection.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingMarkupAccumulatorcpp">trunk/Source/WebCore/editing/MarkupAccumulator.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingSpellCheckercpp">trunk/Source/WebCore/editing/SpellChecker.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingSpellingCorrectionCommandcpp">trunk/Source/WebCore/editing/SpellingCorrectionCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingTextCheckingHelpercpp">trunk/Source/WebCore/editing/TextCheckingHelper.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingTextIteratorcpp">trunk/Source/WebCore/editing/TextIterator.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingVisibleUnitscpp">trunk/Source/WebCore/editing/VisibleUnits.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingcocoaHTMLConvertermm">trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm</a></li>
<li><a href="#trunkSourceWebCoreeditingmacEditorMacmm">trunk/Source/WebCore/editing/mac/EditorMac.mm</a></li>
<li><a href="#trunkSourceWebCoreeditingmarkupcpp">trunk/Source/WebCore/editing/markup.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderarchivecfLegacyWebArchivecpp">trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp</a></li>
<li><a href="#trunkSourceWebCorepageContextMenuControllercpp">trunk/Source/WebCore/page/ContextMenuController.cpp</a></li>
<li><a href="#trunkSourceWebCorepageDOMSelectioncpp">trunk/Source/WebCore/page/DOMSelection.cpp</a></li>
<li><a href="#trunkSourceWebCorepageTextIndicatorcpp">trunk/Source/WebCore/page/TextIndicator.cpp</a></li>
<li><a href="#trunkSourceWebCorepageiosFrameIOSmm">trunk/Source/WebCore/page/ios/FrameIOS.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformwinPasteboardWincpp">trunk/Source/WebCore/platform/win/PasteboardWin.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderNamedFlowThreadcpp">trunk/Source/WebCore/rendering/RenderNamedFlowThread.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderObjectcpp">trunk/Source/WebCore/rendering/RenderObject.cpp</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebImmediateActionControllermm">trunk/Source/WebKit/mac/WebView/WebImmediateActionController.mm</a></li>
<li><a href="#trunkSourceWebKitwinChangeLog">trunk/Source/WebKit/win/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitwinDOMCoreClassescpp">trunk/Source/WebKit/win/DOMCoreClasses.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebViewcpp">trunk/Source/WebKit/win/WebView.cpp</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPImacWKDOMRangemm">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKDOMRange.mm</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageFindControllercpp">trunk/Source/WebKit2/WebProcess/WebPage/FindController.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagecpp">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageeflWebPageEflcpp">trunk/Source/WebKit2/WebProcess/WebPage/efl/WebPageEfl.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageiosWebPageIOSmm">trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPagemacWebPageMacmm">trunk/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsfastdomRangerangedetachnoopexpectedtxt">trunk/LayoutTests/fast/dom/Range/range-detach-noop-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastdomRangerangedetachnoophtml">trunk/LayoutTests/fast/dom/Range/range-detach-noop.html</a></li>
<li><a href="#trunkLayoutTestsfastdomnodeiteratordetachnoopexpectedtxt">trunk/LayoutTests/fast/dom/node-iterator-detach-noop-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastdomnodeiteratordetachnoophtml">trunk/LayoutTests/fast/dom/node-iterator-detach-noop.html</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsfastdomRangerangeintersectsNodeexceptionexpectedtxt">trunk/LayoutTests/fast/dom/Range/range-intersectsNode-exception-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastdomRangerangeintersectsNodeexceptionhtml">trunk/LayoutTests/fast/dom/Range/range-intersectsNode-exception.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/ChangeLog        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1,3 +1,30 @@
</span><ins>+2015-08-31  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Range.detach() / NodeIterator.detach() should be no-ops as per the latest DOM specification
+        https://bugs.webkit.org/show_bug.cgi?id=148454
+
+        Reviewed by Ryosuke Niwa.
+
+        * fast/dom/Range/bug-19527.html:
+        * fast/dom/Range/detach-range-during-deletecontents-expected.txt:
+        * fast/dom/Range/range-compareNode-expected.txt:
+        * fast/dom/Range/range-compareNode.html:
+        * fast/dom/Range/range-comparePoint.html:
+        * fast/dom/Range/range-intersectsNode-exception-expected.txt: Removed.
+        * fast/dom/Range/range-intersectsNode-exception.html: Removed.
+        * fast/dom/Range/range-intersectsNode-expected.txt:
+        * fast/dom/Range/range-isPointInRange.html:
+        * fast/dom/Range/resources/intersectsNode.js:
+        Update / rebaseline tests.
+
+        * fast/dom/Range/range-detach-noop-expected.txt: Added.
+        * fast/dom/Range/range-detach-noop.html: Added.
+        New test checking that Range.detach() is a no-op.
+
+        * fast/dom/node-iterator-detach-noop-expected.txt: Added.
+        * fast/dom/node-iterator-detach-noop.html: Added.
+        New test checking that NodeIterator.detach() is a no-op.
+
</ins><span class="cx"> 2015-08-31  Antti Koivisto  &lt;antti@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Network Cache: Stale content after back navigation
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomRangebug19527html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/Range/bug-19527.html (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Range/bug-19527.html        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/fast/dom/Range/bug-19527.html        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -46,15 +46,6 @@
</span><span class="cx"> shouldBe(&quot;ra.isPointInRange(document.body, 0)&quot;, false);
</span><span class="cx"> shouldThrow(&quot;ra.isPointInRange(null, 0)&quot;, &quot;HIERARCHY_REQUEST_ERR&quot;);
</span><span class="cx"> 
</span><del>-ra.detach();
-
-shouldThrow(&quot;ra.comparePoint(document.createElement('b'), 0)&quot;, &quot;INVALID_STATE_ERR&quot;);
-shouldThrow(&quot;ra.comparePoint(document.body, 0)&quot;, &quot;INVALID_STATE_ERR&quot;);
-shouldThrow(&quot;ra.comparePoint(null, 0)&quot;, &quot;INVALID_STATE_ERR&quot;);
-shouldThrow(&quot;ra.isPointInRange(document.createElement('b'), 0)&quot;, &quot;INVALID_STATE_ERR&quot;);
-shouldThrow(&quot;ra.isPointInRange(document.body, 0)&quot;, &quot;INVALID_STATE_ERR&quot;);
-shouldThrow(&quot;ra.isPointInRange(null, 0)&quot;, &quot;INVALID_STATE_ERR&quot;);
-
</del><span class="cx"> if (!hadError)
</span><span class="cx">     document.getElementById(&quot;log&quot;).innerHTML = &quot;PASS&quot;;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomRangedetachrangeduringdeletecontentsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/Range/detach-range-during-deletecontents-expected.txt (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Range/detach-range-during-deletecontents-expected.txt        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/fast/dom/Range/detach-range-during-deletecontents-expected.txt        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1,4 +1,3 @@
</span><del>-CONSOLE MESSAGE: line 12: InvalidStateError: DOM Exception 11: An attempt was made to use an object that is not, or is no longer, usable.
</del><span class="cx"> Detaching a Range while deleteContents() is running should not cause a crash.
</span><span class="cx"> 
</span><span class="cx"> On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomRangerangecompareNodeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/Range/range-compareNode-expected.txt (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Range/range-compareNode-expected.txt        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/fast/dom/Range/range-compareNode-expected.txt        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -11,7 +11,7 @@
</span><span class="cx"> test 11 passed: start before range, end after range
</span><span class="cx"> test 12 passed: start before range, end at range end
</span><span class="cx"> test 13 passed: start at range start, end after range
</span><del>-test 14 passed: detached range, attached node
</del><ins>+test 14 passed: detach is a noop
</ins><span class="cx"> test 15 passed: attached range, detached node
</span><span class="cx"> test 16 passed: the node has no parent
</span><span class="cx"> test 17 passed: the range has no parent
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomRangerangecompareNodehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/Range/range-compareNode.html (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Range/range-compareNode.html        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/fast/dom/Range/range-compareNode.html        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -113,19 +113,14 @@
</span><span class="cx">         document.getElementById(&quot;test13&quot;).innerHTML = &quot;test 13 passed: start at range start, end after range&quot;;
</span><span class="cx"> 
</span><span class="cx">     // test 14 - detached range, attached node
</span><del>-    // firefox throws an exception and does not return a value
</del><ins>+    // detach() should be a noop.
+    expectedResult = 1;
</ins><span class="cx">     var detachedRange = document.createRange();
</span><span class="cx">     detachedRange.detach();
</span><del>-    try {
-        result = detachedRange.compareNode(document.getElementById(&quot;a1&quot;));
-    } catch (e) {
-        if(e.code == DOMException.INVALID_STATE_ERR) {
-            document.getElementById(&quot;test14&quot;).innerHTML = &quot;test 14 passed: detached range, attached node&quot;; 
-        } else {
-            document.getElementById(&quot;test14&quot;).innerHTML = &quot;&lt;span style=\&quot;color: red;\&quot;&gt;test 14 failed error: &quot; + e.message + &quot;&lt;/span&gt;&quot;;
-        }
-    }
-        
</del><ins>+    result = detachedRange.compareNode(document.getElementById(&quot;a1&quot;));
+    if (result == expectedResult)
+        document.getElementById(&quot;test14&quot;).innerHTML = &quot;test 14 passed: detach is a noop&quot;;
+
</ins><span class="cx">     // test 15 - attached range, detached node
</span><span class="cx">     // firefox does not throw an exception and returns 0 for this test
</span><span class="cx">     expectedResult = 0;
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomRangerangecomparePointhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/Range/range-comparePoint.html (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Range/range-comparePoint.html        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/fast/dom/Range/range-comparePoint.html        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -61,14 +61,13 @@
</span><span class="cx">         document.getElementById(&quot;test8&quot;).innerHTML = &quot;test 8 passed&quot;; 
</span><span class="cx">         
</span><span class="cx">     // test 9 - detached range, attached node
</span><del>-    // firefox throws an exception and does not return a value
</del><ins>+    // detach() is a no-op.
+    expectedResult = 1;
</ins><span class="cx">     var detachedRange = document.createRange();
</span><span class="cx">     detachedRange.detach();
</span><del>-    try {
-        result = detachedRange.comparePoint(document.getElementById(&quot;a1&quot;), 0);
-    } catch (e) {
</del><ins>+    result = detachedRange.comparePoint(document.getElementById(&quot;a1&quot;), 0);
+    if (result == expectedResult)
</ins><span class="cx">         document.getElementById(&quot;test9&quot;).innerHTML = &quot;test 9 passed&quot;; 
</span><del>-    }
</del><span class="cx">         
</span><span class="cx">     // test 10 - attached range, detached node
</span><span class="cx">     // firefox throws an exception
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomRangerangedetachnoopexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/dom/Range/range-detach-noop-expected.txt (0 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Range/range-detach-noop-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/dom/Range/range-detach-noop-expected.txt        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+Tests that Range.detach() is a no-op.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+PASS range.detach() did not throw exception.
+PASS range.detach() did not throw exception.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastdomRangerangedetachnoophtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/dom/Range/range-detach-noop.html (0 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Range/range-detach-noop.html                                (rev 0)
+++ trunk/LayoutTests/fast/dom/Range/range-detach-noop.html        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+&lt;body&gt;
+&lt;script src=&quot;../../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;script&gt;
+description(&quot;Tests that Range.detach() is a no-op.&quot;);
+
+var range = document.createRange();
+shouldNotThrow(&quot;range.detach()&quot;);
+shouldNotThrow(&quot;range.detach()&quot;);
+&lt;/script&gt;
+&lt;script src=&quot;../../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastdomRangerangeintersectsNodeexceptionexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/dom/Range/range-intersectsNode-exception-expected.txt (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Range/range-intersectsNode-exception-expected.txt        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/fast/dom/Range/range-intersectsNode-exception-expected.txt        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1,10 +0,0 @@
</span><del>-Test for Bug: 75799 - Calling intersectsNode on a detached range should throw
-
-On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
-
-
-PASS range.intersectsNode(document.getElementById('b1')) threw exception Error: InvalidStateError: DOM Exception 11.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
</del></span></pre></div>
<a id="trunkLayoutTestsfastdomRangerangeintersectsNodeexceptionhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/dom/Range/range-intersectsNode-exception.html (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Range/range-intersectsNode-exception.html        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/fast/dom/Range/range-intersectsNode-exception.html        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1,22 +0,0 @@
</span><del>-&lt;html&gt;
-&lt;head&gt;
-&lt;script src=&quot;../../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
-&lt;/head&gt;
-&lt;body&gt;
-&lt;!-- hidden area to create the ranges being tested --&gt;
-&lt;div  style=&quot;visibility: hidden&quot;&gt;
-    &lt;div id=a1&gt;a1
-        &lt;div id=b1&gt;b1&lt;/div&gt;
-    &lt;/div&gt;
-&lt;/div&gt;
-
-&lt;script&gt;
-description(&quot;Test for Bug: 75799 - Calling intersectsNode on a detached range should throw&quot;);
-var range = document.createRange();
-range.selectNode(document.getElementById(&quot;a1&quot;));
-range.detach();
-shouldThrow(&quot;range.intersectsNode(document.getElementById('b1'))&quot;, '&quot;Error: InvalidStateError: DOM Exception 11&quot;');
-&lt;/script&gt;
-&lt;script src=&quot;../../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
-&lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsfastdomRangerangeintersectsNodeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/Range/range-intersectsNode-expected.txt (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Range/range-intersectsNode-expected.txt        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/fast/dom/Range/range-intersectsNode-expected.txt        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx"> PASS intersects is true
</span><span class="cx"> 
</span><span class="cx"> 2.1 Detached Range, attached node
</span><del>-PASS detachedRange.intersectsNode(document.getElementById('a1')) threw exception Error: InvalidStateError: DOM Exception 11.
</del><ins>+PASS detachedRange.intersectsNode(document.getElementById('a1')) is false
</ins><span class="cx"> 
</span><span class="cx"> 2.2 attached range, detached node
</span><span class="cx"> PASS intersects is false
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomRangerangeisPointInRangehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/Range/range-isPointInRange.html (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Range/range-isPointInRange.html        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/fast/dom/Range/range-isPointInRange.html        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -60,15 +60,14 @@
</span><span class="cx">         document.getElementById(&quot;test8&quot;).innerHTML = &quot;test 8 passed&quot;; 
</span><span class="cx">         
</span><span class="cx">     // test 9 - detached range, attached node
</span><del>-    // firefox throws an exception and does not return a value
</del><ins>+    // detach() is a no-op.
+    expectedResult = false;
</ins><span class="cx">     var detachedRange = document.createRange();
</span><span class="cx">     detachedRange.detach();
</span><del>-    try {
-        result = detachedRange.isPointInRange(document.getElementById(&quot;a1&quot;), 0);
-    } catch (e) {
</del><ins>+    result = detachedRange.isPointInRange(document.getElementById(&quot;a1&quot;), 0);
+    if (result == expectedResult)
</ins><span class="cx">         document.getElementById(&quot;test9&quot;).innerHTML = &quot;test 9 passed&quot;; 
</span><del>-    }
-        
</del><ins>+
</ins><span class="cx">     // test 10 - attached range, detached node
</span><span class="cx">     // firefox does not throw an exception and returns false for this test
</span><span class="cx">     range.selectNode(document.getElementById(&quot;a1&quot;));
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomRangeresourcesintersectsNodejs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/Range/resources/intersectsNode.js (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Range/resources/intersectsNode.js        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/fast/dom/Range/resources/intersectsNode.js        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -94,8 +94,8 @@
</span><span class="cx"> 
</span><span class="cx"> debug(&quot;2.1 Detached Range, attached node&quot;);
</span><span class="cx"> var detachedRange = document.createRange();
</span><del>-detachedRange.detach();
-shouldThrow(&quot;detachedRange.intersectsNode(document.getElementById('a1'))&quot;, '&quot;Error: InvalidStateError: DOM Exception 11&quot;');
</del><ins>+detachedRange.detach(); // no-op.
+shouldBeFalse(&quot;detachedRange.intersectsNode(document.getElementById('a1'))&quot;);
</ins><span class="cx"> debug(&quot;&quot;);
</span><span class="cx"> 
</span><span class="cx"> debug(&quot;2.2 attached range, detached node&quot;);
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomnodeiteratordetachnoopexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/dom/node-iterator-detach-noop-expected.txt (0 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/node-iterator-detach-noop-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/dom/node-iterator-detach-noop-expected.txt        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+Tests that NodeIterator.detach() is a no-op.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+PASS iter.detach() did not throw exception.
+PASS iter.detach() did not throw exception.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastdomnodeiteratordetachnoophtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/dom/node-iterator-detach-noop.html (0 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/node-iterator-detach-noop.html                                (rev 0)
+++ trunk/LayoutTests/fast/dom/node-iterator-detach-noop.html        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+&lt;body&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;script&gt;
+description(&quot;Tests that NodeIterator.detach() is a no-op.&quot;);
+
+var iter = document.createNodeIterator(document);
+shouldNotThrow(&quot;iter.detach()&quot;);
+shouldNotThrow(&quot;iter.detach()&quot;);
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestshttptestsw3cdominterfacesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/w3c/dom/interfaces-expected.txt (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/w3c/dom/interfaces-expected.txt        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/http/tests/w3c/dom/interfaces-expected.txt        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1757,37 +1757,37 @@
</span><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;setStart&quot; with the proper type (6) 
</span><span class="cx"> FAIL Range interface: calling setStart(Node,unsigned long) on detachedRange with too few arguments must throw TypeError assert_throws: Called with 0 arguments function &quot;function () {
</span><span class="cx">     [native code]
</span><del>-}&quot; threw object &quot;Error: InvalidStateError: DOM Exception 11&quot; (&quot;InvalidStateError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</del><ins>+}&quot; threw object &quot;Error: NotFoundError: DOM Exception 8&quot; (&quot;NotFoundError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;setEnd&quot; with the proper type (7) 
</span><span class="cx"> FAIL Range interface: calling setEnd(Node,unsigned long) on detachedRange with too few arguments must throw TypeError assert_throws: Called with 0 arguments function &quot;function () {
</span><span class="cx">     [native code]
</span><del>-}&quot; threw object &quot;Error: InvalidStateError: DOM Exception 11&quot; (&quot;InvalidStateError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</del><ins>+}&quot; threw object &quot;Error: NotFoundError: DOM Exception 8&quot; (&quot;NotFoundError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;setStartBefore&quot; with the proper type (8) 
</span><span class="cx"> FAIL Range interface: calling setStartBefore(Node) on detachedRange with too few arguments must throw TypeError assert_throws: Called with 0 arguments function &quot;function () {
</span><span class="cx">     [native code]
</span><del>-}&quot; threw object &quot;Error: InvalidStateError: DOM Exception 11&quot; (&quot;InvalidStateError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</del><ins>+}&quot; threw object &quot;Error: NotFoundError: DOM Exception 8&quot; (&quot;NotFoundError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;setStartAfter&quot; with the proper type (9) 
</span><span class="cx"> FAIL Range interface: calling setStartAfter(Node) on detachedRange with too few arguments must throw TypeError assert_throws: Called with 0 arguments function &quot;function () {
</span><span class="cx">     [native code]
</span><del>-}&quot; threw object &quot;Error: InvalidStateError: DOM Exception 11&quot; (&quot;InvalidStateError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</del><ins>+}&quot; threw object &quot;Error: NotFoundError: DOM Exception 8&quot; (&quot;NotFoundError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;setEndBefore&quot; with the proper type (10) 
</span><span class="cx"> FAIL Range interface: calling setEndBefore(Node) on detachedRange with too few arguments must throw TypeError assert_throws: Called with 0 arguments function &quot;function () {
</span><span class="cx">     [native code]
</span><del>-}&quot; threw object &quot;Error: InvalidStateError: DOM Exception 11&quot; (&quot;InvalidStateError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</del><ins>+}&quot; threw object &quot;Error: NotFoundError: DOM Exception 8&quot; (&quot;NotFoundError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;setEndAfter&quot; with the proper type (11) 
</span><span class="cx"> FAIL Range interface: calling setEndAfter(Node) on detachedRange with too few arguments must throw TypeError assert_throws: Called with 0 arguments function &quot;function () {
</span><span class="cx">     [native code]
</span><del>-}&quot; threw object &quot;Error: InvalidStateError: DOM Exception 11&quot; (&quot;InvalidStateError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</del><ins>+}&quot; threw object &quot;Error: NotFoundError: DOM Exception 8&quot; (&quot;NotFoundError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;collapse&quot; with the proper type (12) 
</span><span class="cx"> PASS Range interface: calling collapse(boolean) on detachedRange with too few arguments must throw TypeError 
</span><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;selectNode&quot; with the proper type (13) 
</span><span class="cx"> FAIL Range interface: calling selectNode(Node) on detachedRange with too few arguments must throw TypeError assert_throws: Called with 0 arguments function &quot;function () {
</span><span class="cx">     [native code]
</span><del>-}&quot; threw object &quot;Error: InvalidStateError: DOM Exception 11&quot; (&quot;InvalidStateError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</del><ins>+}&quot; threw object &quot;Error: NotFoundError: DOM Exception 8&quot; (&quot;NotFoundError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;selectNodeContents&quot; with the proper type (14) 
</span><span class="cx"> FAIL Range interface: calling selectNodeContents(Node) on detachedRange with too few arguments must throw TypeError assert_throws: Called with 0 arguments function &quot;function () {
</span><span class="cx">     [native code]
</span><del>-}&quot; threw object &quot;Error: InvalidStateError: DOM Exception 11&quot; (&quot;InvalidStateError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</del><ins>+}&quot; threw object &quot;Error: NotFoundError: DOM Exception 8&quot; (&quot;NotFoundError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;START_TO_START&quot; with the proper type (15) 
</span><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;START_TO_END&quot; with the proper type (16) 
</span><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;END_TO_END&quot; with the proper type (17) 
</span><span class="lines">@@ -1795,32 +1795,32 @@
</span><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;compareBoundaryPoints&quot; with the proper type (19) 
</span><span class="cx"> FAIL Range interface: calling compareBoundaryPoints(unsigned short,Range) on detachedRange with too few arguments must throw TypeError assert_throws: Called with 0 arguments function &quot;function () {
</span><span class="cx">     [native code]
</span><del>-}&quot; threw object &quot;Error: InvalidStateError: DOM Exception 11&quot; (&quot;InvalidStateError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</del><ins>+}&quot; threw object &quot;Error: NotFoundError: DOM Exception 8&quot; (&quot;NotFoundError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;deleteContents&quot; with the proper type (20) 
</span><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;extractContents&quot; with the proper type (21) 
</span><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;cloneContents&quot; with the proper type (22) 
</span><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;insertNode&quot; with the proper type (23) 
</span><span class="cx"> FAIL Range interface: calling insertNode(Node) on detachedRange with too few arguments must throw TypeError assert_throws: Called with 0 arguments function &quot;function () {
</span><span class="cx">     [native code]
</span><del>-}&quot; threw object &quot;Error: InvalidStateError: DOM Exception 11&quot; (&quot;InvalidStateError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</del><ins>+}&quot; threw object &quot;Error: NotFoundError: DOM Exception 8&quot; (&quot;NotFoundError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;surroundContents&quot; with the proper type (24) 
</span><span class="cx"> FAIL Range interface: calling surroundContents(Node) on detachedRange with too few arguments must throw TypeError assert_throws: Called with 0 arguments function &quot;function () {
</span><span class="cx">     [native code]
</span><del>-}&quot; threw object &quot;Error: InvalidStateError: DOM Exception 11&quot; (&quot;InvalidStateError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</del><ins>+}&quot; threw object &quot;Error: NotFoundError: DOM Exception 8&quot; (&quot;NotFoundError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;cloneRange&quot; with the proper type (25) 
</span><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;detach&quot; with the proper type (26) 
</span><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;isPointInRange&quot; with the proper type (27) 
</span><span class="cx"> FAIL Range interface: calling isPointInRange(Node,unsigned long) on detachedRange with too few arguments must throw TypeError assert_throws: Called with 0 arguments function &quot;function () {
</span><span class="cx">     [native code]
</span><del>-}&quot; threw object &quot;Error: InvalidStateError: DOM Exception 11&quot; (&quot;InvalidStateError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</del><ins>+}&quot; threw object &quot;Error: HierarchyRequestError: DOM Exception 3&quot; (&quot;HierarchyRequestError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;comparePoint&quot; with the proper type (28) 
</span><span class="cx"> FAIL Range interface: calling comparePoint(Node,unsigned long) on detachedRange with too few arguments must throw TypeError assert_throws: Called with 0 arguments function &quot;function () {
</span><span class="cx">     [native code]
</span><del>-}&quot; threw object &quot;Error: InvalidStateError: DOM Exception 11&quot; (&quot;InvalidStateError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</del><ins>+}&quot; threw object &quot;Error: HierarchyRequestError: DOM Exception 3&quot; (&quot;HierarchyRequestError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property &quot;intersectsNode&quot; with the proper type (29) 
</span><span class="cx"> FAIL Range interface: calling intersectsNode(Node) on detachedRange with too few arguments must throw TypeError assert_throws: Called with 0 arguments function &quot;function () {
</span><span class="cx">     [native code]
</span><del>-}&quot; threw object &quot;Error: InvalidStateError: DOM Exception 11&quot; (&quot;InvalidStateError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</del><ins>+}&quot; threw object &quot;Error: NotFoundError: DOM Exception 8&quot; (&quot;NotFoundError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</ins><span class="cx"> FAIL NodeIterator interface: existence and properties of interface object assert_equals: class string of NodeIterator expected &quot;[object Function]&quot; but got &quot;[object NodeIteratorConstructor]&quot;
</span><span class="cx"> PASS NodeIterator interface object length 
</span><span class="cx"> PASS NodeIterator interface: existence and properties of interface prototype object 
</span></span></pre></div>
<a id="trunkLayoutTestshttptestsw3cdomrangesRangeattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-attributes-expected.txt (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-attributes-expected.txt        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-attributes-expected.txt        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1,3 +1,3 @@
</span><span class="cx"> 
</span><del>-FAIL Range attributes InvalidStateError: DOM Exception 11
</del><ins>+PASS Range attributes 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestshttptestsw3cdomrangesRangecloneContentsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-cloneContents-expected.txt (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-cloneContents-expected.txt        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-cloneContents-expected.txt        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1,7 +1,7 @@
</span><span class="cx"> To debug test failures, add a query parameter &quot;subtest&quot; with the test id (like &quot;?subtest=5&quot;). Only that test will be run. Then you can look at the resulting iframe in the DOM.
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-FAIL Range.detach() InvalidStateError: DOM Exception 11
</del><ins>+PASS Range.detach() 
</ins><span class="cx"> PASS Resulting DOM for range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Resulting cursor position for range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Returned fragment for range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span></span></pre></div>
<a id="trunkLayoutTestshttptestsw3cdomrangesRangecommonAncestorContainer2expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-commonAncestorContainer-2-expected.txt (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-commonAncestorContainer-2-expected.txt        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-commonAncestorContainer-2-expected.txt        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> 
</span><del>-FAIL Detached Range InvalidStateError: DOM Exception 11
</del><ins>+PASS Detached Range 
</ins><span class="cx"> PASS Normal Ranges 
</span><span class="cx"> PASS Range.commonAncestorContainer 
</span><span class="cx"> PASS Range.commonAncestorContainer 1 
</span></span></pre></div>
<a id="trunkLayoutTestshttptestsw3cdomrangesRangecommonAncestorContainerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-commonAncestorContainer-expected.txt (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-commonAncestorContainer-expected.txt        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-commonAncestorContainer-expected.txt        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> 
</span><del>-FAIL 0: range [detached] InvalidStateError: DOM Exception 11
</del><ins>+PASS 0: range [detached] 
</ins><span class="cx"> PASS 1: range [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS 2: range [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS 3: range [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span></span></pre></div>
<a id="trunkLayoutTestshttptestsw3cdomrangesRangecompareBoundaryPointsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-compareBoundaryPoints-expected.txt (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-compareBoundaryPoints-expected.txt        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-compareBoundaryPoints-expected.txt        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1,653 +1,653 @@
</span><span class="cx"> 
</span><del>-FAIL 0,0,0: context range 0 [detached], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,0,1: context range 0 [detached], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,0,2: context range 0 [detached], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,0,3: context range 0 [detached], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,0: context range 0 [detached], argument range 0 [detached], how 0 
+PASS 0,0,1: context range 0 [detached], argument range 0 [detached], how 1 
+PASS 0,0,2: context range 0 [detached], argument range 0 [detached], how 2 
+PASS 0,0,3: context range 0 [detached], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 0,0,4: context range 0 [detached], argument range 0 [detached], how -1 
</span><span class="cx"> PASS 0,0,5: context range 0 [detached], argument range 0 [detached], how 4 
</span><span class="cx"> PASS 0,0,6: context range 0 [detached], argument range 0 [detached], how 5 
</span><del>-FAIL 0,0,7: context range 0 [detached], argument range 0 [detached], how NaN InvalidStateError: DOM Exception 11
-FAIL 0,0,8: context range 0 [detached], argument range 0 [detached], how -0 InvalidStateError: DOM Exception 11
-FAIL 0,0,9: context range 0 [detached], argument range 0 [detached], how Infinity InvalidStateError: DOM Exception 11
-FAIL 0,0,10: context range 0 [detached], argument range 0 [detached], how -Infinity InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,7: context range 0 [detached], argument range 0 [detached], how NaN 
+PASS 0,0,8: context range 0 [detached], argument range 0 [detached], how -0 
+PASS 0,0,9: context range 0 [detached], argument range 0 [detached], how Infinity 
+PASS 0,0,10: context range 0 [detached], argument range 0 [detached], how -Infinity 
</ins><span class="cx"> PASS 0,0,11: context range 0 [detached], argument range 0 [detached], how 65535 
</span><del>-FAIL 0,0,12: context range 0 [detached], argument range 0 [detached], how 65536 InvalidStateError: DOM Exception 11
-FAIL 0,0,13: context range 0 [detached], argument range 0 [detached], how 65537 InvalidStateError: DOM Exception 11
-FAIL 0,0,14: context range 0 [detached], argument range 0 [detached], how 65538 InvalidStateError: DOM Exception 11
-FAIL 0,0,15: context range 0 [detached], argument range 0 [detached], how 65539 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,12: context range 0 [detached], argument range 0 [detached], how 65536 
+PASS 0,0,13: context range 0 [detached], argument range 0 [detached], how 65537 
+PASS 0,0,14: context range 0 [detached], argument range 0 [detached], how 65538 
+PASS 0,0,15: context range 0 [detached], argument range 0 [detached], how 65539 
</ins><span class="cx"> PASS 0,0,16: context range 0 [detached], argument range 0 [detached], how 65540 
</span><span class="cx"> PASS 0,0,17: context range 0 [detached], argument range 0 [detached], how -65537 
</span><del>-FAIL 0,0,18: context range 0 [detached], argument range 0 [detached], how -65536 InvalidStateError: DOM Exception 11
-FAIL 0,0,19: context range 0 [detached], argument range 0 [detached], how -65535 InvalidStateError: DOM Exception 11
-FAIL 0,0,20: context range 0 [detached], argument range 0 [detached], how -65534 InvalidStateError: DOM Exception 11
-FAIL 0,0,21: context range 0 [detached], argument range 0 [detached], how -65533 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,18: context range 0 [detached], argument range 0 [detached], how -65536 
+PASS 0,0,19: context range 0 [detached], argument range 0 [detached], how -65535 
+PASS 0,0,20: context range 0 [detached], argument range 0 [detached], how -65534 
+PASS 0,0,21: context range 0 [detached], argument range 0 [detached], how -65533 
</ins><span class="cx"> PASS 0,0,22: context range 0 [detached], argument range 0 [detached], how -65532 
</span><span class="cx"> PASS 0,0,23: context range 0 [detached], argument range 0 [detached], how 4294967295 
</span><del>-FAIL 0,0,24: context range 0 [detached], argument range 0 [detached], how 4294967296 InvalidStateError: DOM Exception 11
-FAIL 0,0,25: context range 0 [detached], argument range 0 [detached], how 4294967297 InvalidStateError: DOM Exception 11
-FAIL 0,0,26: context range 0 [detached], argument range 0 [detached], how 4294967298 InvalidStateError: DOM Exception 11
-FAIL 0,0,27: context range 0 [detached], argument range 0 [detached], how 4294967299 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,24: context range 0 [detached], argument range 0 [detached], how 4294967296 
+PASS 0,0,25: context range 0 [detached], argument range 0 [detached], how 4294967297 
+PASS 0,0,26: context range 0 [detached], argument range 0 [detached], how 4294967298 
+PASS 0,0,27: context range 0 [detached], argument range 0 [detached], how 4294967299 
</ins><span class="cx"> PASS 0,0,28: context range 0 [detached], argument range 0 [detached], how 4294967300 
</span><del>-FAIL 0,0,29: context range 0 [detached], argument range 0 [detached], how -0.5 InvalidStateError: DOM Exception 11
-FAIL 0,0,30: context range 0 [detached], argument range 0 [detached], how 0.5 InvalidStateError: DOM Exception 11
-FAIL 0,0,31: context range 0 [detached], argument range 0 [detached], how 1.5 InvalidStateError: DOM Exception 11
-FAIL 0,0,32: context range 0 [detached], argument range 0 [detached], how 2.5 InvalidStateError: DOM Exception 11
-FAIL 0,0,33: context range 0 [detached], argument range 0 [detached], how 3.5 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,29: context range 0 [detached], argument range 0 [detached], how -0.5 
+PASS 0,0,30: context range 0 [detached], argument range 0 [detached], how 0.5 
+PASS 0,0,31: context range 0 [detached], argument range 0 [detached], how 1.5 
+PASS 0,0,32: context range 0 [detached], argument range 0 [detached], how 2.5 
+PASS 0,0,33: context range 0 [detached], argument range 0 [detached], how 3.5 
</ins><span class="cx"> PASS 0,0,34: context range 0 [detached], argument range 0 [detached], how 4.5 
</span><span class="cx"> PASS 0,0,35: context range 0 [detached], argument range 0 [detached], how -1.5 
</span><del>-FAIL 0,0,36: context range 0 [detached], argument range 0 [detached], how -0.5 InvalidStateError: DOM Exception 11
-FAIL 0,0,37: context range 0 [detached], argument range 0 [detached], how 0.5 InvalidStateError: DOM Exception 11
-FAIL 0,0,38: context range 0 [detached], argument range 0 [detached], how 1.5 InvalidStateError: DOM Exception 11
-FAIL 0,0,39: context range 0 [detached], argument range 0 [detached], how 2.5 InvalidStateError: DOM Exception 11
-FAIL 0,0,40: context range 0 [detached], argument range 0 [detached], how 3.5 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,36: context range 0 [detached], argument range 0 [detached], how -0.5 
+PASS 0,0,37: context range 0 [detached], argument range 0 [detached], how 0.5 
+PASS 0,0,38: context range 0 [detached], argument range 0 [detached], how 1.5 
+PASS 0,0,39: context range 0 [detached], argument range 0 [detached], how 2.5 
+PASS 0,0,40: context range 0 [detached], argument range 0 [detached], how 3.5 
</ins><span class="cx"> PASS 0,0,41: context range 0 [detached], argument range 0 [detached], how -73.5 
</span><span class="cx"> PASS 0,0,42: context range 0 [detached], argument range 0 [detached], how -72.5 
</span><span class="cx"> PASS 0,0,43: context range 0 [detached], argument range 0 [detached], how -71.5 
</span><span class="cx"> PASS 0,0,44: context range 0 [detached], argument range 0 [detached], how -70.5 
</span><span class="cx"> PASS 0,0,45: context range 0 [detached], argument range 0 [detached], how -69.5 
</span><span class="cx"> PASS 0,0,46: context range 0 [detached], argument range 0 [detached], how -68.5 
</span><del>-FAIL 0,0,47: context range 0 [detached], argument range 0 [detached], how &quot;0&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,48: context range 0 [detached], argument range 0 [detached], how &quot;1&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,49: context range 0 [detached], argument range 0 [detached], how &quot;2&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,50: context range 0 [detached], argument range 0 [detached], how &quot;3&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,47: context range 0 [detached], argument range 0 [detached], how &quot;0&quot; 
+PASS 0,0,48: context range 0 [detached], argument range 0 [detached], how &quot;1&quot; 
+PASS 0,0,49: context range 0 [detached], argument range 0 [detached], how &quot;2&quot; 
+PASS 0,0,50: context range 0 [detached], argument range 0 [detached], how &quot;3&quot; 
</ins><span class="cx"> PASS 0,0,51: context range 0 [detached], argument range 0 [detached], how &quot;-1&quot; 
</span><span class="cx"> PASS 0,0,52: context range 0 [detached], argument range 0 [detached], how &quot;4&quot; 
</span><span class="cx"> PASS 0,0,53: context range 0 [detached], argument range 0 [detached], how &quot;5&quot; 
</span><del>-FAIL 0,0,54: context range 0 [detached], argument range 0 [detached], how &quot;NaN&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,55: context range 0 [detached], argument range 0 [detached], how &quot;0&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,56: context range 0 [detached], argument range 0 [detached], how &quot;Infinity&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,57: context range 0 [detached], argument range 0 [detached], how &quot;-Infinity&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,54: context range 0 [detached], argument range 0 [detached], how &quot;NaN&quot; 
+PASS 0,0,55: context range 0 [detached], argument range 0 [detached], how &quot;0&quot; 
+PASS 0,0,56: context range 0 [detached], argument range 0 [detached], how &quot;Infinity&quot; 
+PASS 0,0,57: context range 0 [detached], argument range 0 [detached], how &quot;-Infinity&quot; 
</ins><span class="cx"> PASS 0,0,58: context range 0 [detached], argument range 0 [detached], how &quot;65535&quot; 
</span><del>-FAIL 0,0,59: context range 0 [detached], argument range 0 [detached], how &quot;65536&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,60: context range 0 [detached], argument range 0 [detached], how &quot;65537&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,61: context range 0 [detached], argument range 0 [detached], how &quot;65538&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,62: context range 0 [detached], argument range 0 [detached], how &quot;65539&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,59: context range 0 [detached], argument range 0 [detached], how &quot;65536&quot; 
+PASS 0,0,60: context range 0 [detached], argument range 0 [detached], how &quot;65537&quot; 
+PASS 0,0,61: context range 0 [detached], argument range 0 [detached], how &quot;65538&quot; 
+PASS 0,0,62: context range 0 [detached], argument range 0 [detached], how &quot;65539&quot; 
</ins><span class="cx"> PASS 0,0,63: context range 0 [detached], argument range 0 [detached], how &quot;65540&quot; 
</span><span class="cx"> PASS 0,0,64: context range 0 [detached], argument range 0 [detached], how &quot;-65537&quot; 
</span><del>-FAIL 0,0,65: context range 0 [detached], argument range 0 [detached], how &quot;-65536&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,66: context range 0 [detached], argument range 0 [detached], how &quot;-65535&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,67: context range 0 [detached], argument range 0 [detached], how &quot;-65534&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,68: context range 0 [detached], argument range 0 [detached], how &quot;-65533&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,65: context range 0 [detached], argument range 0 [detached], how &quot;-65536&quot; 
+PASS 0,0,66: context range 0 [detached], argument range 0 [detached], how &quot;-65535&quot; 
+PASS 0,0,67: context range 0 [detached], argument range 0 [detached], how &quot;-65534&quot; 
+PASS 0,0,68: context range 0 [detached], argument range 0 [detached], how &quot;-65533&quot; 
</ins><span class="cx"> PASS 0,0,69: context range 0 [detached], argument range 0 [detached], how &quot;-65532&quot; 
</span><span class="cx"> PASS 0,0,70: context range 0 [detached], argument range 0 [detached], how &quot;4294967295&quot; 
</span><del>-FAIL 0,0,71: context range 0 [detached], argument range 0 [detached], how &quot;4294967296&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,72: context range 0 [detached], argument range 0 [detached], how &quot;4294967297&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,73: context range 0 [detached], argument range 0 [detached], how &quot;4294967298&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,74: context range 0 [detached], argument range 0 [detached], how &quot;4294967299&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,71: context range 0 [detached], argument range 0 [detached], how &quot;4294967296&quot; 
+PASS 0,0,72: context range 0 [detached], argument range 0 [detached], how &quot;4294967297&quot; 
+PASS 0,0,73: context range 0 [detached], argument range 0 [detached], how &quot;4294967298&quot; 
+PASS 0,0,74: context range 0 [detached], argument range 0 [detached], how &quot;4294967299&quot; 
</ins><span class="cx"> PASS 0,0,75: context range 0 [detached], argument range 0 [detached], how &quot;4294967300&quot; 
</span><del>-FAIL 0,0,76: context range 0 [detached], argument range 0 [detached], how &quot;-0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,77: context range 0 [detached], argument range 0 [detached], how &quot;0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,78: context range 0 [detached], argument range 0 [detached], how &quot;1.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,79: context range 0 [detached], argument range 0 [detached], how &quot;2.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,80: context range 0 [detached], argument range 0 [detached], how &quot;3.5&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,76: context range 0 [detached], argument range 0 [detached], how &quot;-0.5&quot; 
+PASS 0,0,77: context range 0 [detached], argument range 0 [detached], how &quot;0.5&quot; 
+PASS 0,0,78: context range 0 [detached], argument range 0 [detached], how &quot;1.5&quot; 
+PASS 0,0,79: context range 0 [detached], argument range 0 [detached], how &quot;2.5&quot; 
+PASS 0,0,80: context range 0 [detached], argument range 0 [detached], how &quot;3.5&quot; 
</ins><span class="cx"> PASS 0,0,81: context range 0 [detached], argument range 0 [detached], how &quot;4.5&quot; 
</span><span class="cx"> PASS 0,0,82: context range 0 [detached], argument range 0 [detached], how &quot;-1.5&quot; 
</span><del>-FAIL 0,0,83: context range 0 [detached], argument range 0 [detached], how &quot;-0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,84: context range 0 [detached], argument range 0 [detached], how &quot;0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,85: context range 0 [detached], argument range 0 [detached], how &quot;1.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,86: context range 0 [detached], argument range 0 [detached], how &quot;2.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,87: context range 0 [detached], argument range 0 [detached], how &quot;3.5&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,83: context range 0 [detached], argument range 0 [detached], how &quot;-0.5&quot; 
+PASS 0,0,84: context range 0 [detached], argument range 0 [detached], how &quot;0.5&quot; 
+PASS 0,0,85: context range 0 [detached], argument range 0 [detached], how &quot;1.5&quot; 
+PASS 0,0,86: context range 0 [detached], argument range 0 [detached], how &quot;2.5&quot; 
+PASS 0,0,87: context range 0 [detached], argument range 0 [detached], how &quot;3.5&quot; 
</ins><span class="cx"> PASS 0,0,88: context range 0 [detached], argument range 0 [detached], how &quot;-73.5&quot; 
</span><span class="cx"> PASS 0,0,89: context range 0 [detached], argument range 0 [detached], how &quot;-72.5&quot; 
</span><span class="cx"> PASS 0,0,90: context range 0 [detached], argument range 0 [detached], how &quot;-71.5&quot; 
</span><span class="cx"> PASS 0,0,91: context range 0 [detached], argument range 0 [detached], how &quot;-70.5&quot; 
</span><span class="cx"> PASS 0,0,92: context range 0 [detached], argument range 0 [detached], how &quot;-69.5&quot; 
</span><span class="cx"> PASS 0,0,93: context range 0 [detached], argument range 0 [detached], how &quot;-68.5&quot; 
</span><del>-FAIL 0,0,94: context range 0 [detached], argument range 0 [detached], how &quot;6.5536e4&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,95: context range 0 [detached], argument range 0 [detached], how null InvalidStateError: DOM Exception 11
-FAIL 0,0,96: context range 0 [detached], argument range 0 [detached], how undefined InvalidStateError: DOM Exception 11
-FAIL 0,0,97: context range 0 [detached], argument range 0 [detached], how true InvalidStateError: DOM Exception 11
-FAIL 0,0,98: context range 0 [detached], argument range 0 [detached], how false InvalidStateError: DOM Exception 11
-FAIL 0,0,99: context range 0 [detached], argument range 0 [detached], how &quot;&quot; InvalidStateError: DOM Exception 11
-FAIL 0,0,100: context range 0 [detached], argument range 0 [detached], how &quot;quasit&quot; InvalidStateError: DOM Exception 11
-FAIL 0,1,0: context range 0 [detached], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,1,1: context range 0 [detached], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,1,2: context range 0 [detached], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,1,3: context range 0 [detached], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,2,0: context range 0 [detached], argument range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,2,1: context range 0 [detached], argument range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,2,2: context range 0 [detached], argument range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,2,3: context range 0 [detached], argument range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,3,0: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,3,1: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,3,2: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,3,3: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,94: context range 0 [detached], argument range 0 [detached], how &quot;6.5536e4&quot; 
+PASS 0,0,95: context range 0 [detached], argument range 0 [detached], how null 
+PASS 0,0,96: context range 0 [detached], argument range 0 [detached], how undefined 
+PASS 0,0,97: context range 0 [detached], argument range 0 [detached], how true 
+PASS 0,0,98: context range 0 [detached], argument range 0 [detached], how false 
+PASS 0,0,99: context range 0 [detached], argument range 0 [detached], how &quot;&quot; 
+PASS 0,0,100: context range 0 [detached], argument range 0 [detached], how &quot;quasit&quot; 
+PASS 0,1,0: context range 0 [detached], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
+PASS 0,1,1: context range 0 [detached], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
+PASS 0,1,2: context range 0 [detached], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
+PASS 0,1,3: context range 0 [detached], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 3 
+PASS 0,2,0: context range 0 [detached], argument range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], how 0 
+PASS 0,2,1: context range 0 [detached], argument range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], how 1 
+PASS 0,2,2: context range 0 [detached], argument range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], how 2 
+PASS 0,2,3: context range 0 [detached], argument range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], how 3 
+PASS 0,3,0: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 0 
+PASS 0,3,1: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 1 
+PASS 0,3,2: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 2 
+PASS 0,3,3: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 3 
</ins><span class="cx"> PASS 0,3,4: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -1 
</span><span class="cx"> PASS 0,3,5: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 4 
</span><span class="cx"> PASS 0,3,6: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 5 
</span><del>-FAIL 0,3,7: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how NaN InvalidStateError: DOM Exception 11
-FAIL 0,3,8: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -0 InvalidStateError: DOM Exception 11
-FAIL 0,3,9: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how Infinity InvalidStateError: DOM Exception 11
-FAIL 0,3,10: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -Infinity InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,3,7: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how NaN 
+PASS 0,3,8: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -0 
+PASS 0,3,9: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how Infinity 
+PASS 0,3,10: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -Infinity 
</ins><span class="cx"> PASS 0,3,11: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 65535 
</span><del>-FAIL 0,3,12: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 65536 InvalidStateError: DOM Exception 11
-FAIL 0,3,13: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 65537 InvalidStateError: DOM Exception 11
-FAIL 0,3,14: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 65538 InvalidStateError: DOM Exception 11
-FAIL 0,3,15: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 65539 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,3,12: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 65536 
+PASS 0,3,13: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 65537 
+PASS 0,3,14: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 65538 
+PASS 0,3,15: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 65539 
</ins><span class="cx"> PASS 0,3,16: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 65540 
</span><span class="cx"> PASS 0,3,17: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -65537 
</span><del>-FAIL 0,3,18: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -65536 InvalidStateError: DOM Exception 11
-FAIL 0,3,19: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -65535 InvalidStateError: DOM Exception 11
-FAIL 0,3,20: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -65534 InvalidStateError: DOM Exception 11
-FAIL 0,3,21: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -65533 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,3,18: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -65536 
+PASS 0,3,19: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -65535 
+PASS 0,3,20: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -65534 
+PASS 0,3,21: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -65533 
</ins><span class="cx"> PASS 0,3,22: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -65532 
</span><span class="cx"> PASS 0,3,23: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 4294967295 
</span><del>-FAIL 0,3,24: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 4294967296 InvalidStateError: DOM Exception 11
-FAIL 0,3,25: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 4294967297 InvalidStateError: DOM Exception 11
-FAIL 0,3,26: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 4294967298 InvalidStateError: DOM Exception 11
-FAIL 0,3,27: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 4294967299 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,3,24: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 4294967296 
+PASS 0,3,25: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 4294967297 
+PASS 0,3,26: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 4294967298 
+PASS 0,3,27: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 4294967299 
</ins><span class="cx"> PASS 0,3,28: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 4294967300 
</span><del>-FAIL 0,3,29: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -0.5 InvalidStateError: DOM Exception 11
-FAIL 0,3,30: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 0.5 InvalidStateError: DOM Exception 11
-FAIL 0,3,31: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 1.5 InvalidStateError: DOM Exception 11
-FAIL 0,3,32: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 2.5 InvalidStateError: DOM Exception 11
-FAIL 0,3,33: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 3.5 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,3,29: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -0.5 
+PASS 0,3,30: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 0.5 
+PASS 0,3,31: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 1.5 
+PASS 0,3,32: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 2.5 
+PASS 0,3,33: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 3.5 
</ins><span class="cx"> PASS 0,3,34: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 4.5 
</span><span class="cx"> PASS 0,3,35: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -1.5 
</span><del>-FAIL 0,3,36: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -0.5 InvalidStateError: DOM Exception 11
-FAIL 0,3,37: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 0.5 InvalidStateError: DOM Exception 11
-FAIL 0,3,38: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 1.5 InvalidStateError: DOM Exception 11
-FAIL 0,3,39: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 2.5 InvalidStateError: DOM Exception 11
-FAIL 0,3,40: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 3.5 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,3,36: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -0.5 
+PASS 0,3,37: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 0.5 
+PASS 0,3,38: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 1.5 
+PASS 0,3,39: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 2.5 
+PASS 0,3,40: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how 3.5 
</ins><span class="cx"> PASS 0,3,41: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -73.5 
</span><span class="cx"> PASS 0,3,42: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -72.5 
</span><span class="cx"> PASS 0,3,43: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -71.5 
</span><span class="cx"> PASS 0,3,44: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -70.5 
</span><span class="cx"> PASS 0,3,45: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -69.5 
</span><span class="cx"> PASS 0,3,46: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how -68.5 
</span><del>-FAIL 0,3,47: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;0&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,48: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;1&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,49: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;2&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,50: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;3&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,3,47: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;0&quot; 
+PASS 0,3,48: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;1&quot; 
+PASS 0,3,49: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;2&quot; 
+PASS 0,3,50: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;3&quot; 
</ins><span class="cx"> PASS 0,3,51: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-1&quot; 
</span><span class="cx"> PASS 0,3,52: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;4&quot; 
</span><span class="cx"> PASS 0,3,53: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;5&quot; 
</span><del>-FAIL 0,3,54: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;NaN&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,55: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;0&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,56: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;Infinity&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,57: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-Infinity&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,3,54: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;NaN&quot; 
+PASS 0,3,55: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;0&quot; 
+PASS 0,3,56: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;Infinity&quot; 
+PASS 0,3,57: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-Infinity&quot; 
</ins><span class="cx"> PASS 0,3,58: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;65535&quot; 
</span><del>-FAIL 0,3,59: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;65536&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,60: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;65537&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,61: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;65538&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,62: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;65539&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,3,59: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;65536&quot; 
+PASS 0,3,60: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;65537&quot; 
+PASS 0,3,61: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;65538&quot; 
+PASS 0,3,62: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;65539&quot; 
</ins><span class="cx"> PASS 0,3,63: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;65540&quot; 
</span><span class="cx"> PASS 0,3,64: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-65537&quot; 
</span><del>-FAIL 0,3,65: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-65536&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,66: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-65535&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,67: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-65534&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,68: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-65533&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,3,65: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-65536&quot; 
+PASS 0,3,66: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-65535&quot; 
+PASS 0,3,67: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-65534&quot; 
+PASS 0,3,68: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-65533&quot; 
</ins><span class="cx"> PASS 0,3,69: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-65532&quot; 
</span><span class="cx"> PASS 0,3,70: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;4294967295&quot; 
</span><del>-FAIL 0,3,71: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;4294967296&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,72: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;4294967297&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,73: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;4294967298&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,74: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;4294967299&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,3,71: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;4294967296&quot; 
+PASS 0,3,72: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;4294967297&quot; 
+PASS 0,3,73: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;4294967298&quot; 
+PASS 0,3,74: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;4294967299&quot; 
</ins><span class="cx"> PASS 0,3,75: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;4294967300&quot; 
</span><del>-FAIL 0,3,76: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,77: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,78: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;1.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,79: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;2.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,80: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;3.5&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,3,76: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-0.5&quot; 
+PASS 0,3,77: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;0.5&quot; 
+PASS 0,3,78: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;1.5&quot; 
+PASS 0,3,79: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;2.5&quot; 
+PASS 0,3,80: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;3.5&quot; 
</ins><span class="cx"> PASS 0,3,81: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;4.5&quot; 
</span><span class="cx"> PASS 0,3,82: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-1.5&quot; 
</span><del>-FAIL 0,3,83: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,84: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,85: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;1.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,86: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;2.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,87: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;3.5&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,3,83: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-0.5&quot; 
+PASS 0,3,84: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;0.5&quot; 
+PASS 0,3,85: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;1.5&quot; 
+PASS 0,3,86: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;2.5&quot; 
+PASS 0,3,87: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;3.5&quot; 
</ins><span class="cx"> PASS 0,3,88: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-73.5&quot; 
</span><span class="cx"> PASS 0,3,89: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-72.5&quot; 
</span><span class="cx"> PASS 0,3,90: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-71.5&quot; 
</span><span class="cx"> PASS 0,3,91: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-70.5&quot; 
</span><span class="cx"> PASS 0,3,92: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-69.5&quot; 
</span><span class="cx"> PASS 0,3,93: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;-68.5&quot; 
</span><del>-FAIL 0,3,94: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;6.5536e4&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,95: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how null InvalidStateError: DOM Exception 11
-FAIL 0,3,96: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how undefined InvalidStateError: DOM Exception 11
-FAIL 0,3,97: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how true InvalidStateError: DOM Exception 11
-FAIL 0,3,98: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how false InvalidStateError: DOM Exception 11
-FAIL 0,3,99: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;&quot; InvalidStateError: DOM Exception 11
-FAIL 0,3,100: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;quasit&quot; InvalidStateError: DOM Exception 11
-FAIL 0,4,0: context range 0 [detached], argument range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,4,1: context range 0 [detached], argument range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,4,2: context range 0 [detached], argument range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,4,3: context range 0 [detached], argument range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,5,0: context range 0 [detached], argument range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,5,1: context range 0 [detached], argument range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,5,2: context range 0 [detached], argument range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,5,3: context range 0 [detached], argument range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,6,0: context range 0 [detached], argument range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,6,1: context range 0 [detached], argument range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,6,2: context range 0 [detached], argument range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,6,3: context range 0 [detached], argument range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,7,0: context range 0 [detached], argument range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,7,1: context range 0 [detached], argument range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,7,2: context range 0 [detached], argument range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,7,3: context range 0 [detached], argument range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,8,0: context range 0 [detached], argument range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,8,1: context range 0 [detached], argument range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,8,2: context range 0 [detached], argument range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,8,3: context range 0 [detached], argument range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,9,0: context range 0 [detached], argument range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,9,1: context range 0 [detached], argument range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,9,2: context range 0 [detached], argument range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,9,3: context range 0 [detached], argument range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,10,0: context range 0 [detached], argument range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,10,1: context range 0 [detached], argument range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,10,2: context range 0 [detached], argument range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,10,3: context range 0 [detached], argument range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,11,0: context range 0 [detached], argument range 11 [document.documentElement, 0, document.documentElement, 1], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,11,1: context range 0 [detached], argument range 11 [document.documentElement, 0, document.documentElement, 1], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,11,2: context range 0 [detached], argument range 11 [document.documentElement, 0, document.documentElement, 1], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,11,3: context range 0 [detached], argument range 11 [document.documentElement, 0, document.documentElement, 1], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,12,0: context range 0 [detached], argument range 12 [document.documentElement, 0, document.documentElement, 2], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,12,1: context range 0 [detached], argument range 12 [document.documentElement, 0, document.documentElement, 2], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,12,2: context range 0 [detached], argument range 12 [document.documentElement, 0, document.documentElement, 2], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,12,3: context range 0 [detached], argument range 12 [document.documentElement, 0, document.documentElement, 2], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,13,0: context range 0 [detached], argument range 13 [document.documentElement, 1, document.documentElement, 2], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,13,1: context range 0 [detached], argument range 13 [document.documentElement, 1, document.documentElement, 2], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,13,2: context range 0 [detached], argument range 13 [document.documentElement, 1, document.documentElement, 2], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,13,3: context range 0 [detached], argument range 13 [document.documentElement, 1, document.documentElement, 2], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,14,0: context range 0 [detached], argument range 14 [document.head, 1, document.head, 1], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,14,1: context range 0 [detached], argument range 14 [document.head, 1, document.head, 1], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,14,2: context range 0 [detached], argument range 14 [document.head, 1, document.head, 1], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,14,3: context range 0 [detached], argument range 14 [document.head, 1, document.head, 1], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,15,0: context range 0 [detached], argument range 15 [document.body, 4, document.body, 5], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,15,1: context range 0 [detached], argument range 15 [document.body, 4, document.body, 5], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,15,2: context range 0 [detached], argument range 15 [document.body, 4, document.body, 5], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,15,3: context range 0 [detached], argument range 15 [document.body, 4, document.body, 5], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,16,0: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,16,1: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,16,2: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,16,3: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,3,94: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;6.5536e4&quot; 
+PASS 0,3,95: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how null 
+PASS 0,3,96: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how undefined 
+PASS 0,3,97: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how true 
+PASS 0,3,98: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how false 
+PASS 0,3,99: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;&quot; 
+PASS 0,3,100: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how &quot;quasit&quot; 
+PASS 0,4,0: context range 0 [detached], argument range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], how 0 
+PASS 0,4,1: context range 0 [detached], argument range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], how 1 
+PASS 0,4,2: context range 0 [detached], argument range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], how 2 
+PASS 0,4,3: context range 0 [detached], argument range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], how 3 
+PASS 0,5,0: context range 0 [detached], argument range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], how 0 
+PASS 0,5,1: context range 0 [detached], argument range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], how 1 
+PASS 0,5,2: context range 0 [detached], argument range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], how 2 
+PASS 0,5,3: context range 0 [detached], argument range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], how 3 
+PASS 0,6,0: context range 0 [detached], argument range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], how 0 
+PASS 0,6,1: context range 0 [detached], argument range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], how 1 
+PASS 0,6,2: context range 0 [detached], argument range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], how 2 
+PASS 0,6,3: context range 0 [detached], argument range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], how 3 
+PASS 0,7,0: context range 0 [detached], argument range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], how 0 
+PASS 0,7,1: context range 0 [detached], argument range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], how 1 
+PASS 0,7,2: context range 0 [detached], argument range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], how 2 
+PASS 0,7,3: context range 0 [detached], argument range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], how 3 
+PASS 0,8,0: context range 0 [detached], argument range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], how 0 
+PASS 0,8,1: context range 0 [detached], argument range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], how 1 
+PASS 0,8,2: context range 0 [detached], argument range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], how 2 
+PASS 0,8,3: context range 0 [detached], argument range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], how 3 
+PASS 0,9,0: context range 0 [detached], argument range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], how 0 
+PASS 0,9,1: context range 0 [detached], argument range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], how 1 
+PASS 0,9,2: context range 0 [detached], argument range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], how 2 
+PASS 0,9,3: context range 0 [detached], argument range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], how 3 
+PASS 0,10,0: context range 0 [detached], argument range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], how 0 
+PASS 0,10,1: context range 0 [detached], argument range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], how 1 
+PASS 0,10,2: context range 0 [detached], argument range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], how 2 
+PASS 0,10,3: context range 0 [detached], argument range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], how 3 
+PASS 0,11,0: context range 0 [detached], argument range 11 [document.documentElement, 0, document.documentElement, 1], how 0 
+PASS 0,11,1: context range 0 [detached], argument range 11 [document.documentElement, 0, document.documentElement, 1], how 1 
+PASS 0,11,2: context range 0 [detached], argument range 11 [document.documentElement, 0, document.documentElement, 1], how 2 
+PASS 0,11,3: context range 0 [detached], argument range 11 [document.documentElement, 0, document.documentElement, 1], how 3 
+PASS 0,12,0: context range 0 [detached], argument range 12 [document.documentElement, 0, document.documentElement, 2], how 0 
+PASS 0,12,1: context range 0 [detached], argument range 12 [document.documentElement, 0, document.documentElement, 2], how 1 
+PASS 0,12,2: context range 0 [detached], argument range 12 [document.documentElement, 0, document.documentElement, 2], how 2 
+PASS 0,12,3: context range 0 [detached], argument range 12 [document.documentElement, 0, document.documentElement, 2], how 3 
+PASS 0,13,0: context range 0 [detached], argument range 13 [document.documentElement, 1, document.documentElement, 2], how 0 
+PASS 0,13,1: context range 0 [detached], argument range 13 [document.documentElement, 1, document.documentElement, 2], how 1 
+PASS 0,13,2: context range 0 [detached], argument range 13 [document.documentElement, 1, document.documentElement, 2], how 2 
+PASS 0,13,3: context range 0 [detached], argument range 13 [document.documentElement, 1, document.documentElement, 2], how 3 
+PASS 0,14,0: context range 0 [detached], argument range 14 [document.head, 1, document.head, 1], how 0 
+PASS 0,14,1: context range 0 [detached], argument range 14 [document.head, 1, document.head, 1], how 1 
+PASS 0,14,2: context range 0 [detached], argument range 14 [document.head, 1, document.head, 1], how 2 
+PASS 0,14,3: context range 0 [detached], argument range 14 [document.head, 1, document.head, 1], how 3 
+PASS 0,15,0: context range 0 [detached], argument range 15 [document.body, 4, document.body, 5], how 0 
+PASS 0,15,1: context range 0 [detached], argument range 15 [document.body, 4, document.body, 5], how 1 
+PASS 0,15,2: context range 0 [detached], argument range 15 [document.body, 4, document.body, 5], how 2 
+PASS 0,15,3: context range 0 [detached], argument range 15 [document.body, 4, document.body, 5], how 3 
+PASS 0,16,0: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 0 
+PASS 0,16,1: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 1 
+PASS 0,16,2: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 2 
+PASS 0,16,3: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 3 
</ins><span class="cx"> PASS 0,16,4: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -1 
</span><span class="cx"> PASS 0,16,5: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 4 
</span><span class="cx"> PASS 0,16,6: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 5 
</span><del>-FAIL 0,16,7: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how NaN InvalidStateError: DOM Exception 11
-FAIL 0,16,8: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -0 InvalidStateError: DOM Exception 11
-FAIL 0,16,9: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how Infinity InvalidStateError: DOM Exception 11
-FAIL 0,16,10: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -Infinity InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,16,7: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how NaN 
+PASS 0,16,8: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -0 
+PASS 0,16,9: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how Infinity 
+PASS 0,16,10: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -Infinity 
</ins><span class="cx"> PASS 0,16,11: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 65535 
</span><del>-FAIL 0,16,12: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 65536 InvalidStateError: DOM Exception 11
-FAIL 0,16,13: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 65537 InvalidStateError: DOM Exception 11
-FAIL 0,16,14: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 65538 InvalidStateError: DOM Exception 11
-FAIL 0,16,15: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 65539 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,16,12: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 65536 
+PASS 0,16,13: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 65537 
+PASS 0,16,14: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 65538 
+PASS 0,16,15: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 65539 
</ins><span class="cx"> PASS 0,16,16: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 65540 
</span><span class="cx"> PASS 0,16,17: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -65537 
</span><del>-FAIL 0,16,18: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -65536 InvalidStateError: DOM Exception 11
-FAIL 0,16,19: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -65535 InvalidStateError: DOM Exception 11
-FAIL 0,16,20: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -65534 InvalidStateError: DOM Exception 11
-FAIL 0,16,21: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -65533 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,16,18: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -65536 
+PASS 0,16,19: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -65535 
+PASS 0,16,20: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -65534 
+PASS 0,16,21: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -65533 
</ins><span class="cx"> PASS 0,16,22: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -65532 
</span><span class="cx"> PASS 0,16,23: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 4294967295 
</span><del>-FAIL 0,16,24: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 4294967296 InvalidStateError: DOM Exception 11
-FAIL 0,16,25: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 4294967297 InvalidStateError: DOM Exception 11
-FAIL 0,16,26: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 4294967298 InvalidStateError: DOM Exception 11
-FAIL 0,16,27: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 4294967299 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,16,24: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 4294967296 
+PASS 0,16,25: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 4294967297 
+PASS 0,16,26: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 4294967298 
+PASS 0,16,27: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 4294967299 
</ins><span class="cx"> PASS 0,16,28: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 4294967300 
</span><del>-FAIL 0,16,29: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -0.5 InvalidStateError: DOM Exception 11
-FAIL 0,16,30: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 0.5 InvalidStateError: DOM Exception 11
-FAIL 0,16,31: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 1.5 InvalidStateError: DOM Exception 11
-FAIL 0,16,32: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 2.5 InvalidStateError: DOM Exception 11
-FAIL 0,16,33: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 3.5 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,16,29: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -0.5 
+PASS 0,16,30: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 0.5 
+PASS 0,16,31: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 1.5 
+PASS 0,16,32: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 2.5 
+PASS 0,16,33: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 3.5 
</ins><span class="cx"> PASS 0,16,34: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 4.5 
</span><span class="cx"> PASS 0,16,35: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -1.5 
</span><del>-FAIL 0,16,36: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -0.5 InvalidStateError: DOM Exception 11
-FAIL 0,16,37: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 0.5 InvalidStateError: DOM Exception 11
-FAIL 0,16,38: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 1.5 InvalidStateError: DOM Exception 11
-FAIL 0,16,39: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 2.5 InvalidStateError: DOM Exception 11
-FAIL 0,16,40: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 3.5 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,16,36: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -0.5 
+PASS 0,16,37: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 0.5 
+PASS 0,16,38: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 1.5 
+PASS 0,16,39: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 2.5 
+PASS 0,16,40: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how 3.5 
</ins><span class="cx"> PASS 0,16,41: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -73.5 
</span><span class="cx"> PASS 0,16,42: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -72.5 
</span><span class="cx"> PASS 0,16,43: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -71.5 
</span><span class="cx"> PASS 0,16,44: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -70.5 
</span><span class="cx"> PASS 0,16,45: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -69.5 
</span><span class="cx"> PASS 0,16,46: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how -68.5 
</span><del>-FAIL 0,16,47: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;0&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,48: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;1&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,49: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;2&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,50: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;3&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,16,47: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;0&quot; 
+PASS 0,16,48: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;1&quot; 
+PASS 0,16,49: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;2&quot; 
+PASS 0,16,50: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;3&quot; 
</ins><span class="cx"> PASS 0,16,51: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-1&quot; 
</span><span class="cx"> PASS 0,16,52: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;4&quot; 
</span><span class="cx"> PASS 0,16,53: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;5&quot; 
</span><del>-FAIL 0,16,54: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;NaN&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,55: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;0&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,56: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;Infinity&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,57: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-Infinity&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,16,54: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;NaN&quot; 
+PASS 0,16,55: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;0&quot; 
+PASS 0,16,56: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;Infinity&quot; 
+PASS 0,16,57: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-Infinity&quot; 
</ins><span class="cx"> PASS 0,16,58: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;65535&quot; 
</span><del>-FAIL 0,16,59: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;65536&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,60: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;65537&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,61: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;65538&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,62: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;65539&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,16,59: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;65536&quot; 
+PASS 0,16,60: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;65537&quot; 
+PASS 0,16,61: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;65538&quot; 
+PASS 0,16,62: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;65539&quot; 
</ins><span class="cx"> PASS 0,16,63: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;65540&quot; 
</span><span class="cx"> PASS 0,16,64: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-65537&quot; 
</span><del>-FAIL 0,16,65: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-65536&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,66: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-65535&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,67: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-65534&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,68: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-65533&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,16,65: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-65536&quot; 
+PASS 0,16,66: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-65535&quot; 
+PASS 0,16,67: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-65534&quot; 
+PASS 0,16,68: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-65533&quot; 
</ins><span class="cx"> PASS 0,16,69: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-65532&quot; 
</span><span class="cx"> PASS 0,16,70: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;4294967295&quot; 
</span><del>-FAIL 0,16,71: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;4294967296&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,72: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;4294967297&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,73: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;4294967298&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,74: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;4294967299&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,16,71: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;4294967296&quot; 
+PASS 0,16,72: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;4294967297&quot; 
+PASS 0,16,73: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;4294967298&quot; 
+PASS 0,16,74: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;4294967299&quot; 
</ins><span class="cx"> PASS 0,16,75: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;4294967300&quot; 
</span><del>-FAIL 0,16,76: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,77: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,78: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;1.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,79: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;2.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,80: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;3.5&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,16,76: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-0.5&quot; 
+PASS 0,16,77: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;0.5&quot; 
+PASS 0,16,78: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;1.5&quot; 
+PASS 0,16,79: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;2.5&quot; 
+PASS 0,16,80: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;3.5&quot; 
</ins><span class="cx"> PASS 0,16,81: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;4.5&quot; 
</span><span class="cx"> PASS 0,16,82: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-1.5&quot; 
</span><del>-FAIL 0,16,83: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,84: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,85: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;1.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,86: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;2.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,87: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;3.5&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,16,83: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-0.5&quot; 
+PASS 0,16,84: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;0.5&quot; 
+PASS 0,16,85: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;1.5&quot; 
+PASS 0,16,86: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;2.5&quot; 
+PASS 0,16,87: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;3.5&quot; 
</ins><span class="cx"> PASS 0,16,88: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-73.5&quot; 
</span><span class="cx"> PASS 0,16,89: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-72.5&quot; 
</span><span class="cx"> PASS 0,16,90: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-71.5&quot; 
</span><span class="cx"> PASS 0,16,91: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-70.5&quot; 
</span><span class="cx"> PASS 0,16,92: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-69.5&quot; 
</span><span class="cx"> PASS 0,16,93: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;-68.5&quot; 
</span><del>-FAIL 0,16,94: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;6.5536e4&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,95: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how null InvalidStateError: DOM Exception 11
-FAIL 0,16,96: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how undefined InvalidStateError: DOM Exception 11
-FAIL 0,16,97: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how true InvalidStateError: DOM Exception 11
-FAIL 0,16,98: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how false InvalidStateError: DOM Exception 11
-FAIL 0,16,99: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;&quot; InvalidStateError: DOM Exception 11
-FAIL 0,16,100: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;quasit&quot; InvalidStateError: DOM Exception 11
-FAIL 0,17,0: context range 0 [detached], argument range 17 [paras[0], 0, paras[0], 1], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,17,1: context range 0 [detached], argument range 17 [paras[0], 0, paras[0], 1], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,17,2: context range 0 [detached], argument range 17 [paras[0], 0, paras[0], 1], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,17,3: context range 0 [detached], argument range 17 [paras[0], 0, paras[0], 1], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,18,0: context range 0 [detached], argument range 18 [detachedPara1, 0, detachedPara1, 1], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,18,1: context range 0 [detached], argument range 18 [detachedPara1, 0, detachedPara1, 1], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,18,2: context range 0 [detached], argument range 18 [detachedPara1, 0, detachedPara1, 1], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,18,3: context range 0 [detached], argument range 18 [detachedPara1, 0, detachedPara1, 1], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,19,0: context range 0 [detached], argument range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,19,1: context range 0 [detached], argument range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,19,2: context range 0 [detached], argument range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,19,3: context range 0 [detached], argument range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,20,0: context range 0 [detached], argument range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,20,1: context range 0 [detached], argument range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,20,2: context range 0 [detached], argument range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,20,3: context range 0 [detached], argument range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,21,0: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,21,1: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,21,2: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,21,3: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,16,94: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;6.5536e4&quot; 
+PASS 0,16,95: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how null 
+PASS 0,16,96: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how undefined 
+PASS 0,16,97: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how true 
+PASS 0,16,98: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how false 
+PASS 0,16,99: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;&quot; 
+PASS 0,16,100: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how &quot;quasit&quot; 
+PASS 0,17,0: context range 0 [detached], argument range 17 [paras[0], 0, paras[0], 1], how 0 
+PASS 0,17,1: context range 0 [detached], argument range 17 [paras[0], 0, paras[0], 1], how 1 
+PASS 0,17,2: context range 0 [detached], argument range 17 [paras[0], 0, paras[0], 1], how 2 
+PASS 0,17,3: context range 0 [detached], argument range 17 [paras[0], 0, paras[0], 1], how 3 
+PASS 0,18,0: context range 0 [detached], argument range 18 [detachedPara1, 0, detachedPara1, 1], how 0 
+PASS 0,18,1: context range 0 [detached], argument range 18 [detachedPara1, 0, detachedPara1, 1], how 1 
+PASS 0,18,2: context range 0 [detached], argument range 18 [detachedPara1, 0, detachedPara1, 1], how 2 
+PASS 0,18,3: context range 0 [detached], argument range 18 [detachedPara1, 0, detachedPara1, 1], how 3 
+PASS 0,19,0: context range 0 [detached], argument range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], how 0 
+PASS 0,19,1: context range 0 [detached], argument range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], how 1 
+PASS 0,19,2: context range 0 [detached], argument range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], how 2 
+PASS 0,19,3: context range 0 [detached], argument range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], how 3 
+PASS 0,20,0: context range 0 [detached], argument range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], how 0 
+PASS 0,20,1: context range 0 [detached], argument range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], how 1 
+PASS 0,20,2: context range 0 [detached], argument range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], how 2 
+PASS 0,20,3: context range 0 [detached], argument range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], how 3 
+PASS 0,21,0: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 0 
+PASS 0,21,1: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 1 
+PASS 0,21,2: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 2 
+PASS 0,21,3: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 3 
</ins><span class="cx"> PASS 0,21,4: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -1 
</span><span class="cx"> PASS 0,21,5: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 4 
</span><span class="cx"> PASS 0,21,6: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 5 
</span><del>-FAIL 0,21,7: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how NaN InvalidStateError: DOM Exception 11
-FAIL 0,21,8: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -0 InvalidStateError: DOM Exception 11
-FAIL 0,21,9: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how Infinity InvalidStateError: DOM Exception 11
-FAIL 0,21,10: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -Infinity InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,21,7: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how NaN 
+PASS 0,21,8: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -0 
+PASS 0,21,9: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how Infinity 
+PASS 0,21,10: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -Infinity 
</ins><span class="cx"> PASS 0,21,11: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 65535 
</span><del>-FAIL 0,21,12: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 65536 InvalidStateError: DOM Exception 11
-FAIL 0,21,13: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 65537 InvalidStateError: DOM Exception 11
-FAIL 0,21,14: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 65538 InvalidStateError: DOM Exception 11
-FAIL 0,21,15: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 65539 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,21,12: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 65536 
+PASS 0,21,13: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 65537 
+PASS 0,21,14: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 65538 
+PASS 0,21,15: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 65539 
</ins><span class="cx"> PASS 0,21,16: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 65540 
</span><span class="cx"> PASS 0,21,17: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -65537 
</span><del>-FAIL 0,21,18: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -65536 InvalidStateError: DOM Exception 11
-FAIL 0,21,19: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -65535 InvalidStateError: DOM Exception 11
-FAIL 0,21,20: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -65534 InvalidStateError: DOM Exception 11
-FAIL 0,21,21: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -65533 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,21,18: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -65536 
+PASS 0,21,19: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -65535 
+PASS 0,21,20: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -65534 
+PASS 0,21,21: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -65533 
</ins><span class="cx"> PASS 0,21,22: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -65532 
</span><span class="cx"> PASS 0,21,23: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 4294967295 
</span><del>-FAIL 0,21,24: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 4294967296 InvalidStateError: DOM Exception 11
-FAIL 0,21,25: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 4294967297 InvalidStateError: DOM Exception 11
-FAIL 0,21,26: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 4294967298 InvalidStateError: DOM Exception 11
-FAIL 0,21,27: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 4294967299 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,21,24: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 4294967296 
+PASS 0,21,25: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 4294967297 
+PASS 0,21,26: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 4294967298 
+PASS 0,21,27: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 4294967299 
</ins><span class="cx"> PASS 0,21,28: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 4294967300 
</span><del>-FAIL 0,21,29: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -0.5 InvalidStateError: DOM Exception 11
-FAIL 0,21,30: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 0.5 InvalidStateError: DOM Exception 11
-FAIL 0,21,31: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 1.5 InvalidStateError: DOM Exception 11
-FAIL 0,21,32: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 2.5 InvalidStateError: DOM Exception 11
-FAIL 0,21,33: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 3.5 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,21,29: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -0.5 
+PASS 0,21,30: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 0.5 
+PASS 0,21,31: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 1.5 
+PASS 0,21,32: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 2.5 
+PASS 0,21,33: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 3.5 
</ins><span class="cx"> PASS 0,21,34: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 4.5 
</span><span class="cx"> PASS 0,21,35: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -1.5 
</span><del>-FAIL 0,21,36: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -0.5 InvalidStateError: DOM Exception 11
-FAIL 0,21,37: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 0.5 InvalidStateError: DOM Exception 11
-FAIL 0,21,38: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 1.5 InvalidStateError: DOM Exception 11
-FAIL 0,21,39: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 2.5 InvalidStateError: DOM Exception 11
-FAIL 0,21,40: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 3.5 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,21,36: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -0.5 
+PASS 0,21,37: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 0.5 
+PASS 0,21,38: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 1.5 
+PASS 0,21,39: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 2.5 
+PASS 0,21,40: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how 3.5 
</ins><span class="cx"> PASS 0,21,41: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -73.5 
</span><span class="cx"> PASS 0,21,42: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -72.5 
</span><span class="cx"> PASS 0,21,43: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -71.5 
</span><span class="cx"> PASS 0,21,44: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -70.5 
</span><span class="cx"> PASS 0,21,45: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -69.5 
</span><span class="cx"> PASS 0,21,46: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how -68.5 
</span><del>-FAIL 0,21,47: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;0&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,48: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;1&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,49: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;2&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,50: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;3&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,21,47: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;0&quot; 
+PASS 0,21,48: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;1&quot; 
+PASS 0,21,49: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;2&quot; 
+PASS 0,21,50: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;3&quot; 
</ins><span class="cx"> PASS 0,21,51: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-1&quot; 
</span><span class="cx"> PASS 0,21,52: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;4&quot; 
</span><span class="cx"> PASS 0,21,53: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;5&quot; 
</span><del>-FAIL 0,21,54: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;NaN&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,55: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;0&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,56: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;Infinity&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,57: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-Infinity&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,21,54: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;NaN&quot; 
+PASS 0,21,55: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;0&quot; 
+PASS 0,21,56: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;Infinity&quot; 
+PASS 0,21,57: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-Infinity&quot; 
</ins><span class="cx"> PASS 0,21,58: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;65535&quot; 
</span><del>-FAIL 0,21,59: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;65536&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,60: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;65537&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,61: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;65538&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,62: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;65539&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,21,59: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;65536&quot; 
+PASS 0,21,60: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;65537&quot; 
+PASS 0,21,61: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;65538&quot; 
+PASS 0,21,62: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;65539&quot; 
</ins><span class="cx"> PASS 0,21,63: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;65540&quot; 
</span><span class="cx"> PASS 0,21,64: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-65537&quot; 
</span><del>-FAIL 0,21,65: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-65536&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,66: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-65535&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,67: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-65534&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,68: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-65533&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,21,65: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-65536&quot; 
+PASS 0,21,66: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-65535&quot; 
+PASS 0,21,67: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-65534&quot; 
+PASS 0,21,68: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-65533&quot; 
</ins><span class="cx"> PASS 0,21,69: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-65532&quot; 
</span><span class="cx"> PASS 0,21,70: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;4294967295&quot; 
</span><del>-FAIL 0,21,71: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;4294967296&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,72: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;4294967297&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,73: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;4294967298&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,74: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;4294967299&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,21,71: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;4294967296&quot; 
+PASS 0,21,72: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;4294967297&quot; 
+PASS 0,21,73: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;4294967298&quot; 
+PASS 0,21,74: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;4294967299&quot; 
</ins><span class="cx"> PASS 0,21,75: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;4294967300&quot; 
</span><del>-FAIL 0,21,76: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,77: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,78: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;1.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,79: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;2.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,80: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;3.5&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,21,76: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-0.5&quot; 
+PASS 0,21,77: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;0.5&quot; 
+PASS 0,21,78: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;1.5&quot; 
+PASS 0,21,79: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;2.5&quot; 
+PASS 0,21,80: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;3.5&quot; 
</ins><span class="cx"> PASS 0,21,81: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;4.5&quot; 
</span><span class="cx"> PASS 0,21,82: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-1.5&quot; 
</span><del>-FAIL 0,21,83: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,84: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,85: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;1.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,86: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;2.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,87: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;3.5&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,21,83: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-0.5&quot; 
+PASS 0,21,84: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;0.5&quot; 
+PASS 0,21,85: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;1.5&quot; 
+PASS 0,21,86: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;2.5&quot; 
+PASS 0,21,87: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;3.5&quot; 
</ins><span class="cx"> PASS 0,21,88: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-73.5&quot; 
</span><span class="cx"> PASS 0,21,89: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-72.5&quot; 
</span><span class="cx"> PASS 0,21,90: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-71.5&quot; 
</span><span class="cx"> PASS 0,21,91: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-70.5&quot; 
</span><span class="cx"> PASS 0,21,92: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-69.5&quot; 
</span><span class="cx"> PASS 0,21,93: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;-68.5&quot; 
</span><del>-FAIL 0,21,94: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;6.5536e4&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,95: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how null InvalidStateError: DOM Exception 11
-FAIL 0,21,96: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how undefined InvalidStateError: DOM Exception 11
-FAIL 0,21,97: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how true InvalidStateError: DOM Exception 11
-FAIL 0,21,98: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how false InvalidStateError: DOM Exception 11
-FAIL 0,21,99: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;&quot; InvalidStateError: DOM Exception 11
-FAIL 0,21,100: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;quasit&quot; InvalidStateError: DOM Exception 11
-FAIL 0,22,0: context range 0 [detached], argument range 22 [paras[0], 0, paras[0].firstChild, 7], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,22,1: context range 0 [detached], argument range 22 [paras[0], 0, paras[0].firstChild, 7], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,22,2: context range 0 [detached], argument range 22 [paras[0], 0, paras[0].firstChild, 7], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,22,3: context range 0 [detached], argument range 22 [paras[0], 0, paras[0].firstChild, 7], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,23,0: context range 0 [detached], argument range 23 [testDiv, 2, paras[4], 1], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,23,1: context range 0 [detached], argument range 23 [testDiv, 2, paras[4], 1], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,23,2: context range 0 [detached], argument range 23 [testDiv, 2, paras[4], 1], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,23,3: context range 0 [detached], argument range 23 [testDiv, 2, paras[4], 1], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,24,0: context range 0 [detached], argument range 24 [document, 0, document, 1], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,24,1: context range 0 [detached], argument range 24 [document, 0, document, 1], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,24,2: context range 0 [detached], argument range 24 [document, 0, document, 1], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,24,3: context range 0 [detached], argument range 24 [document, 0, document, 1], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,25,0: context range 0 [detached], argument range 25 [document, 0, document, 2], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,25,1: context range 0 [detached], argument range 25 [document, 0, document, 2], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,25,2: context range 0 [detached], argument range 25 [document, 0, document, 2], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,25,3: context range 0 [detached], argument range 25 [document, 0, document, 2], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,26,0: context range 0 [detached], argument range 26 [comment, 2, comment, 3], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,26,1: context range 0 [detached], argument range 26 [comment, 2, comment, 3], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,26,2: context range 0 [detached], argument range 26 [comment, 2, comment, 3], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,26,3: context range 0 [detached], argument range 26 [comment, 2, comment, 3], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,27,0: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,27,1: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,27,2: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,27,3: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,21,94: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;6.5536e4&quot; 
+PASS 0,21,95: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how null 
+PASS 0,21,96: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how undefined 
+PASS 0,21,97: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how true 
+PASS 0,21,98: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how false 
+PASS 0,21,99: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;&quot; 
+PASS 0,21,100: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how &quot;quasit&quot; 
+PASS 0,22,0: context range 0 [detached], argument range 22 [paras[0], 0, paras[0].firstChild, 7], how 0 
+PASS 0,22,1: context range 0 [detached], argument range 22 [paras[0], 0, paras[0].firstChild, 7], how 1 
+PASS 0,22,2: context range 0 [detached], argument range 22 [paras[0], 0, paras[0].firstChild, 7], how 2 
+PASS 0,22,3: context range 0 [detached], argument range 22 [paras[0], 0, paras[0].firstChild, 7], how 3 
+PASS 0,23,0: context range 0 [detached], argument range 23 [testDiv, 2, paras[4], 1], how 0 
+PASS 0,23,1: context range 0 [detached], argument range 23 [testDiv, 2, paras[4], 1], how 1 
+PASS 0,23,2: context range 0 [detached], argument range 23 [testDiv, 2, paras[4], 1], how 2 
+PASS 0,23,3: context range 0 [detached], argument range 23 [testDiv, 2, paras[4], 1], how 3 
+PASS 0,24,0: context range 0 [detached], argument range 24 [document, 0, document, 1], how 0 
+PASS 0,24,1: context range 0 [detached], argument range 24 [document, 0, document, 1], how 1 
+PASS 0,24,2: context range 0 [detached], argument range 24 [document, 0, document, 1], how 2 
+PASS 0,24,3: context range 0 [detached], argument range 24 [document, 0, document, 1], how 3 
+PASS 0,25,0: context range 0 [detached], argument range 25 [document, 0, document, 2], how 0 
+PASS 0,25,1: context range 0 [detached], argument range 25 [document, 0, document, 2], how 1 
+PASS 0,25,2: context range 0 [detached], argument range 25 [document, 0, document, 2], how 2 
+PASS 0,25,3: context range 0 [detached], argument range 25 [document, 0, document, 2], how 3 
+PASS 0,26,0: context range 0 [detached], argument range 26 [comment, 2, comment, 3], how 0 
+PASS 0,26,1: context range 0 [detached], argument range 26 [comment, 2, comment, 3], how 1 
+PASS 0,26,2: context range 0 [detached], argument range 26 [comment, 2, comment, 3], how 2 
+PASS 0,26,3: context range 0 [detached], argument range 26 [comment, 2, comment, 3], how 3 
+PASS 0,27,0: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 0 
+PASS 0,27,1: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 1 
+PASS 0,27,2: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 2 
+PASS 0,27,3: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 3 
</ins><span class="cx"> PASS 0,27,4: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -1 
</span><span class="cx"> PASS 0,27,5: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 4 
</span><span class="cx"> PASS 0,27,6: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 5 
</span><del>-FAIL 0,27,7: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how NaN InvalidStateError: DOM Exception 11
-FAIL 0,27,8: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -0 InvalidStateError: DOM Exception 11
-FAIL 0,27,9: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how Infinity InvalidStateError: DOM Exception 11
-FAIL 0,27,10: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -Infinity InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,7: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how NaN 
+PASS 0,27,8: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -0 
+PASS 0,27,9: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how Infinity 
+PASS 0,27,10: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -Infinity 
</ins><span class="cx"> PASS 0,27,11: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 65535 
</span><del>-FAIL 0,27,12: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 65536 InvalidStateError: DOM Exception 11
-FAIL 0,27,13: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 65537 InvalidStateError: DOM Exception 11
-FAIL 0,27,14: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 65538 InvalidStateError: DOM Exception 11
-FAIL 0,27,15: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 65539 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,12: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 65536 
+PASS 0,27,13: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 65537 
+PASS 0,27,14: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 65538 
+PASS 0,27,15: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 65539 
</ins><span class="cx"> PASS 0,27,16: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 65540 
</span><span class="cx"> PASS 0,27,17: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -65537 
</span><del>-FAIL 0,27,18: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -65536 InvalidStateError: DOM Exception 11
-FAIL 0,27,19: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -65535 InvalidStateError: DOM Exception 11
-FAIL 0,27,20: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -65534 InvalidStateError: DOM Exception 11
-FAIL 0,27,21: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -65533 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,18: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -65536 
+PASS 0,27,19: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -65535 
+PASS 0,27,20: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -65534 
+PASS 0,27,21: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -65533 
</ins><span class="cx"> PASS 0,27,22: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -65532 
</span><span class="cx"> PASS 0,27,23: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 4294967295 
</span><del>-FAIL 0,27,24: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 4294967296 InvalidStateError: DOM Exception 11
-FAIL 0,27,25: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 4294967297 InvalidStateError: DOM Exception 11
-FAIL 0,27,26: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 4294967298 InvalidStateError: DOM Exception 11
-FAIL 0,27,27: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 4294967299 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,24: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 4294967296 
+PASS 0,27,25: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 4294967297 
+PASS 0,27,26: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 4294967298 
+PASS 0,27,27: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 4294967299 
</ins><span class="cx"> PASS 0,27,28: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 4294967300 
</span><del>-FAIL 0,27,29: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -0.5 InvalidStateError: DOM Exception 11
-FAIL 0,27,30: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 0.5 InvalidStateError: DOM Exception 11
-FAIL 0,27,31: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 1.5 InvalidStateError: DOM Exception 11
-FAIL 0,27,32: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 2.5 InvalidStateError: DOM Exception 11
-FAIL 0,27,33: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 3.5 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,29: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -0.5 
+PASS 0,27,30: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 0.5 
+PASS 0,27,31: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 1.5 
+PASS 0,27,32: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 2.5 
+PASS 0,27,33: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 3.5 
</ins><span class="cx"> PASS 0,27,34: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 4.5 
</span><span class="cx"> PASS 0,27,35: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -1.5 
</span><del>-FAIL 0,27,36: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -0.5 InvalidStateError: DOM Exception 11
-FAIL 0,27,37: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 0.5 InvalidStateError: DOM Exception 11
-FAIL 0,27,38: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 1.5 InvalidStateError: DOM Exception 11
-FAIL 0,27,39: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 2.5 InvalidStateError: DOM Exception 11
-FAIL 0,27,40: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 3.5 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,36: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -0.5 
+PASS 0,27,37: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 0.5 
+PASS 0,27,38: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 1.5 
+PASS 0,27,39: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 2.5 
+PASS 0,27,40: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how 3.5 
</ins><span class="cx"> PASS 0,27,41: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -73.5 
</span><span class="cx"> PASS 0,27,42: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -72.5 
</span><span class="cx"> PASS 0,27,43: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -71.5 
</span><span class="cx"> PASS 0,27,44: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -70.5 
</span><span class="cx"> PASS 0,27,45: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -69.5 
</span><span class="cx"> PASS 0,27,46: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how -68.5 
</span><del>-FAIL 0,27,47: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;0&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,48: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;1&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,49: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;2&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,50: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;3&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,47: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;0&quot; 
+PASS 0,27,48: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;1&quot; 
+PASS 0,27,49: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;2&quot; 
+PASS 0,27,50: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;3&quot; 
</ins><span class="cx"> PASS 0,27,51: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-1&quot; 
</span><span class="cx"> PASS 0,27,52: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;4&quot; 
</span><span class="cx"> PASS 0,27,53: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;5&quot; 
</span><del>-FAIL 0,27,54: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;NaN&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,55: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;0&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,56: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;Infinity&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,57: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-Infinity&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,54: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;NaN&quot; 
+PASS 0,27,55: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;0&quot; 
+PASS 0,27,56: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;Infinity&quot; 
+PASS 0,27,57: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-Infinity&quot; 
</ins><span class="cx"> PASS 0,27,58: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;65535&quot; 
</span><del>-FAIL 0,27,59: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;65536&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,60: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;65537&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,61: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;65538&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,62: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;65539&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,59: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;65536&quot; 
+PASS 0,27,60: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;65537&quot; 
+PASS 0,27,61: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;65538&quot; 
+PASS 0,27,62: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;65539&quot; 
</ins><span class="cx"> PASS 0,27,63: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;65540&quot; 
</span><span class="cx"> PASS 0,27,64: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-65537&quot; 
</span><del>-FAIL 0,27,65: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-65536&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,66: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-65535&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,67: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-65534&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,68: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-65533&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,65: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-65536&quot; 
+PASS 0,27,66: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-65535&quot; 
+PASS 0,27,67: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-65534&quot; 
+PASS 0,27,68: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-65533&quot; 
</ins><span class="cx"> PASS 0,27,69: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-65532&quot; 
</span><span class="cx"> PASS 0,27,70: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;4294967295&quot; 
</span><del>-FAIL 0,27,71: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;4294967296&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,72: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;4294967297&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,73: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;4294967298&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,74: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;4294967299&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,71: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;4294967296&quot; 
+PASS 0,27,72: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;4294967297&quot; 
+PASS 0,27,73: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;4294967298&quot; 
+PASS 0,27,74: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;4294967299&quot; 
</ins><span class="cx"> PASS 0,27,75: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;4294967300&quot; 
</span><del>-FAIL 0,27,76: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,77: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,78: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;1.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,79: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;2.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,80: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;3.5&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,76: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-0.5&quot; 
+PASS 0,27,77: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;0.5&quot; 
+PASS 0,27,78: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;1.5&quot; 
+PASS 0,27,79: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;2.5&quot; 
+PASS 0,27,80: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;3.5&quot; 
</ins><span class="cx"> PASS 0,27,81: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;4.5&quot; 
</span><span class="cx"> PASS 0,27,82: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-1.5&quot; 
</span><del>-FAIL 0,27,83: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,84: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,85: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;1.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,86: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;2.5&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,87: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;3.5&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,83: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-0.5&quot; 
+PASS 0,27,84: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;0.5&quot; 
+PASS 0,27,85: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;1.5&quot; 
+PASS 0,27,86: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;2.5&quot; 
+PASS 0,27,87: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;3.5&quot; 
</ins><span class="cx"> PASS 0,27,88: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-73.5&quot; 
</span><span class="cx"> PASS 0,27,89: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-72.5&quot; 
</span><span class="cx"> PASS 0,27,90: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-71.5&quot; 
</span><span class="cx"> PASS 0,27,91: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-70.5&quot; 
</span><span class="cx"> PASS 0,27,92: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-69.5&quot; 
</span><span class="cx"> PASS 0,27,93: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;-68.5&quot; 
</span><del>-FAIL 0,27,94: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;6.5536e4&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,95: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how null InvalidStateError: DOM Exception 11
-FAIL 0,27,96: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how undefined InvalidStateError: DOM Exception 11
-FAIL 0,27,97: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how true InvalidStateError: DOM Exception 11
-FAIL 0,27,98: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how false InvalidStateError: DOM Exception 11
-FAIL 0,27,99: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;&quot; InvalidStateError: DOM Exception 11
-FAIL 0,27,100: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;quasit&quot; InvalidStateError: DOM Exception 11
-FAIL 0,28,0: context range 0 [detached], argument range 28 [foreignDoc, 1, foreignComment, 2], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,28,1: context range 0 [detached], argument range 28 [foreignDoc, 1, foreignComment, 2], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,28,2: context range 0 [detached], argument range 28 [foreignDoc, 1, foreignComment, 2], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,28,3: context range 0 [detached], argument range 28 [foreignDoc, 1, foreignComment, 2], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,29,0: context range 0 [detached], argument range 29 [foreignDoc.body, 0, foreignTextNode, 36], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,29,1: context range 0 [detached], argument range 29 [foreignDoc.body, 0, foreignTextNode, 36], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,29,2: context range 0 [detached], argument range 29 [foreignDoc.body, 0, foreignTextNode, 36], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,29,3: context range 0 [detached], argument range 29 [foreignDoc.body, 0, foreignTextNode, 36], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,30,0: context range 0 [detached], argument range 30 [xmlDoc, 1, xmlComment, 0], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,30,1: context range 0 [detached], argument range 30 [xmlDoc, 1, xmlComment, 0], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,30,2: context range 0 [detached], argument range 30 [xmlDoc, 1, xmlComment, 0], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,30,3: context range 0 [detached], argument range 30 [xmlDoc, 1, xmlComment, 0], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,31,0: context range 0 [detached], argument range 31 [detachedTextNode, 0, detachedTextNode, 8], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,31,1: context range 0 [detached], argument range 31 [detachedTextNode, 0, detachedTextNode, 8], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,31,2: context range 0 [detached], argument range 31 [detachedTextNode, 0, detachedTextNode, 8], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,31,3: context range 0 [detached], argument range 31 [detachedTextNode, 0, detachedTextNode, 8], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,32,0: context range 0 [detached], argument range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,32,1: context range 0 [detached], argument range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,32,2: context range 0 [detached], argument range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,32,3: context range 0 [detached], argument range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,33,0: context range 0 [detached], argument range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,33,1: context range 0 [detached], argument range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,33,2: context range 0 [detached], argument range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,33,3: context range 0 [detached], argument range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,34,0: context range 0 [detached], argument range 34 [detachedComment, 3, detachedComment, 4], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,34,1: context range 0 [detached], argument range 34 [detachedComment, 3, detachedComment, 4], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,34,2: context range 0 [detached], argument range 34 [detachedComment, 3, detachedComment, 4], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,34,3: context range 0 [detached], argument range 34 [detachedComment, 3, detachedComment, 4], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,35,0: context range 0 [detached], argument range 35 [detachedForeignComment, 0, detachedForeignComment, 1], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,35,1: context range 0 [detached], argument range 35 [detachedForeignComment, 0, detachedForeignComment, 1], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,35,2: context range 0 [detached], argument range 35 [detachedForeignComment, 0, detachedForeignComment, 1], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,35,3: context range 0 [detached], argument range 35 [detachedForeignComment, 0, detachedForeignComment, 1], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,36,0: context range 0 [detached], argument range 36 [detachedXmlComment, 2, detachedXmlComment, 6], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,36,1: context range 0 [detached], argument range 36 [detachedXmlComment, 2, detachedXmlComment, 6], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,36,2: context range 0 [detached], argument range 36 [detachedXmlComment, 2, detachedXmlComment, 6], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,36,3: context range 0 [detached], argument range 36 [detachedXmlComment, 2, detachedXmlComment, 6], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,37,0: context range 0 [detached], argument range 37 [docfrag, 0, docfrag, 0], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,37,1: context range 0 [detached], argument range 37 [docfrag, 0, docfrag, 0], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,37,2: context range 0 [detached], argument range 37 [docfrag, 0, docfrag, 0], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,37,3: context range 0 [detached], argument range 37 [docfrag, 0, docfrag, 0], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,38,0: context range 0 [detached], argument range 38 [processingInstruction, 0, processingInstruction, 4], how 0 InvalidStateError: DOM Exception 11
-FAIL 0,38,1: context range 0 [detached], argument range 38 [processingInstruction, 0, processingInstruction, 4], how 1 InvalidStateError: DOM Exception 11
-FAIL 0,38,2: context range 0 [detached], argument range 38 [processingInstruction, 0, processingInstruction, 4], how 2 InvalidStateError: DOM Exception 11
-FAIL 0,38,3: context range 0 [detached], argument range 38 [processingInstruction, 0, processingInstruction, 4], how 3 InvalidStateError: DOM Exception 11
-FAIL 0,39,0: context range 0 [detached], argument range same as first range, how 0 InvalidStateError: DOM Exception 11
-FAIL 0,39,1: context range 0 [detached], argument range same as first range, how 1 InvalidStateError: DOM Exception 11
-FAIL 0,39,2: context range 0 [detached], argument range same as first range, how 2 InvalidStateError: DOM Exception 11
-FAIL 0,39,3: context range 0 [detached], argument range same as first range, how 3 InvalidStateError: DOM Exception 11
-FAIL 1,0,0: context range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 1,0,1: context range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 1,0,2: context range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 1,0,3: context range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,94: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;6.5536e4&quot; 
+PASS 0,27,95: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how null 
+PASS 0,27,96: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how undefined 
+PASS 0,27,97: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how true 
+PASS 0,27,98: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how false 
+PASS 0,27,99: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;&quot; 
+PASS 0,27,100: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how &quot;quasit&quot; 
+PASS 0,28,0: context range 0 [detached], argument range 28 [foreignDoc, 1, foreignComment, 2], how 0 
+PASS 0,28,1: context range 0 [detached], argument range 28 [foreignDoc, 1, foreignComment, 2], how 1 
+PASS 0,28,2: context range 0 [detached], argument range 28 [foreignDoc, 1, foreignComment, 2], how 2 
+PASS 0,28,3: context range 0 [detached], argument range 28 [foreignDoc, 1, foreignComment, 2], how 3 
+PASS 0,29,0: context range 0 [detached], argument range 29 [foreignDoc.body, 0, foreignTextNode, 36], how 0 
+PASS 0,29,1: context range 0 [detached], argument range 29 [foreignDoc.body, 0, foreignTextNode, 36], how 1 
+PASS 0,29,2: context range 0 [detached], argument range 29 [foreignDoc.body, 0, foreignTextNode, 36], how 2 
+PASS 0,29,3: context range 0 [detached], argument range 29 [foreignDoc.body, 0, foreignTextNode, 36], how 3 
+PASS 0,30,0: context range 0 [detached], argument range 30 [xmlDoc, 1, xmlComment, 0], how 0 
+PASS 0,30,1: context range 0 [detached], argument range 30 [xmlDoc, 1, xmlComment, 0], how 1 
+PASS 0,30,2: context range 0 [detached], argument range 30 [xmlDoc, 1, xmlComment, 0], how 2 
+PASS 0,30,3: context range 0 [detached], argument range 30 [xmlDoc, 1, xmlComment, 0], how 3 
+PASS 0,31,0: context range 0 [detached], argument range 31 [detachedTextNode, 0, detachedTextNode, 8], how 0 
+PASS 0,31,1: context range 0 [detached], argument range 31 [detachedTextNode, 0, detachedTextNode, 8], how 1 
+PASS 0,31,2: context range 0 [detached], argument range 31 [detachedTextNode, 0, detachedTextNode, 8], how 2 
+PASS 0,31,3: context range 0 [detached], argument range 31 [detachedTextNode, 0, detachedTextNode, 8], how 3 
+PASS 0,32,0: context range 0 [detached], argument range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], how 0 
+PASS 0,32,1: context range 0 [detached], argument range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], how 1 
+PASS 0,32,2: context range 0 [detached], argument range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], how 2 
+PASS 0,32,3: context range 0 [detached], argument range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], how 3 
+PASS 0,33,0: context range 0 [detached], argument range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], how 0 
+PASS 0,33,1: context range 0 [detached], argument range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], how 1 
+PASS 0,33,2: context range 0 [detached], argument range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], how 2 
+PASS 0,33,3: context range 0 [detached], argument range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], how 3 
+PASS 0,34,0: context range 0 [detached], argument range 34 [detachedComment, 3, detachedComment, 4], how 0 
+PASS 0,34,1: context range 0 [detached], argument range 34 [detachedComment, 3, detachedComment, 4], how 1 
+PASS 0,34,2: context range 0 [detached], argument range 34 [detachedComment, 3, detachedComment, 4], how 2 
+PASS 0,34,3: context range 0 [detached], argument range 34 [detachedComment, 3, detachedComment, 4], how 3 
+PASS 0,35,0: context range 0 [detached], argument range 35 [detachedForeignComment, 0, detachedForeignComment, 1], how 0 
+PASS 0,35,1: context range 0 [detached], argument range 35 [detachedForeignComment, 0, detachedForeignComment, 1], how 1 
+PASS 0,35,2: context range 0 [detached], argument range 35 [detachedForeignComment, 0, detachedForeignComment, 1], how 2 
+PASS 0,35,3: context range 0 [detached], argument range 35 [detachedForeignComment, 0, detachedForeignComment, 1], how 3 
+PASS 0,36,0: context range 0 [detached], argument range 36 [detachedXmlComment, 2, detachedXmlComment, 6], how 0 
+PASS 0,36,1: context range 0 [detached], argument range 36 [detachedXmlComment, 2, detachedXmlComment, 6], how 1 
+PASS 0,36,2: context range 0 [detached], argument range 36 [detachedXmlComment, 2, detachedXmlComment, 6], how 2 
+PASS 0,36,3: context range 0 [detached], argument range 36 [detachedXmlComment, 2, detachedXmlComment, 6], how 3 
+PASS 0,37,0: context range 0 [detached], argument range 37 [docfrag, 0, docfrag, 0], how 0 
+PASS 0,37,1: context range 0 [detached], argument range 37 [docfrag, 0, docfrag, 0], how 1 
+PASS 0,37,2: context range 0 [detached], argument range 37 [docfrag, 0, docfrag, 0], how 2 
+PASS 0,37,3: context range 0 [detached], argument range 37 [docfrag, 0, docfrag, 0], how 3 
+PASS 0,38,0: context range 0 [detached], argument range 38 [processingInstruction, 0, processingInstruction, 4], how 0 
+PASS 0,38,1: context range 0 [detached], argument range 38 [processingInstruction, 0, processingInstruction, 4], how 1 
+PASS 0,38,2: context range 0 [detached], argument range 38 [processingInstruction, 0, processingInstruction, 4], how 2 
+PASS 0,38,3: context range 0 [detached], argument range 38 [processingInstruction, 0, processingInstruction, 4], how 3 
+PASS 0,39,0: context range 0 [detached], argument range same as first range, how 0 
+PASS 0,39,1: context range 0 [detached], argument range same as first range, how 1 
+PASS 0,39,2: context range 0 [detached], argument range same as first range, how 2 
+PASS 0,39,3: context range 0 [detached], argument range same as first range, how 3 
+PASS 1,0,0: context range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], argument range 0 [detached], how 0 
+PASS 1,0,1: context range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], argument range 0 [detached], how 1 
+PASS 1,0,2: context range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], argument range 0 [detached], how 2 
+PASS 1,0,3: context range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 1,1,0: context range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 1,1,1: context range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 1,1,2: context range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -804,10 +804,10 @@
</span><span class="cx"> PASS 1,39,1: context range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], argument range same as first range, how 1 
</span><span class="cx"> PASS 1,39,2: context range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], argument range same as first range, how 2 
</span><span class="cx"> PASS 1,39,3: context range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], argument range same as first range, how 3 
</span><del>-FAIL 2,0,0: context range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 2,0,1: context range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 2,0,2: context range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 2,0,3: context range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 2,0,0: context range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], argument range 0 [detached], how 0 
+PASS 2,0,1: context range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], argument range 0 [detached], how 1 
+PASS 2,0,2: context range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], argument range 0 [detached], how 2 
+PASS 2,0,3: context range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 2,1,0: context range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 2,1,1: context range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 2,1,2: context range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -964,107 +964,107 @@
</span><span class="cx"> PASS 2,39,1: context range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], argument range same as first range, how 1 
</span><span class="cx"> PASS 2,39,2: context range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], argument range same as first range, how 2 
</span><span class="cx"> PASS 2,39,3: context range 2 [paras[0].firstChild, 0, paras[0].firstChild, 1], argument range same as first range, how 3 
</span><del>-FAIL 3,0,0: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 3,0,1: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 3,0,2: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 3,0,3: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 3,0,0: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 0 
+PASS 3,0,1: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 1 
+PASS 3,0,2: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 2 
+PASS 3,0,3: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 3,0,4: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -1 
</span><span class="cx"> PASS 3,0,5: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 4 
</span><span class="cx"> PASS 3,0,6: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 5 
</span><del>-FAIL 3,0,7: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how NaN InvalidStateError: DOM Exception 11
-FAIL 3,0,8: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -0 InvalidStateError: DOM Exception 11
-FAIL 3,0,9: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how Infinity InvalidStateError: DOM Exception 11
-FAIL 3,0,10: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -Infinity InvalidStateError: DOM Exception 11
</del><ins>+PASS 3,0,7: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how NaN 
+PASS 3,0,8: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -0 
+PASS 3,0,9: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how Infinity 
+PASS 3,0,10: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -Infinity 
</ins><span class="cx"> PASS 3,0,11: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 65535 
</span><del>-FAIL 3,0,12: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 65536 InvalidStateError: DOM Exception 11
-FAIL 3,0,13: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 65537 InvalidStateError: DOM Exception 11
-FAIL 3,0,14: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 65538 InvalidStateError: DOM Exception 11
-FAIL 3,0,15: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 65539 InvalidStateError: DOM Exception 11
</del><ins>+PASS 3,0,12: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 65536 
+PASS 3,0,13: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 65537 
+PASS 3,0,14: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 65538 
+PASS 3,0,15: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 65539 
</ins><span class="cx"> PASS 3,0,16: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 65540 
</span><span class="cx"> PASS 3,0,17: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -65537 
</span><del>-FAIL 3,0,18: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -65536 InvalidStateError: DOM Exception 11
-FAIL 3,0,19: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -65535 InvalidStateError: DOM Exception 11
-FAIL 3,0,20: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -65534 InvalidStateError: DOM Exception 11
-FAIL 3,0,21: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -65533 InvalidStateError: DOM Exception 11
</del><ins>+PASS 3,0,18: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -65536 
+PASS 3,0,19: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -65535 
+PASS 3,0,20: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -65534 
+PASS 3,0,21: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -65533 
</ins><span class="cx"> PASS 3,0,22: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -65532 
</span><span class="cx"> PASS 3,0,23: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 4294967295 
</span><del>-FAIL 3,0,24: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 4294967296 InvalidStateError: DOM Exception 11
-FAIL 3,0,25: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 4294967297 InvalidStateError: DOM Exception 11
-FAIL 3,0,26: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 4294967298 InvalidStateError: DOM Exception 11
-FAIL 3,0,27: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 4294967299 InvalidStateError: DOM Exception 11
</del><ins>+PASS 3,0,24: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 4294967296 
+PASS 3,0,25: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 4294967297 
+PASS 3,0,26: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 4294967298 
+PASS 3,0,27: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 4294967299 
</ins><span class="cx"> PASS 3,0,28: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 4294967300 
</span><del>-FAIL 3,0,29: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -0.5 InvalidStateError: DOM Exception 11
-FAIL 3,0,30: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 0.5 InvalidStateError: DOM Exception 11
-FAIL 3,0,31: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 1.5 InvalidStateError: DOM Exception 11
-FAIL 3,0,32: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 2.5 InvalidStateError: DOM Exception 11
-FAIL 3,0,33: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 3.5 InvalidStateError: DOM Exception 11
</del><ins>+PASS 3,0,29: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -0.5 
+PASS 3,0,30: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 0.5 
+PASS 3,0,31: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 1.5 
+PASS 3,0,32: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 2.5 
+PASS 3,0,33: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 3.5 
</ins><span class="cx"> PASS 3,0,34: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 4.5 
</span><span class="cx"> PASS 3,0,35: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -1.5 
</span><del>-FAIL 3,0,36: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -0.5 InvalidStateError: DOM Exception 11
-FAIL 3,0,37: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 0.5 InvalidStateError: DOM Exception 11
-FAIL 3,0,38: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 1.5 InvalidStateError: DOM Exception 11
-FAIL 3,0,39: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 2.5 InvalidStateError: DOM Exception 11
-FAIL 3,0,40: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 3.5 InvalidStateError: DOM Exception 11
</del><ins>+PASS 3,0,36: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -0.5 
+PASS 3,0,37: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 0.5 
+PASS 3,0,38: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 1.5 
+PASS 3,0,39: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 2.5 
+PASS 3,0,40: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how 3.5 
</ins><span class="cx"> PASS 3,0,41: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -73.5 
</span><span class="cx"> PASS 3,0,42: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -72.5 
</span><span class="cx"> PASS 3,0,43: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -71.5 
</span><span class="cx"> PASS 3,0,44: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -70.5 
</span><span class="cx"> PASS 3,0,45: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -69.5 
</span><span class="cx"> PASS 3,0,46: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how -68.5 
</span><del>-FAIL 3,0,47: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;0&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,48: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;1&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,49: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;2&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,50: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;3&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 3,0,47: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;0&quot; 
+PASS 3,0,48: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;1&quot; 
+PASS 3,0,49: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;2&quot; 
+PASS 3,0,50: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;3&quot; 
</ins><span class="cx"> PASS 3,0,51: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-1&quot; 
</span><span class="cx"> PASS 3,0,52: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;4&quot; 
</span><span class="cx"> PASS 3,0,53: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;5&quot; 
</span><del>-FAIL 3,0,54: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;NaN&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,55: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;0&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,56: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;Infinity&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,57: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-Infinity&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 3,0,54: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;NaN&quot; 
+PASS 3,0,55: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;0&quot; 
+PASS 3,0,56: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;Infinity&quot; 
+PASS 3,0,57: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-Infinity&quot; 
</ins><span class="cx"> PASS 3,0,58: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;65535&quot; 
</span><del>-FAIL 3,0,59: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;65536&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,60: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;65537&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,61: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;65538&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,62: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;65539&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 3,0,59: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;65536&quot; 
+PASS 3,0,60: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;65537&quot; 
+PASS 3,0,61: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;65538&quot; 
+PASS 3,0,62: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;65539&quot; 
</ins><span class="cx"> PASS 3,0,63: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;65540&quot; 
</span><span class="cx"> PASS 3,0,64: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-65537&quot; 
</span><del>-FAIL 3,0,65: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-65536&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,66: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-65535&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,67: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-65534&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,68: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-65533&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 3,0,65: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-65536&quot; 
+PASS 3,0,66: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-65535&quot; 
+PASS 3,0,67: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-65534&quot; 
+PASS 3,0,68: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-65533&quot; 
</ins><span class="cx"> PASS 3,0,69: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-65532&quot; 
</span><span class="cx"> PASS 3,0,70: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;4294967295&quot; 
</span><del>-FAIL 3,0,71: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;4294967296&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,72: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;4294967297&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,73: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;4294967298&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,74: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;4294967299&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 3,0,71: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;4294967296&quot; 
+PASS 3,0,72: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;4294967297&quot; 
+PASS 3,0,73: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;4294967298&quot; 
+PASS 3,0,74: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;4294967299&quot; 
</ins><span class="cx"> PASS 3,0,75: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;4294967300&quot; 
</span><del>-FAIL 3,0,76: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,77: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,78: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;1.5&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,79: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;2.5&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,80: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;3.5&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 3,0,76: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-0.5&quot; 
+PASS 3,0,77: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;0.5&quot; 
+PASS 3,0,78: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;1.5&quot; 
+PASS 3,0,79: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;2.5&quot; 
+PASS 3,0,80: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;3.5&quot; 
</ins><span class="cx"> PASS 3,0,81: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;4.5&quot; 
</span><span class="cx"> PASS 3,0,82: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-1.5&quot; 
</span><del>-FAIL 3,0,83: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,84: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,85: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;1.5&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,86: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;2.5&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,87: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;3.5&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 3,0,83: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-0.5&quot; 
+PASS 3,0,84: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;0.5&quot; 
+PASS 3,0,85: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;1.5&quot; 
+PASS 3,0,86: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;2.5&quot; 
+PASS 3,0,87: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;3.5&quot; 
</ins><span class="cx"> PASS 3,0,88: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-73.5&quot; 
</span><span class="cx"> PASS 3,0,89: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-72.5&quot; 
</span><span class="cx"> PASS 3,0,90: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-71.5&quot; 
</span><span class="cx"> PASS 3,0,91: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-70.5&quot; 
</span><span class="cx"> PASS 3,0,92: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-69.5&quot; 
</span><span class="cx"> PASS 3,0,93: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;-68.5&quot; 
</span><del>-FAIL 3,0,94: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;6.5536e4&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,95: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how null InvalidStateError: DOM Exception 11
-FAIL 3,0,96: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how undefined InvalidStateError: DOM Exception 11
-FAIL 3,0,97: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how true InvalidStateError: DOM Exception 11
-FAIL 3,0,98: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how false InvalidStateError: DOM Exception 11
-FAIL 3,0,99: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;&quot; InvalidStateError: DOM Exception 11
-FAIL 3,0,100: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;quasit&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 3,0,94: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;6.5536e4&quot; 
+PASS 3,0,95: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how null 
+PASS 3,0,96: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how undefined 
+PASS 3,0,97: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how true 
+PASS 3,0,98: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how false 
+PASS 3,0,99: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;&quot; 
+PASS 3,0,100: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how &quot;quasit&quot; 
</ins><span class="cx"> PASS 3,1,0: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 3,1,1: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 3,1,2: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -1609,10 +1609,10 @@
</span><span class="cx"> PASS 3,39,1: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range same as first range, how 1 
</span><span class="cx"> PASS 3,39,2: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range same as first range, how 2 
</span><span class="cx"> PASS 3,39,3: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range same as first range, how 3 
</span><del>-FAIL 4,0,0: context range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 4,0,1: context range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 4,0,2: context range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 4,0,3: context range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 4,0,0: context range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], argument range 0 [detached], how 0 
+PASS 4,0,1: context range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], argument range 0 [detached], how 1 
+PASS 4,0,2: context range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], argument range 0 [detached], how 2 
+PASS 4,0,3: context range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 4,1,0: context range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 4,1,1: context range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 4,1,2: context range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -1769,10 +1769,10 @@
</span><span class="cx"> PASS 4,39,1: context range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], argument range same as first range, how 1 
</span><span class="cx"> PASS 4,39,2: context range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], argument range same as first range, how 2 
</span><span class="cx"> PASS 4,39,3: context range 4 [paras[0].firstChild, 2, paras[0].firstChild, 9], argument range same as first range, how 3 
</span><del>-FAIL 5,0,0: context range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 5,0,1: context range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 5,0,2: context range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 5,0,3: context range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 5,0,0: context range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], argument range 0 [detached], how 0 
+PASS 5,0,1: context range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], argument range 0 [detached], how 1 
+PASS 5,0,2: context range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], argument range 0 [detached], how 2 
+PASS 5,0,3: context range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 5,1,0: context range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 5,1,1: context range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 5,1,2: context range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -1929,10 +1929,10 @@
</span><span class="cx"> PASS 5,39,1: context range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], argument range same as first range, how 1 
</span><span class="cx"> PASS 5,39,2: context range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], argument range same as first range, how 2 
</span><span class="cx"> PASS 5,39,3: context range 5 [paras[1].firstChild, 0, paras[1].firstChild, 0], argument range same as first range, how 3 
</span><del>-FAIL 6,0,0: context range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 6,0,1: context range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 6,0,2: context range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 6,0,3: context range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 6,0,0: context range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], argument range 0 [detached], how 0 
+PASS 6,0,1: context range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], argument range 0 [detached], how 1 
+PASS 6,0,2: context range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], argument range 0 [detached], how 2 
+PASS 6,0,3: context range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 6,1,0: context range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 6,1,1: context range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 6,1,2: context range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -2089,10 +2089,10 @@
</span><span class="cx"> PASS 6,39,1: context range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], argument range same as first range, how 1 
</span><span class="cx"> PASS 6,39,2: context range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], argument range same as first range, how 2 
</span><span class="cx"> PASS 6,39,3: context range 6 [paras[1].firstChild, 2, paras[1].firstChild, 9], argument range same as first range, how 3 
</span><del>-FAIL 7,0,0: context range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 7,0,1: context range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 7,0,2: context range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 7,0,3: context range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 7,0,0: context range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], argument range 0 [detached], how 0 
+PASS 7,0,1: context range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], argument range 0 [detached], how 1 
+PASS 7,0,2: context range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], argument range 0 [detached], how 2 
+PASS 7,0,3: context range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 7,1,0: context range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 7,1,1: context range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 7,1,2: context range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -2249,10 +2249,10 @@
</span><span class="cx"> PASS 7,39,1: context range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], argument range same as first range, how 1 
</span><span class="cx"> PASS 7,39,2: context range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], argument range same as first range, how 2 
</span><span class="cx"> PASS 7,39,3: context range 7 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0], argument range same as first range, how 3 
</span><del>-FAIL 8,0,0: context range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 8,0,1: context range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 8,0,2: context range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 8,0,3: context range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 8,0,0: context range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], argument range 0 [detached], how 0 
+PASS 8,0,1: context range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], argument range 0 [detached], how 1 
+PASS 8,0,2: context range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], argument range 0 [detached], how 2 
+PASS 8,0,3: context range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 8,1,0: context range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 8,1,1: context range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 8,1,2: context range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -2409,10 +2409,10 @@
</span><span class="cx"> PASS 8,39,1: context range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], argument range same as first range, how 1 
</span><span class="cx"> PASS 8,39,2: context range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], argument range same as first range, how 2 
</span><span class="cx"> PASS 8,39,3: context range 8 [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8], argument range same as first range, how 3 
</span><del>-FAIL 9,0,0: context range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 9,0,1: context range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 9,0,2: context range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 9,0,3: context range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 9,0,0: context range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], argument range 0 [detached], how 0 
+PASS 9,0,1: context range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], argument range 0 [detached], how 1 
+PASS 9,0,2: context range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], argument range 0 [detached], how 2 
+PASS 9,0,3: context range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 9,1,0: context range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 9,1,1: context range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 9,1,2: context range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -2569,10 +2569,10 @@
</span><span class="cx"> PASS 9,39,1: context range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], argument range same as first range, how 1 
</span><span class="cx"> PASS 9,39,2: context range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], argument range same as first range, how 2 
</span><span class="cx"> PASS 9,39,3: context range 9 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0], argument range same as first range, how 3 
</span><del>-FAIL 10,0,0: context range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 10,0,1: context range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 10,0,2: context range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 10,0,3: context range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 10,0,0: context range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], argument range 0 [detached], how 0 
+PASS 10,0,1: context range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], argument range 0 [detached], how 1 
+PASS 10,0,2: context range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], argument range 0 [detached], how 2 
+PASS 10,0,3: context range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 10,1,0: context range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 10,1,1: context range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 10,1,2: context range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -2729,10 +2729,10 @@
</span><span class="cx"> PASS 10,39,1: context range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], argument range same as first range, how 1 
</span><span class="cx"> PASS 10,39,2: context range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], argument range same as first range, how 2 
</span><span class="cx"> PASS 10,39,3: context range 10 [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8], argument range same as first range, how 3 
</span><del>-FAIL 11,0,0: context range 11 [document.documentElement, 0, document.documentElement, 1], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 11,0,1: context range 11 [document.documentElement, 0, document.documentElement, 1], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 11,0,2: context range 11 [document.documentElement, 0, document.documentElement, 1], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 11,0,3: context range 11 [document.documentElement, 0, document.documentElement, 1], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 11,0,0: context range 11 [document.documentElement, 0, document.documentElement, 1], argument range 0 [detached], how 0 
+PASS 11,0,1: context range 11 [document.documentElement, 0, document.documentElement, 1], argument range 0 [detached], how 1 
+PASS 11,0,2: context range 11 [document.documentElement, 0, document.documentElement, 1], argument range 0 [detached], how 2 
+PASS 11,0,3: context range 11 [document.documentElement, 0, document.documentElement, 1], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 11,1,0: context range 11 [document.documentElement, 0, document.documentElement, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 11,1,1: context range 11 [document.documentElement, 0, document.documentElement, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 11,1,2: context range 11 [document.documentElement, 0, document.documentElement, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -2889,10 +2889,10 @@
</span><span class="cx"> PASS 11,39,1: context range 11 [document.documentElement, 0, document.documentElement, 1], argument range same as first range, how 1 
</span><span class="cx"> PASS 11,39,2: context range 11 [document.documentElement, 0, document.documentElement, 1], argument range same as first range, how 2 
</span><span class="cx"> PASS 11,39,3: context range 11 [document.documentElement, 0, document.documentElement, 1], argument range same as first range, how 3 
</span><del>-FAIL 12,0,0: context range 12 [document.documentElement, 0, document.documentElement, 2], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 12,0,1: context range 12 [document.documentElement, 0, document.documentElement, 2], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 12,0,2: context range 12 [document.documentElement, 0, document.documentElement, 2], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 12,0,3: context range 12 [document.documentElement, 0, document.documentElement, 2], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 12,0,0: context range 12 [document.documentElement, 0, document.documentElement, 2], argument range 0 [detached], how 0 
+PASS 12,0,1: context range 12 [document.documentElement, 0, document.documentElement, 2], argument range 0 [detached], how 1 
+PASS 12,0,2: context range 12 [document.documentElement, 0, document.documentElement, 2], argument range 0 [detached], how 2 
+PASS 12,0,3: context range 12 [document.documentElement, 0, document.documentElement, 2], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 12,1,0: context range 12 [document.documentElement, 0, document.documentElement, 2], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 12,1,1: context range 12 [document.documentElement, 0, document.documentElement, 2], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 12,1,2: context range 12 [document.documentElement, 0, document.documentElement, 2], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -3049,10 +3049,10 @@
</span><span class="cx"> PASS 12,39,1: context range 12 [document.documentElement, 0, document.documentElement, 2], argument range same as first range, how 1 
</span><span class="cx"> PASS 12,39,2: context range 12 [document.documentElement, 0, document.documentElement, 2], argument range same as first range, how 2 
</span><span class="cx"> PASS 12,39,3: context range 12 [document.documentElement, 0, document.documentElement, 2], argument range same as first range, how 3 
</span><del>-FAIL 13,0,0: context range 13 [document.documentElement, 1, document.documentElement, 2], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 13,0,1: context range 13 [document.documentElement, 1, document.documentElement, 2], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 13,0,2: context range 13 [document.documentElement, 1, document.documentElement, 2], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 13,0,3: context range 13 [document.documentElement, 1, document.documentElement, 2], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 13,0,0: context range 13 [document.documentElement, 1, document.documentElement, 2], argument range 0 [detached], how 0 
+PASS 13,0,1: context range 13 [document.documentElement, 1, document.documentElement, 2], argument range 0 [detached], how 1 
+PASS 13,0,2: context range 13 [document.documentElement, 1, document.documentElement, 2], argument range 0 [detached], how 2 
+PASS 13,0,3: context range 13 [document.documentElement, 1, document.documentElement, 2], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 13,1,0: context range 13 [document.documentElement, 1, document.documentElement, 2], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 13,1,1: context range 13 [document.documentElement, 1, document.documentElement, 2], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 13,1,2: context range 13 [document.documentElement, 1, document.documentElement, 2], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -3209,10 +3209,10 @@
</span><span class="cx"> PASS 13,39,1: context range 13 [document.documentElement, 1, document.documentElement, 2], argument range same as first range, how 1 
</span><span class="cx"> PASS 13,39,2: context range 13 [document.documentElement, 1, document.documentElement, 2], argument range same as first range, how 2 
</span><span class="cx"> PASS 13,39,3: context range 13 [document.documentElement, 1, document.documentElement, 2], argument range same as first range, how 3 
</span><del>-FAIL 14,0,0: context range 14 [document.head, 1, document.head, 1], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 14,0,1: context range 14 [document.head, 1, document.head, 1], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 14,0,2: context range 14 [document.head, 1, document.head, 1], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 14,0,3: context range 14 [document.head, 1, document.head, 1], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 14,0,0: context range 14 [document.head, 1, document.head, 1], argument range 0 [detached], how 0 
+PASS 14,0,1: context range 14 [document.head, 1, document.head, 1], argument range 0 [detached], how 1 
+PASS 14,0,2: context range 14 [document.head, 1, document.head, 1], argument range 0 [detached], how 2 
+PASS 14,0,3: context range 14 [document.head, 1, document.head, 1], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 14,1,0: context range 14 [document.head, 1, document.head, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 14,1,1: context range 14 [document.head, 1, document.head, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 14,1,2: context range 14 [document.head, 1, document.head, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -3369,10 +3369,10 @@
</span><span class="cx"> PASS 14,39,1: context range 14 [document.head, 1, document.head, 1], argument range same as first range, how 1 
</span><span class="cx"> PASS 14,39,2: context range 14 [document.head, 1, document.head, 1], argument range same as first range, how 2 
</span><span class="cx"> PASS 14,39,3: context range 14 [document.head, 1, document.head, 1], argument range same as first range, how 3 
</span><del>-FAIL 15,0,0: context range 15 [document.body, 4, document.body, 5], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 15,0,1: context range 15 [document.body, 4, document.body, 5], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 15,0,2: context range 15 [document.body, 4, document.body, 5], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 15,0,3: context range 15 [document.body, 4, document.body, 5], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 15,0,0: context range 15 [document.body, 4, document.body, 5], argument range 0 [detached], how 0 
+PASS 15,0,1: context range 15 [document.body, 4, document.body, 5], argument range 0 [detached], how 1 
+PASS 15,0,2: context range 15 [document.body, 4, document.body, 5], argument range 0 [detached], how 2 
+PASS 15,0,3: context range 15 [document.body, 4, document.body, 5], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 15,1,0: context range 15 [document.body, 4, document.body, 5], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 15,1,1: context range 15 [document.body, 4, document.body, 5], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 15,1,2: context range 15 [document.body, 4, document.body, 5], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -3529,107 +3529,107 @@
</span><span class="cx"> PASS 15,39,1: context range 15 [document.body, 4, document.body, 5], argument range same as first range, how 1 
</span><span class="cx"> PASS 15,39,2: context range 15 [document.body, 4, document.body, 5], argument range same as first range, how 2 
</span><span class="cx"> PASS 15,39,3: context range 15 [document.body, 4, document.body, 5], argument range same as first range, how 3 
</span><del>-FAIL 16,0,0: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 16,0,1: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 16,0,2: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 16,0,3: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,0: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 0 
+PASS 16,0,1: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 1 
+PASS 16,0,2: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 2 
+PASS 16,0,3: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 16,0,4: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -1 
</span><span class="cx"> PASS 16,0,5: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 4 
</span><span class="cx"> PASS 16,0,6: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 5 
</span><del>-FAIL 16,0,7: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how NaN InvalidStateError: DOM Exception 11
-FAIL 16,0,8: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -0 InvalidStateError: DOM Exception 11
-FAIL 16,0,9: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how Infinity InvalidStateError: DOM Exception 11
-FAIL 16,0,10: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -Infinity InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,7: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how NaN 
+PASS 16,0,8: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -0 
+PASS 16,0,9: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how Infinity 
+PASS 16,0,10: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -Infinity 
</ins><span class="cx"> PASS 16,0,11: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 65535 
</span><del>-FAIL 16,0,12: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 65536 InvalidStateError: DOM Exception 11
-FAIL 16,0,13: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 65537 InvalidStateError: DOM Exception 11
-FAIL 16,0,14: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 65538 InvalidStateError: DOM Exception 11
-FAIL 16,0,15: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 65539 InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,12: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 65536 
+PASS 16,0,13: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 65537 
+PASS 16,0,14: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 65538 
+PASS 16,0,15: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 65539 
</ins><span class="cx"> PASS 16,0,16: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 65540 
</span><span class="cx"> PASS 16,0,17: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -65537 
</span><del>-FAIL 16,0,18: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -65536 InvalidStateError: DOM Exception 11
-FAIL 16,0,19: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -65535 InvalidStateError: DOM Exception 11
-FAIL 16,0,20: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -65534 InvalidStateError: DOM Exception 11
-FAIL 16,0,21: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -65533 InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,18: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -65536 
+PASS 16,0,19: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -65535 
+PASS 16,0,20: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -65534 
+PASS 16,0,21: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -65533 
</ins><span class="cx"> PASS 16,0,22: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -65532 
</span><span class="cx"> PASS 16,0,23: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 4294967295 
</span><del>-FAIL 16,0,24: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 4294967296 InvalidStateError: DOM Exception 11
-FAIL 16,0,25: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 4294967297 InvalidStateError: DOM Exception 11
-FAIL 16,0,26: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 4294967298 InvalidStateError: DOM Exception 11
-FAIL 16,0,27: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 4294967299 InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,24: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 4294967296 
+PASS 16,0,25: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 4294967297 
+PASS 16,0,26: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 4294967298 
+PASS 16,0,27: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 4294967299 
</ins><span class="cx"> PASS 16,0,28: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 4294967300 
</span><del>-FAIL 16,0,29: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -0.5 InvalidStateError: DOM Exception 11
-FAIL 16,0,30: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 0.5 InvalidStateError: DOM Exception 11
-FAIL 16,0,31: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 1.5 InvalidStateError: DOM Exception 11
-FAIL 16,0,32: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 2.5 InvalidStateError: DOM Exception 11
-FAIL 16,0,33: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 3.5 InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,29: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -0.5 
+PASS 16,0,30: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 0.5 
+PASS 16,0,31: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 1.5 
+PASS 16,0,32: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 2.5 
+PASS 16,0,33: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 3.5 
</ins><span class="cx"> PASS 16,0,34: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 4.5 
</span><span class="cx"> PASS 16,0,35: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -1.5 
</span><del>-FAIL 16,0,36: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -0.5 InvalidStateError: DOM Exception 11
-FAIL 16,0,37: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 0.5 InvalidStateError: DOM Exception 11
-FAIL 16,0,38: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 1.5 InvalidStateError: DOM Exception 11
-FAIL 16,0,39: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 2.5 InvalidStateError: DOM Exception 11
-FAIL 16,0,40: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 3.5 InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,36: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -0.5 
+PASS 16,0,37: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 0.5 
+PASS 16,0,38: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 1.5 
+PASS 16,0,39: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 2.5 
+PASS 16,0,40: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how 3.5 
</ins><span class="cx"> PASS 16,0,41: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -73.5 
</span><span class="cx"> PASS 16,0,42: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -72.5 
</span><span class="cx"> PASS 16,0,43: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -71.5 
</span><span class="cx"> PASS 16,0,44: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -70.5 
</span><span class="cx"> PASS 16,0,45: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -69.5 
</span><span class="cx"> PASS 16,0,46: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how -68.5 
</span><del>-FAIL 16,0,47: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;0&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,48: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;1&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,49: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;2&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,50: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;3&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,47: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;0&quot; 
+PASS 16,0,48: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;1&quot; 
+PASS 16,0,49: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;2&quot; 
+PASS 16,0,50: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;3&quot; 
</ins><span class="cx"> PASS 16,0,51: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-1&quot; 
</span><span class="cx"> PASS 16,0,52: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;4&quot; 
</span><span class="cx"> PASS 16,0,53: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;5&quot; 
</span><del>-FAIL 16,0,54: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;NaN&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,55: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;0&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,56: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;Infinity&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,57: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-Infinity&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,54: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;NaN&quot; 
+PASS 16,0,55: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;0&quot; 
+PASS 16,0,56: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;Infinity&quot; 
+PASS 16,0,57: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-Infinity&quot; 
</ins><span class="cx"> PASS 16,0,58: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;65535&quot; 
</span><del>-FAIL 16,0,59: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;65536&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,60: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;65537&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,61: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;65538&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,62: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;65539&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,59: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;65536&quot; 
+PASS 16,0,60: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;65537&quot; 
+PASS 16,0,61: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;65538&quot; 
+PASS 16,0,62: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;65539&quot; 
</ins><span class="cx"> PASS 16,0,63: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;65540&quot; 
</span><span class="cx"> PASS 16,0,64: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-65537&quot; 
</span><del>-FAIL 16,0,65: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-65536&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,66: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-65535&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,67: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-65534&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,68: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-65533&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,65: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-65536&quot; 
+PASS 16,0,66: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-65535&quot; 
+PASS 16,0,67: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-65534&quot; 
+PASS 16,0,68: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-65533&quot; 
</ins><span class="cx"> PASS 16,0,69: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-65532&quot; 
</span><span class="cx"> PASS 16,0,70: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;4294967295&quot; 
</span><del>-FAIL 16,0,71: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;4294967296&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,72: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;4294967297&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,73: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;4294967298&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,74: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;4294967299&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,71: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;4294967296&quot; 
+PASS 16,0,72: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;4294967297&quot; 
+PASS 16,0,73: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;4294967298&quot; 
+PASS 16,0,74: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;4294967299&quot; 
</ins><span class="cx"> PASS 16,0,75: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;4294967300&quot; 
</span><del>-FAIL 16,0,76: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,77: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,78: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;1.5&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,79: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;2.5&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,80: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;3.5&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,76: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-0.5&quot; 
+PASS 16,0,77: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;0.5&quot; 
+PASS 16,0,78: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;1.5&quot; 
+PASS 16,0,79: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;2.5&quot; 
+PASS 16,0,80: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;3.5&quot; 
</ins><span class="cx"> PASS 16,0,81: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;4.5&quot; 
</span><span class="cx"> PASS 16,0,82: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-1.5&quot; 
</span><del>-FAIL 16,0,83: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,84: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,85: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;1.5&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,86: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;2.5&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,87: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;3.5&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,83: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-0.5&quot; 
+PASS 16,0,84: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;0.5&quot; 
+PASS 16,0,85: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;1.5&quot; 
+PASS 16,0,86: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;2.5&quot; 
+PASS 16,0,87: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;3.5&quot; 
</ins><span class="cx"> PASS 16,0,88: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-73.5&quot; 
</span><span class="cx"> PASS 16,0,89: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-72.5&quot; 
</span><span class="cx"> PASS 16,0,90: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-71.5&quot; 
</span><span class="cx"> PASS 16,0,91: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-70.5&quot; 
</span><span class="cx"> PASS 16,0,92: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-69.5&quot; 
</span><span class="cx"> PASS 16,0,93: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;-68.5&quot; 
</span><del>-FAIL 16,0,94: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;6.5536e4&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,95: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how null InvalidStateError: DOM Exception 11
-FAIL 16,0,96: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how undefined InvalidStateError: DOM Exception 11
-FAIL 16,0,97: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how true InvalidStateError: DOM Exception 11
-FAIL 16,0,98: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how false InvalidStateError: DOM Exception 11
-FAIL 16,0,99: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;&quot; InvalidStateError: DOM Exception 11
-FAIL 16,0,100: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;quasit&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,94: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;6.5536e4&quot; 
+PASS 16,0,95: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how null 
+PASS 16,0,96: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how undefined 
+PASS 16,0,97: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how true 
+PASS 16,0,98: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how false 
+PASS 16,0,99: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;&quot; 
+PASS 16,0,100: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how &quot;quasit&quot; 
</ins><span class="cx"> PASS 16,1,0: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 16,1,1: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 16,1,2: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -4174,10 +4174,10 @@
</span><span class="cx"> PASS 16,39,1: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range same as first range, how 1 
</span><span class="cx"> PASS 16,39,2: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range same as first range, how 2 
</span><span class="cx"> PASS 16,39,3: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range same as first range, how 3 
</span><del>-FAIL 17,0,0: context range 17 [paras[0], 0, paras[0], 1], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 17,0,1: context range 17 [paras[0], 0, paras[0], 1], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 17,0,2: context range 17 [paras[0], 0, paras[0], 1], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 17,0,3: context range 17 [paras[0], 0, paras[0], 1], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 17,0,0: context range 17 [paras[0], 0, paras[0], 1], argument range 0 [detached], how 0 
+PASS 17,0,1: context range 17 [paras[0], 0, paras[0], 1], argument range 0 [detached], how 1 
+PASS 17,0,2: context range 17 [paras[0], 0, paras[0], 1], argument range 0 [detached], how 2 
+PASS 17,0,3: context range 17 [paras[0], 0, paras[0], 1], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 17,1,0: context range 17 [paras[0], 0, paras[0], 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 17,1,1: context range 17 [paras[0], 0, paras[0], 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 17,1,2: context range 17 [paras[0], 0, paras[0], 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -4334,10 +4334,10 @@
</span><span class="cx"> PASS 17,39,1: context range 17 [paras[0], 0, paras[0], 1], argument range same as first range, how 1 
</span><span class="cx"> PASS 17,39,2: context range 17 [paras[0], 0, paras[0], 1], argument range same as first range, how 2 
</span><span class="cx"> PASS 17,39,3: context range 17 [paras[0], 0, paras[0], 1], argument range same as first range, how 3 
</span><del>-FAIL 18,0,0: context range 18 [detachedPara1, 0, detachedPara1, 1], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 18,0,1: context range 18 [detachedPara1, 0, detachedPara1, 1], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 18,0,2: context range 18 [detachedPara1, 0, detachedPara1, 1], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 18,0,3: context range 18 [detachedPara1, 0, detachedPara1, 1], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 18,0,0: context range 18 [detachedPara1, 0, detachedPara1, 1], argument range 0 [detached], how 0 
+PASS 18,0,1: context range 18 [detachedPara1, 0, detachedPara1, 1], argument range 0 [detached], how 1 
+PASS 18,0,2: context range 18 [detachedPara1, 0, detachedPara1, 1], argument range 0 [detached], how 2 
+PASS 18,0,3: context range 18 [detachedPara1, 0, detachedPara1, 1], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 18,1,0: context range 18 [detachedPara1, 0, detachedPara1, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 18,1,1: context range 18 [detachedPara1, 0, detachedPara1, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 18,1,2: context range 18 [detachedPara1, 0, detachedPara1, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -4494,10 +4494,10 @@
</span><span class="cx"> PASS 18,39,1: context range 18 [detachedPara1, 0, detachedPara1, 1], argument range same as first range, how 1 
</span><span class="cx"> PASS 18,39,2: context range 18 [detachedPara1, 0, detachedPara1, 1], argument range same as first range, how 2 
</span><span class="cx"> PASS 18,39,3: context range 18 [detachedPara1, 0, detachedPara1, 1], argument range same as first range, how 3 
</span><del>-FAIL 19,0,0: context range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 19,0,1: context range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 19,0,2: context range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 19,0,3: context range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 19,0,0: context range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], argument range 0 [detached], how 0 
+PASS 19,0,1: context range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], argument range 0 [detached], how 1 
+PASS 19,0,2: context range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], argument range 0 [detached], how 2 
+PASS 19,0,3: context range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 19,1,0: context range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 19,1,1: context range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 19,1,2: context range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -4654,10 +4654,10 @@
</span><span class="cx"> PASS 19,39,1: context range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], argument range same as first range, how 1 
</span><span class="cx"> PASS 19,39,2: context range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], argument range same as first range, how 2 
</span><span class="cx"> PASS 19,39,3: context range 19 [paras[0].firstChild, 0, paras[1].firstChild, 0], argument range same as first range, how 3 
</span><del>-FAIL 20,0,0: context range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 20,0,1: context range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 20,0,2: context range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 20,0,3: context range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 20,0,0: context range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], argument range 0 [detached], how 0 
+PASS 20,0,1: context range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], argument range 0 [detached], how 1 
+PASS 20,0,2: context range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], argument range 0 [detached], how 2 
+PASS 20,0,3: context range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 20,1,0: context range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 20,1,1: context range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 20,1,2: context range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -4814,107 +4814,107 @@
</span><span class="cx"> PASS 20,39,1: context range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], argument range same as first range, how 1 
</span><span class="cx"> PASS 20,39,2: context range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], argument range same as first range, how 2 
</span><span class="cx"> PASS 20,39,3: context range 20 [paras[0].firstChild, 0, paras[1].firstChild, 8], argument range same as first range, how 3 
</span><del>-FAIL 21,0,0: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 21,0,1: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 21,0,2: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 21,0,3: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 21,0,0: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 0 
+PASS 21,0,1: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 1 
+PASS 21,0,2: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 2 
+PASS 21,0,3: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 21,0,4: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -1 
</span><span class="cx"> PASS 21,0,5: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 4 
</span><span class="cx"> PASS 21,0,6: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 5 
</span><del>-FAIL 21,0,7: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how NaN InvalidStateError: DOM Exception 11
-FAIL 21,0,8: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -0 InvalidStateError: DOM Exception 11
-FAIL 21,0,9: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how Infinity InvalidStateError: DOM Exception 11
-FAIL 21,0,10: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -Infinity InvalidStateError: DOM Exception 11
</del><ins>+PASS 21,0,7: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how NaN 
+PASS 21,0,8: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -0 
+PASS 21,0,9: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how Infinity 
+PASS 21,0,10: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -Infinity 
</ins><span class="cx"> PASS 21,0,11: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 65535 
</span><del>-FAIL 21,0,12: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 65536 InvalidStateError: DOM Exception 11
-FAIL 21,0,13: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 65537 InvalidStateError: DOM Exception 11
-FAIL 21,0,14: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 65538 InvalidStateError: DOM Exception 11
-FAIL 21,0,15: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 65539 InvalidStateError: DOM Exception 11
</del><ins>+PASS 21,0,12: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 65536 
+PASS 21,0,13: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 65537 
+PASS 21,0,14: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 65538 
+PASS 21,0,15: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 65539 
</ins><span class="cx"> PASS 21,0,16: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 65540 
</span><span class="cx"> PASS 21,0,17: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -65537 
</span><del>-FAIL 21,0,18: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -65536 InvalidStateError: DOM Exception 11
-FAIL 21,0,19: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -65535 InvalidStateError: DOM Exception 11
-FAIL 21,0,20: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -65534 InvalidStateError: DOM Exception 11
-FAIL 21,0,21: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -65533 InvalidStateError: DOM Exception 11
</del><ins>+PASS 21,0,18: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -65536 
+PASS 21,0,19: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -65535 
+PASS 21,0,20: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -65534 
+PASS 21,0,21: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -65533 
</ins><span class="cx"> PASS 21,0,22: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -65532 
</span><span class="cx"> PASS 21,0,23: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 4294967295 
</span><del>-FAIL 21,0,24: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 4294967296 InvalidStateError: DOM Exception 11
-FAIL 21,0,25: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 4294967297 InvalidStateError: DOM Exception 11
-FAIL 21,0,26: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 4294967298 InvalidStateError: DOM Exception 11
-FAIL 21,0,27: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 4294967299 InvalidStateError: DOM Exception 11
</del><ins>+PASS 21,0,24: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 4294967296 
+PASS 21,0,25: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 4294967297 
+PASS 21,0,26: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 4294967298 
+PASS 21,0,27: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 4294967299 
</ins><span class="cx"> PASS 21,0,28: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 4294967300 
</span><del>-FAIL 21,0,29: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -0.5 InvalidStateError: DOM Exception 11
-FAIL 21,0,30: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 0.5 InvalidStateError: DOM Exception 11
-FAIL 21,0,31: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 1.5 InvalidStateError: DOM Exception 11
-FAIL 21,0,32: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 2.5 InvalidStateError: DOM Exception 11
-FAIL 21,0,33: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 3.5 InvalidStateError: DOM Exception 11
</del><ins>+PASS 21,0,29: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -0.5 
+PASS 21,0,30: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 0.5 
+PASS 21,0,31: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 1.5 
+PASS 21,0,32: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 2.5 
+PASS 21,0,33: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 3.5 
</ins><span class="cx"> PASS 21,0,34: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 4.5 
</span><span class="cx"> PASS 21,0,35: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -1.5 
</span><del>-FAIL 21,0,36: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -0.5 InvalidStateError: DOM Exception 11
-FAIL 21,0,37: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 0.5 InvalidStateError: DOM Exception 11
-FAIL 21,0,38: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 1.5 InvalidStateError: DOM Exception 11
-FAIL 21,0,39: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 2.5 InvalidStateError: DOM Exception 11
-FAIL 21,0,40: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 3.5 InvalidStateError: DOM Exception 11
</del><ins>+PASS 21,0,36: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -0.5 
+PASS 21,0,37: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 0.5 
+PASS 21,0,38: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 1.5 
+PASS 21,0,39: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 2.5 
+PASS 21,0,40: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how 3.5 
</ins><span class="cx"> PASS 21,0,41: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -73.5 
</span><span class="cx"> PASS 21,0,42: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -72.5 
</span><span class="cx"> PASS 21,0,43: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -71.5 
</span><span class="cx"> PASS 21,0,44: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -70.5 
</span><span class="cx"> PASS 21,0,45: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -69.5 
</span><span class="cx"> PASS 21,0,46: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how -68.5 
</span><del>-FAIL 21,0,47: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;0&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,48: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;1&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,49: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;2&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,50: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;3&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 21,0,47: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;0&quot; 
+PASS 21,0,48: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;1&quot; 
+PASS 21,0,49: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;2&quot; 
+PASS 21,0,50: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;3&quot; 
</ins><span class="cx"> PASS 21,0,51: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-1&quot; 
</span><span class="cx"> PASS 21,0,52: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;4&quot; 
</span><span class="cx"> PASS 21,0,53: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;5&quot; 
</span><del>-FAIL 21,0,54: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;NaN&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,55: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;0&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,56: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;Infinity&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,57: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-Infinity&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 21,0,54: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;NaN&quot; 
+PASS 21,0,55: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;0&quot; 
+PASS 21,0,56: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;Infinity&quot; 
+PASS 21,0,57: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-Infinity&quot; 
</ins><span class="cx"> PASS 21,0,58: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;65535&quot; 
</span><del>-FAIL 21,0,59: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;65536&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,60: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;65537&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,61: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;65538&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,62: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;65539&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 21,0,59: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;65536&quot; 
+PASS 21,0,60: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;65537&quot; 
+PASS 21,0,61: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;65538&quot; 
+PASS 21,0,62: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;65539&quot; 
</ins><span class="cx"> PASS 21,0,63: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;65540&quot; 
</span><span class="cx"> PASS 21,0,64: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-65537&quot; 
</span><del>-FAIL 21,0,65: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-65536&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,66: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-65535&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,67: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-65534&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,68: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-65533&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 21,0,65: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-65536&quot; 
+PASS 21,0,66: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-65535&quot; 
+PASS 21,0,67: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-65534&quot; 
+PASS 21,0,68: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-65533&quot; 
</ins><span class="cx"> PASS 21,0,69: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-65532&quot; 
</span><span class="cx"> PASS 21,0,70: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;4294967295&quot; 
</span><del>-FAIL 21,0,71: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;4294967296&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,72: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;4294967297&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,73: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;4294967298&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,74: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;4294967299&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 21,0,71: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;4294967296&quot; 
+PASS 21,0,72: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;4294967297&quot; 
+PASS 21,0,73: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;4294967298&quot; 
+PASS 21,0,74: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;4294967299&quot; 
</ins><span class="cx"> PASS 21,0,75: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;4294967300&quot; 
</span><del>-FAIL 21,0,76: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,77: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,78: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;1.5&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,79: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;2.5&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,80: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;3.5&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 21,0,76: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-0.5&quot; 
+PASS 21,0,77: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;0.5&quot; 
+PASS 21,0,78: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;1.5&quot; 
+PASS 21,0,79: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;2.5&quot; 
+PASS 21,0,80: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;3.5&quot; 
</ins><span class="cx"> PASS 21,0,81: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;4.5&quot; 
</span><span class="cx"> PASS 21,0,82: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-1.5&quot; 
</span><del>-FAIL 21,0,83: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,84: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,85: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;1.5&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,86: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;2.5&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,87: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;3.5&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 21,0,83: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-0.5&quot; 
+PASS 21,0,84: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;0.5&quot; 
+PASS 21,0,85: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;1.5&quot; 
+PASS 21,0,86: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;2.5&quot; 
+PASS 21,0,87: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;3.5&quot; 
</ins><span class="cx"> PASS 21,0,88: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-73.5&quot; 
</span><span class="cx"> PASS 21,0,89: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-72.5&quot; 
</span><span class="cx"> PASS 21,0,90: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-71.5&quot; 
</span><span class="cx"> PASS 21,0,91: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-70.5&quot; 
</span><span class="cx"> PASS 21,0,92: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-69.5&quot; 
</span><span class="cx"> PASS 21,0,93: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;-68.5&quot; 
</span><del>-FAIL 21,0,94: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;6.5536e4&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,95: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how null InvalidStateError: DOM Exception 11
-FAIL 21,0,96: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how undefined InvalidStateError: DOM Exception 11
-FAIL 21,0,97: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how true InvalidStateError: DOM Exception 11
-FAIL 21,0,98: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how false InvalidStateError: DOM Exception 11
-FAIL 21,0,99: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;&quot; InvalidStateError: DOM Exception 11
-FAIL 21,0,100: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;quasit&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 21,0,94: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;6.5536e4&quot; 
+PASS 21,0,95: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how null 
+PASS 21,0,96: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how undefined 
+PASS 21,0,97: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how true 
+PASS 21,0,98: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how false 
+PASS 21,0,99: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;&quot; 
+PASS 21,0,100: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how &quot;quasit&quot; 
</ins><span class="cx"> PASS 21,1,0: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 21,1,1: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 21,1,2: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -5459,10 +5459,10 @@
</span><span class="cx"> PASS 21,39,1: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range same as first range, how 1 
</span><span class="cx"> PASS 21,39,2: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range same as first range, how 2 
</span><span class="cx"> PASS 21,39,3: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range same as first range, how 3 
</span><del>-FAIL 22,0,0: context range 22 [paras[0], 0, paras[0].firstChild, 7], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 22,0,1: context range 22 [paras[0], 0, paras[0].firstChild, 7], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 22,0,2: context range 22 [paras[0], 0, paras[0].firstChild, 7], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 22,0,3: context range 22 [paras[0], 0, paras[0].firstChild, 7], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 22,0,0: context range 22 [paras[0], 0, paras[0].firstChild, 7], argument range 0 [detached], how 0 
+PASS 22,0,1: context range 22 [paras[0], 0, paras[0].firstChild, 7], argument range 0 [detached], how 1 
+PASS 22,0,2: context range 22 [paras[0], 0, paras[0].firstChild, 7], argument range 0 [detached], how 2 
+PASS 22,0,3: context range 22 [paras[0], 0, paras[0].firstChild, 7], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 22,1,0: context range 22 [paras[0], 0, paras[0].firstChild, 7], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 22,1,1: context range 22 [paras[0], 0, paras[0].firstChild, 7], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 22,1,2: context range 22 [paras[0], 0, paras[0].firstChild, 7], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -5619,10 +5619,10 @@
</span><span class="cx"> PASS 22,39,1: context range 22 [paras[0], 0, paras[0].firstChild, 7], argument range same as first range, how 1 
</span><span class="cx"> PASS 22,39,2: context range 22 [paras[0], 0, paras[0].firstChild, 7], argument range same as first range, how 2 
</span><span class="cx"> PASS 22,39,3: context range 22 [paras[0], 0, paras[0].firstChild, 7], argument range same as first range, how 3 
</span><del>-FAIL 23,0,0: context range 23 [testDiv, 2, paras[4], 1], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 23,0,1: context range 23 [testDiv, 2, paras[4], 1], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 23,0,2: context range 23 [testDiv, 2, paras[4], 1], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 23,0,3: context range 23 [testDiv, 2, paras[4], 1], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 23,0,0: context range 23 [testDiv, 2, paras[4], 1], argument range 0 [detached], how 0 
+PASS 23,0,1: context range 23 [testDiv, 2, paras[4], 1], argument range 0 [detached], how 1 
+PASS 23,0,2: context range 23 [testDiv, 2, paras[4], 1], argument range 0 [detached], how 2 
+PASS 23,0,3: context range 23 [testDiv, 2, paras[4], 1], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 23,1,0: context range 23 [testDiv, 2, paras[4], 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 23,1,1: context range 23 [testDiv, 2, paras[4], 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 23,1,2: context range 23 [testDiv, 2, paras[4], 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -5779,10 +5779,10 @@
</span><span class="cx"> PASS 23,39,1: context range 23 [testDiv, 2, paras[4], 1], argument range same as first range, how 1 
</span><span class="cx"> PASS 23,39,2: context range 23 [testDiv, 2, paras[4], 1], argument range same as first range, how 2 
</span><span class="cx"> PASS 23,39,3: context range 23 [testDiv, 2, paras[4], 1], argument range same as first range, how 3 
</span><del>-FAIL 24,0,0: context range 24 [document, 0, document, 1], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 24,0,1: context range 24 [document, 0, document, 1], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 24,0,2: context range 24 [document, 0, document, 1], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 24,0,3: context range 24 [document, 0, document, 1], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 24,0,0: context range 24 [document, 0, document, 1], argument range 0 [detached], how 0 
+PASS 24,0,1: context range 24 [document, 0, document, 1], argument range 0 [detached], how 1 
+PASS 24,0,2: context range 24 [document, 0, document, 1], argument range 0 [detached], how 2 
+PASS 24,0,3: context range 24 [document, 0, document, 1], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 24,1,0: context range 24 [document, 0, document, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 24,1,1: context range 24 [document, 0, document, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 24,1,2: context range 24 [document, 0, document, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -5939,10 +5939,10 @@
</span><span class="cx"> PASS 24,39,1: context range 24 [document, 0, document, 1], argument range same as first range, how 1 
</span><span class="cx"> PASS 24,39,2: context range 24 [document, 0, document, 1], argument range same as first range, how 2 
</span><span class="cx"> PASS 24,39,3: context range 24 [document, 0, document, 1], argument range same as first range, how 3 
</span><del>-FAIL 25,0,0: context range 25 [document, 0, document, 2], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 25,0,1: context range 25 [document, 0, document, 2], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 25,0,2: context range 25 [document, 0, document, 2], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 25,0,3: context range 25 [document, 0, document, 2], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 25,0,0: context range 25 [document, 0, document, 2], argument range 0 [detached], how 0 
+PASS 25,0,1: context range 25 [document, 0, document, 2], argument range 0 [detached], how 1 
+PASS 25,0,2: context range 25 [document, 0, document, 2], argument range 0 [detached], how 2 
+PASS 25,0,3: context range 25 [document, 0, document, 2], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 25,1,0: context range 25 [document, 0, document, 2], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 25,1,1: context range 25 [document, 0, document, 2], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 25,1,2: context range 25 [document, 0, document, 2], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -6099,10 +6099,10 @@
</span><span class="cx"> PASS 25,39,1: context range 25 [document, 0, document, 2], argument range same as first range, how 1 
</span><span class="cx"> PASS 25,39,2: context range 25 [document, 0, document, 2], argument range same as first range, how 2 
</span><span class="cx"> PASS 25,39,3: context range 25 [document, 0, document, 2], argument range same as first range, how 3 
</span><del>-FAIL 26,0,0: context range 26 [comment, 2, comment, 3], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 26,0,1: context range 26 [comment, 2, comment, 3], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 26,0,2: context range 26 [comment, 2, comment, 3], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 26,0,3: context range 26 [comment, 2, comment, 3], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 26,0,0: context range 26 [comment, 2, comment, 3], argument range 0 [detached], how 0 
+PASS 26,0,1: context range 26 [comment, 2, comment, 3], argument range 0 [detached], how 1 
+PASS 26,0,2: context range 26 [comment, 2, comment, 3], argument range 0 [detached], how 2 
+PASS 26,0,3: context range 26 [comment, 2, comment, 3], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 26,1,0: context range 26 [comment, 2, comment, 3], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 26,1,1: context range 26 [comment, 2, comment, 3], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 26,1,2: context range 26 [comment, 2, comment, 3], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -6259,107 +6259,107 @@
</span><span class="cx"> PASS 26,39,1: context range 26 [comment, 2, comment, 3], argument range same as first range, how 1 
</span><span class="cx"> PASS 26,39,2: context range 26 [comment, 2, comment, 3], argument range same as first range, how 2 
</span><span class="cx"> PASS 26,39,3: context range 26 [comment, 2, comment, 3], argument range same as first range, how 3 
</span><del>-FAIL 27,0,0: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 27,0,1: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 27,0,2: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 27,0,3: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,0: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 0 
+PASS 27,0,1: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 1 
+PASS 27,0,2: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 2 
+PASS 27,0,3: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 27,0,4: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -1 
</span><span class="cx"> PASS 27,0,5: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 4 
</span><span class="cx"> PASS 27,0,6: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 5 
</span><del>-FAIL 27,0,7: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how NaN InvalidStateError: DOM Exception 11
-FAIL 27,0,8: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -0 InvalidStateError: DOM Exception 11
-FAIL 27,0,9: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how Infinity InvalidStateError: DOM Exception 11
-FAIL 27,0,10: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -Infinity InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,7: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how NaN 
+PASS 27,0,8: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -0 
+PASS 27,0,9: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how Infinity 
+PASS 27,0,10: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -Infinity 
</ins><span class="cx"> PASS 27,0,11: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 65535 
</span><del>-FAIL 27,0,12: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 65536 InvalidStateError: DOM Exception 11
-FAIL 27,0,13: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 65537 InvalidStateError: DOM Exception 11
-FAIL 27,0,14: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 65538 InvalidStateError: DOM Exception 11
-FAIL 27,0,15: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 65539 InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,12: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 65536 
+PASS 27,0,13: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 65537 
+PASS 27,0,14: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 65538 
+PASS 27,0,15: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 65539 
</ins><span class="cx"> PASS 27,0,16: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 65540 
</span><span class="cx"> PASS 27,0,17: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -65537 
</span><del>-FAIL 27,0,18: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -65536 InvalidStateError: DOM Exception 11
-FAIL 27,0,19: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -65535 InvalidStateError: DOM Exception 11
-FAIL 27,0,20: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -65534 InvalidStateError: DOM Exception 11
-FAIL 27,0,21: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -65533 InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,18: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -65536 
+PASS 27,0,19: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -65535 
+PASS 27,0,20: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -65534 
+PASS 27,0,21: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -65533 
</ins><span class="cx"> PASS 27,0,22: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -65532 
</span><span class="cx"> PASS 27,0,23: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 4294967295 
</span><del>-FAIL 27,0,24: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 4294967296 InvalidStateError: DOM Exception 11
-FAIL 27,0,25: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 4294967297 InvalidStateError: DOM Exception 11
-FAIL 27,0,26: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 4294967298 InvalidStateError: DOM Exception 11
-FAIL 27,0,27: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 4294967299 InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,24: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 4294967296 
+PASS 27,0,25: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 4294967297 
+PASS 27,0,26: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 4294967298 
+PASS 27,0,27: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 4294967299 
</ins><span class="cx"> PASS 27,0,28: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 4294967300 
</span><del>-FAIL 27,0,29: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -0.5 InvalidStateError: DOM Exception 11
-FAIL 27,0,30: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 0.5 InvalidStateError: DOM Exception 11
-FAIL 27,0,31: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 1.5 InvalidStateError: DOM Exception 11
-FAIL 27,0,32: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 2.5 InvalidStateError: DOM Exception 11
-FAIL 27,0,33: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 3.5 InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,29: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -0.5 
+PASS 27,0,30: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 0.5 
+PASS 27,0,31: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 1.5 
+PASS 27,0,32: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 2.5 
+PASS 27,0,33: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 3.5 
</ins><span class="cx"> PASS 27,0,34: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 4.5 
</span><span class="cx"> PASS 27,0,35: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -1.5 
</span><del>-FAIL 27,0,36: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -0.5 InvalidStateError: DOM Exception 11
-FAIL 27,0,37: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 0.5 InvalidStateError: DOM Exception 11
-FAIL 27,0,38: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 1.5 InvalidStateError: DOM Exception 11
-FAIL 27,0,39: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 2.5 InvalidStateError: DOM Exception 11
-FAIL 27,0,40: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 3.5 InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,36: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -0.5 
+PASS 27,0,37: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 0.5 
+PASS 27,0,38: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 1.5 
+PASS 27,0,39: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 2.5 
+PASS 27,0,40: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how 3.5 
</ins><span class="cx"> PASS 27,0,41: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -73.5 
</span><span class="cx"> PASS 27,0,42: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -72.5 
</span><span class="cx"> PASS 27,0,43: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -71.5 
</span><span class="cx"> PASS 27,0,44: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -70.5 
</span><span class="cx"> PASS 27,0,45: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -69.5 
</span><span class="cx"> PASS 27,0,46: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how -68.5 
</span><del>-FAIL 27,0,47: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;0&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,48: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;1&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,49: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;2&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,50: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;3&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,47: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;0&quot; 
+PASS 27,0,48: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;1&quot; 
+PASS 27,0,49: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;2&quot; 
+PASS 27,0,50: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;3&quot; 
</ins><span class="cx"> PASS 27,0,51: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-1&quot; 
</span><span class="cx"> PASS 27,0,52: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;4&quot; 
</span><span class="cx"> PASS 27,0,53: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;5&quot; 
</span><del>-FAIL 27,0,54: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;NaN&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,55: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;0&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,56: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;Infinity&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,57: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-Infinity&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,54: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;NaN&quot; 
+PASS 27,0,55: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;0&quot; 
+PASS 27,0,56: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;Infinity&quot; 
+PASS 27,0,57: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-Infinity&quot; 
</ins><span class="cx"> PASS 27,0,58: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;65535&quot; 
</span><del>-FAIL 27,0,59: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;65536&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,60: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;65537&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,61: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;65538&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,62: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;65539&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,59: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;65536&quot; 
+PASS 27,0,60: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;65537&quot; 
+PASS 27,0,61: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;65538&quot; 
+PASS 27,0,62: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;65539&quot; 
</ins><span class="cx"> PASS 27,0,63: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;65540&quot; 
</span><span class="cx"> PASS 27,0,64: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-65537&quot; 
</span><del>-FAIL 27,0,65: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-65536&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,66: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-65535&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,67: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-65534&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,68: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-65533&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,65: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-65536&quot; 
+PASS 27,0,66: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-65535&quot; 
+PASS 27,0,67: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-65534&quot; 
+PASS 27,0,68: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-65533&quot; 
</ins><span class="cx"> PASS 27,0,69: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-65532&quot; 
</span><span class="cx"> PASS 27,0,70: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;4294967295&quot; 
</span><del>-FAIL 27,0,71: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;4294967296&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,72: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;4294967297&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,73: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;4294967298&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,74: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;4294967299&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,71: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;4294967296&quot; 
+PASS 27,0,72: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;4294967297&quot; 
+PASS 27,0,73: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;4294967298&quot; 
+PASS 27,0,74: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;4294967299&quot; 
</ins><span class="cx"> PASS 27,0,75: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;4294967300&quot; 
</span><del>-FAIL 27,0,76: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,77: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,78: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;1.5&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,79: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;2.5&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,80: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;3.5&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,76: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-0.5&quot; 
+PASS 27,0,77: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;0.5&quot; 
+PASS 27,0,78: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;1.5&quot; 
+PASS 27,0,79: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;2.5&quot; 
+PASS 27,0,80: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;3.5&quot; 
</ins><span class="cx"> PASS 27,0,81: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;4.5&quot; 
</span><span class="cx"> PASS 27,0,82: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-1.5&quot; 
</span><del>-FAIL 27,0,83: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,84: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;0.5&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,85: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;1.5&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,86: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;2.5&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,87: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;3.5&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,83: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-0.5&quot; 
+PASS 27,0,84: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;0.5&quot; 
+PASS 27,0,85: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;1.5&quot; 
+PASS 27,0,86: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;2.5&quot; 
+PASS 27,0,87: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;3.5&quot; 
</ins><span class="cx"> PASS 27,0,88: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-73.5&quot; 
</span><span class="cx"> PASS 27,0,89: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-72.5&quot; 
</span><span class="cx"> PASS 27,0,90: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-71.5&quot; 
</span><span class="cx"> PASS 27,0,91: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-70.5&quot; 
</span><span class="cx"> PASS 27,0,92: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-69.5&quot; 
</span><span class="cx"> PASS 27,0,93: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;-68.5&quot; 
</span><del>-FAIL 27,0,94: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;6.5536e4&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,95: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how null InvalidStateError: DOM Exception 11
-FAIL 27,0,96: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how undefined InvalidStateError: DOM Exception 11
-FAIL 27,0,97: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how true InvalidStateError: DOM Exception 11
-FAIL 27,0,98: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how false InvalidStateError: DOM Exception 11
-FAIL 27,0,99: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;&quot; InvalidStateError: DOM Exception 11
-FAIL 27,0,100: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;quasit&quot; InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,94: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;6.5536e4&quot; 
+PASS 27,0,95: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how null 
+PASS 27,0,96: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how undefined 
+PASS 27,0,97: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how true 
+PASS 27,0,98: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how false 
+PASS 27,0,99: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;&quot; 
+PASS 27,0,100: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how &quot;quasit&quot; 
</ins><span class="cx"> PASS 27,1,0: context range 27 [testDiv, 0, comment, 5], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 27,1,1: context range 27 [testDiv, 0, comment, 5], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 27,1,2: context range 27 [testDiv, 0, comment, 5], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -6904,10 +6904,10 @@
</span><span class="cx"> PASS 27,39,1: context range 27 [testDiv, 0, comment, 5], argument range same as first range, how 1 
</span><span class="cx"> PASS 27,39,2: context range 27 [testDiv, 0, comment, 5], argument range same as first range, how 2 
</span><span class="cx"> PASS 27,39,3: context range 27 [testDiv, 0, comment, 5], argument range same as first range, how 3 
</span><del>-FAIL 28,0,0: context range 28 [foreignDoc, 1, foreignComment, 2], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 28,0,1: context range 28 [foreignDoc, 1, foreignComment, 2], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 28,0,2: context range 28 [foreignDoc, 1, foreignComment, 2], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 28,0,3: context range 28 [foreignDoc, 1, foreignComment, 2], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 28,0,0: context range 28 [foreignDoc, 1, foreignComment, 2], argument range 0 [detached], how 0 
+PASS 28,0,1: context range 28 [foreignDoc, 1, foreignComment, 2], argument range 0 [detached], how 1 
+PASS 28,0,2: context range 28 [foreignDoc, 1, foreignComment, 2], argument range 0 [detached], how 2 
+PASS 28,0,3: context range 28 [foreignDoc, 1, foreignComment, 2], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 28,1,0: context range 28 [foreignDoc, 1, foreignComment, 2], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 28,1,1: context range 28 [foreignDoc, 1, foreignComment, 2], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 28,1,2: context range 28 [foreignDoc, 1, foreignComment, 2], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -7064,10 +7064,10 @@
</span><span class="cx"> PASS 28,39,1: context range 28 [foreignDoc, 1, foreignComment, 2], argument range same as first range, how 1 
</span><span class="cx"> PASS 28,39,2: context range 28 [foreignDoc, 1, foreignComment, 2], argument range same as first range, how 2 
</span><span class="cx"> PASS 28,39,3: context range 28 [foreignDoc, 1, foreignComment, 2], argument range same as first range, how 3 
</span><del>-FAIL 29,0,0: context range 29 [foreignDoc.body, 0, foreignTextNode, 36], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 29,0,1: context range 29 [foreignDoc.body, 0, foreignTextNode, 36], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 29,0,2: context range 29 [foreignDoc.body, 0, foreignTextNode, 36], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 29,0,3: context range 29 [foreignDoc.body, 0, foreignTextNode, 36], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 29,0,0: context range 29 [foreignDoc.body, 0, foreignTextNode, 36], argument range 0 [detached], how 0 
+PASS 29,0,1: context range 29 [foreignDoc.body, 0, foreignTextNode, 36], argument range 0 [detached], how 1 
+PASS 29,0,2: context range 29 [foreignDoc.body, 0, foreignTextNode, 36], argument range 0 [detached], how 2 
+PASS 29,0,3: context range 29 [foreignDoc.body, 0, foreignTextNode, 36], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 29,1,0: context range 29 [foreignDoc.body, 0, foreignTextNode, 36], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 29,1,1: context range 29 [foreignDoc.body, 0, foreignTextNode, 36], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 29,1,2: context range 29 [foreignDoc.body, 0, foreignTextNode, 36], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -7224,10 +7224,10 @@
</span><span class="cx"> PASS 29,39,1: context range 29 [foreignDoc.body, 0, foreignTextNode, 36], argument range same as first range, how 1 
</span><span class="cx"> PASS 29,39,2: context range 29 [foreignDoc.body, 0, foreignTextNode, 36], argument range same as first range, how 2 
</span><span class="cx"> PASS 29,39,3: context range 29 [foreignDoc.body, 0, foreignTextNode, 36], argument range same as first range, how 3 
</span><del>-FAIL 30,0,0: context range 30 [xmlDoc, 1, xmlComment, 0], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 30,0,1: context range 30 [xmlDoc, 1, xmlComment, 0], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 30,0,2: context range 30 [xmlDoc, 1, xmlComment, 0], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 30,0,3: context range 30 [xmlDoc, 1, xmlComment, 0], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 30,0,0: context range 30 [xmlDoc, 1, xmlComment, 0], argument range 0 [detached], how 0 
+PASS 30,0,1: context range 30 [xmlDoc, 1, xmlComment, 0], argument range 0 [detached], how 1 
+PASS 30,0,2: context range 30 [xmlDoc, 1, xmlComment, 0], argument range 0 [detached], how 2 
+PASS 30,0,3: context range 30 [xmlDoc, 1, xmlComment, 0], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 30,1,0: context range 30 [xmlDoc, 1, xmlComment, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 30,1,1: context range 30 [xmlDoc, 1, xmlComment, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 30,1,2: context range 30 [xmlDoc, 1, xmlComment, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -7384,10 +7384,10 @@
</span><span class="cx"> PASS 30,39,1: context range 30 [xmlDoc, 1, xmlComment, 0], argument range same as first range, how 1 
</span><span class="cx"> PASS 30,39,2: context range 30 [xmlDoc, 1, xmlComment, 0], argument range same as first range, how 2 
</span><span class="cx"> PASS 30,39,3: context range 30 [xmlDoc, 1, xmlComment, 0], argument range same as first range, how 3 
</span><del>-FAIL 31,0,0: context range 31 [detachedTextNode, 0, detachedTextNode, 8], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 31,0,1: context range 31 [detachedTextNode, 0, detachedTextNode, 8], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 31,0,2: context range 31 [detachedTextNode, 0, detachedTextNode, 8], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 31,0,3: context range 31 [detachedTextNode, 0, detachedTextNode, 8], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 31,0,0: context range 31 [detachedTextNode, 0, detachedTextNode, 8], argument range 0 [detached], how 0 
+PASS 31,0,1: context range 31 [detachedTextNode, 0, detachedTextNode, 8], argument range 0 [detached], how 1 
+PASS 31,0,2: context range 31 [detachedTextNode, 0, detachedTextNode, 8], argument range 0 [detached], how 2 
+PASS 31,0,3: context range 31 [detachedTextNode, 0, detachedTextNode, 8], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 31,1,0: context range 31 [detachedTextNode, 0, detachedTextNode, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 31,1,1: context range 31 [detachedTextNode, 0, detachedTextNode, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 31,1,2: context range 31 [detachedTextNode, 0, detachedTextNode, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -7544,10 +7544,10 @@
</span><span class="cx"> PASS 31,39,1: context range 31 [detachedTextNode, 0, detachedTextNode, 8], argument range same as first range, how 1 
</span><span class="cx"> PASS 31,39,2: context range 31 [detachedTextNode, 0, detachedTextNode, 8], argument range same as first range, how 2 
</span><span class="cx"> PASS 31,39,3: context range 31 [detachedTextNode, 0, detachedTextNode, 8], argument range same as first range, how 3 
</span><del>-FAIL 32,0,0: context range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 32,0,1: context range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 32,0,2: context range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 32,0,3: context range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 32,0,0: context range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], argument range 0 [detached], how 0 
+PASS 32,0,1: context range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], argument range 0 [detached], how 1 
+PASS 32,0,2: context range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], argument range 0 [detached], how 2 
+PASS 32,0,3: context range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 32,1,0: context range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 32,1,1: context range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 32,1,2: context range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -7704,10 +7704,10 @@
</span><span class="cx"> PASS 32,39,1: context range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], argument range same as first range, how 1 
</span><span class="cx"> PASS 32,39,2: context range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], argument range same as first range, how 2 
</span><span class="cx"> PASS 32,39,3: context range 32 [detachedForeignTextNode, 0, detachedForeignTextNode, 8], argument range same as first range, how 3 
</span><del>-FAIL 33,0,0: context range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 33,0,1: context range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 33,0,2: context range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 33,0,3: context range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 33,0,0: context range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], argument range 0 [detached], how 0 
+PASS 33,0,1: context range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], argument range 0 [detached], how 1 
+PASS 33,0,2: context range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], argument range 0 [detached], how 2 
+PASS 33,0,3: context range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 33,1,0: context range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 33,1,1: context range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 33,1,2: context range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -7864,10 +7864,10 @@
</span><span class="cx"> PASS 33,39,1: context range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], argument range same as first range, how 1 
</span><span class="cx"> PASS 33,39,2: context range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], argument range same as first range, how 2 
</span><span class="cx"> PASS 33,39,3: context range 33 [detachedXmlTextNode, 0, detachedXmlTextNode, 8], argument range same as first range, how 3 
</span><del>-FAIL 34,0,0: context range 34 [detachedComment, 3, detachedComment, 4], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 34,0,1: context range 34 [detachedComment, 3, detachedComment, 4], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 34,0,2: context range 34 [detachedComment, 3, detachedComment, 4], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 34,0,3: context range 34 [detachedComment, 3, detachedComment, 4], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 34,0,0: context range 34 [detachedComment, 3, detachedComment, 4], argument range 0 [detached], how 0 
+PASS 34,0,1: context range 34 [detachedComment, 3, detachedComment, 4], argument range 0 [detached], how 1 
+PASS 34,0,2: context range 34 [detachedComment, 3, detachedComment, 4], argument range 0 [detached], how 2 
+PASS 34,0,3: context range 34 [detachedComment, 3, detachedComment, 4], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 34,1,0: context range 34 [detachedComment, 3, detachedComment, 4], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 34,1,1: context range 34 [detachedComment, 3, detachedComment, 4], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 34,1,2: context range 34 [detachedComment, 3, detachedComment, 4], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -8024,10 +8024,10 @@
</span><span class="cx"> PASS 34,39,1: context range 34 [detachedComment, 3, detachedComment, 4], argument range same as first range, how 1 
</span><span class="cx"> PASS 34,39,2: context range 34 [detachedComment, 3, detachedComment, 4], argument range same as first range, how 2 
</span><span class="cx"> PASS 34,39,3: context range 34 [detachedComment, 3, detachedComment, 4], argument range same as first range, how 3 
</span><del>-FAIL 35,0,0: context range 35 [detachedForeignComment, 0, detachedForeignComment, 1], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 35,0,1: context range 35 [detachedForeignComment, 0, detachedForeignComment, 1], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 35,0,2: context range 35 [detachedForeignComment, 0, detachedForeignComment, 1], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 35,0,3: context range 35 [detachedForeignComment, 0, detachedForeignComment, 1], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 35,0,0: context range 35 [detachedForeignComment, 0, detachedForeignComment, 1], argument range 0 [detached], how 0 
+PASS 35,0,1: context range 35 [detachedForeignComment, 0, detachedForeignComment, 1], argument range 0 [detached], how 1 
+PASS 35,0,2: context range 35 [detachedForeignComment, 0, detachedForeignComment, 1], argument range 0 [detached], how 2 
+PASS 35,0,3: context range 35 [detachedForeignComment, 0, detachedForeignComment, 1], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 35,1,0: context range 35 [detachedForeignComment, 0, detachedForeignComment, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 35,1,1: context range 35 [detachedForeignComment, 0, detachedForeignComment, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 35,1,2: context range 35 [detachedForeignComment, 0, detachedForeignComment, 1], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -8184,10 +8184,10 @@
</span><span class="cx"> PASS 35,39,1: context range 35 [detachedForeignComment, 0, detachedForeignComment, 1], argument range same as first range, how 1 
</span><span class="cx"> PASS 35,39,2: context range 35 [detachedForeignComment, 0, detachedForeignComment, 1], argument range same as first range, how 2 
</span><span class="cx"> PASS 35,39,3: context range 35 [detachedForeignComment, 0, detachedForeignComment, 1], argument range same as first range, how 3 
</span><del>-FAIL 36,0,0: context range 36 [detachedXmlComment, 2, detachedXmlComment, 6], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 36,0,1: context range 36 [detachedXmlComment, 2, detachedXmlComment, 6], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 36,0,2: context range 36 [detachedXmlComment, 2, detachedXmlComment, 6], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 36,0,3: context range 36 [detachedXmlComment, 2, detachedXmlComment, 6], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 36,0,0: context range 36 [detachedXmlComment, 2, detachedXmlComment, 6], argument range 0 [detached], how 0 
+PASS 36,0,1: context range 36 [detachedXmlComment, 2, detachedXmlComment, 6], argument range 0 [detached], how 1 
+PASS 36,0,2: context range 36 [detachedXmlComment, 2, detachedXmlComment, 6], argument range 0 [detached], how 2 
+PASS 36,0,3: context range 36 [detachedXmlComment, 2, detachedXmlComment, 6], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 36,1,0: context range 36 [detachedXmlComment, 2, detachedXmlComment, 6], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 36,1,1: context range 36 [detachedXmlComment, 2, detachedXmlComment, 6], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 36,1,2: context range 36 [detachedXmlComment, 2, detachedXmlComment, 6], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -8344,10 +8344,10 @@
</span><span class="cx"> PASS 36,39,1: context range 36 [detachedXmlComment, 2, detachedXmlComment, 6], argument range same as first range, how 1 
</span><span class="cx"> PASS 36,39,2: context range 36 [detachedXmlComment, 2, detachedXmlComment, 6], argument range same as first range, how 2 
</span><span class="cx"> PASS 36,39,3: context range 36 [detachedXmlComment, 2, detachedXmlComment, 6], argument range same as first range, how 3 
</span><del>-FAIL 37,0,0: context range 37 [docfrag, 0, docfrag, 0], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 37,0,1: context range 37 [docfrag, 0, docfrag, 0], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 37,0,2: context range 37 [docfrag, 0, docfrag, 0], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 37,0,3: context range 37 [docfrag, 0, docfrag, 0], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 37,0,0: context range 37 [docfrag, 0, docfrag, 0], argument range 0 [detached], how 0 
+PASS 37,0,1: context range 37 [docfrag, 0, docfrag, 0], argument range 0 [detached], how 1 
+PASS 37,0,2: context range 37 [docfrag, 0, docfrag, 0], argument range 0 [detached], how 2 
+PASS 37,0,3: context range 37 [docfrag, 0, docfrag, 0], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 37,1,0: context range 37 [docfrag, 0, docfrag, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 37,1,1: context range 37 [docfrag, 0, docfrag, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 37,1,2: context range 37 [docfrag, 0, docfrag, 0], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span><span class="lines">@@ -8504,10 +8504,10 @@
</span><span class="cx"> PASS 37,39,1: context range 37 [docfrag, 0, docfrag, 0], argument range same as first range, how 1 
</span><span class="cx"> PASS 37,39,2: context range 37 [docfrag, 0, docfrag, 0], argument range same as first range, how 2 
</span><span class="cx"> PASS 37,39,3: context range 37 [docfrag, 0, docfrag, 0], argument range same as first range, how 3 
</span><del>-FAIL 38,0,0: context range 38 [processingInstruction, 0, processingInstruction, 4], argument range 0 [detached], how 0 InvalidStateError: DOM Exception 11
-FAIL 38,0,1: context range 38 [processingInstruction, 0, processingInstruction, 4], argument range 0 [detached], how 1 InvalidStateError: DOM Exception 11
-FAIL 38,0,2: context range 38 [processingInstruction, 0, processingInstruction, 4], argument range 0 [detached], how 2 InvalidStateError: DOM Exception 11
-FAIL 38,0,3: context range 38 [processingInstruction, 0, processingInstruction, 4], argument range 0 [detached], how 3 InvalidStateError: DOM Exception 11
</del><ins>+PASS 38,0,0: context range 38 [processingInstruction, 0, processingInstruction, 4], argument range 0 [detached], how 0 
+PASS 38,0,1: context range 38 [processingInstruction, 0, processingInstruction, 4], argument range 0 [detached], how 1 
+PASS 38,0,2: context range 38 [processingInstruction, 0, processingInstruction, 4], argument range 0 [detached], how 2 
+PASS 38,0,3: context range 38 [processingInstruction, 0, processingInstruction, 4], argument range 0 [detached], how 3 
</ins><span class="cx"> PASS 38,1,0: context range 38 [processingInstruction, 0, processingInstruction, 4], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 0 
</span><span class="cx"> PASS 38,1,1: context range 38 [processingInstruction, 0, processingInstruction, 4], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 1 
</span><span class="cx"> PASS 38,1,2: context range 38 [processingInstruction, 0, processingInstruction, 4], argument range 1 [paras[0].firstChild, 0, paras[0].firstChild, 0], how 2 
</span></span></pre></div>
<a id="trunkLayoutTestshttptestsw3cdomrangesRangecomparePoint2expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-comparePoint-2-expected.txt (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-comparePoint-2-expected.txt        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-comparePoint-2-expected.txt        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> 
</span><del>-FAIL Range.comparePoint InvalidStateError: DOM Exception 11
</del><ins>+PASS Range.comparePoint 
</ins><span class="cx"> FAIL Range.comparePoint 1 assert_throws: function &quot;function () { r.comparePoint(null, 0) }&quot; threw object &quot;Error: HierarchyRequestError: DOM Exception 3&quot; (&quot;HierarchyRequestError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
</span><span class="cx"> PASS Range.comparePoint 2 
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestshttptestsw3cdomrangesRangedeleteContentsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-deleteContents-expected.txt (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-deleteContents-expected.txt        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-deleteContents-expected.txt        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1,7 +1,7 @@
</span><span class="cx"> To debug test failures, add a query parameter &quot;subtest&quot; with the test id (like &quot;?subtest=5&quot;). Only that test will be run. Then you can look at the resulting iframe in the DOM.
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-FAIL Detached Range InvalidStateError: DOM Exception 11
</del><ins>+PASS Detached Range 
</ins><span class="cx"> PASS Resulting DOM for range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Resulting cursor position for range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Resulting DOM for range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span></span></pre></div>
<a id="trunkLayoutTestshttptestsw3cdomrangesRangedetachexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-detach-expected.txt (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-detach-expected.txt        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-detach-expected.txt        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1,3 +1,3 @@
</span><span class="cx"> 
</span><del>-FAIL Range.detach InvalidStateError: DOM Exception 11
</del><ins>+PASS Range.detach 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestshttptestsw3cdomrangesRangeextractContentsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-extractContents-expected.txt (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-extractContents-expected.txt        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-extractContents-expected.txt        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1,7 +1,7 @@
</span><span class="cx"> To debug test failures, add a query parameter &quot;subtest&quot; with the test id (like &quot;?subtest=5&quot;). Only that test will be run. Then you can look at the resulting iframe in the DOM.
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-FAIL Detached Range InvalidStateError: DOM Exception 11
</del><ins>+PASS Detached Range 
</ins><span class="cx"> PASS Resulting DOM for range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Resulting cursor position for range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Returned fragment for range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span></span></pre></div>
<a id="trunkLayoutTestshttptestsw3cdomrangesRangeintersectsNodeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-intersectsNode-expected.txt (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-intersectsNode-expected.txt        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-intersectsNode-expected.txt        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> 
</span><del>-FAIL Node 0 paras[0], detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 0 paras[0], detached range 
</ins><span class="cx"> PASS Node 0 paras[0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 0 paras[0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 0 paras[0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx"> PASS Node 0 paras[0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 0 paras[0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 0 paras[0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 1 paras[0].firstChild, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 1 paras[0].firstChild, detached range 
</ins><span class="cx"> PASS Node 1 paras[0].firstChild, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 1 paras[0].firstChild, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 1 paras[0].firstChild, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -121,7 +121,7 @@
</span><span class="cx"> PASS Node 1 paras[0].firstChild, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 1 paras[0].firstChild, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 1 paras[0].firstChild, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 2 paras[1].firstChild, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 2 paras[1].firstChild, detached range 
</ins><span class="cx"> PASS Node 2 paras[1].firstChild, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 2 paras[1].firstChild, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 2 paras[1].firstChild, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -182,7 +182,7 @@
</span><span class="cx"> PASS Node 2 paras[1].firstChild, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 2 paras[1].firstChild, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 2 paras[1].firstChild, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 3 foreignPara1, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 3 foreignPara1, detached range 
</ins><span class="cx"> PASS Node 3 foreignPara1, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 3 foreignPara1, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 3 foreignPara1, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -243,7 +243,7 @@
</span><span class="cx"> PASS Node 3 foreignPara1, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 3 foreignPara1, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 3 foreignPara1, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 4 foreignPara1.firstChild, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 4 foreignPara1.firstChild, detached range 
</ins><span class="cx"> PASS Node 4 foreignPara1.firstChild, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 4 foreignPara1.firstChild, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 4 foreignPara1.firstChild, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -304,7 +304,7 @@
</span><span class="cx"> PASS Node 4 foreignPara1.firstChild, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 4 foreignPara1.firstChild, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 4 foreignPara1.firstChild, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 5 detachedPara1, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 5 detachedPara1, detached range 
</ins><span class="cx"> PASS Node 5 detachedPara1, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 5 detachedPara1, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 5 detachedPara1, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -365,7 +365,7 @@
</span><span class="cx"> PASS Node 5 detachedPara1, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 5 detachedPara1, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 5 detachedPara1, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 6 detachedPara1.firstChild, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 6 detachedPara1.firstChild, detached range 
</ins><span class="cx"> PASS Node 6 detachedPara1.firstChild, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 6 detachedPara1.firstChild, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 6 detachedPara1.firstChild, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -426,7 +426,7 @@
</span><span class="cx"> PASS Node 6 detachedPara1.firstChild, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 6 detachedPara1.firstChild, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 6 detachedPara1.firstChild, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 7 document, detached range InvalidStateError: DOM Exception 11
</del><ins>+FAIL Node 7 document, detached range NotFoundError: DOM Exception 8
</ins><span class="cx"> FAIL Node 7 document, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] NotFoundError: DOM Exception 8
</span><span class="cx"> FAIL Node 7 document, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] NotFoundError: DOM Exception 8
</span><span class="cx"> FAIL Node 7 document, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] NotFoundError: DOM Exception 8
</span><span class="lines">@@ -487,7 +487,7 @@
</span><span class="cx"> FAIL Node 7 document, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] NotFoundError: DOM Exception 8
</span><span class="cx"> FAIL Node 7 document, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] NotFoundError: DOM Exception 8
</span><span class="cx"> FAIL Node 7 document, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] NotFoundError: DOM Exception 8
</span><del>-FAIL Node 8 detachedDiv, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 8 detachedDiv, detached range 
</ins><span class="cx"> PASS Node 8 detachedDiv, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 8 detachedDiv, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 8 detachedDiv, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -548,7 +548,7 @@
</span><span class="cx"> PASS Node 8 detachedDiv, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 8 detachedDiv, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 8 detachedDiv, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 9 foreignDoc, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 9 foreignDoc, detached range 
</ins><span class="cx"> PASS Node 9 foreignDoc, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 9 foreignDoc, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 9 foreignDoc, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -609,7 +609,7 @@
</span><span class="cx"> PASS Node 9 foreignDoc, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 9 foreignDoc, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 9 foreignDoc, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 10 foreignPara2, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 10 foreignPara2, detached range 
</ins><span class="cx"> PASS Node 10 foreignPara2, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 10 foreignPara2, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 10 foreignPara2, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -670,7 +670,7 @@
</span><span class="cx"> PASS Node 10 foreignPara2, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 10 foreignPara2, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 10 foreignPara2, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 11 xmlDoc, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 11 xmlDoc, detached range 
</ins><span class="cx"> PASS Node 11 xmlDoc, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 11 xmlDoc, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 11 xmlDoc, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -731,7 +731,7 @@
</span><span class="cx"> PASS Node 11 xmlDoc, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 11 xmlDoc, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 11 xmlDoc, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 12 xmlElement, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 12 xmlElement, detached range 
</ins><span class="cx"> PASS Node 12 xmlElement, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 12 xmlElement, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 12 xmlElement, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -792,7 +792,7 @@
</span><span class="cx"> PASS Node 12 xmlElement, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 12 xmlElement, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 12 xmlElement, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 13 detachedTextNode, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 13 detachedTextNode, detached range 
</ins><span class="cx"> PASS Node 13 detachedTextNode, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 13 detachedTextNode, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 13 detachedTextNode, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -853,7 +853,7 @@
</span><span class="cx"> PASS Node 13 detachedTextNode, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 13 detachedTextNode, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 13 detachedTextNode, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 14 foreignTextNode, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 14 foreignTextNode, detached range 
</ins><span class="cx"> PASS Node 14 foreignTextNode, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 14 foreignTextNode, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 14 foreignTextNode, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -914,7 +914,7 @@
</span><span class="cx"> PASS Node 14 foreignTextNode, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 14 foreignTextNode, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 14 foreignTextNode, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 15 processingInstruction, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 15 processingInstruction, detached range 
</ins><span class="cx"> PASS Node 15 processingInstruction, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 15 processingInstruction, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 15 processingInstruction, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -975,7 +975,7 @@
</span><span class="cx"> PASS Node 15 processingInstruction, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 15 processingInstruction, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 15 processingInstruction, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 16 detachedProcessingInstruction, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 16 detachedProcessingInstruction, detached range 
</ins><span class="cx"> PASS Node 16 detachedProcessingInstruction, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 16 detachedProcessingInstruction, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 16 detachedProcessingInstruction, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1036,7 +1036,7 @@
</span><span class="cx"> PASS Node 16 detachedProcessingInstruction, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 16 detachedProcessingInstruction, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 16 detachedProcessingInstruction, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 17 comment, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 17 comment, detached range 
</ins><span class="cx"> PASS Node 17 comment, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 17 comment, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 17 comment, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1097,7 +1097,7 @@
</span><span class="cx"> PASS Node 17 comment, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 17 comment, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 17 comment, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 18 detachedComment, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 18 detachedComment, detached range 
</ins><span class="cx"> PASS Node 18 detachedComment, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 18 detachedComment, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 18 detachedComment, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1158,7 +1158,7 @@
</span><span class="cx"> PASS Node 18 detachedComment, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 18 detachedComment, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 18 detachedComment, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 19 docfrag, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 19 docfrag, detached range 
</ins><span class="cx"> PASS Node 19 docfrag, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 19 docfrag, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 19 docfrag, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1219,7 +1219,7 @@
</span><span class="cx"> PASS Node 19 docfrag, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 19 docfrag, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 19 docfrag, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 20 doctype, detached range InvalidStateError: DOM Exception 11
</del><ins>+FAIL Node 20 doctype, detached range assert_equals: expected false but got true
</ins><span class="cx"> PASS Node 20 doctype, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 20 doctype, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 20 doctype, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1280,7 +1280,7 @@
</span><span class="cx"> PASS Node 20 doctype, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 20 doctype, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 20 doctype, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 21 foreignDoctype, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 21 foreignDoctype, detached range 
</ins><span class="cx"> PASS Node 21 foreignDoctype, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 21 foreignDoctype, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 21 foreignDoctype, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1341,7 +1341,7 @@
</span><span class="cx"> PASS Node 21 foreignDoctype, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 21 foreignDoctype, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 21 foreignDoctype, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 22 paras[1], detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 22 paras[1], detached range 
</ins><span class="cx"> PASS Node 22 paras[1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 22 paras[1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 22 paras[1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1402,7 +1402,7 @@
</span><span class="cx"> PASS Node 22 paras[1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 22 paras[1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 22 paras[1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 23 detachedPara2, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 23 detachedPara2, detached range 
</ins><span class="cx"> PASS Node 23 detachedPara2, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 23 detachedPara2, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 23 detachedPara2, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1463,7 +1463,7 @@
</span><span class="cx"> PASS Node 23 detachedPara2, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 23 detachedPara2, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 23 detachedPara2, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 24 detachedPara2.firstChild, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 24 detachedPara2.firstChild, detached range 
</ins><span class="cx"> PASS Node 24 detachedPara2.firstChild, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 24 detachedPara2.firstChild, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 24 detachedPara2.firstChild, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1524,7 +1524,7 @@
</span><span class="cx"> PASS Node 24 detachedPara2.firstChild, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 24 detachedPara2.firstChild, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 24 detachedPara2.firstChild, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 25 testDiv, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 25 testDiv, detached range 
</ins><span class="cx"> PASS Node 25 testDiv, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 25 testDiv, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 25 testDiv, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1585,7 +1585,7 @@
</span><span class="cx"> PASS Node 25 testDiv, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 25 testDiv, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 25 testDiv, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 26 detachedXmlElement, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 26 detachedXmlElement, detached range 
</ins><span class="cx"> PASS Node 26 detachedXmlElement, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 26 detachedXmlElement, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 26 detachedXmlElement, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1646,7 +1646,7 @@
</span><span class="cx"> PASS Node 26 detachedXmlElement, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 26 detachedXmlElement, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 26 detachedXmlElement, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 27 detachedForeignTextNode, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 27 detachedForeignTextNode, detached range 
</ins><span class="cx"> PASS Node 27 detachedForeignTextNode, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 27 detachedForeignTextNode, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 27 detachedForeignTextNode, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1707,7 +1707,7 @@
</span><span class="cx"> PASS Node 27 detachedForeignTextNode, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 27 detachedForeignTextNode, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 27 detachedForeignTextNode, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 28 xmlTextNode, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 28 xmlTextNode, detached range 
</ins><span class="cx"> PASS Node 28 xmlTextNode, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 28 xmlTextNode, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 28 xmlTextNode, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1768,7 +1768,7 @@
</span><span class="cx"> PASS Node 28 xmlTextNode, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 28 xmlTextNode, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 28 xmlTextNode, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 29 detachedXmlTextNode, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 29 detachedXmlTextNode, detached range 
</ins><span class="cx"> PASS Node 29 detachedXmlTextNode, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 29 detachedXmlTextNode, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 29 detachedXmlTextNode, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1829,7 +1829,7 @@
</span><span class="cx"> PASS Node 29 detachedXmlTextNode, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 29 detachedXmlTextNode, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 29 detachedXmlTextNode, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 30 xmlComment, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 30 xmlComment, detached range 
</ins><span class="cx"> PASS Node 30 xmlComment, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 30 xmlComment, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 30 xmlComment, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1890,7 +1890,7 @@
</span><span class="cx"> PASS Node 30 xmlComment, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 30 xmlComment, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 30 xmlComment, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 31 foreignComment, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 31 foreignComment, detached range 
</ins><span class="cx"> PASS Node 31 foreignComment, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 31 foreignComment, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 31 foreignComment, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1951,7 +1951,7 @@
</span><span class="cx"> PASS Node 31 foreignComment, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 31 foreignComment, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 31 foreignComment, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 32 detachedForeignComment, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 32 detachedForeignComment, detached range 
</ins><span class="cx"> PASS Node 32 detachedForeignComment, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 32 detachedForeignComment, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 32 detachedForeignComment, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2012,7 +2012,7 @@
</span><span class="cx"> PASS Node 32 detachedForeignComment, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 32 detachedForeignComment, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 32 detachedForeignComment, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 33 detachedXmlComment, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 33 detachedXmlComment, detached range 
</ins><span class="cx"> PASS Node 33 detachedXmlComment, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 33 detachedXmlComment, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 33 detachedXmlComment, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2073,7 +2073,7 @@
</span><span class="cx"> PASS Node 33 detachedXmlComment, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 33 detachedXmlComment, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 33 detachedXmlComment, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 34 foreignDocfrag, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 34 foreignDocfrag, detached range 
</ins><span class="cx"> PASS Node 34 foreignDocfrag, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 34 foreignDocfrag, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 34 foreignDocfrag, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2134,7 +2134,7 @@
</span><span class="cx"> PASS Node 34 foreignDocfrag, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 34 foreignDocfrag, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 34 foreignDocfrag, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 35 xmlDocfrag, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 35 xmlDocfrag, detached range 
</ins><span class="cx"> PASS Node 35 xmlDocfrag, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 35 xmlDocfrag, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 35 xmlDocfrag, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2195,7 +2195,7 @@
</span><span class="cx"> PASS Node 35 xmlDocfrag, range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Node 35 xmlDocfrag, range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Node 35 xmlDocfrag, range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Node 36 xmlDoctype, detached range InvalidStateError: DOM Exception 11
</del><ins>+PASS Node 36 xmlDoctype, detached range 
</ins><span class="cx"> PASS Node 36 xmlDoctype, range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Node 36 xmlDoctype, range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Node 36 xmlDoctype, range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span></span></pre></div>
<a id="trunkLayoutTestshttptestsw3cdomrangesRangeisPointInRangeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-isPointInRange-expected.txt (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-isPointInRange-expected.txt        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-isPointInRange-expected.txt        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -120,7 +120,7 @@
</span><span class="cx"> PASS Point 0 [paras[0].firstChild, -1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 0 [paras[0].firstChild, -1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 0 [paras[0].firstChild, -1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 0 [paras[0].firstChild, -1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 0 [paras[0].firstChild, -1], range 60 detached 
</ins><span class="cx"> PASS Point 1 [paras[0].firstChild, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 1 [paras[0].firstChild, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 1 [paras[0].firstChild, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -181,7 +181,7 @@
</span><span class="cx"> PASS Point 1 [paras[0].firstChild, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 1 [paras[0].firstChild, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 1 [paras[0].firstChild, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 1 [paras[0].firstChild, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 1 [paras[0].firstChild, 0], range 60 detached 
</ins><span class="cx"> PASS Point 2 [paras[0].firstChild, 1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 2 [paras[0].firstChild, 1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 2 [paras[0].firstChild, 1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -242,7 +242,7 @@
</span><span class="cx"> PASS Point 2 [paras[0].firstChild, 1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 2 [paras[0].firstChild, 1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 2 [paras[0].firstChild, 1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 2 [paras[0].firstChild, 1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 2 [paras[0].firstChild, 1], range 60 detached 
</ins><span class="cx"> PASS Point 3 [paras[0].firstChild, 2], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 3 [paras[0].firstChild, 2], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 3 [paras[0].firstChild, 2], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -303,7 +303,7 @@
</span><span class="cx"> PASS Point 3 [paras[0].firstChild, 2], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 3 [paras[0].firstChild, 2], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 3 [paras[0].firstChild, 2], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 3 [paras[0].firstChild, 2], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 3 [paras[0].firstChild, 2], range 60 detached 
</ins><span class="cx"> PASS Point 4 [paras[0].firstChild, 8], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 4 [paras[0].firstChild, 8], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 4 [paras[0].firstChild, 8], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -364,7 +364,7 @@
</span><span class="cx"> PASS Point 4 [paras[0].firstChild, 8], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 4 [paras[0].firstChild, 8], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 4 [paras[0].firstChild, 8], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 4 [paras[0].firstChild, 8], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 4 [paras[0].firstChild, 8], range 60 detached 
</ins><span class="cx"> PASS Point 5 [paras[0].firstChild, 9], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 5 [paras[0].firstChild, 9], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 5 [paras[0].firstChild, 9], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -425,7 +425,7 @@
</span><span class="cx"> PASS Point 5 [paras[0].firstChild, 9], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 5 [paras[0].firstChild, 9], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 5 [paras[0].firstChild, 9], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 5 [paras[0].firstChild, 9], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 5 [paras[0].firstChild, 9], range 60 detached 
</ins><span class="cx"> PASS Point 6 [paras[0].firstChild, 10], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 6 [paras[0].firstChild, 10], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 6 [paras[0].firstChild, 10], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -486,7 +486,7 @@
</span><span class="cx"> PASS Point 6 [paras[0].firstChild, 10], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 6 [paras[0].firstChild, 10], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 6 [paras[0].firstChild, 10], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 6 [paras[0].firstChild, 10], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 6 [paras[0].firstChild, 10], range 60 detached 
</ins><span class="cx"> PASS Point 7 [paras[0].firstChild, 65535], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 7 [paras[0].firstChild, 65535], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 7 [paras[0].firstChild, 65535], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -547,7 +547,7 @@
</span><span class="cx"> PASS Point 7 [paras[0].firstChild, 65535], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 7 [paras[0].firstChild, 65535], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 7 [paras[0].firstChild, 65535], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 7 [paras[0].firstChild, 65535], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 7 [paras[0].firstChild, 65535], range 60 detached 
</ins><span class="cx"> PASS Point 8 [paras[1].firstChild, -1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 8 [paras[1].firstChild, -1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 8 [paras[1].firstChild, -1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -608,7 +608,7 @@
</span><span class="cx"> PASS Point 8 [paras[1].firstChild, -1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 8 [paras[1].firstChild, -1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 8 [paras[1].firstChild, -1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 8 [paras[1].firstChild, -1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 8 [paras[1].firstChild, -1], range 60 detached 
</ins><span class="cx"> PASS Point 9 [paras[1].firstChild, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 9 [paras[1].firstChild, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 9 [paras[1].firstChild, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -669,7 +669,7 @@
</span><span class="cx"> PASS Point 9 [paras[1].firstChild, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 9 [paras[1].firstChild, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 9 [paras[1].firstChild, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 9 [paras[1].firstChild, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 9 [paras[1].firstChild, 0], range 60 detached 
</ins><span class="cx"> PASS Point 10 [paras[1].firstChild, 1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 10 [paras[1].firstChild, 1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 10 [paras[1].firstChild, 1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -730,7 +730,7 @@
</span><span class="cx"> PASS Point 10 [paras[1].firstChild, 1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 10 [paras[1].firstChild, 1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 10 [paras[1].firstChild, 1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 10 [paras[1].firstChild, 1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 10 [paras[1].firstChild, 1], range 60 detached 
</ins><span class="cx"> PASS Point 11 [paras[1].firstChild, 2], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 11 [paras[1].firstChild, 2], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 11 [paras[1].firstChild, 2], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -791,7 +791,7 @@
</span><span class="cx"> PASS Point 11 [paras[1].firstChild, 2], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 11 [paras[1].firstChild, 2], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 11 [paras[1].firstChild, 2], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 11 [paras[1].firstChild, 2], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 11 [paras[1].firstChild, 2], range 60 detached 
</ins><span class="cx"> PASS Point 12 [paras[1].firstChild, 8], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 12 [paras[1].firstChild, 8], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 12 [paras[1].firstChild, 8], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -852,7 +852,7 @@
</span><span class="cx"> PASS Point 12 [paras[1].firstChild, 8], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 12 [paras[1].firstChild, 8], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 12 [paras[1].firstChild, 8], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 12 [paras[1].firstChild, 8], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 12 [paras[1].firstChild, 8], range 60 detached 
</ins><span class="cx"> PASS Point 13 [paras[1].firstChild, 9], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 13 [paras[1].firstChild, 9], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 13 [paras[1].firstChild, 9], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -913,7 +913,7 @@
</span><span class="cx"> PASS Point 13 [paras[1].firstChild, 9], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 13 [paras[1].firstChild, 9], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 13 [paras[1].firstChild, 9], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 13 [paras[1].firstChild, 9], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 13 [paras[1].firstChild, 9], range 60 detached 
</ins><span class="cx"> PASS Point 14 [paras[1].firstChild, 10], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 14 [paras[1].firstChild, 10], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 14 [paras[1].firstChild, 10], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -974,7 +974,7 @@
</span><span class="cx"> PASS Point 14 [paras[1].firstChild, 10], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 14 [paras[1].firstChild, 10], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 14 [paras[1].firstChild, 10], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 14 [paras[1].firstChild, 10], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 14 [paras[1].firstChild, 10], range 60 detached 
</ins><span class="cx"> PASS Point 15 [paras[1].firstChild, 65535], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 15 [paras[1].firstChild, 65535], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 15 [paras[1].firstChild, 65535], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1035,7 +1035,7 @@
</span><span class="cx"> PASS Point 15 [paras[1].firstChild, 65535], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 15 [paras[1].firstChild, 65535], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 15 [paras[1].firstChild, 65535], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 15 [paras[1].firstChild, 65535], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 15 [paras[1].firstChild, 65535], range 60 detached 
</ins><span class="cx"> PASS Point 16 [detachedPara1.firstChild, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 16 [detachedPara1.firstChild, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 16 [detachedPara1.firstChild, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1096,7 +1096,7 @@
</span><span class="cx"> PASS Point 16 [detachedPara1.firstChild, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 16 [detachedPara1.firstChild, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 16 [detachedPara1.firstChild, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 16 [detachedPara1.firstChild, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 16 [detachedPara1.firstChild, 0], range 60 detached 
</ins><span class="cx"> PASS Point 17 [detachedPara1.firstChild, 1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 17 [detachedPara1.firstChild, 1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 17 [detachedPara1.firstChild, 1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1157,7 +1157,7 @@
</span><span class="cx"> PASS Point 17 [detachedPara1.firstChild, 1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 17 [detachedPara1.firstChild, 1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 17 [detachedPara1.firstChild, 1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 17 [detachedPara1.firstChild, 1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 17 [detachedPara1.firstChild, 1], range 60 detached 
</ins><span class="cx"> PASS Point 18 [detachedPara1.firstChild, 8], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 18 [detachedPara1.firstChild, 8], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 18 [detachedPara1.firstChild, 8], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1218,7 +1218,7 @@
</span><span class="cx"> PASS Point 18 [detachedPara1.firstChild, 8], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 18 [detachedPara1.firstChild, 8], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 18 [detachedPara1.firstChild, 8], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 18 [detachedPara1.firstChild, 8], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 18 [detachedPara1.firstChild, 8], range 60 detached 
</ins><span class="cx"> PASS Point 19 [detachedPara1.firstChild, 9], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 19 [detachedPara1.firstChild, 9], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 19 [detachedPara1.firstChild, 9], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1284,7 +1284,7 @@
</span><span class="cx"> PASS Point 19 [detachedPara1.firstChild, 9], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 19 [detachedPara1.firstChild, 9], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 19 [detachedPara1.firstChild, 9], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 19 [detachedPara1.firstChild, 9], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 19 [detachedPara1.firstChild, 9], range 60 detached 
</ins><span class="cx"> PASS Point 20 [foreignPara1.firstChild, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 20 [foreignPara1.firstChild, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 20 [foreignPara1.firstChild, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1345,7 +1345,7 @@
</span><span class="cx"> FAIL Point 20 [foreignPara1.firstChild, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] WrongDocumentError: DOM Exception 4
</span><span class="cx"> FAIL Point 20 [foreignPara1.firstChild, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] WrongDocumentError: DOM Exception 4
</span><span class="cx"> PASS Point 20 [foreignPara1.firstChild, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 20 [foreignPara1.firstChild, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 20 [foreignPara1.firstChild, 0], range 60 detached 
</ins><span class="cx"> PASS Point 21 [foreignPara1.firstChild, 1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 21 [foreignPara1.firstChild, 1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 21 [foreignPara1.firstChild, 1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1406,7 +1406,7 @@
</span><span class="cx"> FAIL Point 21 [foreignPara1.firstChild, 1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] WrongDocumentError: DOM Exception 4
</span><span class="cx"> FAIL Point 21 [foreignPara1.firstChild, 1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] WrongDocumentError: DOM Exception 4
</span><span class="cx"> PASS Point 21 [foreignPara1.firstChild, 1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 21 [foreignPara1.firstChild, 1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 21 [foreignPara1.firstChild, 1], range 60 detached 
</ins><span class="cx"> PASS Point 22 [foreignPara1.firstChild, 8], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 22 [foreignPara1.firstChild, 8], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 22 [foreignPara1.firstChild, 8], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1467,7 +1467,7 @@
</span><span class="cx"> FAIL Point 22 [foreignPara1.firstChild, 8], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] WrongDocumentError: DOM Exception 4
</span><span class="cx"> FAIL Point 22 [foreignPara1.firstChild, 8], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] WrongDocumentError: DOM Exception 4
</span><span class="cx"> PASS Point 22 [foreignPara1.firstChild, 8], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 22 [foreignPara1.firstChild, 8], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 22 [foreignPara1.firstChild, 8], range 60 detached 
</ins><span class="cx"> PASS Point 23 [foreignPara1.firstChild, 9], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 23 [foreignPara1.firstChild, 9], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 23 [foreignPara1.firstChild, 9], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1528,7 +1528,7 @@
</span><span class="cx"> FAIL Point 23 [foreignPara1.firstChild, 9], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] IndexSizeError: DOM Exception 1
</span><span class="cx"> FAIL Point 23 [foreignPara1.firstChild, 9], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] IndexSizeError: DOM Exception 1
</span><span class="cx"> PASS Point 23 [foreignPara1.firstChild, 9], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 23 [foreignPara1.firstChild, 9], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 23 [foreignPara1.firstChild, 9], range 60 detached 
</ins><span class="cx"> PASS Point 24 [document.documentElement, -1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 24 [document.documentElement, -1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 24 [document.documentElement, -1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1589,7 +1589,7 @@
</span><span class="cx"> PASS Point 24 [document.documentElement, -1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 24 [document.documentElement, -1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 24 [document.documentElement, -1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 24 [document.documentElement, -1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 24 [document.documentElement, -1], range 60 detached 
</ins><span class="cx"> PASS Point 25 [document.documentElement, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 25 [document.documentElement, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 25 [document.documentElement, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1650,7 +1650,7 @@
</span><span class="cx"> PASS Point 25 [document.documentElement, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 25 [document.documentElement, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 25 [document.documentElement, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 25 [document.documentElement, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 25 [document.documentElement, 0], range 60 detached 
</ins><span class="cx"> PASS Point 26 [document.documentElement, 1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 26 [document.documentElement, 1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 26 [document.documentElement, 1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1711,7 +1711,7 @@
</span><span class="cx"> PASS Point 26 [document.documentElement, 1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 26 [document.documentElement, 1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 26 [document.documentElement, 1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 26 [document.documentElement, 1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 26 [document.documentElement, 1], range 60 detached 
</ins><span class="cx"> PASS Point 27 [document.documentElement, 2], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 27 [document.documentElement, 2], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 27 [document.documentElement, 2], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1772,7 +1772,7 @@
</span><span class="cx"> PASS Point 27 [document.documentElement, 2], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 27 [document.documentElement, 2], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 27 [document.documentElement, 2], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 27 [document.documentElement, 2], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 27 [document.documentElement, 2], range 60 detached 
</ins><span class="cx"> PASS Point 28 [document.documentElement, 7], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 28 [document.documentElement, 7], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 28 [document.documentElement, 7], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1833,7 +1833,7 @@
</span><span class="cx"> PASS Point 28 [document.documentElement, 7], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 28 [document.documentElement, 7], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 28 [document.documentElement, 7], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 28 [document.documentElement, 7], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 28 [document.documentElement, 7], range 60 detached 
</ins><span class="cx"> PASS Point 29 [document.head, 1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 29 [document.head, 1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 29 [document.head, 1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1894,7 +1894,7 @@
</span><span class="cx"> PASS Point 29 [document.head, 1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 29 [document.head, 1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 29 [document.head, 1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 29 [document.head, 1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 29 [document.head, 1], range 60 detached 
</ins><span class="cx"> PASS Point 30 [document.body, 3], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 30 [document.body, 3], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 30 [document.body, 3], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -1955,7 +1955,7 @@
</span><span class="cx"> PASS Point 30 [document.body, 3], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 30 [document.body, 3], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 30 [document.body, 3], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 30 [document.body, 3], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 30 [document.body, 3], range 60 detached 
</ins><span class="cx"> PASS Point 31 [foreignDoc.documentElement, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 31 [foreignDoc.documentElement, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 31 [foreignDoc.documentElement, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2016,7 +2016,7 @@
</span><span class="cx"> FAIL Point 31 [foreignDoc.documentElement, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] WrongDocumentError: DOM Exception 4
</span><span class="cx"> FAIL Point 31 [foreignDoc.documentElement, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] WrongDocumentError: DOM Exception 4
</span><span class="cx"> PASS Point 31 [foreignDoc.documentElement, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 31 [foreignDoc.documentElement, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 31 [foreignDoc.documentElement, 0], range 60 detached 
</ins><span class="cx"> PASS Point 32 [foreignDoc.documentElement, 1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 32 [foreignDoc.documentElement, 1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 32 [foreignDoc.documentElement, 1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2077,7 +2077,7 @@
</span><span class="cx"> FAIL Point 32 [foreignDoc.documentElement, 1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] WrongDocumentError: DOM Exception 4
</span><span class="cx"> FAIL Point 32 [foreignDoc.documentElement, 1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] WrongDocumentError: DOM Exception 4
</span><span class="cx"> PASS Point 32 [foreignDoc.documentElement, 1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 32 [foreignDoc.documentElement, 1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 32 [foreignDoc.documentElement, 1], range 60 detached 
</ins><span class="cx"> PASS Point 33 [foreignDoc.head, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 33 [foreignDoc.head, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 33 [foreignDoc.head, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2138,7 +2138,7 @@
</span><span class="cx"> FAIL Point 33 [foreignDoc.head, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] WrongDocumentError: DOM Exception 4
</span><span class="cx"> FAIL Point 33 [foreignDoc.head, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] WrongDocumentError: DOM Exception 4
</span><span class="cx"> PASS Point 33 [foreignDoc.head, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 33 [foreignDoc.head, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 33 [foreignDoc.head, 0], range 60 detached 
</ins><span class="cx"> PASS Point 34 [foreignDoc.body, 1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 34 [foreignDoc.body, 1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 34 [foreignDoc.body, 1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2199,7 +2199,7 @@
</span><span class="cx"> FAIL Point 34 [foreignDoc.body, 1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] WrongDocumentError: DOM Exception 4
</span><span class="cx"> FAIL Point 34 [foreignDoc.body, 1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] WrongDocumentError: DOM Exception 4
</span><span class="cx"> PASS Point 34 [foreignDoc.body, 1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 34 [foreignDoc.body, 1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 34 [foreignDoc.body, 1], range 60 detached 
</ins><span class="cx"> PASS Point 35 [paras[0], 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 35 [paras[0], 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 35 [paras[0], 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2260,7 +2260,7 @@
</span><span class="cx"> PASS Point 35 [paras[0], 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 35 [paras[0], 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 35 [paras[0], 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 35 [paras[0], 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 35 [paras[0], 0], range 60 detached 
</ins><span class="cx"> PASS Point 36 [paras[0], 1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 36 [paras[0], 1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 36 [paras[0], 1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2321,7 +2321,7 @@
</span><span class="cx"> PASS Point 36 [paras[0], 1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 36 [paras[0], 1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 36 [paras[0], 1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 36 [paras[0], 1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 36 [paras[0], 1], range 60 detached 
</ins><span class="cx"> PASS Point 37 [paras[0], 2], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 37 [paras[0], 2], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 37 [paras[0], 2], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2382,7 +2382,7 @@
</span><span class="cx"> PASS Point 37 [paras[0], 2], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 37 [paras[0], 2], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 37 [paras[0], 2], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 37 [paras[0], 2], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 37 [paras[0], 2], range 60 detached 
</ins><span class="cx"> PASS Point 38 [paras[1], 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 38 [paras[1], 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 38 [paras[1], 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2443,7 +2443,7 @@
</span><span class="cx"> PASS Point 38 [paras[1], 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 38 [paras[1], 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 38 [paras[1], 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 38 [paras[1], 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 38 [paras[1], 0], range 60 detached 
</ins><span class="cx"> PASS Point 39 [paras[1], 1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 39 [paras[1], 1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 39 [paras[1], 1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2504,7 +2504,7 @@
</span><span class="cx"> PASS Point 39 [paras[1], 1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 39 [paras[1], 1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 39 [paras[1], 1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 39 [paras[1], 1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 39 [paras[1], 1], range 60 detached 
</ins><span class="cx"> PASS Point 40 [paras[1], 2], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 40 [paras[1], 2], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 40 [paras[1], 2], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2565,7 +2565,7 @@
</span><span class="cx"> PASS Point 40 [paras[1], 2], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 40 [paras[1], 2], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 40 [paras[1], 2], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 40 [paras[1], 2], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 40 [paras[1], 2], range 60 detached 
</ins><span class="cx"> PASS Point 41 [detachedPara1, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 41 [detachedPara1, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 41 [detachedPara1, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2626,7 +2626,7 @@
</span><span class="cx"> PASS Point 41 [detachedPara1, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 41 [detachedPara1, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 41 [detachedPara1, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 41 [detachedPara1, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 41 [detachedPara1, 0], range 60 detached 
</ins><span class="cx"> PASS Point 42 [detachedPara1, 1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 42 [detachedPara1, 1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 42 [detachedPara1, 1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2687,7 +2687,7 @@
</span><span class="cx"> PASS Point 42 [detachedPara1, 1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 42 [detachedPara1, 1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 42 [detachedPara1, 1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 42 [detachedPara1, 1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 42 [detachedPara1, 1], range 60 detached 
</ins><span class="cx"> PASS Point 43 [testDiv, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 43 [testDiv, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 43 [testDiv, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2748,7 +2748,7 @@
</span><span class="cx"> PASS Point 43 [testDiv, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 43 [testDiv, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 43 [testDiv, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 43 [testDiv, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 43 [testDiv, 0], range 60 detached 
</ins><span class="cx"> PASS Point 44 [testDiv, 3], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 44 [testDiv, 3], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 44 [testDiv, 3], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2809,7 +2809,7 @@
</span><span class="cx"> PASS Point 44 [testDiv, 3], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 44 [testDiv, 3], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 44 [testDiv, 3], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 44 [testDiv, 3], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 44 [testDiv, 3], range 60 detached 
</ins><span class="cx"> PASS Point 45 [document, -1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 45 [document, -1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 45 [document, -1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2870,7 +2870,7 @@
</span><span class="cx"> PASS Point 45 [document, -1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 45 [document, -1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 45 [document, -1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 45 [document, -1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 45 [document, -1], range 60 detached 
</ins><span class="cx"> PASS Point 46 [document, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 46 [document, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 46 [document, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2931,7 +2931,7 @@
</span><span class="cx"> PASS Point 46 [document, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 46 [document, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 46 [document, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 46 [document, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 46 [document, 0], range 60 detached 
</ins><span class="cx"> PASS Point 47 [document, 1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 47 [document, 1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 47 [document, 1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -2992,7 +2992,7 @@
</span><span class="cx"> PASS Point 47 [document, 1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 47 [document, 1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 47 [document, 1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 47 [document, 1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 47 [document, 1], range 60 detached 
</ins><span class="cx"> PASS Point 48 [document, 2], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 48 [document, 2], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 48 [document, 2], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -3053,7 +3053,7 @@
</span><span class="cx"> PASS Point 48 [document, 2], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 48 [document, 2], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 48 [document, 2], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 48 [document, 2], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 48 [document, 2], range 60 detached 
</ins><span class="cx"> PASS Point 49 [document, 3], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 49 [document, 3], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 49 [document, 3], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -3114,7 +3114,7 @@
</span><span class="cx"> PASS Point 49 [document, 3], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 49 [document, 3], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 49 [document, 3], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 49 [document, 3], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 49 [document, 3], range 60 detached 
</ins><span class="cx"> PASS Point 50 [comment, -1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 50 [comment, -1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 50 [comment, -1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -3175,7 +3175,7 @@
</span><span class="cx"> PASS Point 50 [comment, -1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 50 [comment, -1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 50 [comment, -1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 50 [comment, -1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 50 [comment, -1], range 60 detached 
</ins><span class="cx"> PASS Point 51 [comment, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 51 [comment, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 51 [comment, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -3236,7 +3236,7 @@
</span><span class="cx"> PASS Point 51 [comment, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 51 [comment, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 51 [comment, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 51 [comment, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 51 [comment, 0], range 60 detached 
</ins><span class="cx"> PASS Point 52 [comment, 4], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 52 [comment, 4], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 52 [comment, 4], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -3297,7 +3297,7 @@
</span><span class="cx"> PASS Point 52 [comment, 4], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 52 [comment, 4], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 52 [comment, 4], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 52 [comment, 4], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 52 [comment, 4], range 60 detached 
</ins><span class="cx"> PASS Point 53 [comment, 96], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 53 [comment, 96], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 53 [comment, 96], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -3358,7 +3358,7 @@
</span><span class="cx"> PASS Point 53 [comment, 96], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 53 [comment, 96], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 53 [comment, 96], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 53 [comment, 96], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 53 [comment, 96], range 60 detached 
</ins><span class="cx"> PASS Point 54 [foreignDoc, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 54 [foreignDoc, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 54 [foreignDoc, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -3419,7 +3419,7 @@
</span><span class="cx"> FAIL Point 54 [foreignDoc, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] WrongDocumentError: DOM Exception 4
</span><span class="cx"> FAIL Point 54 [foreignDoc, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] WrongDocumentError: DOM Exception 4
</span><span class="cx"> PASS Point 54 [foreignDoc, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 54 [foreignDoc, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 54 [foreignDoc, 0], range 60 detached 
</ins><span class="cx"> PASS Point 55 [foreignDoc, 1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 55 [foreignDoc, 1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 55 [foreignDoc, 1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -3480,7 +3480,7 @@
</span><span class="cx"> FAIL Point 55 [foreignDoc, 1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] WrongDocumentError: DOM Exception 4
</span><span class="cx"> FAIL Point 55 [foreignDoc, 1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] WrongDocumentError: DOM Exception 4
</span><span class="cx"> PASS Point 55 [foreignDoc, 1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 55 [foreignDoc, 1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 55 [foreignDoc, 1], range 60 detached 
</ins><span class="cx"> PASS Point 56 [foreignComment, 2], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 56 [foreignComment, 2], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 56 [foreignComment, 2], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -3541,7 +3541,7 @@
</span><span class="cx"> FAIL Point 56 [foreignComment, 2], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] WrongDocumentError: DOM Exception 4
</span><span class="cx"> FAIL Point 56 [foreignComment, 2], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] WrongDocumentError: DOM Exception 4
</span><span class="cx"> PASS Point 56 [foreignComment, 2], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 56 [foreignComment, 2], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 56 [foreignComment, 2], range 60 detached 
</ins><span class="cx"> PASS Point 57 [foreignTextNode, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 57 [foreignTextNode, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 57 [foreignTextNode, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -3602,7 +3602,7 @@
</span><span class="cx"> FAIL Point 57 [foreignTextNode, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] WrongDocumentError: DOM Exception 4
</span><span class="cx"> FAIL Point 57 [foreignTextNode, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] WrongDocumentError: DOM Exception 4
</span><span class="cx"> PASS Point 57 [foreignTextNode, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 57 [foreignTextNode, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 57 [foreignTextNode, 0], range 60 detached 
</ins><span class="cx"> PASS Point 58 [foreignTextNode, 36], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 58 [foreignTextNode, 36], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 58 [foreignTextNode, 36], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -3663,7 +3663,7 @@
</span><span class="cx"> FAIL Point 58 [foreignTextNode, 36], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] WrongDocumentError: DOM Exception 4
</span><span class="cx"> FAIL Point 58 [foreignTextNode, 36], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] WrongDocumentError: DOM Exception 4
</span><span class="cx"> PASS Point 58 [foreignTextNode, 36], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 58 [foreignTextNode, 36], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 58 [foreignTextNode, 36], range 60 detached 
</ins><span class="cx"> PASS Point 59 [xmlDoc, -1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 59 [xmlDoc, -1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 59 [xmlDoc, -1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -3724,7 +3724,7 @@
</span><span class="cx"> PASS Point 59 [xmlDoc, -1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 59 [xmlDoc, -1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> FAIL Point 59 [xmlDoc, -1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] IndexSizeError: DOM Exception 1
</span><del>-FAIL Point 59 [xmlDoc, -1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 59 [xmlDoc, -1], range 60 detached 
</ins><span class="cx"> PASS Point 60 [xmlDoc, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 60 [xmlDoc, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 60 [xmlDoc, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -3785,7 +3785,7 @@
</span><span class="cx"> PASS Point 60 [xmlDoc, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 60 [xmlDoc, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> FAIL Point 60 [xmlDoc, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] WrongDocumentError: DOM Exception 4
</span><del>-FAIL Point 60 [xmlDoc, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 60 [xmlDoc, 0], range 60 detached 
</ins><span class="cx"> PASS Point 61 [xmlDoc, 1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 61 [xmlDoc, 1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 61 [xmlDoc, 1], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -3846,7 +3846,7 @@
</span><span class="cx"> PASS Point 61 [xmlDoc, 1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 61 [xmlDoc, 1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> FAIL Point 61 [xmlDoc, 1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] WrongDocumentError: DOM Exception 4
</span><del>-FAIL Point 61 [xmlDoc, 1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 61 [xmlDoc, 1], range 60 detached 
</ins><span class="cx"> PASS Point 62 [xmlDoc, 5], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 62 [xmlDoc, 5], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 62 [xmlDoc, 5], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -3907,7 +3907,7 @@
</span><span class="cx"> PASS Point 62 [xmlDoc, 5], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 62 [xmlDoc, 5], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> FAIL Point 62 [xmlDoc, 5], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] IndexSizeError: DOM Exception 1
</span><del>-FAIL Point 62 [xmlDoc, 5], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 62 [xmlDoc, 5], range 60 detached 
</ins><span class="cx"> PASS Point 63 [xmlComment, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 63 [xmlComment, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 63 [xmlComment, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -3968,7 +3968,7 @@
</span><span class="cx"> PASS Point 63 [xmlComment, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 63 [xmlComment, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> FAIL Point 63 [xmlComment, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] WrongDocumentError: DOM Exception 4
</span><del>-FAIL Point 63 [xmlComment, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 63 [xmlComment, 0], range 60 detached 
</ins><span class="cx"> PASS Point 64 [xmlComment, 4], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 64 [xmlComment, 4], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 64 [xmlComment, 4], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -4029,7 +4029,7 @@
</span><span class="cx"> PASS Point 64 [xmlComment, 4], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 64 [xmlComment, 4], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> FAIL Point 64 [xmlComment, 4], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] WrongDocumentError: DOM Exception 4
</span><del>-FAIL Point 64 [xmlComment, 4], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 64 [xmlComment, 4], range 60 detached 
</ins><span class="cx"> PASS Point 65 [processingInstruction, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 65 [processingInstruction, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 65 [processingInstruction, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -4090,7 +4090,7 @@
</span><span class="cx"> PASS Point 65 [processingInstruction, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 65 [processingInstruction, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> FAIL Point 65 [processingInstruction, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] WrongDocumentError: DOM Exception 4
</span><del>-FAIL Point 65 [processingInstruction, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 65 [processingInstruction, 0], range 60 detached 
</ins><span class="cx"> PASS Point 66 [processingInstruction, 5], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 66 [processingInstruction, 5], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 66 [processingInstruction, 5], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -4151,7 +4151,7 @@
</span><span class="cx"> PASS Point 66 [processingInstruction, 5], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 66 [processingInstruction, 5], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> FAIL Point 66 [processingInstruction, 5], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] WrongDocumentError: DOM Exception 4
</span><del>-FAIL Point 66 [processingInstruction, 5], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 66 [processingInstruction, 5], range 60 detached 
</ins><span class="cx"> PASS Point 67 [processingInstruction, 9], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 67 [processingInstruction, 9], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 67 [processingInstruction, 9], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -4212,7 +4212,7 @@
</span><span class="cx"> PASS Point 67 [processingInstruction, 9], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 67 [processingInstruction, 9], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> FAIL Point 67 [processingInstruction, 9], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] WrongDocumentError: DOM Exception 4
</span><del>-FAIL Point 67 [processingInstruction, 9], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 67 [processingInstruction, 9], range 60 detached 
</ins><span class="cx"> PASS Point 68 [detachedTextNode, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 68 [detachedTextNode, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 68 [detachedTextNode, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -4273,7 +4273,7 @@
</span><span class="cx"> PASS Point 68 [detachedTextNode, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 68 [detachedTextNode, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 68 [detachedTextNode, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 68 [detachedTextNode, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 68 [detachedTextNode, 0], range 60 detached 
</ins><span class="cx"> PASS Point 69 [detachedTextNode, 8], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 69 [detachedTextNode, 8], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 69 [detachedTextNode, 8], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -4334,7 +4334,7 @@
</span><span class="cx"> PASS Point 69 [detachedTextNode, 8], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 69 [detachedTextNode, 8], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 69 [detachedTextNode, 8], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 69 [detachedTextNode, 8], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 69 [detachedTextNode, 8], range 60 detached 
</ins><span class="cx"> PASS Point 70 [detachedForeignTextNode, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 70 [detachedForeignTextNode, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 70 [detachedForeignTextNode, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -4395,7 +4395,7 @@
</span><span class="cx"> PASS Point 70 [detachedForeignTextNode, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 70 [detachedForeignTextNode, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 70 [detachedForeignTextNode, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 70 [detachedForeignTextNode, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 70 [detachedForeignTextNode, 0], range 60 detached 
</ins><span class="cx"> PASS Point 71 [detachedForeignTextNode, 8], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 71 [detachedForeignTextNode, 8], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 71 [detachedForeignTextNode, 8], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -4456,7 +4456,7 @@
</span><span class="cx"> PASS Point 71 [detachedForeignTextNode, 8], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 71 [detachedForeignTextNode, 8], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 71 [detachedForeignTextNode, 8], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 71 [detachedForeignTextNode, 8], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 71 [detachedForeignTextNode, 8], range 60 detached 
</ins><span class="cx"> PASS Point 72 [detachedXmlTextNode, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 72 [detachedXmlTextNode, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 72 [detachedXmlTextNode, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -4517,7 +4517,7 @@
</span><span class="cx"> PASS Point 72 [detachedXmlTextNode, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 72 [detachedXmlTextNode, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 72 [detachedXmlTextNode, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 72 [detachedXmlTextNode, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 72 [detachedXmlTextNode, 0], range 60 detached 
</ins><span class="cx"> PASS Point 73 [detachedXmlTextNode, 8], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 73 [detachedXmlTextNode, 8], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 73 [detachedXmlTextNode, 8], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -4578,7 +4578,7 @@
</span><span class="cx"> PASS Point 73 [detachedXmlTextNode, 8], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 73 [detachedXmlTextNode, 8], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 73 [detachedXmlTextNode, 8], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 73 [detachedXmlTextNode, 8], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 73 [detachedXmlTextNode, 8], range 60 detached 
</ins><span class="cx"> PASS Point 74 [detachedProcessingInstruction, 12], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 74 [detachedProcessingInstruction, 12], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 74 [detachedProcessingInstruction, 12], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -4639,7 +4639,7 @@
</span><span class="cx"> PASS Point 74 [detachedProcessingInstruction, 12], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 74 [detachedProcessingInstruction, 12], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 74 [detachedProcessingInstruction, 12], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 74 [detachedProcessingInstruction, 12], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 74 [detachedProcessingInstruction, 12], range 60 detached 
</ins><span class="cx"> PASS Point 75 [detachedComment, 3], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 75 [detachedComment, 3], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 75 [detachedComment, 3], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -4700,7 +4700,7 @@
</span><span class="cx"> PASS Point 75 [detachedComment, 3], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 75 [detachedComment, 3], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 75 [detachedComment, 3], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 75 [detachedComment, 3], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 75 [detachedComment, 3], range 60 detached 
</ins><span class="cx"> PASS Point 76 [detachedComment, 5], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 76 [detachedComment, 5], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 76 [detachedComment, 5], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -4761,7 +4761,7 @@
</span><span class="cx"> PASS Point 76 [detachedComment, 5], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 76 [detachedComment, 5], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 76 [detachedComment, 5], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 76 [detachedComment, 5], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 76 [detachedComment, 5], range 60 detached 
</ins><span class="cx"> PASS Point 77 [detachedForeignComment, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 77 [detachedForeignComment, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 77 [detachedForeignComment, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -4822,7 +4822,7 @@
</span><span class="cx"> PASS Point 77 [detachedForeignComment, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 77 [detachedForeignComment, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 77 [detachedForeignComment, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 77 [detachedForeignComment, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 77 [detachedForeignComment, 0], range 60 detached 
</ins><span class="cx"> PASS Point 78 [detachedForeignComment, 4], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 78 [detachedForeignComment, 4], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 78 [detachedForeignComment, 4], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -4883,7 +4883,7 @@
</span><span class="cx"> FAIL Point 78 [detachedForeignComment, 4], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] assert_true: Must return true if point is not before start, after end, or in different tree expected true got false
</span><span class="cx"> PASS Point 78 [detachedForeignComment, 4], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 78 [detachedForeignComment, 4], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 78 [detachedForeignComment, 4], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 78 [detachedForeignComment, 4], range 60 detached 
</ins><span class="cx"> PASS Point 79 [detachedXmlComment, 2], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 79 [detachedXmlComment, 2], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 79 [detachedXmlComment, 2], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -4944,7 +4944,7 @@
</span><span class="cx"> PASS Point 79 [detachedXmlComment, 2], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 79 [detachedXmlComment, 2], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 79 [detachedXmlComment, 2], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 79 [detachedXmlComment, 2], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 79 [detachedXmlComment, 2], range 60 detached 
</ins><span class="cx"> PASS Point 80 [docfrag, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 80 [docfrag, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 80 [docfrag, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -5005,7 +5005,7 @@
</span><span class="cx"> PASS Point 80 [docfrag, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 80 [docfrag, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 80 [docfrag, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 80 [docfrag, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 80 [docfrag, 0], range 60 detached 
</ins><span class="cx"> PASS Point 81 [foreignDocfrag, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 81 [foreignDocfrag, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 81 [foreignDocfrag, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -5066,7 +5066,7 @@
</span><span class="cx"> PASS Point 81 [foreignDocfrag, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> FAIL Point 81 [foreignDocfrag, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] assert_true: Must return true if point is not before start, after end, or in different tree expected true got false
</span><span class="cx"> PASS Point 81 [foreignDocfrag, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 81 [foreignDocfrag, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 81 [foreignDocfrag, 0], range 60 detached 
</ins><span class="cx"> PASS Point 82 [xmlDocfrag, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 82 [xmlDocfrag, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 82 [xmlDocfrag, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -5127,7 +5127,7 @@
</span><span class="cx"> PASS Point 82 [xmlDocfrag, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 82 [xmlDocfrag, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> FAIL Point 82 [xmlDocfrag, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] assert_true: Must return true if point is not before start, after end, or in different tree expected true got false
</span><del>-FAIL Point 82 [xmlDocfrag, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 82 [xmlDocfrag, 0], range 60 detached 
</ins><span class="cx"> FAIL Point 83 [doctype, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] assert_throws: Must throw InvalidNodeTypeError if node is a doctype function &quot;function () {
</span><span class="cx">           range.isPointInRange(node, offset...&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><span class="cx"> FAIL Point 83 [doctype, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] assert_throws: Must throw InvalidNodeTypeError if node is a doctype function &quot;function () {
</span><span class="lines">@@ -5217,7 +5217,8 @@
</span><span class="cx"> PASS Point 83 [doctype, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 83 [doctype, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 83 [doctype, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 83 [doctype, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+FAIL Point 83 [doctype, 0], range 60 detached assert_throws: Must throw InvalidNodeTypeError if node is a doctype function &quot;function () {
+          range.isPointInRange(node, offset...&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</ins><span class="cx"> FAIL Point 84 [doctype, -17], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] assert_throws: Must throw InvalidNodeTypeError if node is a doctype function &quot;function () {
</span><span class="cx">           range.isPointInRange(node, offset...&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><span class="cx"> FAIL Point 84 [doctype, -17], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] assert_throws: Must throw InvalidNodeTypeError if node is a doctype function &quot;function () {
</span><span class="lines">@@ -5307,7 +5308,8 @@
</span><span class="cx"> PASS Point 84 [doctype, -17], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 84 [doctype, -17], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 84 [doctype, -17], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 84 [doctype, -17], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+FAIL Point 84 [doctype, -17], range 60 detached assert_throws: Must throw InvalidNodeTypeError if node is a doctype function &quot;function () {
+          range.isPointInRange(node, offset...&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</ins><span class="cx"> FAIL Point 85 [doctype, 1], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] assert_throws: Must throw InvalidNodeTypeError if node is a doctype function &quot;function () {
</span><span class="cx">           range.isPointInRange(node, offset...&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><span class="cx"> FAIL Point 85 [doctype, 1], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] assert_throws: Must throw InvalidNodeTypeError if node is a doctype function &quot;function () {
</span><span class="lines">@@ -5397,7 +5399,8 @@
</span><span class="cx"> PASS Point 85 [doctype, 1], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 85 [doctype, 1], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> PASS Point 85 [doctype, 1], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 85 [doctype, 1], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+FAIL Point 85 [doctype, 1], range 60 detached assert_throws: Must throw InvalidNodeTypeError if node is a doctype function &quot;function () {
+          range.isPointInRange(node, offset...&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</ins><span class="cx"> PASS Point 86 [foreignDoctype, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 86 [foreignDoctype, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 86 [foreignDoctype, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -5468,7 +5471,7 @@
</span><span class="cx"> FAIL Point 86 [foreignDoctype, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] INVALID_NODE_TYPE_ERR: DOM Range Exception 2
</span><span class="cx"> FAIL Point 86 [foreignDoctype, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] INVALID_NODE_TYPE_ERR: DOM Range Exception 2
</span><span class="cx"> PASS Point 86 [foreignDoctype, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] 
</span><del>-FAIL Point 86 [foreignDoctype, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 86 [foreignDoctype, 0], range 60 detached 
</ins><span class="cx"> PASS Point 87 [xmlDoctype, 0], range 0 [paras[0].firstChild, 0, paras[0].firstChild, 0] 
</span><span class="cx"> PASS Point 87 [xmlDoctype, 0], range 1 [paras[0].firstChild, 0, paras[0].firstChild, 1] 
</span><span class="cx"> PASS Point 87 [xmlDoctype, 0], range 2 [paras[0].firstChild, 2, paras[0].firstChild, 8] 
</span><span class="lines">@@ -5532,5 +5535,5 @@
</span><span class="cx"> PASS Point 87 [xmlDoctype, 0], range 57 [detachedForeignComment, 4, detachedForeignComment, 4] 
</span><span class="cx"> PASS Point 87 [xmlDoctype, 0], range 58 [foreignDocfrag, 0, foreignDocfrag, 0] 
</span><span class="cx"> FAIL Point 87 [xmlDoctype, 0], range 59 [xmlDocfrag, 0, xmlDocfrag, 0] INVALID_NODE_TYPE_ERR: DOM Range Exception 2
</span><del>-FAIL Point 87 [xmlDoctype, 0], range 60 detached InvalidStateError: DOM Exception 11
</del><ins>+PASS Point 87 [xmlDoctype, 0], range 60 detached 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestshttptestsw3cdomrangesRangeselectNodeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-selectNode-expected.txt (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-selectNode-expected.txt        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/LayoutTests/http/tests/w3c/dom/ranges/Range-selectNode-expected.txt        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -8,14 +8,17 @@
</span><span class="cx"> FAIL  current doc: #document node, XML doc's range, type 9 assert_throws: selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNode(node);
</span><span class="cx">         }&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><del>-PASS  current doc: #document node, detached range, type 9 
</del><ins>+FAIL  current doc: #document node, detached range, type 9 assert_throws: selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR function &quot;function () {
+            range.selectNode(node);
+        }&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</ins><span class="cx"> FAIL ** current doc: html node, current doc's range, type 10 assert_throws: selectNodeContents() on a doctype must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNodeContents(node);...&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><span class="cx"> FAIL ** current doc: html node, foreign doc's range, type 10 assert_throws: selectNodeContents() on a doctype must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNodeContents(node);...&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><span class="cx"> FAIL ** current doc: html node, XML doc's range, type 10 assert_throws: selectNodeContents() on a doctype must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNodeContents(node);...&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><del>-PASS ** current doc: html node, detached range, type 10 
</del><ins>+FAIL ** current doc: html node, detached range, type 10 assert_throws: selectNodeContents() on a doctype must throw INVALID_NODE_TYPE_ERR function &quot;function () {
+            range.selectNodeContents(node);...&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</ins><span class="cx"> PASS ** current doc: html node, current doc's range, type 1 
</span><span class="cx"> PASS ** current doc: html node, foreign doc's range, type 1 
</span><span class="cx"> PASS ** current doc: html node, XML doc's range, type 1 
</span><span class="lines">@@ -149,14 +152,17 @@
</span><span class="cx"> FAIL  foreign doc: #document node, XML doc's range, type 9 assert_throws: selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNode(node);
</span><span class="cx">         }&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><del>-PASS  foreign doc: #document node, detached range, type 9 
</del><ins>+FAIL  foreign doc: #document node, detached range, type 9 assert_throws: selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR function &quot;function () {
+            range.selectNode(node);
+        }&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</ins><span class="cx"> FAIL ** foreign doc: html node, current doc's range, type 10 assert_throws: selectNodeContents() on a doctype must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNodeContents(node);...&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><span class="cx"> FAIL ** foreign doc: html node, foreign doc's range, type 10 assert_throws: selectNodeContents() on a doctype must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNodeContents(node);...&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><span class="cx"> FAIL ** foreign doc: html node, XML doc's range, type 10 assert_throws: selectNodeContents() on a doctype must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNodeContents(node);...&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><del>-PASS ** foreign doc: html node, detached range, type 10 
</del><ins>+FAIL ** foreign doc: html node, detached range, type 10 assert_throws: selectNodeContents() on a doctype must throw INVALID_NODE_TYPE_ERR function &quot;function () {
+            range.selectNodeContents(node);...&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</ins><span class="cx"> PASS ** foreign doc: html node, current doc's range, type 1 
</span><span class="cx"> PASS ** foreign doc: html node, foreign doc's range, type 1 
</span><span class="cx"> PASS ** foreign doc: html node, XML doc's range, type 1 
</span><span class="lines">@@ -206,23 +212,25 @@
</span><span class="cx"> FAIL  detached div in current doc: div node, XML doc's range, type 1 assert_throws: selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNode(node);
</span><span class="cx">         }&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><del>-PASS  detached div in current doc: div node, detached range, type 1 
</del><ins>+FAIL  detached div in current doc: div node, detached range, type 1 assert_throws: selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR function &quot;function () {
+            range.selectNode(node);
+        }&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</ins><span class="cx"> FAIL ** detached div in current doc: p node, current doc's range, type 1 INVALID_NODE_TYPE_ERR: DOM Range Exception 2
</span><span class="cx"> FAIL ** detached div in current doc: p node, foreign doc's range, type 1 INVALID_NODE_TYPE_ERR: DOM Range Exception 2
</span><span class="cx"> FAIL ** detached div in current doc: p node, XML doc's range, type 1 INVALID_NODE_TYPE_ERR: DOM Range Exception 2
</span><del>-PASS ** detached div in current doc: p node, detached range, type 1 
</del><ins>+FAIL ** detached div in current doc: p node, detached range, type 1 INVALID_NODE_TYPE_ERR: DOM Range Exception 2
</ins><span class="cx"> FAIL **** detached div in current doc: #text node, current doc's range, type 3 INVALID_NODE_TYPE_ERR: DOM Range Exception 2
</span><span class="cx"> FAIL **** detached div in current doc: #text node, foreign doc's range, type 3 INVALID_NODE_TYPE_ERR: DOM Range Exception 2
</span><span class="cx"> FAIL **** detached div in current doc: #text node, XML doc's range, type 3 INVALID_NODE_TYPE_ERR: DOM Range Exception 2
</span><del>-PASS **** detached div in current doc: #text node, detached range, type 3 
</del><ins>+FAIL **** detached div in current doc: #text node, detached range, type 3 INVALID_NODE_TYPE_ERR: DOM Range Exception 2
</ins><span class="cx"> FAIL ** detached div in current doc: p node, current doc's range, type 1 INVALID_NODE_TYPE_ERR: DOM Range Exception 2
</span><span class="cx"> FAIL ** detached div in current doc: p node, foreign doc's range, type 1 INVALID_NODE_TYPE_ERR: DOM Range Exception 2
</span><span class="cx"> FAIL ** detached div in current doc: p node, XML doc's range, type 1 INVALID_NODE_TYPE_ERR: DOM Range Exception 2
</span><del>-PASS ** detached div in current doc: p node, detached range, type 1 
</del><ins>+FAIL ** detached div in current doc: p node, detached range, type 1 INVALID_NODE_TYPE_ERR: DOM Range Exception 2
</ins><span class="cx"> FAIL **** detached div in current doc: #text node, current doc's range, type 3 INVALID_NODE_TYPE_ERR: DOM Range Exception 2
</span><span class="cx"> FAIL **** detached div in current doc: #text node, foreign doc's range, type 3 INVALID_NODE_TYPE_ERR: DOM Range Exception 2
</span><span class="cx"> FAIL **** detached div in current doc: #text node, XML doc's range, type 3 INVALID_NODE_TYPE_ERR: DOM Range Exception 2
</span><del>-PASS **** detached div in current doc: #text node, detached range, type 3 
</del><ins>+FAIL **** detached div in current doc: #text node, detached range, type 3 INVALID_NODE_TYPE_ERR: DOM Range Exception 2
</ins><span class="cx"> FAIL  #document node, current doc's range, type 9 assert_throws: selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNode(node);
</span><span class="cx">         }&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><span class="lines">@@ -232,14 +240,17 @@
</span><span class="cx"> FAIL  #document node, XML doc's range, type 9 assert_throws: selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNode(node);
</span><span class="cx">         }&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><del>-PASS  #document node, detached range, type 9 
</del><ins>+FAIL  #document node, detached range, type 9 assert_throws: selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR function &quot;function () {
+            range.selectNode(node);
+        }&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</ins><span class="cx"> FAIL ** qorflesnorf node, current doc's range, type 10 assert_throws: selectNodeContents() on a doctype must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNodeContents(node);...&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><span class="cx"> FAIL ** qorflesnorf node, foreign doc's range, type 10 assert_throws: selectNodeContents() on a doctype must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNodeContents(node);...&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><span class="cx"> FAIL ** qorflesnorf node, XML doc's range, type 10 assert_throws: selectNodeContents() on a doctype must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNodeContents(node);...&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><del>-PASS ** qorflesnorf node, detached range, type 10 
</del><ins>+FAIL ** qorflesnorf node, detached range, type 10 assert_throws: selectNodeContents() on a doctype must throw INVALID_NODE_TYPE_ERR function &quot;function () {
+            range.selectNodeContents(node);...&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</ins><span class="cx"> PASS ** igiveuponcreativenames node, current doc's range, type 1 
</span><span class="cx"> PASS ** igiveuponcreativenames node, foreign doc's range, type 1 
</span><span class="cx"> PASS ** igiveuponcreativenames node, XML doc's range, type 1 
</span><span class="lines">@@ -273,7 +284,9 @@
</span><span class="cx"> FAIL  #text node, XML doc's range, type 3 assert_throws: selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNode(node);
</span><span class="cx">         }&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><del>-PASS  #text node, detached range, type 3 
</del><ins>+FAIL  #text node, detached range, type 3 assert_throws: selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR function &quot;function () {
+            range.selectNode(node);
+        }&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</ins><span class="cx"> PASS  #text node, current doc's range, type 3 
</span><span class="cx"> PASS  #text node, foreign doc's range, type 3 
</span><span class="cx"> PASS  #text node, XML doc's range, type 3 
</span><span class="lines">@@ -307,7 +320,9 @@
</span><span class="cx"> FAIL  #document-fragment node, XML doc's range, type 11 assert_throws: selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNode(node);
</span><span class="cx">         }&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><del>-PASS  #document-fragment node, detached range, type 11 
</del><ins>+FAIL  #document-fragment node, detached range, type 11 assert_throws: selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR function &quot;function () {
+            range.selectNode(node);
+        }&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</ins><span class="cx"> FAIL  #document-fragment node, current doc's range, type 11 assert_throws: selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNode(node);
</span><span class="cx">         }&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><span class="lines">@@ -317,7 +332,9 @@
</span><span class="cx"> FAIL  #document-fragment node, XML doc's range, type 11 assert_throws: selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNode(node);
</span><span class="cx">         }&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><del>-PASS  #document-fragment node, detached range, type 11 
</del><ins>+FAIL  #document-fragment node, detached range, type 11 assert_throws: selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR function &quot;function () {
+            range.selectNode(node);
+        }&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</ins><span class="cx"> FAIL  #document-fragment node, current doc's range, type 11 assert_throws: selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNode(node);
</span><span class="cx">         }&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><span class="lines">@@ -327,5 +344,7 @@
</span><span class="cx"> FAIL  #document-fragment node, XML doc's range, type 11 assert_throws: selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR function &quot;function () {
</span><span class="cx">             range.selectNode(node);
</span><span class="cx">         }&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</span><del>-PASS  #document-fragment node, detached range, type 11 
</del><ins>+FAIL  #document-fragment node, detached range, type 11 assert_throws: selectNode() on a node with no parent must throw INVALID_NODE_TYPE_ERR function &quot;function () {
+            range.selectNode(node);
+        }&quot; threw object &quot;Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2&quot; that is not a DOMException INVALID_NODE_TYPE_ERR: property &quot;code&quot; is equal to 2, expected 24
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/ChangeLog        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1,3 +1,219 @@
</span><ins>+2015-08-31  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Range.detach() / NodeIterator.detach() should be no-ops as per the latest DOM specification
+        https://bugs.webkit.org/show_bug.cgi?id=148454
+
+        Reviewed by Ryosuke Niwa.
+
+        Range.detach() / NodeIterator.detach() should be no-ops as per the
+        latest DOM specification:
+        - https://dom.spec.whatwg.org/#dom-range-detach
+        - https://dom.spec.whatwg.org/#dom-nodeiterator-detach
+
+        These are already no-ops in Firefox:
+        - https://bugzilla.mozilla.org/show_bug.cgi?id=702948
+        - https://bugzilla.mozilla.org/show_bug.cgi?id=823549
+
+        and Chrome:
+        - https://src.chromium.org/viewvc/blink?revision=173010&amp;view=revision
+        - https://src.chromium.org/viewvc/blink?revision=172768&amp;view=revision
+
+        Tests: fast/dom/Range/range-detach-noop.html
+               fast/dom/node-iterator-detach-noop.html
+
+        * accessibility/AccessibilityObject.cpp:
+        (WebCore::AccessibilityObject::selectText):
+        (WebCore::AccessibilityObject::stringForVisiblePositionRange):
+        (WebCore::AccessibilityObject::lengthForVisiblePositionRange):
+        * accessibility/atk/WebKitAccessibleUtil.cpp:
+        (selectionBelongsToObject):
+        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+        (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
+        (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
+        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+        (-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
+        (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
+        * bindings/scripts/CodeGeneratorGObject.pm:
+        (FunctionUsedToRaiseException):
+        * dom/DocumentMarkerController.cpp:
+        (WebCore::DocumentMarkerController::addMarker):
+        (WebCore::DocumentMarkerController::addTextMatchMarker):
+        (WebCore::DocumentMarkerController::addDictationPhraseWithAlternativesMarker):
+        (WebCore::DocumentMarkerController::addDictationResultMarker):
+        (WebCore::DocumentMarkerController::removeMarkers):
+        (WebCore::DocumentMarkerController::markersInRange):
+        (DocumentMarkerController::setMarkersActive):
+        (DocumentMarkerController::hasMarkers):
+        (DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
+        * dom/NodeIterator.cpp:
+        (WebCore::NodeIterator::nextNode):
+        (WebCore::NodeIterator::previousNode):
+        (WebCore::NodeIterator::detach):
+        (WebCore::NodeIterator::NodeIterator): Deleted.
+        (WebCore::NodeIterator::nodeWillBeRemoved): Deleted.
+        (WebCore::NodeIterator::updateForNodeRemoval): Deleted.
+        * dom/NodeIterator.h:
+        (WebCore::NodeIterator::nextNode):
+        (WebCore::NodeIterator::previousNode):
+        * dom/NodeIterator.idl:
+        * dom/Range.cpp:
+        (WebCore::Range::commonAncestorContainer):
+        (WebCore::Range::setStart):
+        (WebCore::Range::setEnd):
+        (WebCore::Range::collapse):
+        (WebCore::Range::isPointInRange):
+        (WebCore::Range::comparePoint):
+        (WebCore::Range::compareNode):
+        (WebCore::Range::compareBoundaryPoints):
+        (WebCore::Range::boundaryPointsValid):
+        (WebCore::Range::deleteContents):
+        (WebCore::Range::processContents):
+        (WebCore::Range::processContentsBetweenOffsets):
+        (WebCore::Range::processAncestorsAndTheirSiblings):
+        (WebCore::Range::extractContents):
+        (WebCore::Range::cloneContents):
+        (WebCore::Range::insertNode):
+        (WebCore::Range::toString):
+        (WebCore::Range::text):
+        (WebCore::Range::createContextualFragment):
+        (WebCore::Range::detach):
+        (WebCore::Range::cloneRange):
+        (WebCore::Range::surroundContents):
+        (WebCore::Range::checkDeleteExtract):
+        (WebCore::Range::containedByReadOnly):
+        (WebCore::Range::firstNode):
+        (WebCore::Range::shadowRoot):
+        (WebCore::Range::pastLastNode):
+        (WebCore::Range::absoluteTextRects):
+        (WebCore::Range::absoluteTextQuads):
+        (WebCore::Range::collectSelectionRects):
+        (WebCore::Range::formatForDebugger):
+        (WebCore::Range::contains):
+        (WebCore::rangesOverlap):
+        (WebCore::Range::getBorderAndTextQuads):
+        (WebCore::Range::boundingRectInternal):
+        (showTree):
+        (WebCore::checkForDifferentRootContainer): Deleted.
+        (WebCore::lengthOfContentsInNode): Deleted.
+        (WebCore::Range::processNodes): Deleted.
+        (WebCore::Range::checkNodeWOffset): Deleted.
+        (WebCore::Range::checkNodeBA): Deleted.
+        (WebCore::Range::setStartAfter): Deleted.
+        (WebCore::Range::setEndBefore): Deleted.
+        (WebCore::Range::setEndAfter): Deleted.
+        (WebCore::Range::selectNode): Deleted.
+        (WebCore::intervalsSufficientlyOverlap): Deleted.
+        (WebCore::coalesceSelectionRects): Deleted.
+        (WebCore::areRangesEqual): Deleted.
+        (WebCore::boundaryTextNodesSplit): Deleted.
+        (WebCore::Range::textNodeSplit): Deleted.
+        (WebCore::Range::expand): Deleted.
+        * dom/Range.h:
+        (WebCore::Range::startContainer):
+        (WebCore::Range::endContainer):
+        (WebCore::Range::collapsed):
+        (WebCore::Range::commonAncestorContainer):
+        * dom/Range.idl:
+        * editing/AlternativeTextController.cpp:
+        (WebCore::AlternativeTextController::applyAlternativeTextToRange):
+        (WebCore::AlternativeTextController::handleAlternativeTextUIResult):
+        (WebCore::AlternativeTextController::markReversed):
+        (WebCore::AlternativeTextController::markCorrection):
+        (WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection):
+        (WebCore::AlternativeTextController::applyDictationAlternative):
+        * editing/EditingStyle.cpp:
+        (WebCore::EditingStyle::styleAtSelectionStart):
+        * editing/Editor.cpp:
+        (WebCore::Editor::canDeleteRange):
+        (WebCore::Editor::shouldDeleteRange):
+        (WebCore::Editor::advanceToNextMisspelling):
+        (WebCore::Editor::markMisspellingsOrBadGrammar):
+        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
+        (WebCore::correctSpellcheckingPreservingTextCheckingParagraph):
+        (WebCore::Editor::markAndReplaceFor):
+        (WebCore::Editor::changeBackToReplacedString):
+        (WebCore::Editor::firstRectForRange):
+        (WebCore::Editor::rangeOfString):
+        (WebCore::Editor::countMatchesForText):
+        (WebCore::Editor::scanRangeForTelephoneNumbers):
+        (WebCore::isFrameInRange): Deleted.
+        * editing/EditorCommand.cpp:
+        (WebCore::expandSelectionToGranularity):
+        (WebCore::unionDOMRanges):
+        * editing/FormatBlockCommand.cpp:
+        (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
+        * editing/FrameSelection.cpp:
+        (WebCore::FrameSelection::setSelectedRange):
+        (WebCore::FrameSelection::wordOffsetInRange):
+        (WebCore::FrameSelection::spaceFollowsWordInRange):
+        (WebCore::FrameSelection::selectionAtDocumentStart): Deleted.
+        * editing/MarkupAccumulator.cpp:
+        (WebCore::MarkupAccumulator::appendText):
+        * editing/SpellChecker.cpp:
+        (WebCore::SpellCheckRequest::SpellCheckRequest):
+        (WebCore::SpellChecker::isCheckable):
+        * editing/SpellingCorrectionCommand.cpp:
+        (WebCore::SpellingCorrectionCommand::SpellingCorrectionCommand):
+        * editing/TextCheckingHelper.cpp:
+        (WebCore::expandToParagraphBoundary):
+        (WebCore::TextCheckingParagraph::offsetTo):
+        (WebCore::TextCheckingParagraph::offsetAsRange):
+        (WebCore::TextCheckingHelper::findFirstMisspelling):
+        (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
+        (WebCore::TextCheckingHelper::findFirstGrammarDetail):
+        (WebCore::TextCheckingHelper::isUngrammatical):
+        (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
+        * editing/TextIterator.cpp:
+        (WebCore::TextIterator::TextIterator):
+        (WebCore::TextIterator::node):
+        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
+        (WebCore::CharacterIterator::range):
+        (WebCore::characterSubrange):
+        (WebCore::BackwardsCharacterIterator::range):
+        (WebCore::TextIterator::rangeFromLocationAndLength):
+        (WebCore::TextIterator::getLocationAndLengthFromRange):
+        (WebCore::collapsedToBoundary):
+        (WebCore::findPlainText):
+        (WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator): Deleted.
+        (WebCore::BackwardsCharacterIterator::advance): Deleted.
+        (WebCore::plainText): Deleted.
+        * editing/VisibleUnits.cpp:
+        (WebCore::previousBoundary):
+        * editing/cocoa/HTMLConverter.mm:
+        (HTMLConverter::_processText):
+        (HTMLConverter::_traverseNode):
+        (HTMLConverter::_traverseFooterNode):
+        (HTMLConverterCaches::cacheAncestorsOfStartToBeConverted):
+        (WebCore::editingAttributedStringFromRange):
+        * editing/mac/EditorMac.mm:
+        (WebCore::Editor::adjustedSelectionRange):
+        * editing/markup.cpp:
+        (WebCore::StyledMarkupAccumulator::renderedText):
+        (WebCore::StyledMarkupAccumulator::stringValueForRange):
+        (WebCore::highestAncestorToWrapMarkup):
+        (WebCore::createMarkupInternal):
+        (WebCore::createFullMarkup):
+        (WebCore::urlToMarkup): Deleted.
+        * loader/archive/cf/LegacyWebArchive.cpp:
+        (WebCore::LegacyWebArchive::create):
+        * page/ContextMenuController.cpp:
+        (WebCore::ContextMenuController::contextMenuItemSelected):
+        * page/DOMSelection.cpp:
+        (WebCore::DOMSelection::deleteFromDocument):
+        (WebCore::DOMSelection::containsNode):
+        * page/TextIndicator.cpp:
+        (WebCore::TextIndicator::createWithRange):
+        * page/ios/FrameIOS.mm:
+        (WebCore::Frame::indexCountOfWordPrecedingSelection):
+        (WebCore::Frame::wordsInCurrentParagraph):
+        * platform/win/PasteboardWin.cpp:
+        (WebCore::Pasteboard::writeRangeToDataObject):
+        (WebCore::Pasteboard::writeSelection):
+        * rendering/RenderNamedFlowThread.cpp:
+        (WebCore::RenderNamedFlowThread::getRanges):
+        * rendering/RenderObject.cpp:
+        (WebCore::RenderObject::absoluteBoundingBoxRectForRange):
+
</ins><span class="cx"> 2015-08-31  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [Cocoa] Unify showGlyphsWithAdvances
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityObject.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityObject.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/accessibility/AccessibilityObject.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -730,7 +730,7 @@
</span><span class="cx">     
</span><span class="cx">     RefPtr&lt;Range&gt; selectedStringRange = selectionRange();
</span><span class="cx">     // When starting our search again, make this a zero length range so that search forwards will find this selected range if its appropriate.
</span><del>-    selectedStringRange-&gt;setEnd(selectedStringRange-&gt;startContainer(), selectedStringRange-&gt;startOffset());
</del><ins>+    selectedStringRange-&gt;setEnd(&amp;selectedStringRange-&gt;startContainer(), selectedStringRange-&gt;startOffset());
</ins><span class="cx">     
</span><span class="cx">     RefPtr&lt;Range&gt; closestAfterStringRange = nullptr;
</span><span class="cx">     RefPtr&lt;Range&gt; closestBeforeStringRange = nullptr;
</span><span class="lines">@@ -745,7 +745,7 @@
</span><span class="cx">     if (RefPtr&lt;Range&gt; closestStringRange = rangeClosestToRange(selectedStringRange.get(), closestAfterStringRange, closestBeforeStringRange)) {
</span><span class="cx">         // If the search started within a text control, ensure that the result is inside that element.
</span><span class="cx">         if (element() &amp;&amp; element()-&gt;isTextFormControl()) {
</span><del>-            if (!closestStringRange-&gt;startContainer()-&gt;isDescendantOrShadowDescendantOf(element()) || !closestStringRange-&gt;endContainer()-&gt;isDescendantOrShadowDescendantOf(element()))
</del><ins>+            if (!closestStringRange-&gt;startContainer().isDescendantOrShadowDescendantOf(element()) || !closestStringRange-&gt;endContainer().isDescendantOrShadowDescendantOf(element()))
</ins><span class="cx">                 return String();
</span><span class="cx">         }
</span><span class="cx">         
</span><span class="lines">@@ -1258,10 +1258,10 @@
</span><span class="cx">             it.appendTextToStringBuilder(builder);
</span><span class="cx">         } else {
</span><span class="cx">             // locate the node and starting offset for this replaced range
</span><del>-            Node* node = it.range()-&gt;startContainer();
-            ASSERT(node == it.range()-&gt;endContainer());
</del><ins>+            Node&amp; node = it.range()-&gt;startContainer();
+            ASSERT(&amp;node == &amp;it.range()-&gt;endContainer());
</ins><span class="cx">             int offset = it.range()-&gt;startOffset();
</span><del>-            if (replacedNodeNeedsCharacter(node-&gt;traverseToChildAt(offset)))
</del><ins>+            if (replacedNodeNeedsCharacter(node.traverseToChildAt(offset)))
</ins><span class="cx">                 builder.append(objectReplacementCharacter);
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -1283,13 +1283,12 @@
</span><span class="cx">             length += it.text().length();
</span><span class="cx">         else {
</span><span class="cx">             // locate the node and starting offset for this replaced range
</span><del>-            int exception = 0;
-            Node* node = it.range()-&gt;startContainer(exception);
-            ASSERT(node == it.range()-&gt;endContainer(exception));
-            int offset = it.range()-&gt;startOffset(exception);
</del><ins>+            Node&amp; node = it.range()-&gt;startContainer();
+            ASSERT(&amp;node == &amp;it.range()-&gt;endContainer());
+            int offset = it.range()-&gt;startOffset();
</ins><span class="cx"> 
</span><del>-            if (replacedNodeNeedsCharacter(node-&gt;traverseToChildAt(offset)))
-                length++;
</del><ins>+            if (replacedNodeNeedsCharacter(node.traverseToChildAt(offset)))
+                ++length;
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityatkWebKitAccessibleUtilcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/atk/WebKitAccessibleUtil.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/atk/WebKitAccessibleUtil.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/accessibility/atk/WebKitAccessibleUtil.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -162,8 +162,8 @@
</span><span class="cx">     Node* node = coreObject-&gt;node();
</span><span class="cx">     Node* lastDescendant = node-&gt;lastDescendant();
</span><span class="cx">     return (range-&gt;intersectsNode(node, IGNORE_EXCEPTION)
</span><del>-        &amp;&amp; (range-&gt;endContainer() != node || range-&gt;endOffset())
-        &amp;&amp; (range-&gt;startContainer() != lastDescendant || range-&gt;startOffset() != lastOffsetInNode(lastDescendant)));
</del><ins>+        &amp;&amp; (&amp;range-&gt;endContainer() != node || range-&gt;endOffset())
+        &amp;&amp; (&amp;range-&gt;startContainer() != lastDescendant || range-&gt;startOffset() != lastOffsetInNode(lastDescendant)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityiosWebAccessibilityObjectWrapperIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1907,25 +1907,24 @@
</span><span class="cx">     TextIterator it(makeRange(startVisiblePosition, endVisiblePosition).get());
</span><span class="cx">     for (; !it.atEnd(); it.advance()) {
</span><span class="cx">         // locate the node and starting offset for this range
</span><del>-        int exception = 0;
-        Node* node = it.range()-&gt;startContainer(exception);
-        ASSERT(node == it.range()-&gt;endContainer(exception));
-        int offset = it.range()-&gt;startOffset(exception);
</del><ins>+        Node&amp; node = it.range()-&gt;startContainer();
+        ASSERT(&amp;node == &amp;it.range()-&gt;endContainer());
+        int offset = it.range()-&gt;startOffset();
</ins><span class="cx">         
</span><span class="cx">         // non-zero length means textual node, zero length means replaced node (AKA &quot;attachments&quot; in AX)
</span><span class="cx">         if (it.text().length() != 0) {
</span><span class="cx">             if (!attributed) {
</span><span class="cx">                 // First check if this is represented by a link.
</span><del>-                AccessibilityObject* linkObject = AccessibilityObject::anchorElementForNode(node);
</del><ins>+                AccessibilityObject* linkObject = AccessibilityObject::anchorElementForNode(&amp;node);
</ins><span class="cx">                 if ([self _addAccessibilityObject:linkObject toTextMarkerArray:array])
</span><span class="cx">                     continue;
</span><span class="cx">                 
</span><span class="cx">                 // Next check if this region is represented by a heading.
</span><del>-                AccessibilityObject* headingObject = AccessibilityObject::headingElementForNode(node);
</del><ins>+                AccessibilityObject* headingObject = AccessibilityObject::headingElementForNode(&amp;node);
</ins><span class="cx">                 if ([self _addAccessibilityObject:headingObject toTextMarkerArray:array])
</span><span class="cx">                     continue;
</span><span class="cx">                 
</span><del>-                String listMarkerText = m_object-&gt;listMarkerTextForNodeAndPosition(node, VisiblePosition(it.range()-&gt;startPosition())); 
</del><ins>+                String listMarkerText = m_object-&gt;listMarkerTextForNodeAndPosition(&amp;node, VisiblePosition(it.range()-&gt;startPosition()));
</ins><span class="cx">                 
</span><span class="cx">                 if (!listMarkerText.isEmpty()) 
</span><span class="cx">                     [array addObject:listMarkerText];
</span><span class="lines">@@ -1934,22 +1933,22 @@
</span><span class="cx">             }
</span><span class="cx">             else
</span><span class="cx">             {
</span><del>-                String listMarkerText = m_object-&gt;listMarkerTextForNodeAndPosition(node, VisiblePosition(it.range()-&gt;startPosition())); 
</del><ins>+                String listMarkerText = m_object-&gt;listMarkerTextForNodeAndPosition(&amp;node, VisiblePosition(it.range()-&gt;startPosition()));
</ins><span class="cx"> 
</span><span class="cx">                 if (!listMarkerText.isEmpty()) {
</span><span class="cx">                     NSMutableAttributedString* attrString = [[NSMutableAttributedString alloc] init];
</span><del>-                    AXAttributedStringAppendText(attrString, node, listMarkerText);
</del><ins>+                    AXAttributedStringAppendText(attrString, &amp;node, listMarkerText);
</ins><span class="cx">                     [array addObject:attrString];
</span><span class="cx">                     [attrString release];
</span><span class="cx">                 }
</span><span class="cx">                 
</span><span class="cx">                 NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] init];
</span><del>-                AXAttributedStringAppendText(attrString, node, it.text().createNSStringWithoutCopying().get());
</del><ins>+                AXAttributedStringAppendText(attrString, &amp;node, it.text().createNSStringWithoutCopying().get());
</ins><span class="cx">                 [array addObject:attrString];
</span><span class="cx">                 [attrString release];
</span><span class="cx">             }
</span><span class="cx">         } else {
</span><del>-            Node* replacedNode = node-&gt;traverseToChildAt(offset);
</del><ins>+            Node* replacedNode = node.traverseToChildAt(offset);
</ins><span class="cx">             if (replacedNode) {
</span><span class="cx">                 AccessibilityObject* obj = m_object-&gt;axObjectCache()-&gt;getOrCreate(replacedNode-&gt;renderer());
</span><span class="cx">                 if (obj &amp;&amp; !obj-&gt;accessibilityIsIgnored())
</span><span class="lines">@@ -1963,7 +1962,7 @@
</span><span class="cx"> 
</span><span class="cx"> - (NSRange)_convertToNSRange:(Range *)range
</span><span class="cx"> {
</span><del>-    if (!range || !range-&gt;startContainer())
</del><ins>+    if (!range)
</ins><span class="cx">         return NSMakeRange(NSNotFound, 0);
</span><span class="cx">     
</span><span class="cx">     Document* document = m_object-&gt;document();
</span><span class="lines">@@ -1973,18 +1972,18 @@
</span><span class="cx">     // Mouse events may cause TSM to attempt to create an NSRange for a portion of the view
</span><span class="cx">     // that is not inside the current editable region.  These checks ensure we don't produce
</span><span class="cx">     // potentially invalid data when responding to such requests.
</span><del>-    if (range-&gt;startContainer() != scope &amp;&amp; !range-&gt;startContainer()-&gt;isDescendantOf(scope))
</del><ins>+    if (&amp;range-&gt;startContainer() != scope &amp;&amp; !range-&gt;startContainer().isDescendantOf(scope))
</ins><span class="cx">         return NSMakeRange(NSNotFound, 0);
</span><del>-    if (range-&gt;endContainer() != scope &amp;&amp; !range-&gt;endContainer()-&gt;isDescendantOf(scope))
</del><ins>+    if (&amp;range-&gt;endContainer() != scope &amp;&amp; !range-&gt;endContainer().isDescendantOf(scope))
</ins><span class="cx">         return NSMakeRange(NSNotFound, 0);
</span><span class="cx">     
</span><del>-    RefPtr&lt;Range&gt; testRange = Range::create(scope-&gt;document(), scope, 0, range-&gt;startContainer(), range-&gt;startOffset());
-    ASSERT(testRange-&gt;startContainer() == scope);
</del><ins>+    RefPtr&lt;Range&gt; testRange = Range::create(scope-&gt;document(), scope, 0, &amp;range-&gt;startContainer(), range-&gt;startOffset());
+    ASSERT(&amp;testRange-&gt;startContainer() == scope);
</ins><span class="cx">     int startPosition = TextIterator::rangeLength(testRange.get());
</span><span class="cx">     
</span><span class="cx">     ExceptionCode ec;
</span><del>-    testRange-&gt;setEnd(range-&gt;endContainer(), range-&gt;endOffset(), ec);
-    ASSERT(testRange-&gt;startContainer() == scope);
</del><ins>+    testRange-&gt;setEnd(&amp;range-&gt;endContainer(), range-&gt;endOffset(), ec);
+    ASSERT(&amp;testRange-&gt;startContainer() == scope);
</ins><span class="cx">     int endPosition = TextIterator::rangeLength(testRange.get());
</span><span class="cx">     return NSMakeRange(startPosition, endPosition - startPosition);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilitymacWebAccessibilityObjectWrapperMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1137,20 +1137,19 @@
</span><span class="cx">     TextIterator it(makeRange(startVisiblePosition, endVisiblePosition).get());
</span><span class="cx">     while (!it.atEnd()) {
</span><span class="cx">         // locate the node and starting offset for this range
</span><del>-        int exception = 0;
-        Node* node = it.range()-&gt;startContainer(exception);
-        ASSERT(node == it.range()-&gt;endContainer(exception));
-        int offset = it.range()-&gt;startOffset(exception);
</del><ins>+        Node&amp; node = it.range()-&gt;startContainer();
+        ASSERT(&amp;node == &amp;it.range()-&gt;endContainer());
+        int offset = it.range()-&gt;startOffset();
</ins><span class="cx">         
</span><span class="cx">         // non-zero length means textual node, zero length means replaced node (AKA &quot;attachments&quot; in AX)
</span><span class="cx">         if (it.text().length()) {
</span><span class="cx">             // Add the text of the list marker item if necessary.
</span><del>-            String listMarkerText = m_object-&gt;listMarkerTextForNodeAndPosition(node, VisiblePosition(it.range()-&gt;startPosition()));
</del><ins>+            String listMarkerText = m_object-&gt;listMarkerTextForNodeAndPosition(&amp;node, VisiblePosition(it.range()-&gt;startPosition()));
</ins><span class="cx">             if (!listMarkerText.isEmpty())
</span><del>-                AXAttributedStringAppendText(attrString, node, listMarkerText);
-            AXAttributedStringAppendText(attrString, node, it.text());
</del><ins>+                AXAttributedStringAppendText(attrString, &amp;node, listMarkerText);
+            AXAttributedStringAppendText(attrString, &amp;node, it.text());
</ins><span class="cx">         } else {
</span><del>-            Node* replacedNode = node-&gt;traverseToChildAt(offset);
</del><ins>+            Node* replacedNode = node.traverseToChildAt(offset);
</ins><span class="cx">             NSString *attachmentString = nsStringForReplacedNode(replacedNode);
</span><span class="cx">             if (attachmentString) {
</span><span class="cx">                 NSRange attrStringRange = NSMakeRange([attrString length], [attachmentString length]);
</span><span class="lines">@@ -3544,7 +3543,7 @@
</span><span class="cx"> - (NSRange)_convertToNSRange:(Range*)range
</span><span class="cx"> {
</span><span class="cx">     NSRange result = NSMakeRange(NSNotFound, 0);
</span><del>-    if (!range || !range-&gt;startContainer())
</del><ins>+    if (!range)
</ins><span class="cx">         return result;
</span><span class="cx">     
</span><span class="cx">     Document* document = m_object-&gt;document();
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorGObjectpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1014,7 +1014,9 @@
</span><span class="cx">     my $functionName = shift;
</span><span class="cx"> 
</span><span class="cx">     return $functionName eq &quot;webkit_dom_document_create_node_iterator&quot;
</span><del>-        || $functionName eq &quot;webkit_dom_document_create_tree_walker&quot;;
</del><ins>+        || $functionName eq &quot;webkit_dom_document_create_tree_walker&quot;
+        || $functionName eq &quot;webkit_dom_node_iterator_next_node&quot;
+        || $functionName eq &quot;webkit_dom_node_iterator_previous_node&quot;;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub GenerateFunction {
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentMarkerControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DocumentMarkerController.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DocumentMarkerController.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/dom/DocumentMarkerController.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx">     // Use a TextIterator to visit the potentially multiple nodes the range covers.
</span><span class="cx">     for (TextIterator markedText(range); !markedText.atEnd(); markedText.advance()) {
</span><span class="cx">         RefPtr&lt;Range&gt; textPiece = markedText.range();
</span><del>-        addMarker(textPiece-&gt;startContainer(), DocumentMarker(type, textPiece-&gt;startOffset(), textPiece-&gt;endOffset(), description));
</del><ins>+        addMarker(&amp;textPiece-&gt;startContainer(), DocumentMarker(type, textPiece-&gt;startOffset(), textPiece-&gt;endOffset(), description));
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -71,7 +71,7 @@
</span><span class="cx">     // Use a TextIterator to visit the potentially multiple nodes the range covers.
</span><span class="cx">     for (TextIterator markedText(range); !markedText.atEnd(); markedText.advance()) {
</span><span class="cx">         RefPtr&lt;Range&gt; textPiece = markedText.range();
</span><del>-        addMarker(textPiece-&gt;startContainer(), DocumentMarker(type, textPiece-&gt;startOffset(), textPiece-&gt;endOffset()));
</del><ins>+        addMarker(&amp;textPiece-&gt;startContainer(), DocumentMarker(type, textPiece-&gt;startOffset(), textPiece-&gt;endOffset()));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> }
</span><span class="lines">@@ -94,14 +94,13 @@
</span><span class="cx">         RefPtr&lt;Range&gt; textPiece = markedText.range();
</span><span class="cx">         unsigned startOffset = textPiece-&gt;startOffset();
</span><span class="cx">         unsigned endOffset = textPiece-&gt;endOffset();
</span><del>-        addMarker(textPiece-&gt;startContainer(), DocumentMarker(startOffset, endOffset, activeMatch));
</del><ins>+        addMarker(&amp;textPiece-&gt;startContainer(), DocumentMarker(startOffset, endOffset, activeMatch));
</ins><span class="cx">         if (endOffset &gt; startOffset) {
</span><span class="cx">             // Rendered rects for markers in WebKit are not populated until each time
</span><span class="cx">             // the markers are painted. However, we need it to happen sooner, because
</span><span class="cx">             // the whole purpose of tickmarks on the scrollbar is to show where
</span><span class="cx">             // matches off-screen are (that haven't been painted yet).
</span><del>-            Node* node = textPiece-&gt;startContainer();
-            Vector&lt;RenderedDocumentMarker*&gt; markers = markersFor(node);
</del><ins>+            Vector&lt;RenderedDocumentMarker*&gt; markers = markersFor(&amp;textPiece-&gt;startContainer());
</ins><span class="cx">             markers[markers.size() - 1]-&gt;addRenderedRect(range-&gt;absoluteBoundingBox());
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -113,7 +112,7 @@
</span><span class="cx">     // Use a TextIterator to visit the potentially multiple nodes the range covers.
</span><span class="cx">     for (TextIterator markedText(range); !markedText.atEnd(); markedText.advance()) {
</span><span class="cx">         RefPtr&lt;Range&gt; textPiece = markedText.range();
</span><del>-        addMarker(textPiece-&gt;startContainer(), DocumentMarker(type, textPiece-&gt;startOffset(), textPiece-&gt;endOffset(), description, interpretations, metadata));
</del><ins>+        addMarker(&amp;textPiece-&gt;startContainer(), DocumentMarker(type, textPiece-&gt;startOffset(), textPiece-&gt;endOffset(), description, interpretations, metadata));
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -130,7 +129,7 @@
</span><span class="cx">         DocumentMarker marker(DocumentMarker::DictationPhraseWithAlternatives, textPiece-&gt;startOffset(), textPiece-&gt;endOffset(), &quot;&quot;, Vector&lt;String&gt;(numberOfAlternatives), RetainPtr&lt;id&gt;());
</span><span class="cx">         for (size_t i = 0; i &lt; numberOfAlternatives; ++i)
</span><span class="cx">             marker.setAlternative(interpretations[i + 1], i);
</span><del>-        addMarker(textPiece-&gt;startContainer(), marker);
</del><ins>+        addMarker(&amp;textPiece-&gt;startContainer(), marker);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -139,7 +138,7 @@
</span><span class="cx">     // Use a TextIterator to visit the potentially multiple nodes the range covers.
</span><span class="cx">     for (TextIterator markedText(range); !markedText.atEnd(); markedText.advance()) {
</span><span class="cx">         RefPtr&lt;Range&gt; textPiece = markedText.range();
</span><del>-        addMarker(textPiece-&gt;startContainer(), DocumentMarker(DocumentMarker::DictationResult, textPiece-&gt;startOffset(), textPiece-&gt;endOffset(), String(), Vector&lt;String&gt;(), metadata));
</del><ins>+        addMarker(&amp;textPiece-&gt;startContainer(), DocumentMarker(DocumentMarker::DictationResult, textPiece-&gt;startOffset(), textPiece-&gt;endOffset(), String(), Vector&lt;String&gt;(), metadata));
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="lines">@@ -154,7 +153,7 @@
</span><span class="cx">         RefPtr&lt;Range&gt; textPiece = markedText.range();
</span><span class="cx">         int startOffset = textPiece-&gt;startOffset();
</span><span class="cx">         int endOffset = textPiece-&gt;endOffset();
</span><del>-        removeMarkers(textPiece-&gt;startContainer(), startOffset, endOffset - startOffset, markerTypes, shouldRemovePartiallyOverlappingMarker);
</del><ins>+        removeMarkers(&amp;textPiece-&gt;startContainer(), startOffset, endOffset - startOffset, markerTypes, shouldRemovePartiallyOverlappingMarker);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -398,19 +397,17 @@
</span><span class="cx"> 
</span><span class="cx">     Vector&lt;RenderedDocumentMarker*&gt; foundMarkers;
</span><span class="cx"> 
</span><del>-    Node* startContainer = range-&gt;startContainer();
-    ASSERT(startContainer);
-    Node* endContainer = range-&gt;endContainer();
-    ASSERT(endContainer);
</del><ins>+    Node&amp; startContainer = range-&gt;startContainer();
+    Node&amp; endContainer = range-&gt;endContainer();
</ins><span class="cx"> 
</span><span class="cx">     Node* pastLastNode = range-&gt;pastLastNode();
</span><span class="cx">     for (Node* node = range-&gt;firstNode(); node != pastLastNode; node = NodeTraversal::next(*node)) {
</span><span class="cx">         for (auto* marker : markersFor(node)) {
</span><span class="cx">             if (!markerTypes.contains(marker-&gt;type()))
</span><span class="cx">                 continue;
</span><del>-            if (node == startContainer &amp;&amp; marker-&gt;endOffset() &lt;= static_cast&lt;unsigned&gt;(range-&gt;startOffset()))
</del><ins>+            if (node == &amp;startContainer &amp;&amp; marker-&gt;endOffset() &lt;= static_cast&lt;unsigned&gt;(range-&gt;startOffset()))
</ins><span class="cx">                 continue;
</span><del>-            if (node == endContainer &amp;&amp; marker-&gt;startOffset() &gt;= static_cast&lt;unsigned&gt;(range-&gt;endOffset()))
</del><ins>+            if (node == &amp;endContainer &amp;&amp; marker-&gt;startOffset() &gt;= static_cast&lt;unsigned&gt;(range-&gt;endOffset()))
</ins><span class="cx">                 continue;
</span><span class="cx">             foundMarkers.append(marker);
</span><span class="cx">         }
</span><span class="lines">@@ -621,14 +618,14 @@
</span><span class="cx">         return;
</span><span class="cx">     ASSERT(!m_markers.isEmpty());
</span><span class="cx"> 
</span><del>-    Node* startContainer = range-&gt;startContainer();
-    Node* endContainer = range-&gt;endContainer();
</del><ins>+    Node&amp; startContainer = range-&gt;startContainer();
+    Node&amp; endContainer = range-&gt;endContainer();
</ins><span class="cx"> 
</span><span class="cx">     Node* pastLastNode = range-&gt;pastLastNode();
</span><span class="cx"> 
</span><span class="cx">     for (Node* node = range-&gt;firstNode(); node != pastLastNode; node = NodeTraversal::next(*node)) {
</span><del>-        int startOffset = node == startContainer ? range-&gt;startOffset() : 0;
-        int endOffset = node == endContainer ? range-&gt;endOffset() : INT_MAX;
</del><ins>+        int startOffset = node == &amp;startContainer ? range-&gt;startOffset() : 0;
+        int endOffset = node == &amp;endContainer ? range-&gt;endOffset() : INT_MAX;
</ins><span class="cx">         setMarkersActive(node, startOffset, endOffset, active);
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="lines">@@ -666,19 +663,17 @@
</span><span class="cx">         return false;
</span><span class="cx">     ASSERT(!m_markers.isEmpty());
</span><span class="cx"> 
</span><del>-    Node* startContainer = range-&gt;startContainer();
-    ASSERT(startContainer);
-    Node* endContainer = range-&gt;endContainer();
-    ASSERT(endContainer);
</del><ins>+    Node&amp; startContainer = range-&gt;startContainer();
+    Node&amp; endContainer = range-&gt;endContainer();
</ins><span class="cx"> 
</span><span class="cx">     Node* pastLastNode = range-&gt;pastLastNode();
</span><span class="cx">     for (Node* node = range-&gt;firstNode(); node != pastLastNode; node = NodeTraversal::next(*node)) {
</span><span class="cx">         for (auto* marker : markersFor(node)) {
</span><span class="cx">             if (!markerTypes.contains(marker-&gt;type()))
</span><span class="cx">                 continue;
</span><del>-            if (node == startContainer &amp;&amp; marker-&gt;endOffset() &lt;= static_cast&lt;unsigned&gt;(range-&gt;startOffset()))
</del><ins>+            if (node == &amp;startContainer &amp;&amp; marker-&gt;endOffset() &lt;= static_cast&lt;unsigned&gt;(range-&gt;startOffset()))
</ins><span class="cx">                 continue;
</span><del>-            if (node == endContainer &amp;&amp; marker-&gt;startOffset() &gt;= static_cast&lt;unsigned&gt;(range-&gt;endOffset()))
</del><ins>+            if (node == &amp;endContainer &amp;&amp; marker-&gt;startOffset() &gt;= static_cast&lt;unsigned&gt;(range-&gt;endOffset()))
</ins><span class="cx">                 continue;
</span><span class="cx">             return true;
</span><span class="cx">         }
</span><span class="lines">@@ -692,13 +687,13 @@
</span><span class="cx">         return;
</span><span class="cx">     ASSERT(!m_markers.isEmpty());
</span><span class="cx"> 
</span><del>-    Node* startContainer = range-&gt;startContainer();
-    Node* endContainer = range-&gt;endContainer();
</del><ins>+    Node&amp; startContainer = range-&gt;startContainer();
+    Node&amp; endContainer = range-&gt;endContainer();
</ins><span class="cx"> 
</span><span class="cx">     Node* pastLastNode = range-&gt;pastLastNode();
</span><span class="cx">     for (Node* node = range-&gt;firstNode(); node != pastLastNode; node = NodeTraversal::next(*node)) {
</span><del>-        unsigned startOffset = node == startContainer ? range-&gt;startOffset() : 0;
-        unsigned endOffset = node == endContainer ? static_cast&lt;unsigned&gt;(range-&gt;endOffset()) : std::numeric_limits&lt;unsigned&gt;::max();
</del><ins>+        unsigned startOffset = node == &amp;startContainer ? range-&gt;startOffset() : 0;
+        unsigned endOffset = node == &amp;endContainer ? static_cast&lt;unsigned&gt;(range-&gt;endOffset()) : std::numeric_limits&lt;unsigned&gt;::max();
</ins><span class="cx">         MarkerList* list = m_markers.get(node);
</span><span class="cx">         if (!list)
</span><span class="cx">             continue;
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodeIteratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/NodeIterator.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/NodeIterator.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/dom/NodeIterator.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -79,7 +79,6 @@
</span><span class="cx"> NodeIterator::NodeIterator(PassRefPtr&lt;Node&gt; rootNode, unsigned long whatToShow, PassRefPtr&lt;NodeFilter&gt; filter, bool expandEntityReferences)
</span><span class="cx">     : NodeIteratorBase(rootNode, whatToShow, filter, expandEntityReferences)
</span><span class="cx">     , m_referenceNode(root(), true)
</span><del>-    , m_detached(false)
</del><span class="cx"> {
</span><span class="cx">     root()-&gt;document().attachNodeIterator(this);
</span><span class="cx"> }
</span><span class="lines">@@ -89,13 +88,8 @@
</span><span class="cx">     root()-&gt;document().detachNodeIterator(this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Node&gt; NodeIterator::nextNode(JSC::ExecState* state, ExceptionCode&amp; ec)
</del><ins>+RefPtr&lt;Node&gt; NodeIterator::nextNode(JSC::ExecState* state)
</ins><span class="cx"> {
</span><del>-    if (m_detached) {
-        ec = INVALID_STATE_ERR;
-        return 0;
-    }
-
</del><span class="cx">     RefPtr&lt;Node&gt; result;
</span><span class="cx"> 
</span><span class="cx">     m_candidateNode = m_referenceNode;
</span><span class="lines">@@ -115,16 +109,11 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     m_candidateNode.clear();
</span><del>-    return result.release();
</del><ins>+    return result;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Node&gt; NodeIterator::previousNode(JSC::ExecState* state, ExceptionCode&amp; ec)
</del><ins>+RefPtr&lt;Node&gt; NodeIterator::previousNode(JSC::ExecState* state)
</ins><span class="cx"> {
</span><del>-    if (m_detached) {
-        ec = INVALID_STATE_ERR;
-        return 0;
-    }
-
</del><span class="cx">     RefPtr&lt;Node&gt; result;
</span><span class="cx"> 
</span><span class="cx">     m_candidateNode = m_referenceNode;
</span><span class="lines">@@ -144,14 +133,12 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     m_candidateNode.clear();
</span><del>-    return result.release();
</del><ins>+    return result;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void NodeIterator::detach()
</span><span class="cx"> {
</span><del>-    root()-&gt;document().detachNodeIterator(this);
-    m_detached = true;
-    m_referenceNode.node = nullptr;
</del><ins>+    // This is now a no-op as per the DOM specification.
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void NodeIterator::nodeWillBeRemoved(Node&amp; removedNode)
</span><span class="lines">@@ -162,7 +149,6 @@
</span><span class="cx"> 
</span><span class="cx"> void NodeIterator::updateForNodeRemoval(Node&amp; removedNode, NodePointer&amp; referenceNode) const
</span><span class="cx"> {
</span><del>-    ASSERT(!m_detached);
</del><span class="cx">     ASSERT(&amp;root()-&gt;document() == &amp;removedNode.document());
</span><span class="cx"> 
</span><span class="cx">     // Iterator is not affected if the removed node is the reference node and is the root.
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodeIteratorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/NodeIterator.h (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/NodeIterator.h        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/dom/NodeIterator.h        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -43,8 +43,8 @@
</span><span class="cx">         }
</span><span class="cx">         ~NodeIterator();
</span><span class="cx"> 
</span><del>-        PassRefPtr&lt;Node&gt; nextNode(JSC::ExecState*, ExceptionCode&amp;);
-        PassRefPtr&lt;Node&gt; previousNode(JSC::ExecState*, ExceptionCode&amp;);
</del><ins>+        RefPtr&lt;Node&gt; nextNode(JSC::ExecState*);
+        RefPtr&lt;Node&gt; previousNode(JSC::ExecState*);
</ins><span class="cx">         void detach();
</span><span class="cx"> 
</span><span class="cx">         Node* referenceNode() const { return m_referenceNode.node.get(); }
</span><span class="lines">@@ -55,8 +55,8 @@
</span><span class="cx"> 
</span><span class="cx">         // Do not call these functions. They are just scaffolding to support the Objective-C bindings.
</span><span class="cx">         // They operate in the main thread normal world, and they swallow JS exceptions.
</span><del>-        PassRefPtr&lt;Node&gt; nextNode(ExceptionCode&amp; ec) { return nextNode(execStateFromNode(mainThreadNormalWorld(), referenceNode()), ec); }
-        PassRefPtr&lt;Node&gt; previousNode(ExceptionCode&amp; ec) { return previousNode(execStateFromNode(mainThreadNormalWorld(), referenceNode()), ec); }
</del><ins>+        RefPtr&lt;Node&gt; nextNode() { return nextNode(execStateFromNode(mainThreadNormalWorld(), referenceNode())); }
+        RefPtr&lt;Node&gt; previousNode() { return previousNode(execStateFromNode(mainThreadNormalWorld(), referenceNode())); }
</ins><span class="cx"> 
</span><span class="cx">     private:
</span><span class="cx">         NodeIterator(PassRefPtr&lt;Node&gt;, unsigned long whatToShow, PassRefPtr&lt;NodeFilter&gt;, bool expandEntityReferences);
</span><span class="lines">@@ -75,7 +75,6 @@
</span><span class="cx"> 
</span><span class="cx">         NodePointer m_referenceNode;
</span><span class="cx">         NodePointer m_candidateNode;
</span><del>-        bool m_detached;
</del><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodeIteratoridl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/NodeIterator.idl (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/NodeIterator.idl        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/dom/NodeIterator.idl        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -30,8 +30,8 @@
</span><span class="cx">     readonly attribute Node referenceNode;
</span><span class="cx">     readonly attribute boolean pointerBeforeReferenceNode;
</span><span class="cx"> 
</span><del>-    [CallWith=ScriptState, RaisesException] Node nextNode();
-    [CallWith=ScriptState, RaisesException] Node previousNode();
</del><ins>+    [CallWith=ScriptState] Node nextNode();
+    [CallWith=ScriptState] Node previousNode();
</ins><span class="cx">     void detach();
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomRangecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Range.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Range.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/dom/Range.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -132,56 +132,6 @@
</span><span class="cx">     m_ownerDocument-&gt;attachRange(this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Node* Range::startContainer(ExceptionCode&amp; ec) const
-{
-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return 0;
-    }
-
-    return m_start.container();
-}
-
-int Range::startOffset(ExceptionCode&amp; ec) const
-{
-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return 0;
-    }
-
-    return m_start.offset();
-}
-
-Node* Range::endContainer(ExceptionCode&amp; ec) const
-{
-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return 0;
-    }
-
-    return m_end.container();
-}
-
-int Range::endOffset(ExceptionCode&amp; ec) const
-{
-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return 0;
-    }
-
-    return m_end.offset();
-}
-
-Node* Range::commonAncestorContainer(ExceptionCode&amp; ec) const
-{
-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return 0;
-    }
-
-    return commonAncestorContainer(m_start.container(), m_end.container());
-}
-
</del><span class="cx"> Node* Range::commonAncestorContainer(Node* containerA, Node* containerB)
</span><span class="cx"> {
</span><span class="cx">     for (Node* parentA = containerA; parentA; parentA = parentA-&gt;parentNode()) {
</span><span class="lines">@@ -190,19 +140,9 @@
</span><span class="cx">                 return parentA;
</span><span class="cx">         }
</span><span class="cx">     }
</span><del>-    return 0;
</del><ins>+    return nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool Range::collapsed(ExceptionCode&amp; ec) const
-{
-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return 0;
-    }
-
-    return m_start == m_end;
-}
-
</del><span class="cx"> static inline bool checkForDifferentRootContainer(const RangeBoundaryPoint&amp; start, const RangeBoundaryPoint&amp; end)
</span><span class="cx"> {
</span><span class="cx">     Node* endRootContainer = end.container();
</span><span class="lines">@@ -217,11 +157,6 @@
</span><span class="cx"> 
</span><span class="cx"> void Range::setStart(PassRefPtr&lt;Node&gt; refNode, int offset, ExceptionCode&amp; ec)
</span><span class="cx"> {
</span><del>-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return;
-    }
-
</del><span class="cx">     if (!refNode) {
</span><span class="cx">         ec = NOT_FOUND_ERR;
</span><span class="cx">         return;
</span><span class="lines">@@ -241,16 +176,11 @@
</span><span class="cx">     m_start.set(refNode, offset, childNode);
</span><span class="cx"> 
</span><span class="cx">     if (didMoveDocument || checkForDifferentRootContainer(m_start, m_end))
</span><del>-        collapse(true, ec);
</del><ins>+        collapse(true);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Range::setEnd(PassRefPtr&lt;Node&gt; refNode, int offset, ExceptionCode&amp; ec)
</span><span class="cx"> {
</span><del>-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return;
-    }
-
</del><span class="cx">     if (!refNode) {
</span><span class="cx">         ec = NOT_FOUND_ERR;
</span><span class="cx">         return;
</span><span class="lines">@@ -270,7 +200,7 @@
</span><span class="cx">     m_end.set(refNode, offset, childNode);
</span><span class="cx"> 
</span><span class="cx">     if (didMoveDocument || checkForDifferentRootContainer(m_start, m_end))
</span><del>-        collapse(false, ec);
</del><ins>+        collapse(false);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Range::setStart(const Position&amp; start, ExceptionCode&amp; ec)
</span><span class="lines">@@ -285,13 +215,8 @@
</span><span class="cx">     setEnd(parentAnchored.containerNode(), parentAnchored.offsetInContainerNode(), ec);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Range::collapse(bool toStart, ExceptionCode&amp; ec)
</del><ins>+void Range::collapse(bool toStart)
</ins><span class="cx"> {
</span><del>-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return;
-    }
-
</del><span class="cx">     if (toStart)
</span><span class="cx">         m_end = m_start;
</span><span class="cx">     else
</span><span class="lines">@@ -300,11 +225,6 @@
</span><span class="cx"> 
</span><span class="cx"> bool Range::isPointInRange(Node* refNode, int offset, ExceptionCode&amp; ec)
</span><span class="cx"> {
</span><del>-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return false;
-    }
-
</del><span class="cx">     if (!refNode) {
</span><span class="cx">         ec = HIERARCHY_REQUEST_ERR;
</span><span class="cx">         return false;
</span><span class="lines">@@ -319,8 +239,8 @@
</span><span class="cx">     if (ec)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    return compareBoundaryPoints(refNode, offset, m_start.container(), m_start.offset(), ec) &gt;= 0 &amp;&amp; !ec
-        &amp;&amp; compareBoundaryPoints(refNode, offset, m_end.container(), m_end.offset(), ec) &lt;= 0 &amp;&amp; !ec;
</del><ins>+    return compareBoundaryPoints(refNode, offset, &amp;startContainer(), m_start.offset(), ec) &gt;= 0 &amp;&amp; !ec
+        &amp;&amp; compareBoundaryPoints(refNode, offset, &amp;endContainer(), m_end.offset(), ec) &lt;= 0 &amp;&amp; !ec;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> short Range::comparePoint(Node* refNode, int offset, ExceptionCode&amp; ec) const
</span><span class="lines">@@ -329,11 +249,6 @@
</span><span class="cx">     // This method returns -1, 0 or 1 depending on if the point described by the 
</span><span class="cx">     // refNode node and an offset within the node is before, same as, or after the range respectively.
</span><span class="cx"> 
</span><del>-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return 0;
-    }
-
</del><span class="cx">     if (!refNode) {
</span><span class="cx">         ec = HIERARCHY_REQUEST_ERR;
</span><span class="cx">         return 0;
</span><span class="lines">@@ -350,14 +265,14 @@
</span><span class="cx">         return 0;
</span><span class="cx"> 
</span><span class="cx">     // compare to start, and point comes before
</span><del>-    if (compareBoundaryPoints(refNode, offset, m_start.container(), m_start.offset(), ec) &lt; 0)
</del><ins>+    if (compareBoundaryPoints(refNode, offset, &amp;startContainer(), m_start.offset(), ec) &lt; 0)
</ins><span class="cx">         return -1;
</span><span class="cx"> 
</span><span class="cx">     if (ec)
</span><span class="cx">         return 0;
</span><span class="cx"> 
</span><span class="cx">     // compare to end, and point comes after
</span><del>-    if (compareBoundaryPoints(refNode, offset, m_end.container(), m_end.offset(), ec) &gt; 0 &amp;&amp; !ec)
</del><ins>+    if (compareBoundaryPoints(refNode, offset, &amp;endContainer(), m_end.offset(), ec) &gt; 0 &amp;&amp; !ec)
</ins><span class="cx">         return 1;
</span><span class="cx"> 
</span><span class="cx">     // point is in the middle of this range, or on the boundary points
</span><span class="lines">@@ -374,13 +289,8 @@
</span><span class="cx">         ec = NOT_FOUND_ERR;
</span><span class="cx">         return NODE_BEFORE;
</span><span class="cx">     }
</span><del>-    
-    if (!m_start.container() &amp;&amp; refNode-&gt;inDocument()) {
-        ec = INVALID_STATE_ERR;
-        return NODE_BEFORE;
-    }
</del><span class="cx"> 
</span><del>-    if (m_start.container() &amp;&amp; !refNode-&gt;inDocument()) {
</del><ins>+    if (!refNode-&gt;inDocument()) {
</ins><span class="cx">         // Firefox doesn't throw an exception for this case; it returns 0.
</span><span class="cx">         return NODE_BEFORE;
</span><span class="cx">     }
</span><span class="lines">@@ -413,23 +323,13 @@
</span><span class="cx"> 
</span><span class="cx"> short Range::compareBoundaryPoints(CompareHow how, const Range* sourceRange, ExceptionCode&amp; ec) const
</span><span class="cx"> {
</span><del>-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return 0;
-    }
-
</del><span class="cx">     if (!sourceRange) {
</span><span class="cx">         ec = NOT_FOUND_ERR;
</span><span class="cx">         return 0;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    ec = 0;
-    Node* thisCont = commonAncestorContainer(ec);
-    if (ec)
-        return 0;
-    Node* sourceCont = sourceRange-&gt;commonAncestorContainer(ec);
-    if (ec)
-        return 0;
</del><ins>+    Node* thisCont = commonAncestorContainer();
+    Node* sourceCont = sourceRange-&gt;commonAncestorContainer();
</ins><span class="cx"> 
</span><span class="cx">     if (&amp;thisCont-&gt;document() != &amp;sourceCont-&gt;document()) {
</span><span class="cx">         ec = WRONG_DOCUMENT_ERR;
</span><span class="lines">@@ -572,7 +472,7 @@
</span><span class="cx"> bool Range::boundaryPointsValid() const
</span><span class="cx"> {
</span><span class="cx">     ExceptionCode ec = 0;
</span><del>-    return m_start.container() &amp;&amp; compareBoundaryPoints(m_start, m_end, ec) &lt;= 0 &amp;&amp; !ec;
</del><ins>+    return compareBoundaryPoints(m_start, m_end, ec) &lt;= 0 &amp;&amp; !ec;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Range::deleteContents(ExceptionCode&amp; ec)
</span><span class="lines">@@ -589,11 +489,6 @@
</span><span class="cx">     // http://developer.mozilla.org/en/docs/DOM:range.intersectsNode
</span><span class="cx">     // Returns a bool if the node intersects the range.
</span><span class="cx"> 
</span><del>-    // Throw exception if the range is already detached.
-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return false;
-    }
</del><span class="cx">     if (!refNode) {
</span><span class="cx">         ec = NOT_FOUND_ERR;
</span><span class="cx">         return false;
</span><span class="lines">@@ -681,7 +576,7 @@
</span><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;DocumentFragment&gt; Range::processContents(ActionType action, ExceptionCode&amp; ec)
</del><ins>+RefPtr&lt;DocumentFragment&gt; Range::processContents(ActionType action, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     typedef Vector&lt;RefPtr&lt;Node&gt;&gt; NodeVector;
</span><span class="cx"> 
</span><span class="lines">@@ -689,19 +584,14 @@
</span><span class="cx">     if (action == Extract || action == Clone)
</span><span class="cx">         fragment = DocumentFragment::create(ownerDocument());
</span><span class="cx"> 
</span><del>-    ec = 0;
-    if (collapsed(ec))
-        return fragment.release();
-    if (ec)
-        return 0;
</del><ins>+    if (collapsed())
+        return fragment;
</ins><span class="cx"> 
</span><del>-    RefPtr&lt;Node&gt; commonRoot = commonAncestorContainer(ec);
-    if (ec)
-        return 0;
</del><ins>+    RefPtr&lt;Node&gt; commonRoot = commonAncestorContainer();
</ins><span class="cx">     ASSERT(commonRoot);
</span><span class="cx"> 
</span><del>-    if (m_start.container() == m_end.container()) {
-        processContentsBetweenOffsets(action, fragment, m_start.container(), m_start.offset(), m_end.offset(), ec);
</del><ins>+    if (&amp;startContainer() == &amp;endContainer()) {
+        processContentsBetweenOffsets(action, fragment, &amp;startContainer(), m_start.offset(), m_end.offset(), ec);
</ins><span class="cx">         return fragment;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -740,7 +630,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;Node&gt; rightContents;
</span><del>-    if (m_end.container() != commonRoot &amp;&amp; commonRoot-&gt;contains(originalEnd.container())) {
</del><ins>+    if (&amp;endContainer() != commonRoot &amp;&amp; commonRoot-&gt;contains(originalEnd.container())) {
</ins><span class="cx">         rightContents = processContentsBetweenOffsets(action, 0, originalEnd.container(), 0, originalEnd.offset(), ec);
</span><span class="cx">         rightContents = processAncestorsAndTheirSiblings(action, originalEnd.container(), ProcessContentsBackward, rightContents, commonRoot.get(), ec);
</span><span class="cx">     }
</span><span class="lines">@@ -752,13 +642,14 @@
</span><span class="cx">     RefPtr&lt;Node&gt; processEnd = childOfCommonRootBeforeOffset(originalEnd.container(), originalEnd.offset(), commonRoot.get());
</span><span class="cx"> 
</span><span class="cx">     // Collapse the range, making sure that the result is not within a node that was partially selected.
</span><ins>+    ec = 0;
</ins><span class="cx">     if (action == Extract || action == Delete) {
</span><span class="cx">         if (partialStart &amp;&amp; commonRoot-&gt;contains(partialStart.get()))
</span><span class="cx">             setStart(partialStart-&gt;parentNode(), partialStart-&gt;computeNodeIndex() + 1, ec);
</span><span class="cx">         else if (partialEnd &amp;&amp; commonRoot-&gt;contains(partialEnd.get()))
</span><span class="cx">             setStart(partialEnd-&gt;parentNode(), partialEnd-&gt;computeNodeIndex(), ec);
</span><span class="cx">         if (ec)
</span><del>-            return 0;
</del><ins>+            return nullptr;
</ins><span class="cx">         m_end = m_start;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -778,7 +669,7 @@
</span><span class="cx">     if ((action == Extract || action == Clone) &amp;&amp; rightContents)
</span><span class="cx">         fragment-&gt;appendChild(rightContents, ec);
</span><span class="cx"> 
</span><del>-    return fragment.release();
</del><ins>+    return fragment;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline void deleteCharacterData(PassRefPtr&lt;CharacterData&gt; data, unsigned startOffset, unsigned endOffset, ExceptionCode&amp; ec)
</span><span class="lines">@@ -789,7 +680,7 @@
</span><span class="cx">         data-&gt;deleteData(0, startOffset, ec);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Node&gt; Range::processContentsBetweenOffsets(ActionType action, PassRefPtr&lt;DocumentFragment&gt; fragment, Node* container, unsigned startOffset, unsigned endOffset, ExceptionCode&amp; ec)
</del><ins>+RefPtr&lt;Node&gt; Range::processContentsBetweenOffsets(ActionType action, PassRefPtr&lt;DocumentFragment&gt; fragment, Node* container, unsigned startOffset, unsigned endOffset, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(container);
</span><span class="cx">     ASSERT(startOffset &lt;= endOffset);
</span><span class="lines">@@ -860,7 +751,7 @@
</span><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return result.release();
</del><ins>+    return result;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Range::processNodes(ActionType action, Vector&lt;RefPtr&lt;Node&gt;&gt;&amp; nodes, PassRefPtr&lt;Node&gt; oldContainer, PassRefPtr&lt;Node&gt; newContainer, ExceptionCode&amp; ec)
</span><span class="lines">@@ -880,7 +771,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Node&gt; Range::processAncestorsAndTheirSiblings(ActionType action, Node* container, ContentsProcessDirection direction, PassRefPtr&lt;Node&gt; passedClonedContainer, Node* commonRoot, ExceptionCode&amp; ec)
</del><ins>+RefPtr&lt;Node&gt; Range::processAncestorsAndTheirSiblings(ActionType action, Node* container, ContentsProcessDirection direction, PassRefPtr&lt;Node&gt; passedClonedContainer, Node* commonRoot, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     typedef Vector&lt;RefPtr&lt;Node&gt;&gt; NodeVector;
</span><span class="cx"> 
</span><span class="lines">@@ -932,25 +823,20 @@
</span><span class="cx">         firstChildInAncestorToProcess = direction == ProcessContentsForward ? ancestor-&gt;nextSibling() : ancestor-&gt;previousSibling();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return clonedContainer.release();
</del><ins>+    return clonedContainer;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;DocumentFragment&gt; Range::extractContents(ExceptionCode&amp; ec)
</del><ins>+RefPtr&lt;DocumentFragment&gt; Range::extractContents(ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     checkDeleteExtract(ec);
</span><span class="cx">     if (ec)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     return processContents(Extract, ec);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;DocumentFragment&gt; Range::cloneContents(ExceptionCode&amp; ec)
</del><ins>+RefPtr&lt;DocumentFragment&gt; Range::cloneContents(ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><del>-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return 0;
-    }
-
</del><span class="cx">     return processContents(Clone, ec);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -959,12 +845,6 @@
</span><span class="cx">     RefPtr&lt;Node&gt; newNode = prpNewNode;
</span><span class="cx"> 
</span><span class="cx">     ec = 0;
</span><del>-
-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return;
-    }
-
</del><span class="cx">     if (!newNode) {
</span><span class="cx">         ec = NOT_FOUND_ERR;
</span><span class="cx">         return;
</span><span class="lines">@@ -981,8 +861,8 @@
</span><span class="cx">     // does not allow children of the type of newNode or if newNode is an ancestor of the container.
</span><span class="cx"> 
</span><span class="cx">     // an extra one here - if a text node is going to split, it must have a parent to insert into
</span><del>-    bool startIsText = is&lt;Text&gt;(*m_start.container());
-    if (startIsText &amp;&amp; !m_start.container()-&gt;parentNode()) {
</del><ins>+    bool startIsText = is&lt;Text&gt;(startContainer());
+    if (startIsText &amp;&amp; !startContainer().parentNode()) {
</ins><span class="cx">         ec = HIERARCHY_REQUEST_ERR;
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -991,9 +871,9 @@
</span><span class="cx">     // text nodes get split up upon insertion.
</span><span class="cx">     Node* checkAgainst;
</span><span class="cx">     if (startIsText)
</span><del>-        checkAgainst = m_start.container()-&gt;parentNode();
</del><ins>+        checkAgainst = startContainer().parentNode();
</ins><span class="cx">     else
</span><del>-        checkAgainst = m_start.container();
</del><ins>+        checkAgainst = &amp;startContainer();
</ins><span class="cx"> 
</span><span class="cx">     Node::NodeType newNodeType = newNode-&gt;nodeType();
</span><span class="cx">     int numNewChildren;
</span><span class="lines">@@ -1015,7 +895,7 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    for (Node* n = m_start.container(); n; n = n-&gt;parentNode()) {
</del><ins>+    for (Node* n = &amp;startContainer(); n; n = n-&gt;parentNode()) {
</ins><span class="cx">         if (n == newNode) {
</span><span class="cx">             ec = HIERARCHY_REQUEST_ERR;
</span><span class="cx">             return;
</span><span class="lines">@@ -1041,12 +921,12 @@
</span><span class="cx">     bool collapsed = m_start == m_end;
</span><span class="cx">     RefPtr&lt;Node&gt; container;
</span><span class="cx">     if (startIsText) {
</span><del>-        container = m_start.container();
</del><ins>+        container = &amp;startContainer();
</ins><span class="cx">         RefPtr&lt;Text&gt; newText = downcast&lt;Text&gt;(*container).splitText(m_start.offset(), ec);
</span><span class="cx">         if (ec)
</span><span class="cx">             return;
</span><span class="cx">         
</span><del>-        container = m_start.container();
</del><ins>+        container = &amp;startContainer();
</ins><span class="cx">         container-&gt;parentNode()-&gt;insertBefore(newNode.release(), newText.get(), ec);
</span><span class="cx">         if (ec)
</span><span class="cx">             return;
</span><span class="lines">@@ -1054,7 +934,7 @@
</span><span class="cx">         if (collapsed &amp;&amp; newText-&gt;parentNode() == container &amp;&amp; &amp;container-&gt;document() == &amp;ownerDocument())
</span><span class="cx">             m_end.setToBeforeChild(*newText);
</span><span class="cx">     } else {
</span><del>-        container = m_start.container();
</del><ins>+        container = &amp;startContainer();
</ins><span class="cx">         RefPtr&lt;Node&gt; firstInsertedChild = newNodeType == Node::DOCUMENT_FRAGMENT_NODE ? newNode-&gt;firstChild() : newNode;
</span><span class="cx">         RefPtr&lt;Node&gt; lastInsertedChild = newNodeType == Node::DOCUMENT_FRAGMENT_NODE ? newNode-&gt;lastChild() : newNode;
</span><span class="cx">         RefPtr&lt;Node&gt; childAfterInsertedContent = container-&gt;traverseToChildAt(m_start.offset());
</span><span class="lines">@@ -1071,13 +951,8 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String Range::toString(ExceptionCode&amp; ec) const
</del><ins>+String Range::toString() const
</ins><span class="cx"> {
</span><del>-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return String();
-    }
-
</del><span class="cx">     StringBuilder builder;
</span><span class="cx"> 
</span><span class="cx">     Node* pastLast = pastLastNode();
</span><span class="lines">@@ -1085,8 +960,8 @@
</span><span class="cx">         if (n-&gt;nodeType() == Node::TEXT_NODE || n-&gt;nodeType() == Node::CDATA_SECTION_NODE) {
</span><span class="cx">             const String&amp; data = static_cast&lt;CharacterData*&gt;(n)-&gt;data();
</span><span class="cx">             int length = data.length();
</span><del>-            int start = (n == m_start.container()) ? std::min(std::max(0, m_start.offset()), length) : 0;
-            int end = (n == m_end.container()) ? std::min(std::max(start, m_end.offset()), length) : length;
</del><ins>+            int start = n == &amp;startContainer() ? std::min(std::max(0, m_start.offset()), length) : 0;
+            int end = n == &amp;endContainer() ? std::min(std::max(start, m_end.offset()), length) : length;
</ins><span class="cx">             builder.append(data, start, end - start);
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -1101,49 +976,28 @@
</span><span class="cx"> 
</span><span class="cx"> String Range::text() const
</span><span class="cx"> {
</span><del>-    if (!m_start.container())
-        return String();
-
</del><span class="cx">     // We need to update layout, since plainText uses line boxes in the render tree.
</span><span class="cx">     // FIXME: As with innerText, we'd like this to work even if there are no render objects.
</span><del>-    m_start.container()-&gt;document().updateLayout();
</del><ins>+    startContainer().document().updateLayout();
</ins><span class="cx"> 
</span><span class="cx">     return plainText(this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;DocumentFragment&gt; Range::createContextualFragment(const String&amp; markup, ExceptionCode&amp; ec)
</del><ins>+RefPtr&lt;DocumentFragment&gt; Range::createContextualFragment(const String&amp; markup, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><del>-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return 0;
-    }
-
-    Node* element = m_start.container()-&gt;isElementNode() ? m_start.container() : m_start.container()-&gt;parentNode();
</del><ins>+    Node* element = startContainer().isElementNode() ? &amp;startContainer() : startContainer().parentNode();
</ins><span class="cx">     if (!element || !element-&gt;isHTMLElement()) {
</span><span class="cx">         ec = NOT_SUPPORTED_ERR;
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr&lt;DocumentFragment&gt; fragment = WebCore::createContextualFragment(markup, downcast&lt;HTMLElement&gt;(element), AllowScriptingContentAndDoNotMarkAlreadyStarted, ec);
-    if (!fragment)
-        return 0;
-
-    return fragment.release();
</del><ins>+    return WebCore::createContextualFragment(markup, downcast&lt;HTMLElement&gt;(element), AllowScriptingContentAndDoNotMarkAlreadyStarted, ec);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void Range::detach(ExceptionCode&amp; ec)
</del><ins>+void Range::detach()
</ins><span class="cx"> {
</span><del>-    // Check first to see if we've already detached:
-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return;
-    }
-
-    m_ownerDocument-&gt;detachRange(this);
-
-    m_start.clear();
-    m_end.clear();
</del><ins>+    // This is now a no-op as per the DOM specification.
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Node* Range::checkNodeWOffset(Node* n, int offset, ExceptionCode&amp; ec) const
</span><span class="lines">@@ -1225,23 +1079,13 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Range&gt; Range::cloneRange(ExceptionCode&amp; ec) const
</del><ins>+Ref&lt;Range&gt; Range::cloneRange() const
</ins><span class="cx"> {
</span><del>-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return nullptr;
-    }
-
-    return Range::create(ownerDocument(), m_start.container(), m_start.offset(), m_end.container(), m_end.offset());
</del><ins>+    return Range::create(ownerDocument(), &amp;startContainer(), m_start.offset(), &amp;endContainer(), m_end.offset());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Range::setStartAfter(Node* refNode, ExceptionCode&amp; ec)
</span><span class="cx"> {
</span><del>-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return;
-    }
-
</del><span class="cx">     if (!refNode) {
</span><span class="cx">         ec = NOT_FOUND_ERR;
</span><span class="cx">         return;
</span><span class="lines">@@ -1257,11 +1101,6 @@
</span><span class="cx"> 
</span><span class="cx"> void Range::setEndBefore(Node* refNode, ExceptionCode&amp; ec)
</span><span class="cx"> {
</span><del>-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return;
-    }
-
</del><span class="cx">     if (!refNode) {
</span><span class="cx">         ec = NOT_FOUND_ERR;
</span><span class="cx">         return;
</span><span class="lines">@@ -1277,11 +1116,6 @@
</span><span class="cx"> 
</span><span class="cx"> void Range::setEndAfter(Node* refNode, ExceptionCode&amp; ec)
</span><span class="cx"> {
</span><del>-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return;
-    }
-
</del><span class="cx">     if (!refNode) {
</span><span class="cx">         ec = NOT_FOUND_ERR;
</span><span class="cx">         return;
</span><span class="lines">@@ -1297,11 +1131,6 @@
</span><span class="cx"> 
</span><span class="cx"> void Range::selectNode(Node* refNode, ExceptionCode&amp; ec)
</span><span class="cx"> {
</span><del>-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return;
-    }
-
</del><span class="cx">     if (!refNode) {
</span><span class="cx">         ec = NOT_FOUND_ERR;
</span><span class="cx">         return;
</span><span class="lines">@@ -1360,11 +1189,6 @@
</span><span class="cx"> 
</span><span class="cx"> void Range::selectNodeContents(Node* refNode, ExceptionCode&amp; ec)
</span><span class="cx"> {
</span><del>-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return;
-    }
-
</del><span class="cx">     if (!refNode) {
</span><span class="cx">         ec = NOT_FOUND_ERR;
</span><span class="cx">         return;
</span><span class="lines">@@ -1403,11 +1227,6 @@
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;Node&gt; newParent = passNewParent;
</span><span class="cx"> 
</span><del>-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return;
-    }
-
</del><span class="cx">     if (!newParent) {
</span><span class="cx">         ec = NOT_FOUND_ERR;
</span><span class="cx">         return;
</span><span class="lines">@@ -1440,10 +1259,10 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    // Raise a HIERARCHY_REQUEST_ERR if m_start.container() doesn't accept children like newParent.
-    Node* parentOfNewParent = m_start.container();
</del><ins>+    // Raise a HIERARCHY_REQUEST_ERR if startContainer() doesn't accept children like newParent.
+    Node* parentOfNewParent = &amp;startContainer();
</ins><span class="cx"> 
</span><del>-    // If m_start.container() is a character data node, it will be split and it will be its parent that will 
</del><ins>+    // If startContainer() is a character data node, it will be split and it will be its parent that will
</ins><span class="cx">     // need to accept newParent (or in the case of a comment, it logically &quot;would&quot; be inserted into the parent,
</span><span class="cx">     // although this will fail below for another reason).
</span><span class="cx">     if (parentOfNewParent-&gt;isCharacterDataNode())
</span><span class="lines">@@ -1453,7 +1272,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    if (newParent-&gt;contains(m_start.container())) {
</del><ins>+    if (newParent-&gt;contains(&amp;startContainer())) {
</ins><span class="cx">         ec = HIERARCHY_REQUEST_ERR;
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -1462,10 +1281,10 @@
</span><span class="cx">     // allowed by the type of node?
</span><span class="cx"> 
</span><span class="cx">     // BAD_BOUNDARYPOINTS_ERR: Raised if the Range partially selects a non-Text node.
</span><del>-    Node* startNonTextContainer = m_start.container();
</del><ins>+    Node* startNonTextContainer = &amp;startContainer();
</ins><span class="cx">     if (startNonTextContainer-&gt;nodeType() == Node::TEXT_NODE)
</span><span class="cx">         startNonTextContainer = startNonTextContainer-&gt;parentNode();
</span><del>-    Node* endNonTextContainer = m_end.container();
</del><ins>+    Node* endNonTextContainer = &amp;endContainer();
</ins><span class="cx">     if (endNonTextContainer-&gt;nodeType() == Node::TEXT_NODE)
</span><span class="cx">         endNonTextContainer = endNonTextContainer-&gt;parentNode();
</span><span class="cx">     if (startNonTextContainer != endNonTextContainer) {
</span><span class="lines">@@ -1493,11 +1312,6 @@
</span><span class="cx"> 
</span><span class="cx"> void Range::setStartBefore(Node* refNode, ExceptionCode&amp; ec)
</span><span class="cx"> {
</span><del>-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return;
-    }
-
</del><span class="cx">     if (!refNode) {
</span><span class="cx">         ec = NOT_FOUND_ERR;
</span><span class="cx">         return;
</span><span class="lines">@@ -1513,15 +1327,10 @@
</span><span class="cx"> 
</span><span class="cx"> void Range::checkDeleteExtract(ExceptionCode&amp; ec)
</span><span class="cx"> {
</span><del>-    if (!m_start.container()) {
-        ec = INVALID_STATE_ERR;
-        return;
-    }
-
</del><span class="cx">     ec = 0;
</span><del>-    if (!commonAncestorContainer(ec) || ec)
</del><ins>+    if (!commonAncestorContainer())
</ins><span class="cx">         return;
</span><del>-        
</del><ins>+
</ins><span class="cx">     Node* pastLast = pastLastNode();
</span><span class="cx">     for (Node* n = firstNode(); n != pastLast; n = NodeTraversal::next(*n)) {
</span><span class="cx">         if (n-&gt;isReadOnlyNode()) {
</span><span class="lines">@@ -1542,11 +1351,11 @@
</span><span class="cx"> 
</span><span class="cx"> bool Range::containedByReadOnly() const
</span><span class="cx"> {
</span><del>-    for (Node* n = m_start.container(); n; n = n-&gt;parentNode()) {
</del><ins>+    for (Node* n = &amp;startContainer(); n; n = n-&gt;parentNode()) {
</ins><span class="cx">         if (n-&gt;isReadOnlyNode())
</span><span class="cx">             return true;
</span><span class="cx">     }
</span><del>-    for (Node* n = m_end.container(); n; n = n-&gt;parentNode()) {
</del><ins>+    for (Node* n = &amp;endContainer(); n; n = n-&gt;parentNode()) {
</ins><span class="cx">         if (n-&gt;isReadOnlyNode())
</span><span class="cx">             return true;
</span><span class="cx">     }
</span><span class="lines">@@ -1555,31 +1364,27 @@
</span><span class="cx"> 
</span><span class="cx"> Node* Range::firstNode() const
</span><span class="cx"> {
</span><del>-    if (!m_start.container())
-        return nullptr;
-    if (m_start.container()-&gt;offsetInCharacters())
-        return m_start.container();
-    if (Node* child = m_start.container()-&gt;traverseToChildAt(m_start.offset()))
</del><ins>+    if (startContainer().offsetInCharacters())
+        return &amp;startContainer();
+    if (Node* child = startContainer().traverseToChildAt(m_start.offset()))
</ins><span class="cx">         return child;
</span><span class="cx">     if (!m_start.offset())
</span><del>-        return m_start.container();
-    return NodeTraversal::nextSkippingChildren(*m_start.container());
</del><ins>+        return &amp;startContainer();
+    return NodeTraversal::nextSkippingChildren(startContainer());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ShadowRoot* Range::shadowRoot() const
</span><span class="cx"> {
</span><del>-    return startContainer() ? startContainer()-&gt;containingShadowRoot() : 0;
</del><ins>+    return startContainer().containingShadowRoot();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Node* Range::pastLastNode() const
</span><span class="cx"> {
</span><del>-    if (!m_start.container() || !m_end.container())
-        return nullptr;
-    if (m_end.container()-&gt;offsetInCharacters())
-        return NodeTraversal::nextSkippingChildren(*m_end.container());
-    if (Node* child = m_end.container()-&gt;traverseToChildAt(m_end.offset()))
</del><ins>+    if (endContainer().offsetInCharacters())
+        return NodeTraversal::nextSkippingChildren(endContainer());
+    if (Node* child = endContainer().traverseToChildAt(m_end.offset()))
</ins><span class="cx">         return child;
</span><del>-    return NodeTraversal::nextSkippingChildren(*m_end.container());
</del><ins>+    return NodeTraversal::nextSkippingChildren(endContainer());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> IntRect Range::absoluteBoundingBox() const
</span><span class="lines">@@ -1595,15 +1400,6 @@
</span><span class="cx"> 
</span><span class="cx"> void Range::absoluteTextRects(Vector&lt;IntRect&gt;&amp; rects, bool useSelectionHeight, RangeInFixedPosition* inFixed) const
</span><span class="cx"> {
</span><del>-    Node* startContainer = m_start.container();
-    Node* endContainer = m_end.container();
-
-    if (!startContainer || !endContainer) {
-        if (inFixed)
-            *inFixed = NotFixedPosition;
-        return;
-    }
-
</del><span class="cx">     bool allFixed = true;
</span><span class="cx">     bool someFixed = false;
</span><span class="cx"> 
</span><span class="lines">@@ -1616,8 +1412,8 @@
</span><span class="cx">         if (renderer-&gt;isBR())
</span><span class="cx">             renderer-&gt;absoluteRects(rects, flooredLayoutPoint(renderer-&gt;localToAbsolute()));
</span><span class="cx">         else if (is&lt;RenderText&gt;(*renderer)) {
</span><del>-            int startOffset = node == startContainer ? m_start.offset() : 0;
-            int endOffset = node == endContainer ? m_end.offset() : std::numeric_limits&lt;int&gt;::max();
</del><ins>+            int startOffset = node == &amp;startContainer() ? m_start.offset() : 0;
+            int endOffset = node == &amp;endContainer() ? m_end.offset() : std::numeric_limits&lt;int&gt;::max();
</ins><span class="cx">             rects.appendVector(downcast&lt;RenderText&gt;(*renderer).absoluteRectsForRange(startOffset, endOffset, useSelectionHeight, &amp;isFixed));
</span><span class="cx">         } else
</span><span class="cx">             continue;
</span><span class="lines">@@ -1631,15 +1427,6 @@
</span><span class="cx"> 
</span><span class="cx"> void Range::absoluteTextQuads(Vector&lt;FloatQuad&gt;&amp; quads, bool useSelectionHeight, RangeInFixedPosition* inFixed) const
</span><span class="cx"> {
</span><del>-    Node* startContainer = m_start.container();
-    Node* endContainer = m_end.container();
-
-    if (!startContainer || !endContainer) {
-        if (inFixed)
-            *inFixed = NotFixedPosition;
-        return;
-    }
-
</del><span class="cx">     bool allFixed = true;
</span><span class="cx">     bool someFixed = false;
</span><span class="cx"> 
</span><span class="lines">@@ -1652,8 +1439,8 @@
</span><span class="cx">         if (renderer-&gt;isBR())
</span><span class="cx">             renderer-&gt;absoluteQuads(quads, &amp;isFixed);
</span><span class="cx">         else if (is&lt;RenderText&gt;(*renderer)) {
</span><del>-            int startOffset = node == startContainer ? m_start.offset() : 0;
-            int endOffset = node == endContainer ? m_end.offset() : std::numeric_limits&lt;int&gt;::max();
</del><ins>+            int startOffset = node == &amp;startContainer() ? m_start.offset() : 0;
+            int endOffset = node == &amp;endContainer() ? m_end.offset() : std::numeric_limits&lt;int&gt;::max();
</ins><span class="cx">             quads.appendVector(downcast&lt;RenderText&gt;(*renderer).absoluteQuadsForRange(startOffset, endOffset, useSelectionHeight, &amp;isFixed));
</span><span class="cx">         } else
</span><span class="cx">             continue;
</span><span class="lines">@@ -1713,24 +1500,21 @@
</span><span class="cx"> // with additional state which helps iOS draw selections in its unique way.
</span><span class="cx"> void Range::collectSelectionRects(Vector&lt;SelectionRect&gt;&amp; rects)
</span><span class="cx"> {
</span><del>-    if (!m_start.container() || !m_end.container())
-        return;
-
-    Node* startContainer = m_start.container();
-    Node* endContainer = m_end.container();
</del><ins>+    auto&amp; startContainer = this-&gt;startContainer();
+    auto&amp; endContainer = this-&gt;endContainer();
</ins><span class="cx">     int startOffset = m_start.offset();
</span><span class="cx">     int endOffset = m_end.offset();
</span><span class="cx"> 
</span><span class="cx">     Vector&lt;SelectionRect&gt; newRects;
</span><span class="cx">     Node* stopNode = pastLastNode();
</span><del>-    bool hasFlippedWritingMode = startContainer-&gt;renderer() &amp;&amp; startContainer-&gt;renderer()-&gt;style().isFlippedBlocksWritingMode();
</del><ins>+    bool hasFlippedWritingMode = startContainer.renderer() &amp;&amp; startContainer.renderer()-&gt;style().isFlippedBlocksWritingMode();
</ins><span class="cx">     bool containsDifferentWritingModes = false;
</span><span class="cx">     for (Node* node = firstNode(); node &amp;&amp; node != stopNode; node = NodeTraversal::next(*node)) {
</span><span class="cx">         RenderObject* renderer = node-&gt;renderer();
</span><span class="cx">         // Only ask leaf render objects for their line box rects.
</span><span class="cx">         if (renderer &amp;&amp; !renderer-&gt;firstChildSlow() &amp;&amp; renderer-&gt;style().userSelect() != SELECT_NONE) {
</span><del>-            bool isStartNode = renderer-&gt;node() == startContainer;
-            bool isEndNode = renderer-&gt;node() == endContainer;
</del><ins>+            bool isStartNode = renderer-&gt;node() == &amp;startContainer;
+            bool isEndNode = renderer-&gt;node() == &amp;endContainer;
</ins><span class="cx">             if (hasFlippedWritingMode != renderer-&gt;style().isFlippedBlocksWritingMode())
</span><span class="cx">                 containsDifferentWritingModes = true;
</span><span class="cx">             // FIXME: Sending 0 for the startOffset is a weird way of telling the renderer that the selection
</span><span class="lines">@@ -1759,7 +1543,7 @@
</span><span class="cx">     // The range could span over nodes with different writing modes.
</span><span class="cx">     // If this is the case, we use the writing mode of the common ancestor.
</span><span class="cx">     if (containsDifferentWritingModes) {
</span><del>-        if (Node* ancestor = commonAncestorContainer(startContainer, endContainer))
</del><ins>+        if (Node* ancestor = commonAncestorContainer(&amp;startContainer, &amp;endContainer))
</ins><span class="cx">             hasFlippedWritingMode = ancestor-&gt;renderer()-&gt;style().isFlippedBlocksWritingMode();
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -1772,7 +1556,7 @@
</span><span class="cx">         // Only set the line break bit if the end of the range actually
</span><span class="cx">         // extends all the way to include the &lt;br&gt;. VisiblePosition helps to
</span><span class="cx">         // figure this out.
</span><del>-        VisiblePosition endPosition(createLegacyEditingPosition(endContainer, endOffset), VP_DEFAULT_AFFINITY);
</del><ins>+        VisiblePosition endPosition(createLegacyEditingPosition(&amp;endContainer, endOffset), VP_DEFAULT_AFFINITY);
</ins><span class="cx">         VisiblePosition brPosition(createLegacyEditingPosition(stopNode, 0), VP_DEFAULT_AFFINITY);
</span><span class="cx">         if (endPosition == brPosition)
</span><span class="cx">             rects.last().setIsLineBreak(true);    
</span><span class="lines">@@ -1933,24 +1717,19 @@
</span><span class="cx"> void Range::formatForDebugger(char* buffer, unsigned length) const
</span><span class="cx"> {
</span><span class="cx">     StringBuilder result;
</span><del>-    String s;
</del><span class="cx"> 
</span><del>-    if (!m_start.container() || !m_end.container())
-        result.appendLiteral(&quot;&lt;empty&gt;&quot;);
-    else {
-        const int FormatBufferSize = 1024;
-        char s[FormatBufferSize];
-        result.appendLiteral(&quot;from offset &quot;);
-        result.appendNumber(m_start.offset());
-        result.appendLiteral(&quot; of &quot;);
-        m_start.container()-&gt;formatForDebugger(s, FormatBufferSize);
-        result.append(s);
-        result.appendLiteral(&quot; to offset &quot;);
-        result.appendNumber(m_end.offset());
-        result.appendLiteral(&quot; of &quot;);
-        m_end.container()-&gt;formatForDebugger(s, FormatBufferSize);
-        result.append(s);
-    }
</del><ins>+    const int FormatBufferSize = 1024;
+    char s[FormatBufferSize];
+    result.appendLiteral(&quot;from offset &quot;);
+    result.appendNumber(m_start.offset());
+    result.appendLiteral(&quot; of &quot;);
+    startContainer().formatForDebugger(s, FormatBufferSize);
+    result.append(s);
+    result.appendLiteral(&quot; to offset &quot;);
+    result.appendNumber(m_end.offset());
+    result.appendLiteral(&quot; of &quot;);
+    endContainer().formatForDebugger(s, FormatBufferSize);
+    result.append(s);
</ins><span class="cx"> 
</span><span class="cx">     strncpy(buffer, result.toString().utf8().data(), length - 1);
</span><span class="cx"> }
</span><span class="lines">@@ -1958,7 +1737,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool Range::contains(const Range&amp; other) const
</span><span class="cx"> {
</span><del>-    if (commonAncestorContainer(ASSERT_NO_EXCEPTION)-&gt;ownerDocument() != other.commonAncestorContainer(ASSERT_NO_EXCEPTION)-&gt;ownerDocument())
</del><ins>+    if (commonAncestorContainer()-&gt;ownerDocument() != other.commonAncestorContainer()-&gt;ownerDocument())
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     short startToStart = compareBoundaryPoints(Range::START_TO_START, &amp;other, ASSERT_NO_EXCEPTION);
</span><span class="lines">@@ -1994,7 +1773,7 @@
</span><span class="cx">     if (a == b)
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><del>-    if (a-&gt;commonAncestorContainer(ASSERT_NO_EXCEPTION)-&gt;ownerDocument() != b-&gt;commonAncestorContainer(ASSERT_NO_EXCEPTION)-&gt;ownerDocument())
</del><ins>+    if (a-&gt;commonAncestorContainer()-&gt;ownerDocument() != b-&gt;commonAncestorContainer()-&gt;ownerDocument())
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     short startToStart = a-&gt;compareBoundaryPoints(Range::START_TO_START, b, ASSERT_NO_EXCEPTION);
</span><span class="lines">@@ -2192,9 +1971,6 @@
</span><span class="cx"> 
</span><span class="cx"> Ref&lt;ClientRectList&gt; Range::getClientRects() const
</span><span class="cx"> {
</span><del>-    if (!m_start.container())
-        return ClientRectList::create();
-
</del><span class="cx">     ownerDocument().updateLayoutIgnorePendingStylesheets();
</span><span class="cx"> 
</span><span class="cx">     Vector&lt;FloatQuad&gt; quads;
</span><span class="lines">@@ -2210,8 +1986,6 @@
</span><span class="cx"> 
</span><span class="cx"> void Range::getBorderAndTextQuads(Vector&lt;FloatQuad&gt;&amp; quads, CoordinateSpace space) const
</span><span class="cx"> {
</span><del>-    Node* startContainer = m_start.container();
-    Node* endContainer = m_end.container();
</del><span class="cx">     Node* stopNode = pastLastNode();
</span><span class="cx"> 
</span><span class="cx">     HashSet&lt;Node*&gt; selectedElementsSet;
</span><span class="lines">@@ -2221,7 +1995,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Don't include elements that are only partially selected.
</span><del>-    Node* lastNode = m_end.childBefore() ? m_end.childBefore() : endContainer;
</del><ins>+    Node* lastNode = m_end.childBefore() ? m_end.childBefore() : &amp;endContainer();
</ins><span class="cx">     for (Node* parent = lastNode-&gt;parentNode(); parent; parent = parent-&gt;parentNode())
</span><span class="cx">         selectedElementsSet.remove(parent);
</span><span class="cx"> 
</span><span class="lines">@@ -2238,8 +2012,8 @@
</span><span class="cx">             }
</span><span class="cx">         } else if (is&lt;Text&gt;(*node)) {
</span><span class="cx">             if (RenderText* renderText = downcast&lt;Text&gt;(*node).renderer()) {
</span><del>-                int startOffset = (node == startContainer) ? m_start.offset() : 0;
-                int endOffset = (node == endContainer) ? m_end.offset() : INT_MAX;
</del><ins>+                int startOffset = node == &amp;startContainer() ? m_start.offset() : 0;
+                int endOffset = node == &amp;endContainer() ? m_end.offset() : INT_MAX;
</ins><span class="cx">                 
</span><span class="cx">                 auto textQuads = renderText-&gt;absoluteQuadsForRange(startOffset, endOffset);
</span><span class="cx"> 
</span><span class="lines">@@ -2254,19 +2028,14 @@
</span><span class="cx"> 
</span><span class="cx"> FloatRect Range::boundingRectInternal(CoordinateSpace space) const
</span><span class="cx"> {
</span><del>-    if (!m_start.container())
-        return FloatRect();
-
</del><span class="cx">     ownerDocument().updateLayoutIgnorePendingStylesheets();
</span><span class="cx"> 
</span><span class="cx">     Vector&lt;FloatQuad&gt; quads;
</span><span class="cx">     getBorderAndTextQuads(quads, space);
</span><del>-    if (quads.isEmpty())
-        return FloatRect();
</del><span class="cx"> 
</span><span class="cx">     FloatRect result;
</span><del>-    for (size_t i = 0; i &lt; quads.size(); ++i)
-        result.unite(quads[i].boundingBox());
</del><ins>+    for (auto&amp; quad : quads)
+        result.unite(quad.boundingBox());
</ins><span class="cx"> 
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="lines">@@ -2283,7 +2052,7 @@
</span><span class="cx"> void showTree(const WebCore::Range* range)
</span><span class="cx"> {
</span><span class="cx">     if (range &amp;&amp; range-&gt;boundaryPointsValid()) {
</span><del>-        range-&gt;startContainer()-&gt;showTreeAndMark(range-&gt;startContainer(), &quot;S&quot;, range-&gt;endContainer(), &quot;E&quot;);
</del><ins>+        range-&gt;startContainer().showTreeAndMark(&amp;range-&gt;startContainer(), &quot;S&quot;, &amp;range-&gt;endContainer(), &quot;E&quot;);
</ins><span class="cx">         fprintf(stderr, &quot;start offset: %d, end offset: %d\n&quot;, range-&gt;startOffset(), range-&gt;endOffset());
</span><span class="cx">     }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomRangeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Range.h (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Range.h        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/dom/Range.h        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -58,22 +58,17 @@
</span><span class="cx"> 
</span><span class="cx">     Document&amp; ownerDocument() const { return const_cast&lt;Document&amp;&gt;(m_ownerDocument.get()); }
</span><span class="cx"> 
</span><del>-    Node* startContainer() const { return m_start.container(); }
</del><ins>+    Node&amp; startContainer() const { ASSERT(m_start.container()); return *m_start.container(); }
</ins><span class="cx">     int startOffset() const { return m_start.offset(); }
</span><del>-    Node* endContainer() const { return m_end.container(); }
</del><ins>+    Node&amp; endContainer() const { ASSERT(m_end.container()); return *m_end.container(); }
</ins><span class="cx">     int endOffset() const { return m_end.offset(); }
</span><ins>+    bool collapsed() const { return m_start == m_end; }
</ins><span class="cx"> 
</span><del>-    WEBCORE_EXPORT Node* startContainer(ExceptionCode&amp;) const;
-    WEBCORE_EXPORT int startOffset(ExceptionCode&amp;) const;
-    WEBCORE_EXPORT Node* endContainer(ExceptionCode&amp;) const;
-    WEBCORE_EXPORT int endOffset(ExceptionCode&amp;) const;
-    WEBCORE_EXPORT bool collapsed(ExceptionCode&amp;) const;
-
-    WEBCORE_EXPORT Node* commonAncestorContainer(ExceptionCode&amp;) const;
-    static Node* commonAncestorContainer(Node* containerA, Node* containerB);
</del><ins>+    Node* commonAncestorContainer() const { return commonAncestorContainer(&amp;startContainer(), &amp;endContainer()); }
+    WEBCORE_EXPORT static Node* commonAncestorContainer(Node* containerA, Node* containerB);
</ins><span class="cx">     WEBCORE_EXPORT void setStart(PassRefPtr&lt;Node&gt; container, int offset, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
</span><span class="cx">     WEBCORE_EXPORT void setEnd(PassRefPtr&lt;Node&gt; container, int offset, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
</span><del>-    WEBCORE_EXPORT void collapse(bool toStart, ExceptionCode&amp;);
</del><ins>+    WEBCORE_EXPORT void collapse(bool toStart);
</ins><span class="cx">     WEBCORE_EXPORT bool isPointInRange(Node* refNode, int offset, ExceptionCode&amp;);
</span><span class="cx">     short comparePoint(Node* refNode, int offset, ExceptionCode&amp;) const;
</span><span class="cx">     enum CompareResults { NODE_BEFORE, NODE_AFTER, NODE_BEFORE_AND_AFTER, NODE_INSIDE };
</span><span class="lines">@@ -86,18 +81,18 @@
</span><span class="cx">     WEBCORE_EXPORT bool boundaryPointsValid() const;
</span><span class="cx">     bool intersectsNode(Node* refNode, ExceptionCode&amp;) const;
</span><span class="cx">     void deleteContents(ExceptionCode&amp;);
</span><del>-    PassRefPtr&lt;DocumentFragment&gt; extractContents(ExceptionCode&amp;);
-    PassRefPtr&lt;DocumentFragment&gt; cloneContents(ExceptionCode&amp;);
</del><ins>+    RefPtr&lt;DocumentFragment&gt; extractContents(ExceptionCode&amp;);
+    RefPtr&lt;DocumentFragment&gt; cloneContents(ExceptionCode&amp;);
</ins><span class="cx">     void insertNode(PassRefPtr&lt;Node&gt;, ExceptionCode&amp;);
</span><del>-    String toString(ExceptionCode&amp;) const;
</del><ins>+    String toString() const;
</ins><span class="cx"> 
</span><span class="cx">     String toHTML() const;
</span><span class="cx">     WEBCORE_EXPORT String text() const;
</span><span class="cx"> 
</span><del>-    PassRefPtr&lt;DocumentFragment&gt; createContextualFragment(const String&amp; html, ExceptionCode&amp;);
</del><ins>+    RefPtr&lt;DocumentFragment&gt; createContextualFragment(const String&amp; html, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><del>-    void detach(ExceptionCode&amp;);
-    WEBCORE_EXPORT RefPtr&lt;Range&gt; cloneRange(ExceptionCode&amp;) const;
</del><ins>+    void detach();
+    WEBCORE_EXPORT Ref&lt;Range&gt; cloneRange() const;
</ins><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT void setStartAfter(Node*, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
</span><span class="cx">     WEBCORE_EXPORT void setEndBefore(Node*, ExceptionCode&amp; = ASSERT_NO_EXCEPTION);
</span><span class="lines">@@ -170,11 +165,11 @@
</span><span class="cx">     bool containedByReadOnly() const;
</span><span class="cx"> 
</span><span class="cx">     enum ActionType { Delete, Extract, Clone };
</span><del>-    PassRefPtr&lt;DocumentFragment&gt; processContents(ActionType, ExceptionCode&amp;);
-    static PassRefPtr&lt;Node&gt; processContentsBetweenOffsets(ActionType, PassRefPtr&lt;DocumentFragment&gt;, Node*, unsigned startOffset, unsigned endOffset, ExceptionCode&amp;);
</del><ins>+    RefPtr&lt;DocumentFragment&gt; processContents(ActionType, ExceptionCode&amp;);
+    static RefPtr&lt;Node&gt; processContentsBetweenOffsets(ActionType, PassRefPtr&lt;DocumentFragment&gt;, Node*, unsigned startOffset, unsigned endOffset, ExceptionCode&amp;);
</ins><span class="cx">     static void processNodes(ActionType, Vector&lt;RefPtr&lt;Node&gt;&gt;&amp;, PassRefPtr&lt;Node&gt; oldContainer, PassRefPtr&lt;Node&gt; newContainer, ExceptionCode&amp;);
</span><span class="cx">     enum ContentsProcessDirection { ProcessContentsForward, ProcessContentsBackward };
</span><del>-    static PassRefPtr&lt;Node&gt; processAncestorsAndTheirSiblings(ActionType, Node* container, ContentsProcessDirection, PassRefPtr&lt;Node&gt; clonedContainer, Node* commonRoot, ExceptionCode&amp;);
</del><ins>+    static RefPtr&lt;Node&gt; processAncestorsAndTheirSiblings(ActionType, Node* container, ContentsProcessDirection, PassRefPtr&lt;Node&gt; clonedContainer, Node* commonRoot, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><span class="cx">     enum class CoordinateSpace { Absolute, Client };
</span><span class="cx">     void getBorderAndTextQuads(Vector&lt;FloatQuad&gt;&amp;, CoordinateSpace) const;
</span></span></pre></div>
<a id="trunkSourceWebCoredomRangeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Range.idl (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Range.idl        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/dom/Range.idl        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -25,12 +25,12 @@
</span><span class="cx">     ImplementationLacksVTable
</span><span class="cx"> ] interface Range {
</span><span class="cx"> 
</span><del>-    [GetterRaisesException] readonly attribute Node startContainer;
-    [GetterRaisesException] readonly attribute long startOffset;
-    [GetterRaisesException] readonly attribute Node endContainer;
-    [GetterRaisesException] readonly attribute long endOffset;
-    [GetterRaisesException] readonly attribute boolean collapsed;
-    [GetterRaisesException] readonly attribute Node commonAncestorContainer;
</del><ins>+    readonly attribute Node startContainer;
+    readonly attribute long startOffset;
+    readonly attribute Node endContainer;
+    readonly attribute long endOffset;
+    readonly attribute boolean collapsed;
+    readonly attribute Node commonAncestorContainer;
</ins><span class="cx"> 
</span><span class="cx">     [ObjCLegacyUnnamedParameters, RaisesException] void setStart([Default=Undefined] optional Node refNode, 
</span><span class="cx">                                  [Default=Undefined] optional long offset);
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx">     [RaisesException] void setStartAfter([Default=Undefined] optional Node refNode);
</span><span class="cx">     [RaisesException] void setEndBefore([Default=Undefined] optional Node refNode);
</span><span class="cx">     [RaisesException] void setEndAfter([Default=Undefined] optional Node refNode);
</span><del>-    [RaisesException] void collapse([Default=Undefined] optional boolean toStart);
</del><ins>+    void collapse([Default=Undefined] optional boolean toStart);
</ins><span class="cx">     [RaisesException] void selectNode([Default=Undefined] optional Node refNode);
</span><span class="cx">     [RaisesException] void selectNodeContents([Default=Undefined] optional Node refNode);
</span><span class="cx"> 
</span><span class="lines">@@ -58,10 +58,10 @@
</span><span class="cx">     [RaisesException] DocumentFragment cloneContents();
</span><span class="cx">     [RaisesException] void insertNode([Default=Undefined] optional Node newNode);
</span><span class="cx">     [RaisesException] void surroundContents([Default=Undefined] optional Node newParent);
</span><del>-    [RaisesException] Range cloneRange();
-    [RaisesException] DOMString toString();
</del><ins>+    Range cloneRange();
+    DOMString toString();
</ins><span class="cx"> 
</span><del>-    [RaisesException] void detach();
</del><ins>+    void detach();
</ins><span class="cx"> 
</span><span class="cx"> #if defined(LANGUAGE_JAVASCRIPT) || LANGUAGE_JAVASCRIPT
</span><span class="cx">     // CSSOM View Module API extensions
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingAlternativeTextControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/AlternativeTextController.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/AlternativeTextController.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/editing/AlternativeTextController.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -243,10 +243,7 @@
</span><span class="cx">     if (!range)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    ExceptionCode ec = 0;
-    RefPtr&lt;Range&gt; paragraphRangeContainingCorrection = range-&gt;cloneRange(ec);
-    if (ec)
-        return;
</del><ins>+    RefPtr&lt;Range&gt; paragraphRangeContainingCorrection = range-&gt;cloneRange();
</ins><span class="cx"> 
</span><span class="cx">     setStart(paragraphRangeContainingCorrection.get(), startOfParagraph(range-&gt;startPosition()));
</span><span class="cx">     setEnd(paragraphRangeContainingCorrection.get(), endOfParagraph(range-&gt;endPosition()));
</span><span class="lines">@@ -257,11 +254,10 @@
</span><span class="cx">     // relative to the start position of the containing paragraph. We use correctionStartOffsetInParagraph
</span><span class="cx">     // to store this value. In order to obtain this offset, we need to first create a range
</span><span class="cx">     // which spans from the start of paragraph to the start position of rangeWithAlternative.
</span><del>-    RefPtr&lt;Range&gt; correctionStartOffsetInParagraphAsRange = Range::create(paragraphRangeContainingCorrection-&gt;startContainer(ec)-&gt;document(), paragraphRangeContainingCorrection-&gt;startPosition(), paragraphRangeContainingCorrection-&gt;startPosition());
-    if (ec)
-        return;
</del><ins>+    RefPtr&lt;Range&gt; correctionStartOffsetInParagraphAsRange = Range::create(paragraphRangeContainingCorrection-&gt;startContainer().document(), paragraphRangeContainingCorrection-&gt;startPosition(), paragraphRangeContainingCorrection-&gt;startPosition());
</ins><span class="cx"> 
</span><span class="cx">     Position startPositionOfRangeWithAlternative = range-&gt;startPosition();
</span><ins>+    ExceptionCode ec = 0;
</ins><span class="cx">     correctionStartOffsetInParagraphAsRange-&gt;setEnd(startPositionOfRangeWithAlternative.containerNode(), startPositionOfRangeWithAlternative.computeOffsetInContainerNode(), ec);
</span><span class="cx">     if (ec)
</span><span class="cx">         return;
</span><span class="lines">@@ -270,11 +266,11 @@
</span><span class="cx">     int correctionStartOffsetInParagraph = TextIterator::rangeLength(correctionStartOffsetInParagraphAsRange.get());
</span><span class="cx"> 
</span><span class="cx">     // Clone the range, since the caller of this method may want to keep the original range around.
</span><del>-    RefPtr&lt;Range&gt; rangeWithAlternative = range-&gt;cloneRange(ec);
</del><ins>+    Ref&lt;Range&gt; rangeWithAlternative = range-&gt;cloneRange();
</ins><span class="cx"> 
</span><del>-    ContainerNode&amp; rootNode = paragraphRangeContainingCorrection.get()-&gt;startContainer()-&gt;treeScope().rootNode();
-    int paragraphStartIndex = TextIterator::rangeLength(Range::create(rootNode.document(), &amp;rootNode, 0, paragraphRangeContainingCorrection-&gt;startContainer(), paragraphRangeContainingCorrection-&gt;startOffset()).ptr());
-    applyCommand(SpellingCorrectionCommand::create(rangeWithAlternative, alternative));
</del><ins>+    ContainerNode&amp; rootNode = paragraphRangeContainingCorrection.get()-&gt;startContainer().treeScope().rootNode();
+    int paragraphStartIndex = TextIterator::rangeLength(Range::create(rootNode.document(), &amp;rootNode, 0, &amp;paragraphRangeContainingCorrection-&gt;startContainer(), paragraphRangeContainingCorrection-&gt;startOffset()).ptr());
+    applyCommand(SpellingCorrectionCommand::create(rangeWithAlternative.ptr(), alternative));
</ins><span class="cx">     // Recalculate pragraphRangeContainingCorrection, since SpellingCorrectionCommand modified the DOM, such that the original paragraphRangeContainingCorrection is no longer valid. Radar: 10305315 Bugzilla: 89526
</span><span class="cx">     paragraphRangeContainingCorrection = TextIterator::rangeFromLocationAndLength(&amp;rootNode, paragraphStartIndex, correctionStartOffsetInParagraph + alternative.length());
</span><span class="cx">     
</span><span class="lines">@@ -286,7 +282,7 @@
</span><span class="cx">     if (newText != alternative)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    DocumentMarkerController&amp; markers = replacementRange-&gt;startContainer()-&gt;document().markers();
</del><ins>+    DocumentMarkerController&amp; markers = replacementRange-&gt;startContainer().document().markers();
</ins><span class="cx">     size_t size = markerTypesToAdd.size();
</span><span class="cx">     for (size_t i = 0; i &lt; size; ++i)
</span><span class="cx">         markers.addMarker(replacementRange.get(), markerTypesToAdd[i], markerDescriptionForAppliedAlternativeText(alternativeType, markerTypesToAdd[i]));
</span><span class="lines">@@ -409,7 +405,7 @@
</span><span class="cx">         if (result.length())
</span><span class="cx">             applyAlternativeTextToRange(rangeWithAlternative, result, m_alternativeTextInfo.type, markerTypesForAutocorrection());
</span><span class="cx">         else if (!m_isDismissedByEditing)
</span><del>-            rangeWithAlternative-&gt;startContainer()-&gt;document().markers().addMarker(rangeWithAlternative, DocumentMarker::RejectedCorrection, m_alternativeTextInfo.originalText);
</del><ins>+            rangeWithAlternative-&gt;startContainer().document().markers().addMarker(rangeWithAlternative, DocumentMarker::RejectedCorrection, m_alternativeTextInfo.originalText);
</ins><span class="cx">         break;
</span><span class="cx">     case AlternativeTextTypeReversion:
</span><span class="cx">     case AlternativeTextTypeSpellingSuggestions:
</span><span class="lines">@@ -530,14 +526,14 @@
</span><span class="cx"> 
</span><span class="cx"> void AlternativeTextController::markReversed(PassRefPtr&lt;Range&gt; changedRange)
</span><span class="cx"> {
</span><del>-    changedRange-&gt;startContainer()-&gt;document().markers().removeMarkers(changedRange.get(), DocumentMarker::Autocorrected, DocumentMarkerController::RemovePartiallyOverlappingMarker);
-    changedRange-&gt;startContainer()-&gt;document().markers().addMarker(changedRange.get(), DocumentMarker::SpellCheckingExemption);
</del><ins>+    changedRange-&gt;startContainer().document().markers().removeMarkers(changedRange.get(), DocumentMarker::Autocorrected, DocumentMarkerController::RemovePartiallyOverlappingMarker);
+    changedRange-&gt;startContainer().document().markers().addMarker(changedRange.get(), DocumentMarker::SpellCheckingExemption);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void AlternativeTextController::markCorrection(PassRefPtr&lt;Range&gt; replacedRange, const String&amp; replacedString)
</span><span class="cx"> {
</span><span class="cx">     Vector&lt;DocumentMarker::MarkerType&gt; markerTypesToAdd = markerTypesForAutocorrection();
</span><del>-    DocumentMarkerController&amp; markers = replacedRange-&gt;startContainer()-&gt;document().markers();
</del><ins>+    DocumentMarkerController&amp; markers = replacedRange-&gt;startContainer().document().markers();
</ins><span class="cx">     for (size_t i = 0; i &lt; markerTypesToAdd.size(); ++i) {
</span><span class="cx">         DocumentMarker::MarkerType markerType = markerTypesToAdd[i];
</span><span class="cx">         if (markerType == DocumentMarker::Replacement || markerType == DocumentMarker::Autocorrected)
</span><span class="lines">@@ -551,7 +547,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (!rangeOfCorrection)
</span><span class="cx">         return;
</span><del>-    DocumentMarkerController&amp; markers = rangeOfCorrection-&gt;startContainer()-&gt;document().markers();
</del><ins>+    DocumentMarkerController&amp; markers = rangeOfCorrection-&gt;startContainer().document().markers();
</ins><span class="cx">     Vector&lt;RenderedDocumentMarker*&gt; correctedOnceMarkers = markers.markersInRange(rangeOfCorrection, DocumentMarker::Autocorrected);
</span><span class="cx">     if (correctedOnceMarkers.isEmpty())
</span><span class="cx">         return;
</span><span class="lines">@@ -731,7 +727,7 @@
</span><span class="cx">     RefPtr&lt;Range&gt; selection = editor.selectedRange();
</span><span class="cx">     if (!selection || !editor.shouldInsertText(alternativeString, selection.get(), EditorInsertActionPasted))
</span><span class="cx">         return;
</span><del>-    DocumentMarkerController&amp; markers = selection-&gt;startContainer()-&gt;document().markers();
</del><ins>+    DocumentMarkerController&amp; markers = selection-&gt;startContainer().document().markers();
</ins><span class="cx">     Vector&lt;RenderedDocumentMarker*&gt; dictationAlternativesMarkers = markers.markersInRange(selection.get(), DocumentMarker::DictationAlternatives);
</span><span class="cx">     for (auto* marker : dictationAlternativesMarkers)
</span><span class="cx">         removeDictationAlternativesForMarker(marker);
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingEditingStylecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/EditingStyle.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/EditingStyle.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/editing/EditingStyle.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1462,7 +1462,7 @@
</span><span class="cx">     // and find the background color of the common ancestor.
</span><span class="cx">     if (shouldUseBackgroundColorInEffect &amp;&amp; (selection.isRange() || hasTransparentBackgroundColor(style-&gt;m_mutableStyle.get()))) {
</span><span class="cx">         RefPtr&lt;Range&gt; range(selection.toNormalizedRange());
</span><del>-        if (PassRefPtr&lt;CSSValue&gt; value = backgroundColorInEffect(range-&gt;commonAncestorContainer(IGNORE_EXCEPTION)))
</del><ins>+        if (auto value = backgroundColorInEffect(range-&gt;commonAncestorContainer()))
</ins><span class="cx">             style-&gt;setProperty(CSSPropertyBackgroundColor, value-&gt;cssText());
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingEditorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/Editor.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/Editor.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/editing/Editor.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -299,19 +299,17 @@
</span><span class="cx"> 
</span><span class="cx"> bool Editor::canDeleteRange(Range* range) const
</span><span class="cx"> {
</span><del>-    Node* startContainer = range-&gt;startContainer();
-    Node* endContainer = range-&gt;endContainer();
-    if (!startContainer || !endContainer)
-        return false;
</del><ins>+    Node&amp; startContainer = range-&gt;startContainer();
+    Node&amp; endContainer = range-&gt;endContainer();
</ins><span class="cx">     
</span><del>-    if (!startContainer-&gt;hasEditableStyle() || !endContainer-&gt;hasEditableStyle())
</del><ins>+    if (!startContainer.hasEditableStyle() || !endContainer.hasEditableStyle())
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    if (range-&gt;collapsed(IGNORE_EXCEPTION)) {
</del><ins>+    if (range-&gt;collapsed()) {
</ins><span class="cx">         VisiblePosition start(range-&gt;startPosition(), DOWNSTREAM);
</span><span class="cx">         VisiblePosition previous = start.previous();
</span><span class="cx">         // FIXME: We sometimes allow deletions at the start of editable roots, like when the caret is in an empty list item.
</span><del>-        if (previous.isNull() || previous.deepEquivalent().deprecatedNode()-&gt;rootEditableElement() != startContainer-&gt;rootEditableElement())
</del><ins>+        if (previous.isNull() || previous.deepEquivalent().deprecatedNode()-&gt;rootEditableElement() != startContainer.rootEditableElement())
</ins><span class="cx">             return false;
</span><span class="cx">     }
</span><span class="cx">     return true;
</span><span class="lines">@@ -647,7 +645,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool Editor::shouldDeleteRange(Range* range) const
</span><span class="cx"> {
</span><del>-    if (!range || range-&gt;collapsed(IGNORE_EXCEPTION))
</del><ins>+    if (!range || range-&gt;collapsed())
</ins><span class="cx">         return false;
</span><span class="cx">     
</span><span class="cx">     if (!canDeleteRange(range))
</span><span class="lines">@@ -1928,7 +1926,7 @@
</span><span class="cx">         // else we were already at the start of the editable node
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (spellingSearchRange-&gt;collapsed(IGNORE_EXCEPTION))
</del><ins>+    if (spellingSearchRange-&gt;collapsed())
</ins><span class="cx">         return; // nothing to search in
</span><span class="cx">     
</span><span class="cx">     // Get the spell checker if it is available
</span><span class="lines">@@ -1938,7 +1936,7 @@
</span><span class="cx">     // We go to the end of our first range instead of the start of it, just to be sure
</span><span class="cx">     // we don't get foiled by any word boundary problems at the start.  It means we might
</span><span class="cx">     // do a tiny bit more searching.
</span><del>-    Node* searchEndNodeAfterWrap = spellingSearchRange-&gt;endContainer();
</del><ins>+    Node&amp; searchEndNodeAfterWrap = spellingSearchRange-&gt;endContainer();
</ins><span class="cx">     int searchEndOffsetAfterWrap = spellingSearchRange-&gt;endOffset();
</span><span class="cx">     
</span><span class="cx">     int misspellingOffset = 0;
</span><span class="lines">@@ -1953,7 +1951,7 @@
</span><span class="cx">     String foundItem;
</span><span class="cx">     RefPtr&lt;Range&gt; firstMisspellingRange;
</span><span class="cx">     if (unifiedTextCheckerEnabled()) {
</span><del>-        grammarSearchRange = spellingSearchRange-&gt;cloneRange(IGNORE_EXCEPTION);
</del><ins>+        grammarSearchRange = spellingSearchRange-&gt;cloneRange();
</ins><span class="cx">         foundItem = TextCheckingHelper(client(), spellingSearchRange).findFirstMisspellingOrBadGrammar(isGrammarCheckingEnabled(), isSpelling, foundOffset, grammarDetail);
</span><span class="cx">         if (isSpelling) {
</span><span class="cx">             misspelledWord = foundItem;
</span><span class="lines">@@ -1966,12 +1964,12 @@
</span><span class="cx">         misspelledWord = TextCheckingHelper(client(), spellingSearchRange).findFirstMisspelling(misspellingOffset, false, firstMisspellingRange);
</span><span class="cx"> 
</span><span class="cx"> #if USE(GRAMMAR_CHECKING)
</span><del>-        grammarSearchRange = spellingSearchRange-&gt;cloneRange(IGNORE_EXCEPTION);
</del><ins>+        grammarSearchRange = spellingSearchRange-&gt;cloneRange();
</ins><span class="cx">         if (!misspelledWord.isEmpty()) {
</span><span class="cx">             // Stop looking at start of next misspelled word
</span><span class="cx">             CharacterIterator chars(*grammarSearchRange);
</span><span class="cx">             chars.advance(misspellingOffset);
</span><del>-            grammarSearchRange-&gt;setEnd(chars.range()-&gt;startContainer(), chars.range()-&gt;startOffset(), IGNORE_EXCEPTION);
</del><ins>+            grammarSearchRange-&gt;setEnd(&amp;chars.range()-&gt;startContainer(), chars.range()-&gt;startOffset(), IGNORE_EXCEPTION);
</ins><span class="cx">         }
</span><span class="cx">     
</span><span class="cx">         if (isGrammarCheckingEnabled())
</span><span class="lines">@@ -1984,10 +1982,10 @@
</span><span class="cx">     if (startedWithSelection &amp;&amp; !misspelledWord &amp;&amp; !badGrammarPhrase) {
</span><span class="cx">         spellingSearchRange-&gt;setStart(topNode, 0, IGNORE_EXCEPTION);
</span><span class="cx">         // going until the end of the very first chunk we tested is far enough
</span><del>-        spellingSearchRange-&gt;setEnd(searchEndNodeAfterWrap, searchEndOffsetAfterWrap, IGNORE_EXCEPTION);
</del><ins>+        spellingSearchRange-&gt;setEnd(&amp;searchEndNodeAfterWrap, searchEndOffsetAfterWrap, IGNORE_EXCEPTION);
</ins><span class="cx">         
</span><span class="cx">         if (unifiedTextCheckerEnabled()) {
</span><del>-            grammarSearchRange = spellingSearchRange-&gt;cloneRange(IGNORE_EXCEPTION);
</del><ins>+            grammarSearchRange = spellingSearchRange-&gt;cloneRange();
</ins><span class="cx">             foundItem = TextCheckingHelper(client(), spellingSearchRange).findFirstMisspellingOrBadGrammar(isGrammarCheckingEnabled(), isSpelling, foundOffset, grammarDetail);
</span><span class="cx">             if (isSpelling) {
</span><span class="cx">                 misspelledWord = foundItem;
</span><span class="lines">@@ -2000,12 +1998,12 @@
</span><span class="cx">             misspelledWord = TextCheckingHelper(client(), spellingSearchRange).findFirstMisspelling(misspellingOffset, false, firstMisspellingRange);
</span><span class="cx"> 
</span><span class="cx"> #if USE(GRAMMAR_CHECKING)
</span><del>-            grammarSearchRange = spellingSearchRange-&gt;cloneRange(IGNORE_EXCEPTION);
</del><ins>+            grammarSearchRange = spellingSearchRange-&gt;cloneRange();
</ins><span class="cx">             if (!misspelledWord.isEmpty()) {
</span><span class="cx">                 // Stop looking at start of next misspelled word
</span><span class="cx">                 CharacterIterator chars(*grammarSearchRange);
</span><span class="cx">                 chars.advance(misspellingOffset);
</span><del>-                grammarSearchRange-&gt;setEnd(chars.range()-&gt;startContainer(), chars.range()-&gt;startOffset(), IGNORE_EXCEPTION);
</del><ins>+                grammarSearchRange-&gt;setEnd(&amp;chars.range()-&gt;startContainer(), chars.range()-&gt;startOffset(), IGNORE_EXCEPTION);
</ins><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             if (isGrammarCheckingEnabled())
</span><span class="lines">@@ -2297,11 +2295,11 @@
</span><span class="cx">         return;
</span><span class="cx">     
</span><span class="cx">     // If we're not in an editable node, bail.
</span><del>-    Node* editableNode = searchRange-&gt;startContainer();
-    if (!editableNode || !editableNode-&gt;hasEditableStyle())
</del><ins>+    Node&amp; editableNode = searchRange-&gt;startContainer();
+    if (!editableNode.hasEditableStyle())
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    if (!isSpellCheckingEnabledFor(editableNode))
</del><ins>+    if (!isSpellCheckingEnabledFor(&amp;editableNode))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     // Get the spell checker if it is available
</span><span class="lines">@@ -2371,11 +2369,11 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     // If we're not in an editable node, bail.
</span><del>-    Node* editableNode = spellingRange-&gt;startContainer();
-    if (!editableNode || !editableNode-&gt;hasEditableStyle())
</del><ins>+    Node&amp; editableNode = spellingRange-&gt;startContainer();
+    if (!editableNode.hasEditableStyle())
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    if (!isSpellCheckingEnabledFor(editableNode))
</del><ins>+    if (!isSpellCheckingEnabledFor(&amp;editableNode))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     Range* rangeToCheck = shouldMarkGrammar ? grammarRange : spellingRange;
</span><span class="lines">@@ -2420,7 +2418,7 @@
</span><span class="cx"> 
</span><span class="cx"> static void correctSpellcheckingPreservingTextCheckingParagraph(TextCheckingParagraph&amp; paragraph, PassRefPtr&lt;Range&gt; rangeToReplace, const String&amp; replacement, int resultLocation, int resultLength)
</span><span class="cx"> {
</span><del>-    ContainerNode* scope = downcast&lt;ContainerNode&gt;(highestAncestor(paragraph.paragraphRange()-&gt;startContainer()));
</del><ins>+    ContainerNode* scope = downcast&lt;ContainerNode&gt;(highestAncestor(&amp;paragraph.paragraphRange()-&gt;startContainer()));
</ins><span class="cx"> 
</span><span class="cx">     size_t paragraphLocation;
</span><span class="cx">     size_t paragraphLength;
</span><span class="lines">@@ -2495,7 +2493,7 @@
</span><span class="cx">             RefPtr&lt;Range&gt; misspellingRange = paragraph.subrange(resultLocation, resultLength);
</span><span class="cx">             if (!m_alternativeTextController-&gt;isSpellingMarkerAllowed(misspellingRange))
</span><span class="cx">                 continue;
</span><del>-            misspellingRange-&gt;startContainer()-&gt;document().markers().addMarker(misspellingRange.get(), DocumentMarker::Spelling, replacement);
</del><ins>+            misspellingRange-&gt;startContainer().document().markers().addMarker(misspellingRange.get(), DocumentMarker::Spelling, replacement);
</ins><span class="cx">         } else if (shouldMarkGrammar &amp;&amp; resultType == TextCheckingTypeGrammar &amp;&amp; paragraph.checkingRangeCovers(resultLocation, resultLength)) {
</span><span class="cx">             ASSERT(resultLength &gt; 0 &amp;&amp; resultLocation &gt;= 0);
</span><span class="cx">             const Vector&lt;GrammarDetail&gt;&amp; details = results[i].details;
</span><span class="lines">@@ -2504,7 +2502,7 @@
</span><span class="cx">                 ASSERT(detail.length &gt; 0 &amp;&amp; detail.location &gt;= 0);
</span><span class="cx">                 if (paragraph.checkingRangeCovers(resultLocation + detail.location, detail.length)) {
</span><span class="cx">                     RefPtr&lt;Range&gt; badGrammarRange = paragraph.subrange(resultLocation + detail.location, detail.length);
</span><del>-                    badGrammarRange-&gt;startContainer()-&gt;document().markers().addMarker(badGrammarRange.get(), DocumentMarker::Grammar, detail.userDescription);
</del><ins>+                    badGrammarRange-&gt;startContainer().document().markers().addMarker(badGrammarRange.get(), DocumentMarker::Grammar, detail.userDescription);
</ins><span class="cx">                 }
</span><span class="cx">             }
</span><span class="cx">         } else if (resultEndLocation &lt;= spellingRangeEndOffset &amp;&amp; resultEndLocation &gt;= paragraph.checkingStart()
</span><span class="lines">@@ -2614,7 +2612,7 @@
</span><span class="cx">     TextCheckingParagraph paragraph(selection);
</span><span class="cx">     replaceSelectionWithText(replacedString, false, false, EditActionInsert);
</span><span class="cx">     RefPtr&lt;Range&gt; changedRange = paragraph.subrange(paragraph.checkingStart(), replacedString.length());
</span><del>-    changedRange-&gt;startContainer()-&gt;document().markers().addMarker(changedRange.get(), DocumentMarker::Replacement, String());
</del><ins>+    changedRange-&gt;startContainer().document().markers().addMarker(changedRange.get(), DocumentMarker::Replacement, String());
</ins><span class="cx">     m_alternativeTextController-&gt;markReversed(changedRange.get());
</span><span class="cx"> #else
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="lines">@@ -2937,12 +2935,9 @@
</span><span class="cx"> 
</span><span class="cx"> IntRect Editor::firstRectForRange(Range* range) const
</span><span class="cx"> {
</span><del>-    ASSERT(range-&gt;startContainer());
-    ASSERT(range-&gt;endContainer());
-
</del><span class="cx">     VisiblePosition startVisiblePosition(range-&gt;startPosition(), DOWNSTREAM);
</span><span class="cx"> 
</span><del>-    if (range-&gt;collapsed(ASSERT_NO_EXCEPTION)) {
</del><ins>+    if (range-&gt;collapsed()) {
</ins><span class="cx">         // FIXME: Getting caret rect and removing caret width is a very roundabout way to get collapsed range location.
</span><span class="cx">         // In particular, width adjustment doesn't work for rotated text.
</span><span class="cx">         IntRect startCaretRect = RenderedPosition(startVisiblePosition).absoluteRect();
</span><span class="lines">@@ -3118,7 +3113,7 @@
</span><span class="cx">             searchRange-&gt;setEnd(startInReferenceRange ? referenceRange-&gt;endPosition() : referenceRange-&gt;startPosition());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Node&gt; shadowTreeRoot = referenceRange &amp;&amp; referenceRange-&gt;startContainer() ? referenceRange-&gt;startContainer()-&gt;nonBoundaryShadowTreeRootNode() : 0;
</del><ins>+    RefPtr&lt;Node&gt; shadowTreeRoot = referenceRange ? referenceRange-&gt;startContainer().nonBoundaryShadowTreeRootNode() : nullptr;
</ins><span class="cx">     if (shadowTreeRoot) {
</span><span class="cx">         if (forward)
</span><span class="cx">             searchRange-&gt;setEnd(shadowTreeRoot.get(), shadowTreeRoot-&gt;countChildNodes());
</span><span class="lines">@@ -3148,7 +3143,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // If nothing was found in the shadow tree, search in main content following the shadow tree.
</span><del>-    if (resultRange-&gt;collapsed(ASSERT_NO_EXCEPTION) &amp;&amp; shadowTreeRoot) {
</del><ins>+    if (resultRange-&gt;collapsed() &amp;&amp; shadowTreeRoot) {
</ins><span class="cx">         searchRange = rangeOfContents(document());
</span><span class="cx">         if (forward)
</span><span class="cx">             searchRange-&gt;setStartAfter(shadowTreeRoot-&gt;shadowHost());
</span><span class="lines">@@ -3160,7 +3155,7 @@
</span><span class="cx"> 
</span><span class="cx">     // If we didn't find anything and we're wrapping, search again in the entire document (this will
</span><span class="cx">     // redundantly re-search the area already searched in some cases).
</span><del>-    if (resultRange-&gt;collapsed(ASSERT_NO_EXCEPTION) &amp;&amp; options &amp; WrapAround) {
</del><ins>+    if (resultRange-&gt;collapsed() &amp;&amp; options &amp; WrapAround) {
</ins><span class="cx">         searchRange = rangeOfContents(document());
</span><span class="cx">         resultRange = findPlainText(*searchRange, target, options);
</span><span class="cx">         // We used to return false here if we ended up with the same range that we started with
</span><span class="lines">@@ -3168,7 +3163,7 @@
</span><span class="cx">         // this should be a success case instead, so we'll just fall through in that case.
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return resultRange-&gt;collapsed(ASSERT_NO_EXCEPTION) ? 0 : resultRange.release();
</del><ins>+    return resultRange-&gt;collapsed() ? nullptr : resultRange.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static bool isFrameInRange(Frame* frame, Range* range)
</span><span class="lines">@@ -3198,18 +3193,18 @@
</span><span class="cx">     if (!searchRange)
</span><span class="cx">         searchRange = rangeOfContents(document());
</span><span class="cx"> 
</span><del>-    Node* originalEndContainer = searchRange-&gt;endContainer();
</del><ins>+    Node&amp; originalEndContainer = searchRange-&gt;endContainer();
</ins><span class="cx">     int originalEndOffset = searchRange-&gt;endOffset();
</span><span class="cx"> 
</span><span class="cx">     unsigned matchCount = 0;
</span><span class="cx">     do {
</span><span class="cx">         RefPtr&lt;Range&gt; resultRange(findPlainText(*searchRange, target, options &amp; ~Backwards));
</span><del>-        if (resultRange-&gt;collapsed(IGNORE_EXCEPTION)) {
-            if (!resultRange-&gt;startContainer()-&gt;isInShadowTree())
</del><ins>+        if (resultRange-&gt;collapsed()) {
+            if (!resultRange-&gt;startContainer().isInShadowTree())
</ins><span class="cx">                 break;
</span><span class="cx"> 
</span><del>-            searchRange-&gt;setStartAfter(resultRange-&gt;startContainer()-&gt;shadowHost(), IGNORE_EXCEPTION);
-            searchRange-&gt;setEnd(originalEndContainer, originalEndOffset, IGNORE_EXCEPTION);
</del><ins>+            searchRange-&gt;setStartAfter(resultRange-&gt;startContainer().shadowHost(), IGNORE_EXCEPTION);
+            searchRange-&gt;setEnd(&amp;originalEndContainer, originalEndOffset, IGNORE_EXCEPTION);
</ins><span class="cx">             continue;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -3228,10 +3223,10 @@
</span><span class="cx">         // result range. There is no need to use a VisiblePosition here,
</span><span class="cx">         // since findPlainText will use a TextIterator to go over the visible
</span><span class="cx">         // text nodes. 
</span><del>-        searchRange-&gt;setStart(resultRange-&gt;endContainer(IGNORE_EXCEPTION), resultRange-&gt;endOffset(IGNORE_EXCEPTION), IGNORE_EXCEPTION);
</del><ins>+        searchRange-&gt;setStart(&amp;resultRange-&gt;endContainer(), resultRange-&gt;endOffset(), IGNORE_EXCEPTION);
</ins><span class="cx"> 
</span><span class="cx">         Node* shadowTreeRoot = searchRange-&gt;shadowRoot();
</span><del>-        if (searchRange-&gt;collapsed(IGNORE_EXCEPTION) &amp;&amp; shadowTreeRoot)
</del><ins>+        if (searchRange-&gt;collapsed() &amp;&amp; shadowTreeRoot)
</ins><span class="cx">             searchRange-&gt;setEnd(shadowTreeRoot, shadowTreeRoot-&gt;countChildNodes(), IGNORE_EXCEPTION);
</span><span class="cx">     } while (true);
</span><span class="cx"> 
</span><span class="lines">@@ -3353,9 +3348,8 @@
</span><span class="cx"> void Editor::scanRangeForTelephoneNumbers(Range&amp; range, const StringView&amp; stringView, Vector&lt;RefPtr&lt;Range&gt;&gt;&amp; markedRanges)
</span><span class="cx"> {
</span><span class="cx">     // Don't scan for phone numbers inside editable regions.
</span><del>-    Node* startNode = range.startContainer();
-    ASSERT(startNode);
-    if (startNode-&gt;hasEditableStyle())
</del><ins>+    Node&amp; startNode = range.startContainer();
+    if (startNode.hasEditableStyle())
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     // relativeStartPosition and relativeEndPosition are the endpoints of the phone number range,
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingEditorCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/EditorCommand.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/EditorCommand.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/editing/EditorCommand.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -182,7 +182,7 @@
</span><span class="cx">     RefPtr&lt;Range&gt; newRange = selection.toNormalizedRange();
</span><span class="cx">     if (!newRange)
</span><span class="cx">         return false;
</span><del>-    if (newRange-&gt;collapsed(IGNORE_EXCEPTION))
</del><ins>+    if (newRange-&gt;collapsed())
</ins><span class="cx">         return false;
</span><span class="cx">     RefPtr&lt;Range&gt; oldRange = selection.toNormalizedRange();
</span><span class="cx">     EAffinity affinity = selection.affinity();
</span><span class="lines">@@ -235,7 +235,7 @@
</span><span class="cx">     Range* start = a-&gt;compareBoundaryPoints(Range::START_TO_START, b, ASSERT_NO_EXCEPTION) &lt;= 0 ? a : b;
</span><span class="cx">     Range* end = a-&gt;compareBoundaryPoints(Range::END_TO_END, b, ASSERT_NO_EXCEPTION) &lt;= 0 ? b : a;
</span><span class="cx"> 
</span><del>-    return Range::create(a-&gt;ownerDocument(), start-&gt;startContainer(), start-&gt;startOffset(), end-&gt;endContainer(), end-&gt;endOffset());
</del><ins>+    return Range::create(a-&gt;ownerDocument(), &amp;start-&gt;startContainer(), start-&gt;startOffset(), &amp;end-&gt;endContainer(), end-&gt;endOffset());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // Execute command functions
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingFormatBlockCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/FormatBlockCommand.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/FormatBlockCommand.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/editing/FormatBlockCommand.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -102,14 +102,14 @@
</span><span class="cx">     if (!range)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    Node* commonAncestor = range-&gt;commonAncestorContainer(IGNORE_EXCEPTION);
</del><ins>+    Node* commonAncestor = range-&gt;commonAncestorContainer();
</ins><span class="cx">     while (commonAncestor &amp;&amp; !isElementForFormatBlock(commonAncestor))
</span><span class="cx">         commonAncestor = commonAncestor-&gt;parentNode();
</span><span class="cx"> 
</span><span class="cx">     if (!commonAncestor)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    Element* rootEditableElement = range-&gt;startContainer()-&gt;rootEditableElement();
</del><ins>+    Element* rootEditableElement = range-&gt;startContainer().rootEditableElement();
</ins><span class="cx">     if (!rootEditableElement || commonAncestor-&gt;contains(rootEditableElement))
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingFrameSelectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/FrameSelection.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/FrameSelection.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/editing/FrameSelection.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1799,15 +1799,15 @@
</span><span class="cx"> 
</span><span class="cx"> bool FrameSelection::setSelectedRange(Range* range, EAffinity affinity, bool closeTyping)
</span><span class="cx"> {
</span><del>-    if (!range || !range-&gt;startContainer() || !range-&gt;endContainer())
</del><ins>+    if (!range)
</ins><span class="cx">         return false;
</span><del>-    ASSERT(&amp;range-&gt;startContainer()-&gt;document() == &amp;range-&gt;endContainer()-&gt;document());
</del><ins>+    ASSERT(&amp;range-&gt;startContainer().document() == &amp;range-&gt;endContainer().document());
</ins><span class="cx"> 
</span><span class="cx">     VisibleSelection newSelection(*range, affinity);
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     // FIXME: Why do we need this check only in iOS?
</span><del>-    if (range-&gt;startContainer() &amp;&amp; range-&gt;endContainer() &amp;&amp; newSelection.isNone())
</del><ins>+    if (newSelection.isNone())
</ins><span class="cx">         return false;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -2384,9 +2384,7 @@
</span><span class="cx">     // FIXME: This will only work in cases where the selection remains in
</span><span class="cx">     // the same node after it is expanded. Improve to handle more complicated
</span><span class="cx">     // cases.
</span><del>-    ExceptionCode ec = 0;
-    int result = selection.start().deprecatedEditingOffset() - range-&gt;startOffset(ec);
-    ASSERT(!ec);
</del><ins>+    int result = selection.start().deprecatedEditingOffset() - range-&gt;startOffset();
</ins><span class="cx">     if (result &lt; 0)
</span><span class="cx">         result = 0;
</span><span class="cx">     return result;
</span><span class="lines">@@ -2396,12 +2394,9 @@
</span><span class="cx"> {
</span><span class="cx">     if (!range)
</span><span class="cx">         return false;
</span><del>-    ExceptionCode ec = 0;
-    Node* node = range-&gt;endContainer(ec);
-    ASSERT(!ec);
-    int endOffset = range-&gt;endOffset(ec);
-    ASSERT(!ec);
-    VisiblePosition pos(createLegacyEditingPosition(node, endOffset), VP_DEFAULT_AFFINITY);
</del><ins>+    Node&amp; node = range-&gt;endContainer();
+    int endOffset = range-&gt;endOffset();
+    VisiblePosition pos(createLegacyEditingPosition(&amp;node, endOffset), VP_DEFAULT_AFFINITY);
</ins><span class="cx">     return isSpaceOrNewline(pos.characterAfter());
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingMarkupAccumulatorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/MarkupAccumulator.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/MarkupAccumulator.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/editing/MarkupAccumulator.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -343,9 +343,9 @@
</span><span class="cx">     unsigned length = textData.length();
</span><span class="cx"> 
</span><span class="cx">     if (m_range) {
</span><del>-        if (&amp;text == m_range-&gt;endContainer())
</del><ins>+        if (&amp;text == &amp;m_range-&gt;endContainer())
</ins><span class="cx">             length = m_range-&gt;endOffset();
</span><del>-        if (&amp;text == m_range-&gt;startContainer()) {
</del><ins>+        if (&amp;text == &amp;m_range-&gt;startContainer()) {
</ins><span class="cx">             start = m_range-&gt;startOffset();
</span><span class="cx">             length -= start;
</span><span class="cx">         }
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingSpellCheckercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/SpellChecker.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/SpellChecker.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/editing/SpellChecker.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     : m_checker(0)
</span><span class="cx">     , m_checkingRange(checkingRange)
</span><span class="cx">     , m_paragraphRange(paragraphRange)
</span><del>-    , m_rootEditableElement(m_checkingRange-&gt;startContainer()-&gt;rootEditableElement())
</del><ins>+    , m_rootEditableElement(m_checkingRange-&gt;startContainer().rootEditableElement())
</ins><span class="cx">     , m_requestData(unrequestedTextCheckingSequence, text, mask, processType)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="lines">@@ -150,8 +150,8 @@
</span><span class="cx"> {
</span><span class="cx">     if (!range || !range-&gt;firstNode() || !range-&gt;firstNode()-&gt;renderer())
</span><span class="cx">         return false;
</span><del>-    const Node* node = range-&gt;startContainer();
-    if (is&lt;Element&gt;(node) &amp;&amp; !downcast&lt;Element&gt;(*node).isSpellCheckingEnabled())
</del><ins>+    const Node&amp; node = range-&gt;startContainer();
+    if (is&lt;Element&gt;(node) &amp;&amp; !downcast&lt;Element&gt;(node).isSpellCheckingEnabled())
</ins><span class="cx">         return false;
</span><span class="cx">     return true;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingSpellingCorrectionCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/SpellingCorrectionCommand.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/SpellingCorrectionCommand.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/editing/SpellingCorrectionCommand.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> SpellingCorrectionCommand::SpellingCorrectionCommand(PassRefPtr&lt;Range&gt; rangeToBeCorrected, const String&amp; correction)
</span><del>-    : CompositeEditCommand(rangeToBeCorrected-&gt;startContainer()-&gt;document())
</del><ins>+    : CompositeEditCommand(rangeToBeCorrected-&gt;startContainer().document())
</ins><span class="cx">     , m_rangeToBeCorrected(rangeToBeCorrected)
</span><span class="cx">     , m_selectionToBeCorrected(*m_rangeToBeCorrected)
</span><span class="cx">     , m_correction(correction)
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingTextCheckingHelpercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/TextCheckingHelper.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/TextCheckingHelper.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/editing/TextCheckingHelper.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -107,11 +107,11 @@
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;Range&gt; expandToParagraphBoundary(PassRefPtr&lt;Range&gt; range)
</del><ins>+static Ref&lt;Range&gt; expandToParagraphBoundary(PassRefPtr&lt;Range&gt; range)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Range&gt; paragraphRange = range-&gt;cloneRange(IGNORE_EXCEPTION);
-    setStart(paragraphRange.get(), startOfParagraph(range-&gt;startPosition()));
-    setEnd(paragraphRange.get(), endOfParagraph(range-&gt;endPosition()));
</del><ins>+    Ref&lt;Range&gt; paragraphRange = range-&gt;cloneRange();
+    setStart(paragraphRange.ptr(), startOfParagraph(range-&gt;startPosition()));
+    setEnd(paragraphRange.ptr(), endOfParagraph(range-&gt;endPosition()));
</ins><span class="cx">     return paragraphRange;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -173,11 +173,11 @@
</span><span class="cx"> int TextCheckingParagraph::offsetTo(const Position&amp; position, ExceptionCode&amp; ec) const
</span><span class="cx"> {
</span><span class="cx">     ASSERT(m_checkingRange);
</span><del>-    RefPtr&lt;Range&gt; range = offsetAsRange()-&gt;cloneRange(ASSERT_NO_EXCEPTION);
</del><ins>+    Ref&lt;Range&gt; range = offsetAsRange()-&gt;cloneRange();
</ins><span class="cx">     range-&gt;setEnd(position.containerNode(), position.computeOffsetInContainerNode(), ec);
</span><span class="cx">     if (ec)
</span><span class="cx">         return 0;
</span><del>-    return TextIterator::rangeLength(range.get());
</del><ins>+    return TextIterator::rangeLength(range.ptr());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool TextCheckingParagraph::isEmpty() const
</span><span class="lines">@@ -191,7 +191,7 @@
</span><span class="cx"> {
</span><span class="cx">     ASSERT(m_checkingRange);
</span><span class="cx">     if (!m_offsetAsRange)
</span><del>-        m_offsetAsRange = Range::create(paragraphRange()-&gt;startContainer()-&gt;document(), paragraphRange()-&gt;startPosition(), checkingRange()-&gt;startPosition());
</del><ins>+        m_offsetAsRange = Range::create(paragraphRange()-&gt;startContainer().document(), paragraphRange()-&gt;startPosition(), checkingRange()-&gt;startPosition());
</ins><span class="cx"> 
</span><span class="cx">     return m_offsetAsRange;
</span><span class="cx"> }
</span><span class="lines">@@ -281,7 +281,7 @@
</span><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             // Store marker for misspelled word.
</span><del>-            misspellingRange-&gt;startContainer()-&gt;document().markers().addMarker(misspellingRange.get(), DocumentMarker::Spelling);
</del><ins>+            misspellingRange-&gt;startContainer().document().markers().addMarker(misspellingRange.get(), DocumentMarker::Spelling);
</ins><span class="cx"> 
</span><span class="cx">             // Bail out if we're marking only the first misspelling, and not all instances.
</span><span class="cx">             if (!markAll)
</span><span class="lines">@@ -312,31 +312,31 @@
</span><span class="cx">     // Expand the search range to encompass entire paragraphs, since text checking needs that much context.
</span><span class="cx">     // Determine the character offset from the start of the paragraph to the start of the original search range,
</span><span class="cx">     // since we will want to ignore results in this area.
</span><del>-    RefPtr&lt;Range&gt; paragraphRange = m_range-&gt;cloneRange(IGNORE_EXCEPTION);
-    setStart(paragraphRange.get(), startOfParagraph(m_range-&gt;startPosition()));
-    int totalRangeLength = TextIterator::rangeLength(paragraphRange.get());
-    setEnd(paragraphRange.get(), endOfParagraph(m_range-&gt;startPosition()));
</del><ins>+    Ref&lt;Range&gt; paragraphRange = m_range-&gt;cloneRange();
+    setStart(paragraphRange.ptr(), startOfParagraph(m_range-&gt;startPosition()));
+    int totalRangeLength = TextIterator::rangeLength(paragraphRange.ptr());
+    setEnd(paragraphRange.ptr(), endOfParagraph(m_range-&gt;startPosition()));
</ins><span class="cx">     
</span><del>-    RefPtr&lt;Range&gt; offsetAsRange = Range::create(paragraphRange-&gt;startContainer()-&gt;document(), paragraphRange-&gt;startPosition(), m_range-&gt;startPosition());
-    int rangeStartOffset = TextIterator::rangeLength(offsetAsRange.get());
</del><ins>+    Ref&lt;Range&gt; offsetAsRange = Range::create(paragraphRange-&gt;startContainer().document(), paragraphRange-&gt;startPosition(), m_range-&gt;startPosition());
+    int rangeStartOffset = TextIterator::rangeLength(offsetAsRange.ptr());
</ins><span class="cx">     int totalLengthProcessed = 0;
</span><span class="cx">     
</span><span class="cx">     bool firstIteration = true;
</span><span class="cx">     bool lastIteration = false;
</span><span class="cx">     while (totalLengthProcessed &lt; totalRangeLength) {
</span><span class="cx">         // Iterate through the search range by paragraphs, checking each one for spelling and grammar.
</span><del>-        int currentLength = TextIterator::rangeLength(paragraphRange.get());
</del><ins>+        int currentLength = TextIterator::rangeLength(paragraphRange.ptr());
</ins><span class="cx">         int currentStartOffset = firstIteration ? rangeStartOffset : 0;
</span><span class="cx">         int currentEndOffset = currentLength;
</span><span class="cx">         if (inSameParagraph(paragraphRange-&gt;startPosition(), m_range-&gt;endPosition())) {
</span><span class="cx">             // Determine the character offset from the end of the original search range to the end of the paragraph,
</span><span class="cx">             // since we will want to ignore results in this area.
</span><del>-            RefPtr&lt;Range&gt; endOffsetAsRange = Range::create(paragraphRange-&gt;startContainer()-&gt;document(), paragraphRange-&gt;startPosition(), m_range-&gt;endPosition());
</del><ins>+            RefPtr&lt;Range&gt; endOffsetAsRange = Range::create(paragraphRange-&gt;startContainer().document(), paragraphRange-&gt;startPosition(), m_range-&gt;endPosition());
</ins><span class="cx">             currentEndOffset = TextIterator::rangeLength(endOffsetAsRange.get());
</span><span class="cx">             lastIteration = true;
</span><span class="cx">         }
</span><span class="cx">         if (currentStartOffset &lt; currentEndOffset) {
</span><del>-            String paragraphString = plainText(paragraphRange.get());
</del><ins>+            String paragraphString = plainText(paragraphRange.ptr());
</ins><span class="cx">             if (paragraphString.length() &gt; 0) {
</span><span class="cx">                 bool foundGrammar = false;
</span><span class="cx">                 int spellingLocation = 0;
</span><span class="lines">@@ -387,7 +387,7 @@
</span><span class="cx">                 if (!misspelledWord.isEmpty() &amp;&amp; (!checkGrammar || badGrammarPhrase.isEmpty() || spellingLocation &lt;= grammarDetailLocation)) {
</span><span class="cx">                     int spellingOffset = spellingLocation - currentStartOffset;
</span><span class="cx">                     if (!firstIteration) {
</span><del>-                        RefPtr&lt;Range&gt; paragraphOffsetAsRange = Range::create(paragraphRange-&gt;startContainer()-&gt;document(), m_range-&gt;startPosition(), paragraphRange-&gt;startPosition());
</del><ins>+                        RefPtr&lt;Range&gt; paragraphOffsetAsRange = Range::create(paragraphRange-&gt;startContainer().document(), m_range-&gt;startPosition(), paragraphRange-&gt;startPosition());
</ins><span class="cx">                         spellingOffset += TextIterator::rangeLength(paragraphOffsetAsRange.get());
</span><span class="cx">                     }
</span><span class="cx">                     outIsSpelling = true;
</span><span class="lines">@@ -398,7 +398,7 @@
</span><span class="cx">                 if (checkGrammar &amp;&amp; !badGrammarPhrase.isEmpty()) {
</span><span class="cx">                     int grammarPhraseOffset = grammarPhraseLocation - currentStartOffset;
</span><span class="cx">                     if (!firstIteration) {
</span><del>-                        RefPtr&lt;Range&gt; paragraphOffsetAsRange = Range::create(paragraphRange-&gt;startContainer()-&gt;document(), m_range-&gt;startPosition(), paragraphRange-&gt;startPosition());
</del><ins>+                        RefPtr&lt;Range&gt; paragraphOffsetAsRange = Range::create(paragraphRange-&gt;startContainer().document(), m_range-&gt;startPosition(), paragraphRange-&gt;startPosition());
</ins><span class="cx">                         grammarPhraseOffset += TextIterator::rangeLength(paragraphOffsetAsRange.get());
</span><span class="cx">                     }
</span><span class="cx">                     outIsSpelling = false;
</span><span class="lines">@@ -411,8 +411,8 @@
</span><span class="cx">         if (lastIteration || totalLengthProcessed + currentLength &gt;= totalRangeLength)
</span><span class="cx">             break;
</span><span class="cx">         VisiblePosition newParagraphStart = startOfNextParagraph(paragraphRange-&gt;endPosition());
</span><del>-        setStart(paragraphRange.get(), newParagraphStart);
-        setEnd(paragraphRange.get(), endOfParagraph(newParagraphStart));
</del><ins>+        setStart(paragraphRange.ptr(), newParagraphStart);
+        setEnd(paragraphRange.ptr(), endOfParagraph(newParagraphStart));
</ins><span class="cx">         firstIteration = false;
</span><span class="cx">         totalLengthProcessed += currentLength;
</span><span class="cx">     }
</span><span class="lines">@@ -444,7 +444,7 @@
</span><span class="cx">         
</span><span class="cx">         if (markAll) {
</span><span class="cx">             RefPtr&lt;Range&gt; badGrammarRange = TextIterator::subrange(m_range.get(), badGrammarPhraseLocation - startOffset + detail-&gt;location, detail-&gt;length);
</span><del>-            badGrammarRange-&gt;startContainer()-&gt;document().markers().addMarker(badGrammarRange.get(), DocumentMarker::Grammar, detail-&gt;userDescription);
</del><ins>+            badGrammarRange-&gt;startContainer().document().markers().addMarker(badGrammarRange.get(), DocumentMarker::Grammar, detail-&gt;userDescription);
</ins><span class="cx">         }
</span><span class="cx">         
</span><span class="cx">         // Remember this detail only if it's earlier than our current candidate (the details aren't in a guaranteed order)
</span><span class="lines">@@ -519,7 +519,7 @@
</span><span class="cx">     if (!m_client)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    if (!m_range || m_range-&gt;collapsed(IGNORE_EXCEPTION))
</del><ins>+    if (!m_range || m_range-&gt;collapsed())
</ins><span class="cx">         return false;
</span><span class="cx">     
</span><span class="cx">     // Returns true only if the passed range exactly corresponds to a bad grammar detail range. This is analogous
</span><span class="lines">@@ -569,7 +569,7 @@
</span><span class="cx">     misspelled = false;
</span><span class="cx">     ungrammatical = false;
</span><span class="cx">     
</span><del>-    if (!m_client || !m_range || m_range-&gt;collapsed(IGNORE_EXCEPTION))
</del><ins>+    if (!m_client || !m_range || m_range-&gt;collapsed())
</ins><span class="cx">         return guesses;
</span><span class="cx"> 
</span><span class="cx">     // Expand the range to encompass entire paragraphs, since text checking needs that much context.
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingTextIteratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/TextIterator.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/TextIterator.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/editing/TextIterator.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -342,17 +342,14 @@
</span><span class="cx"> 
</span><span class="cx">     range-&gt;ownerDocument().updateLayoutIgnorePendingStylesheets();
</span><span class="cx"> 
</span><del>-    m_startContainer = range-&gt;startContainer();
-    if (!m_startContainer)
-        return;
-    ASSERT(range-&gt;endContainer());
</del><ins>+    m_startContainer = &amp;range-&gt;startContainer();
</ins><span class="cx"> 
</span><span class="cx">     // Callers should be handing us well-formed ranges. If we discover that this isn't
</span><span class="cx">     // the case, we could consider changing this assertion to an early return.
</span><span class="cx">     ASSERT(range-&gt;boundaryPointsValid());
</span><span class="cx"> 
</span><span class="cx">     m_startOffset = range-&gt;startOffset();
</span><del>-    m_endContainer = range-&gt;endContainer();
</del><ins>+    m_endContainer = &amp;range-&gt;endContainer();
</ins><span class="cx">     m_endOffset = range-&gt;endOffset();
</span><span class="cx"> 
</span><span class="cx">     // Set up the current node for processing.
</span><span class="lines">@@ -1178,11 +1175,11 @@
</span><span class="cx"> {
</span><span class="cx">     Ref&lt;Range&gt; textRange = range();
</span><span class="cx"> 
</span><del>-    Node* node = textRange-&gt;startContainer();
-    if (node-&gt;offsetInCharacters())
-        return node;
</del><ins>+    Node&amp; node = textRange-&gt;startContainer();
+    if (node.offsetInCharacters())
+        return &amp;node;
</ins><span class="cx">     
</span><del>-    return node-&gt;traverseToChildAt(textRange-&gt;startOffset());
</del><ins>+    return node.traverseToChildAt(textRange-&gt;startOffset());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // --------
</span><span class="lines">@@ -1209,10 +1206,8 @@
</span><span class="cx"> 
</span><span class="cx">     range.ownerDocument().updateLayoutIgnorePendingStylesheets();
</span><span class="cx"> 
</span><del>-    Node* startNode = range.startContainer();
-    if (!startNode)
-        return;
-    Node* endNode = range.endContainer();
</del><ins>+    Node* startNode = &amp;range.startContainer();
+    Node* endNode = &amp;range.endContainer();
</ins><span class="cx">     int startOffset = range.startOffset();
</span><span class="cx">     int endOffset = range.endOffset();
</span><span class="cx"> 
</span><span class="lines">@@ -1476,11 +1471,11 @@
</span><span class="cx">         if (m_underlyingIterator.text().length() &lt;= 1) {
</span><span class="cx">             ASSERT(m_runOffset == 0);
</span><span class="cx">         } else {
</span><del>-            Node* n = range-&gt;startContainer();
-            ASSERT(n == range-&gt;endContainer());
</del><ins>+            Node&amp; node = range-&gt;startContainer();
+            ASSERT(&amp;node == &amp;range-&gt;endContainer());
</ins><span class="cx">             int offset = range-&gt;startOffset() + m_runOffset;
</span><del>-            range-&gt;setStart(n, offset);
-            range-&gt;setEnd(n, offset + 1);
</del><ins>+            range-&gt;setStart(&amp;node, offset);
+            range-&gt;setEnd(&amp;node, offset + 1);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx">     return range;
</span><span class="lines">@@ -1546,9 +1541,7 @@
</span><span class="cx"> 
</span><span class="cx">     Ref&lt;Range&gt; end = it.range();
</span><span class="cx"> 
</span><del>-    return Range::create(document,
-        start-&gt;startContainer(), start-&gt;startOffset(), 
-        end-&gt;endContainer(), end-&gt;endOffset());
</del><ins>+    return Range::create(document, &amp;start-&gt;startContainer(), start-&gt;startOffset(), &amp;end-&gt;endContainer(), end-&gt;endOffset());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> BackwardsCharacterIterator::BackwardsCharacterIterator(const Range&amp; range)
</span><span class="lines">@@ -1568,11 +1561,11 @@
</span><span class="cx">         if (m_underlyingIterator.text().length() &lt;= 1)
</span><span class="cx">             ASSERT(m_runOffset == 0);
</span><span class="cx">         else {
</span><del>-            Node* n = r-&gt;startContainer();
-            ASSERT(n == r-&gt;endContainer());
</del><ins>+            Node&amp; node = r-&gt;startContainer();
+            ASSERT(&amp;node == &amp;r-&gt;endContainer());
</ins><span class="cx">             int offset = r-&gt;endOffset() - m_runOffset;
</span><del>-            r-&gt;setStart(n, offset - 1);
-            r-&gt;setEnd(n, offset);
</del><ins>+            r-&gt;setStart(&amp;node, offset - 1);
+            r-&gt;setEnd(&amp;node, offset);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx">     return r;
</span><span class="lines">@@ -2481,8 +2474,8 @@
</span><span class="cx">     
</span><span class="cx">     // FIXME: the atEnd() check shouldn't be necessary, workaround for &lt;http://bugs.webkit.org/show_bug.cgi?id=6289&gt;.
</span><span class="cx">     if (!rangeLocation &amp;&amp; !rangeLength &amp;&amp; it.atEnd()) {
</span><del>-        resultRange-&gt;setStart(textRunRange-&gt;startContainer(), 0);
-        resultRange-&gt;setEnd(textRunRange-&gt;startContainer(), 0);
</del><ins>+        resultRange-&gt;setStart(&amp;textRunRange-&gt;startContainer(), 0);
+        resultRange-&gt;setEnd(&amp;textRunRange-&gt;startContainer(), 0);
</ins><span class="cx">         return WTF::move(resultRange);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -2500,7 +2493,7 @@
</span><span class="cx">                 it.advance();
</span><span class="cx">                 if (!it.atEnd()) {
</span><span class="cx">                     Ref&lt;Range&gt; range = it.range();
</span><del>-                    textRunRange-&gt;setEnd(range-&gt;startContainer(), range-&gt;startOffset());
</del><ins>+                    textRunRange-&gt;setEnd(&amp;range-&gt;startContainer(), range-&gt;startOffset());
</ins><span class="cx">                 } else {
</span><span class="cx">                     Position runStart = textRunRange-&gt;startPosition();
</span><span class="cx">                     Position runEnd = VisiblePosition(runStart).next().deepEquivalent();
</span><span class="lines">@@ -2512,26 +2505,26 @@
</span><span class="cx"> 
</span><span class="cx">         if (foundStart) {
</span><span class="cx">             startRangeFound = true;
</span><del>-            if (textRunRange-&gt;startContainer()-&gt;isTextNode()) {
</del><ins>+            if (textRunRange-&gt;startContainer().isTextNode()) {
</ins><span class="cx">                 int offset = rangeLocation - docTextPosition;
</span><del>-                resultRange-&gt;setStart(textRunRange-&gt;startContainer(), offset + textRunRange-&gt;startOffset());
</del><ins>+                resultRange-&gt;setStart(&amp;textRunRange-&gt;startContainer(), offset + textRunRange-&gt;startOffset());
</ins><span class="cx">             } else {
</span><span class="cx">                 if (rangeLocation == docTextPosition)
</span><del>-                    resultRange-&gt;setStart(textRunRange-&gt;startContainer(), textRunRange-&gt;startOffset());
</del><ins>+                    resultRange-&gt;setStart(&amp;textRunRange-&gt;startContainer(), textRunRange-&gt;startOffset());
</ins><span class="cx">                 else
</span><del>-                    resultRange-&gt;setStart(textRunRange-&gt;endContainer(), textRunRange-&gt;endOffset());
</del><ins>+                    resultRange-&gt;setStart(&amp;textRunRange-&gt;endContainer(), textRunRange-&gt;endOffset());
</ins><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         if (foundEnd) {
</span><del>-            if (textRunRange-&gt;startContainer()-&gt;isTextNode()) {
</del><ins>+            if (textRunRange-&gt;startContainer().isTextNode()) {
</ins><span class="cx">                 int offset = rangeEnd - docTextPosition;
</span><del>-                resultRange-&gt;setEnd(textRunRange-&gt;startContainer(), offset + textRunRange-&gt;startOffset());
</del><ins>+                resultRange-&gt;setEnd(&amp;textRunRange-&gt;startContainer(), offset + textRunRange-&gt;startOffset());
</ins><span class="cx">             } else {
</span><span class="cx">                 if (rangeEnd == docTextPosition)
</span><del>-                    resultRange-&gt;setEnd(textRunRange-&gt;startContainer(), textRunRange-&gt;startOffset());
</del><ins>+                    resultRange-&gt;setEnd(&amp;textRunRange-&gt;startContainer(), textRunRange-&gt;startOffset());
</ins><span class="cx">                 else
</span><del>-                    resultRange-&gt;setEnd(textRunRange-&gt;endContainer(), textRunRange-&gt;endOffset());
</del><ins>+                    resultRange-&gt;setEnd(&amp;textRunRange-&gt;endContainer(), textRunRange-&gt;endOffset());
</ins><span class="cx">             }
</span><span class="cx">             docTextPosition += length;
</span><span class="cx">             break;
</span><span class="lines">@@ -2544,7 +2537,7 @@
</span><span class="cx">         return nullptr;
</span><span class="cx">     
</span><span class="cx">     if (rangeLength &amp;&amp; rangeEnd &gt; docTextPosition) // rangeEnd is out of bounds
</span><del>-        resultRange-&gt;setEnd(textRunRange-&gt;endContainer(), textRunRange-&gt;endOffset());
</del><ins>+        resultRange-&gt;setEnd(&amp;textRunRange-&gt;endContainer(), textRunRange-&gt;endOffset());
</ins><span class="cx">     
</span><span class="cx">     return WTF::move(resultRange);
</span><span class="cx"> }
</span><span class="lines">@@ -2554,25 +2547,22 @@
</span><span class="cx">     location = notFound;
</span><span class="cx">     length = 0;
</span><span class="cx"> 
</span><del>-    if (!range-&gt;startContainer())
-        return false;
-
</del><span class="cx">     // The critical assumption is that this only gets called with ranges that
</span><span class="cx">     // concentrate on a given area containing the selection root. This is done
</span><span class="cx">     // because of text fields and textareas. The DOM for those is not
</span><span class="cx">     // directly in the document DOM, so ensure that the range does not cross a
</span><span class="cx">     // boundary of one of those.
</span><del>-    if (range-&gt;startContainer() != scope &amp;&amp; !range-&gt;startContainer()-&gt;isDescendantOf(scope))
</del><ins>+    if (&amp;range-&gt;startContainer() != scope &amp;&amp; !range-&gt;startContainer().isDescendantOf(scope))
</ins><span class="cx">         return false;
</span><del>-    if (range-&gt;endContainer() != scope &amp;&amp; !range-&gt;endContainer()-&gt;isDescendantOf(scope))
</del><ins>+    if (&amp;range-&gt;endContainer() != scope &amp;&amp; !range-&gt;endContainer().isDescendantOf(scope))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    Ref&lt;Range&gt; testRange = Range::create(scope-&gt;document(), scope, 0, range-&gt;startContainer(), range-&gt;startOffset());
-    ASSERT(testRange-&gt;startContainer() == scope);
</del><ins>+    Ref&lt;Range&gt; testRange = Range::create(scope-&gt;document(), scope, 0, &amp;range-&gt;startContainer(), range-&gt;startOffset());
+    ASSERT(&amp;testRange-&gt;startContainer() == scope);
</ins><span class="cx">     location = TextIterator::rangeLength(testRange.ptr());
</span><span class="cx"> 
</span><del>-    testRange-&gt;setEnd(range-&gt;endContainer(), range-&gt;endOffset(), IGNORE_EXCEPTION);
-    ASSERT(testRange-&gt;startContainer() == scope);
</del><ins>+    testRange-&gt;setEnd(&amp;range-&gt;endContainer(), range-&gt;endOffset(), IGNORE_EXCEPTION);
+    ASSERT(&amp;testRange-&gt;startContainer() == scope);
</ins><span class="cx">     length = TextIterator::rangeLength(testRange.ptr()) - location;
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -2614,8 +2604,8 @@
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;Range&gt; collapsedToBoundary(const Range&amp; range, bool forward)
</span><span class="cx"> {
</span><del>-    Ref&lt;Range&gt; result = range.cloneRange(ASSERT_NO_EXCEPTION).releaseNonNull();
-    result-&gt;collapse(!forward, ASSERT_NO_EXCEPTION);
</del><ins>+    Ref&lt;Range&gt; result = range.cloneRange();
+    result-&gt;collapse(!forward);
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2628,7 +2618,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (buffer.needsMoreContext()) {
</span><span class="cx">         Ref&lt;Range&gt; beforeStartRange = range.ownerDocument().createRange();
</span><del>-        beforeStartRange-&gt;setEnd(range.startContainer(), range.startOffset());
</del><ins>+        beforeStartRange-&gt;setEnd(&amp;range.startContainer(), range.startOffset());
</ins><span class="cx">         for (SimplifiedBackwardsTextIterator backwardsIterator(beforeStartRange.get()); !backwardsIterator.atEnd(); backwardsIterator.advance()) {
</span><span class="cx">             buffer.prependContext(backwardsIterator.text());
</span><span class="cx">             if (!buffer.needsMoreContext())
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingVisibleUnitscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/VisibleUnits.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/VisibleUnits.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/editing/VisibleUnits.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -536,10 +536,11 @@
</span><span class="cx">     if (!next)
</span><span class="cx">         return VisiblePosition(it.atEnd() ? searchRange-&gt;startPosition() : pos, DOWNSTREAM);
</span><span class="cx"> 
</span><del>-    Node* node = it.atEnd() ? searchRange-&gt;startContainer() : it.range()-&gt;startContainer();
-    if ((node-&gt;isTextNode() &amp;&amp; static_cast&lt;int&gt;(next) &lt;= node-&gt;maxCharacterOffset()) || (node-&gt;renderer() &amp;&amp; node-&gt;renderer()-&gt;isBR() &amp;&amp; !next))
</del><ins>+    Node&amp; node = it.atEnd() ? searchRange-&gt;startContainer() : it.range()-&gt;startContainer();
+    if ((node.isTextNode() &amp;&amp; static_cast&lt;int&gt;(next) &lt;= node.maxCharacterOffset()) || (node.renderer() &amp;&amp; node.renderer()-&gt;isBR() &amp;&amp; !next)) {
</ins><span class="cx">         // The next variable contains a usable index into a text node
</span><del>-        return VisiblePosition(createLegacyEditingPosition(node, next), DOWNSTREAM);
</del><ins>+        return VisiblePosition(createLegacyEditingPosition(&amp;node, next), DOWNSTREAM);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // Use the character iterator to translate the next value into a DOM position.
</span><span class="cx">     BackwardsCharacterIterator charIt(*searchRange);
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingcocoaHTMLConvertermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -2229,12 +2229,12 @@
</span><span class="cx">     String originalString = characterData.data();
</span><span class="cx">     unsigned startOffset = 0;
</span><span class="cx">     unsigned endOffset = originalString.length();
</span><del>-    if (&amp;characterData == m_range-&gt;startContainer()) {
</del><ins>+    if (&amp;characterData == &amp;m_range-&gt;startContainer()) {
</ins><span class="cx">         startOffset = m_range-&gt;startOffset();
</span><span class="cx">         _domRangeStartIndex = [_attrStr length];
</span><span class="cx">         _flags.reachedStart = YES;
</span><span class="cx">     }
</span><del>-    if (&amp;characterData == m_range-&gt;endContainer()) {
</del><ins>+    if (&amp;characterData == &amp;m_range-&gt;endContainer()) {
</ins><span class="cx">         endOffset = m_range-&gt;endOffset();
</span><span class="cx">         _flags.reachedEnd = YES;
</span><span class="cx">     }
</span><span class="lines">@@ -2305,12 +2305,12 @@
</span><span class="cx">     unsigned endOffset = UINT_MAX;
</span><span class="cx">     bool isStart = false;
</span><span class="cx">     bool isEnd = false;
</span><del>-    if (&amp;node == m_range-&gt;startContainer()) {
</del><ins>+    if (&amp;node == &amp;m_range-&gt;startContainer()) {
</ins><span class="cx">         startOffset = m_range-&gt;startOffset();
</span><span class="cx">         isStart = true;
</span><span class="cx">         _flags.reachedStart = YES;
</span><span class="cx">     }
</span><del>-    if (&amp;node == m_range-&gt;endContainer()) {
</del><ins>+    if (&amp;node == &amp;m_range-&gt;endContainer()) {
</ins><span class="cx">         endOffset = m_range-&gt;endOffset();
</span><span class="cx">         isEnd = true;
</span><span class="cx">     }
</span><span class="lines">@@ -2366,12 +2366,12 @@
</span><span class="cx">     unsigned endOffset = UINT_MAX;
</span><span class="cx">     bool isStart = false;
</span><span class="cx">     bool isEnd = false;
</span><del>-    if (&amp;element == m_range-&gt;startContainer()) {
</del><ins>+    if (&amp;element == &amp;m_range-&gt;startContainer()) {
</ins><span class="cx">         startOffset = m_range-&gt;startOffset();
</span><span class="cx">         isStart = true;
</span><span class="cx">         _flags.reachedStart = YES;
</span><span class="cx">     }
</span><del>-    if (&amp;element == m_range-&gt;endContainer()) {
</del><ins>+    if (&amp;element == &amp;m_range-&gt;endContainer()) {
</ins><span class="cx">         endOffset = m_range-&gt;endOffset();
</span><span class="cx">         isEnd = true;
</span><span class="cx">     }
</span><span class="lines">@@ -2409,8 +2409,8 @@
</span><span class="cx"> 
</span><span class="cx"> Node* HTMLConverterCaches::cacheAncestorsOfStartToBeConverted(const Range&amp; range)
</span><span class="cx"> {
</span><del>-    Node* commonAncestor = range.commonAncestorContainer(ASSERT_NO_EXCEPTION);
-    Node* ancestor = range.startContainer();
</del><ins>+    Node* commonAncestor = range.commonAncestorContainer();
+    Node* ancestor = &amp;range.startContainer();
</ins><span class="cx"> 
</span><span class="cx">     while (ancestor) {
</span><span class="cx">         m_ancestorsUnderCommonAncestor.add(ancestor);
</span><span class="lines">@@ -2497,14 +2497,14 @@
</span><span class="cx"> 
</span><span class="cx">     for (TextIterator it(&amp;range); !it.atEnd(); it.advance()) {
</span><span class="cx">         RefPtr&lt;Range&gt; currentTextRange = it.range();
</span><del>-        Node* startContainer = currentTextRange-&gt;startContainer();
-        Node* endContainer = currentTextRange-&gt;endContainer();
</del><ins>+        Node&amp; startContainer = currentTextRange-&gt;startContainer();
+        Node&amp; endContainer = currentTextRange-&gt;endContainer();
</ins><span class="cx">         int startOffset = currentTextRange-&gt;startOffset();
</span><span class="cx">         int endOffset = currentTextRange-&gt;endOffset();
</span><span class="cx"> 
</span><span class="cx">         if (includeOrSkipImages == IncludeImagesInAttributedString::Yes) {
</span><del>-            if (startContainer == endContainer &amp;&amp; (startOffset == endOffset - 1)) {
-                Node* node = startContainer-&gt;traverseToChildAt(startOffset);
</del><ins>+            if (&amp;startContainer == &amp;endContainer &amp;&amp; (startOffset == endOffset - 1)) {
+                Node* node = startContainer.traverseToChildAt(startOffset);
</ins><span class="cx">                 if (is&lt;HTMLImageElement&gt;(node)) {
</span><span class="cx">                     NSFileWrapper* fileWrapper = fileWrapperForElement(downcast&lt;HTMLImageElement&gt;(node));
</span><span class="cx">                     NSTextAttachment* attachment = [[NSTextAttachment alloc] initWithFileWrapper:fileWrapper];
</span><span class="lines">@@ -2518,7 +2518,7 @@
</span><span class="cx">         if (!currentTextLength)
</span><span class="cx">             continue;
</span><span class="cx"> 
</span><del>-        RenderObject* renderer = startContainer-&gt;renderer();
</del><ins>+        RenderObject* renderer = startContainer.renderer();
</ins><span class="cx">         ASSERT(renderer);
</span><span class="cx">         if (!renderer)
</span><span class="cx">             continue;
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingmacEditorMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/mac/EditorMac.mm (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/mac/EditorMac.mm        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/editing/mac/EditorMac.mm        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -321,7 +321,7 @@
</span><span class="cx">     // FIXME: Why do we need to adjust the selection to include the anchor tag it's in?
</span><span class="cx">     // Whoever wrote this code originally forgot to leave us a comment explaining the rationale.
</span><span class="cx">     RefPtr&lt;Range&gt; range = selectedRange();
</span><del>-    Node* commonAncestor = range-&gt;commonAncestorContainer(IGNORE_EXCEPTION);
</del><ins>+    Node* commonAncestor = range-&gt;commonAncestorContainer();
</ins><span class="cx">     ASSERT(commonAncestor);
</span><span class="cx">     auto* enclosingAnchor = enclosingElementWithTag(firstPositionInNode(commonAncestor), HTMLNames::aTag);
</span><span class="cx">     if (enclosingAnchor &amp;&amp; comparePositions(firstPositionInOrBeforeNode(range-&gt;startPosition().anchorNode()), range-&gt;startPosition()) &gt;= 0)
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingmarkupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/markup.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/markup.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/editing/markup.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -272,9 +272,9 @@
</span><span class="cx">     unsigned endOffset = textNode.length();
</span><span class="cx"> 
</span><span class="cx">     TextIteratorBehavior behavior = TextIteratorDefaultBehavior;
</span><del>-    if (range &amp;&amp; &amp;node == range-&gt;startContainer())
</del><ins>+    if (range &amp;&amp; &amp;node == &amp;range-&gt;startContainer())
</ins><span class="cx">         startOffset = range-&gt;startOffset();
</span><del>-    if (range &amp;&amp; &amp;node == range-&gt;endContainer())
</del><ins>+    if (range &amp;&amp; &amp;node == &amp;range-&gt;endContainer())
</ins><span class="cx">         endOffset = range-&gt;endOffset();
</span><span class="cx">     else if (range)
</span><span class="cx">         behavior = TextIteratorBehavesAsIfNodesFollowing;
</span><span class="lines">@@ -290,9 +290,9 @@
</span><span class="cx">         return node.nodeValue();
</span><span class="cx"> 
</span><span class="cx">     String nodeValue = node.nodeValue();
</span><del>-    if (&amp;node == range-&gt;endContainer())
</del><ins>+    if (&amp;node == &amp;range-&gt;endContainer())
</ins><span class="cx">         nodeValue.truncate(range-&gt;endOffset());
</span><del>-    if (&amp;node == range-&gt;startContainer())
</del><ins>+    if (&amp;node == &amp;range-&gt;startContainer())
</ins><span class="cx">         nodeValue.remove(0, range-&gt;startOffset());
</span><span class="cx">     return nodeValue;
</span><span class="cx"> }
</span><span class="lines">@@ -530,9 +530,9 @@
</span><span class="cx"> 
</span><span class="cx"> static Node* highestAncestorToWrapMarkup(const Range* range, EAnnotateForInterchange shouldAnnotate)
</span><span class="cx"> {
</span><del>-    Node* commonAncestor = range-&gt;commonAncestorContainer(IGNORE_EXCEPTION);
</del><ins>+    Node* commonAncestor = range-&gt;commonAncestorContainer();
</ins><span class="cx">     ASSERT(commonAncestor);
</span><del>-    Node* specialCommonAncestor = 0;
</del><ins>+    Node* specialCommonAncestor = nullptr;
</ins><span class="cx">     if (shouldAnnotate == AnnotateForInterchange) {
</span><span class="cx">         // Include ancestors that aren't completely inside the range but are required to retain 
</span><span class="cx">         // the structure and appearance of the copied markup.
</span><span class="lines">@@ -580,10 +580,10 @@
</span><span class="cx"> {
</span><span class="cx">     DEPRECATED_DEFINE_STATIC_LOCAL(const String, interchangeNewlineString, (ASCIILiteral(&quot;&lt;br class=\&quot;&quot; AppleInterchangeNewline &quot;\&quot;&gt;&quot;)));
</span><span class="cx"> 
</span><del>-    bool collapsed = range.collapsed(ASSERT_NO_EXCEPTION);
</del><ins>+    bool collapsed = range.collapsed();
</ins><span class="cx">     if (collapsed)
</span><span class="cx">         return emptyString();
</span><del>-    Node* commonAncestor = range.commonAncestorContainer(ASSERT_NO_EXCEPTION);
</del><ins>+    Node* commonAncestor = range.commonAncestorContainer();
</ins><span class="cx">     if (!commonAncestor)
</span><span class="cx">         return emptyString();
</span><span class="cx"> 
</span><span class="lines">@@ -864,12 +864,8 @@
</span><span class="cx"> 
</span><span class="cx"> String createFullMarkup(const Range&amp; range)
</span><span class="cx"> {
</span><del>-    Node* node = range.startContainer();
-    if (!node)
-        return String();
-
</del><span class="cx">     // FIXME: This is always &quot;for interchange&quot;. Is that right?
</span><del>-    return documentTypeString(node-&gt;document()) + createMarkup(range, 0, AnnotateForInterchange);
</del><ins>+    return documentTypeString(range.startContainer().document()) + createMarkup(range, 0, AnnotateForInterchange);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String urlToMarkup(const URL&amp; url, const String&amp; title)
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderarchivecfLegacyWebArchivecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -476,12 +476,8 @@
</span><span class="cx"> {
</span><span class="cx">     if (!range)
</span><span class="cx">         return nullptr;
</span><del>-    
-    Node* startContainer = range-&gt;startContainer();
-    if (!startContainer)
-        return nullptr;
</del><span class="cx">         
</span><del>-    Document&amp; document = startContainer-&gt;document();
</del><ins>+    Document&amp; document = range-&gt;startContainer().document();
</ins><span class="cx"> 
</span><span class="cx">     Frame* frame = document.frame();
</span><span class="cx">     if (!frame)
</span></span></pre></div>
<a id="trunkSourceWebCorepageContextMenuControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/ContextMenuController.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ContextMenuController.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/page/ContextMenuController.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -423,7 +423,7 @@
</span><span class="cx">         break;
</span><span class="cx">     case ContextMenuItemTagStartSpeaking: {
</span><span class="cx">         RefPtr&lt;Range&gt; selectedRange = frame-&gt;selection().toNormalizedRange();
</span><del>-        if (!selectedRange || selectedRange-&gt;collapsed(IGNORE_EXCEPTION)) {
</del><ins>+        if (!selectedRange || selectedRange-&gt;collapsed()) {
</ins><span class="cx">             Document&amp; document = m_context.hitTestResult().innerNonSharedNode()-&gt;document();
</span><span class="cx">             selectedRange = document.createRange();
</span><span class="cx">             selectedRange-&gt;selectNode(document.documentElement(), IGNORE_EXCEPTION);
</span></span></pre></div>
<a id="trunkSourceWebCorepageDOMSelectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DOMSelection.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DOMSelection.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/page/DOMSelection.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -438,7 +438,7 @@
</span><span class="cx"> 
</span><span class="cx">     selectedRange-&gt;deleteContents(ASSERT_NO_EXCEPTION);
</span><span class="cx"> 
</span><del>-    setBaseAndExtent(selectedRange-&gt;startContainer(ASSERT_NO_EXCEPTION), selectedRange-&gt;startOffset(), selectedRange-&gt;startContainer(), selectedRange-&gt;startOffset(), ASSERT_NO_EXCEPTION);
</del><ins>+    setBaseAndExtent(&amp;selectedRange-&gt;startContainer(), selectedRange-&gt;startOffset(), &amp;selectedRange-&gt;startContainer(), selectedRange-&gt;startOffset(), ASSERT_NO_EXCEPTION);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool DOMSelection::containsNode(Node* n, bool allowPartial) const
</span><span class="lines">@@ -460,14 +460,14 @@
</span><span class="cx">     unsigned nodeIndex = node-&gt;computeNodeIndex();
</span><span class="cx"> 
</span><span class="cx">     ExceptionCode ec = 0;
</span><del>-    bool nodeFullySelected = Range::compareBoundaryPoints(parentNode, nodeIndex, selectedRange-&gt;startContainer(), selectedRange-&gt;startOffset(), ec) &gt;= 0 &amp;&amp; !ec
-        &amp;&amp; Range::compareBoundaryPoints(parentNode, nodeIndex + 1, selectedRange-&gt;endContainer(), selectedRange-&gt;endOffset(), ec) &lt;= 0 &amp;&amp; !ec;
</del><ins>+    bool nodeFullySelected = Range::compareBoundaryPoints(parentNode, nodeIndex, &amp;selectedRange-&gt;startContainer(), selectedRange-&gt;startOffset(), ec) &gt;= 0 &amp;&amp; !ec
+        &amp;&amp; Range::compareBoundaryPoints(parentNode, nodeIndex + 1, &amp;selectedRange-&gt;endContainer(), selectedRange-&gt;endOffset(), ec) &lt;= 0 &amp;&amp; !ec;
</ins><span class="cx">     ASSERT(!ec);
</span><span class="cx">     if (nodeFullySelected)
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><del>-    bool nodeFullyUnselected = (Range::compareBoundaryPoints(parentNode, nodeIndex, selectedRange-&gt;endContainer(), selectedRange-&gt;endOffset(), ec) &gt; 0 &amp;&amp; !ec)
-        || (Range::compareBoundaryPoints(parentNode, nodeIndex + 1, selectedRange-&gt;startContainer(), selectedRange-&gt;startOffset(), ec) &lt; 0 &amp;&amp; !ec);
</del><ins>+    bool nodeFullyUnselected = (Range::compareBoundaryPoints(parentNode, nodeIndex, &amp;selectedRange-&gt;endContainer(), selectedRange-&gt;endOffset(), ec) &gt; 0 &amp;&amp; !ec)
+        || (Range::compareBoundaryPoints(parentNode, nodeIndex + 1, &amp;selectedRange-&gt;startContainer(), selectedRange-&gt;startOffset(), ec) &lt; 0 &amp;&amp; !ec);
</ins><span class="cx">     ASSERT(!ec);
</span><span class="cx">     if (nodeFullyUnselected)
</span><span class="cx">         return false;
</span></span></pre></div>
<a id="trunkSourceWebCorepageTextIndicatorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/TextIndicator.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/TextIndicator.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/page/TextIndicator.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx"> 
</span><span class="cx"> RefPtr&lt;TextIndicator&gt; TextIndicator::createWithRange(const Range&amp; range, TextIndicatorOptions options, TextIndicatorPresentationTransition presentationTransition, FloatSize margin)
</span><span class="cx"> {
</span><del>-    Frame* frame = range.startContainer()-&gt;document().frame();
</del><ins>+    Frame* frame = range.startContainer().document().frame();
</ins><span class="cx"> 
</span><span class="cx">     if (!frame)
</span><span class="cx">         return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCorepageiosFrameIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/ios/FrameIOS.mm (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ios/FrameIOS.mm        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/page/ios/FrameIOS.mm        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -123,8 +123,7 @@
</span><span class="cx"> 
</span><span class="cx">     setEnd(searchRange.get(), oneBeforeStart.isNotNull() ? oneBeforeStart : start);
</span><span class="cx"> 
</span><del>-    int exception = 0;
-    if (searchRange-&gt;collapsed(exception))
</del><ins>+    if (searchRange-&gt;collapsed())
</ins><span class="cx">         return result;
</span><span class="cx"> 
</span><span class="cx">     WordAwareIterator it(*searchRange);
</span><span class="lines">@@ -176,8 +175,7 @@
</span><span class="cx">     setStart(searchRange.get(), start);
</span><span class="cx">     setEnd(searchRange.get(), end);
</span><span class="cx"> 
</span><del>-    int exception = 0;
-    if (searchRange-&gt;collapsed(exception))
</del><ins>+    if (searchRange-&gt;collapsed())
</ins><span class="cx">         return nil;
</span><span class="cx"> 
</span><span class="cx">     NSMutableArray *words = [NSMutableArray array];
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformwinPasteboardWincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/win/PasteboardWin.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/win/PasteboardWin.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/platform/win/PasteboardWin.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -426,7 +426,7 @@
</span><span class="cx"> 
</span><span class="cx">     Vector&lt;char&gt; data;
</span><span class="cx">     markupToCFHTML(createMarkup(selectedRange, 0, AnnotateForInterchange),
</span><del>-        selectedRange.startContainer()-&gt;document().url().string(), data);
</del><ins>+        selectedRange.startContainer().document().url().string(), data);
</ins><span class="cx">     medium.hGlobal = createGlobalData(data);
</span><span class="cx">     if (medium.hGlobal &amp;&amp; FAILED(m_writableDataObject-&gt;SetData(htmlFormat(), &amp;medium, TRUE)))
</span><span class="cx">         ::GlobalFree(medium.hGlobal);
</span><span class="lines">@@ -451,7 +451,7 @@
</span><span class="cx">     if (::OpenClipboard(m_owner)) {
</span><span class="cx">         Vector&lt;char&gt; data;
</span><span class="cx">         markupToCFHTML(createMarkup(selectedRange, 0, AnnotateForInterchange),
</span><del>-            selectedRange.startContainer()-&gt;document().url().string(), data);
</del><ins>+            selectedRange.startContainer().document().url().string(), data);
</ins><span class="cx">         HGLOBAL cbData = createGlobalData(data);
</span><span class="cx">         if (!::SetClipboardData(HTMLClipboardFormat, cbData))
</span><span class="cx">             ::GlobalFree(cbData);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderNamedFlowThreadcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderNamedFlowThread.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderNamedFlowThread.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/rendering/RenderNamedFlowThread.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -696,7 +696,7 @@
</span><span class="cx">                     if (!startsAboveRegion) {
</span><span class="cx">                         if (range-&gt;intersectsNode(node, IGNORE_EXCEPTION))
</span><span class="cx">                             range-&gt;setEndBefore(node, IGNORE_EXCEPTION);
</span><del>-                        rangeObjects.append(range-&gt;cloneRange(IGNORE_EXCEPTION));
</del><ins>+                        rangeObjects.append(range-&gt;cloneRange());
</ins><span class="cx">                         range = Range::create(contentElement-&gt;document());
</span><span class="cx">                         startsAboveRegion = true;
</span><span class="cx">                     } else
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderObject.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -804,7 +804,7 @@
</span><span class="cx"> 
</span><span class="cx"> FloatRect RenderObject::absoluteBoundingBoxRectForRange(const Range* range)
</span><span class="cx"> {
</span><del>-    if (!range || !range-&gt;startContainer())
</del><ins>+    if (!range)
</ins><span class="cx">         return FloatRect();
</span><span class="cx"> 
</span><span class="cx">     range-&gt;ownerDocument().updateLayout();
</span></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebKit/mac/ChangeLog        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2015-08-31  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Range.detach() / NodeIterator.detach() should be no-ops as per the latest DOM specification
+        https://bugs.webkit.org/show_bug.cgi?id=148454
+
+        Reviewed by Ryosuke Niwa.
+
+        Update Range API call sites to reflect changes.
+
+        * WebView/WebImmediateActionController.mm:
+        (dictionaryPopupInfoForRange):
+
</ins><span class="cx"> 2015-08-28  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Migrate GraphicsContexts from pointers to references
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebImmediateActionControllermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebImmediateActionController.mm (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebImmediateActionController.mm        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebKit/mac/WebView/WebImmediateActionController.mm        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -489,7 +489,7 @@
</span><span class="cx">     if (range.text().stripWhiteSpace().isEmpty())
</span><span class="cx">         return popupInfo;
</span><span class="cx">     
</span><del>-    RenderObject* renderer = range.startContainer()-&gt;renderer();
</del><ins>+    RenderObject* renderer = range.startContainer().renderer();
</ins><span class="cx">     const RenderStyle&amp; style = renderer-&gt;style();
</span><span class="cx"> 
</span><span class="cx">     Vector&lt;FloatQuad&gt; quads;
</span></span></pre></div>
<a id="trunkSourceWebKitwinChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/ChangeLog (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/ChangeLog        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebKit/win/ChangeLog        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1,3 +1,22 @@
</span><ins>+2015-08-31  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Range.detach() / NodeIterator.detach() should be no-ops as per the latest DOM specification
+        https://bugs.webkit.org/show_bug.cgi?id=148454
+
+        Reviewed by Ryosuke Niwa.
+
+        Update Range API call sites to reflect changes.
+
+        * DOMCoreClasses.cpp:
+        (DOMRange::startContainer):
+        (DOMRange::endContainer):
+        (DOMRange::collapsed):
+        (DOMRange::toString):
+        * WebView.cpp:
+        (WebView::prepareCandidateWindow):
+        (WebView::onIMERequestCharPosition):
+        (WebView::firstRectForCharacterRangeForTesting): Deleted.
+
</ins><span class="cx"> 2015-08-31  Sungmann Cho  &lt;sungmann.cho@navercorp.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Fix the WinCairo build after landing of webkit.org/b/148561.
</span></span></pre></div>
<a id="trunkSourceWebKitwinDOMCoreClassescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/DOMCoreClasses.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/DOMCoreClasses.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebKit/win/DOMCoreClasses.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1606,7 +1606,7 @@
</span><span class="cx">     if (!m_range)
</span><span class="cx">         return E_UNEXPECTED;
</span><span class="cx"> 
</span><del>-    *node = DOMNode::createInstance(m_range-&gt;startContainer());
</del><ins>+    *node = DOMNode::createInstance(&amp;m_range-&gt;startContainer());
</ins><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -1632,7 +1632,7 @@
</span><span class="cx">     if (!m_range)
</span><span class="cx">         return E_UNEXPECTED;
</span><span class="cx"> 
</span><del>-    *node = DOMNode::createInstance(m_range-&gt;endContainer());
</del><ins>+    *node = DOMNode::createInstance(&amp;m_range-&gt;endContainer());
</ins><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -1658,8 +1658,7 @@
</span><span class="cx">     if (!m_range)
</span><span class="cx">         return E_UNEXPECTED;
</span><span class="cx"> 
</span><del>-    WebCore::ExceptionCode ec = 0;
-    *result = m_range-&gt;collapsed(ec);
</del><ins>+    *result = m_range-&gt;collapsed();
</ins><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -1786,8 +1785,7 @@
</span><span class="cx">     if (!m_range)
</span><span class="cx">         return E_UNEXPECTED;
</span><span class="cx"> 
</span><del>-    WebCore::ExceptionCode ec = 0;
-    *str = BString(m_range-&gt;toString(ec)).release();
</del><ins>+    *str = BString(m_range-&gt;toString()).release();
</ins><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebView.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebView.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebKit/win/WebView.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -5771,7 +5771,7 @@
</span><span class="cx">     IntRect caret;
</span><span class="cx">     if (RefPtr&lt;Range&gt; range = targetFrame-&gt;selection().selection().toNormalizedRange()) {
</span><span class="cx">         ExceptionCode ec = 0;
</span><del>-        RefPtr&lt;Range&gt; tempRange = range-&gt;cloneRange(ec);
</del><ins>+        RefPtr&lt;Range&gt; tempRange = range-&gt;cloneRange();
</ins><span class="cx">         caret = targetFrame-&gt;editor().firstRectForRange(tempRange.get());
</span><span class="cx">     }
</span><span class="cx">     caret = targetFrame-&gt;view()-&gt;contentsToWindow(caret);
</span><span class="lines">@@ -6031,8 +6031,8 @@
</span><span class="cx">     IntRect caret;
</span><span class="cx">     if (RefPtr&lt;Range&gt; range = targetFrame-&gt;editor().hasComposition() ? targetFrame-&gt;editor().compositionRange() : targetFrame-&gt;selection().selection().toNormalizedRange()) {
</span><span class="cx">         ExceptionCode ec = 0;
</span><del>-        RefPtr&lt;Range&gt; tempRange = range-&gt;cloneRange(ec);
-        tempRange-&gt;setStart(tempRange-&gt;startContainer(ec), tempRange-&gt;startOffset(ec) + charPos-&gt;dwCharPos, ec);
</del><ins>+        RefPtr&lt;Range&gt; tempRange = range-&gt;cloneRange();
+        tempRange-&gt;setStart(&amp;tempRange-&gt;startContainer(), tempRange-&gt;startOffset() + charPos-&gt;dwCharPos, ec);
</ins><span class="cx">         caret = targetFrame-&gt;editor().firstRectForRange(tempRange.get());
</span><span class="cx">     }
</span><span class="cx">     caret = targetFrame-&gt;view()-&gt;contentsToWindow(caret);
</span><span class="lines">@@ -7331,9 +7331,6 @@
</span><span class="cx"> 
</span><span class="cx">     if (!range)
</span><span class="cx">         return E_FAIL;
</span><del>-    
-    ASSERT(range-&gt;startContainer());
-    ASSERT(range-&gt;endContainer());
</del><span class="cx">      
</span><span class="cx">     IntRect rect = frame.editor().firstRectForRange(range.get());
</span><span class="cx">     resultIntRect = frame.view()-&gt;contentsToWindow(rect);
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebKit2/ChangeLog        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -1,3 +1,38 @@
</span><ins>+2015-08-31  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Range.detach() / NodeIterator.detach() should be no-ops as per the latest DOM specification
+        https://bugs.webkit.org/show_bug.cgi?id=148454
+
+        Reviewed by Ryosuke Niwa.
+
+        Update Range API call sites to reflect changes.
+
+        * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
+        (-[WKDOMRange collapse:]):
+        (-[WKDOMRange startContainer]):
+        (-[WKDOMRange startOffset]):
+        (-[WKDOMRange endContainer]):
+        (-[WKDOMRange endOffset]):
+        (-[WKDOMRange isCollapsed]):
+        (-[WKDOMRange text]): Deleted.
+        * WebProcess/WebPage/FindController.cpp:
+        (WebKit::FindController::getImageForFindMatch):
+        (WebKit::FindController::selectFindMatch):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::targetFrameForEditing):
+        (WebKit::WebPage::firstRectForCharacterRangeAsync): Deleted.
+        * WebProcess/WebPage/efl/WebPageEfl.cpp:
+        (WebKit::targetFrameForEditing):
+        * WebProcess/WebPage/ios/WebPageIOS.mm:
+        (WebKit::WebPage::rangeForWebSelectionAtPosition):
+        (WebKit::WebPage::rangeForBlockAtPoint):
+        (WebKit::containsRange):
+        (WebKit::unionDOMRanges):
+        (WebKit::WebPage::contractedRangeFromHandle):
+        * WebProcess/WebPage/mac/WebPageMac.mm:
+        (WebKit::WebPage::dictionaryPopupInfoForRange):
+        (WebKit::WebPage::firstRectForCharacterRange): Deleted.
+
</ins><span class="cx"> 2015-08-31  Tim Horton  &lt;timothy_horton@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         iOS WebKit2 find-in-page doesn't support multi-line results, is often blank
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPImacWKDOMRangemm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKDOMRange.mm (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKDOMRange.mm        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKDOMRange.mm        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -79,9 +79,7 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)collapse:(BOOL)toStart
</span><span class="cx"> {
</span><del>-    // FIXME: Do something about the exception.
-    WebCore::ExceptionCode ec = 0;
-    _impl-&gt;collapse(toStart, ec);
</del><ins>+    _impl-&gt;collapse(toStart);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)selectNode:(WKDOMNode *)node
</span><span class="lines">@@ -100,30 +98,22 @@
</span><span class="cx"> 
</span><span class="cx"> - (WKDOMNode *)startContainer
</span><span class="cx"> {
</span><del>-    // FIXME: Do something about the exception.
-    WebCore::ExceptionCode ec = 0;
-    return WebKit::toWKDOMNode(_impl-&gt;startContainer(ec));
</del><ins>+    return WebKit::toWKDOMNode(&amp;_impl-&gt;startContainer());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (NSInteger)startOffset
</span><span class="cx"> {
</span><del>-    // FIXME: Do something about the exception.
-    WebCore::ExceptionCode ec = 0;
-    return _impl-&gt;startOffset(ec);
</del><ins>+    return _impl-&gt;startOffset();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (WKDOMNode *)endContainer
</span><span class="cx"> {
</span><del>-    // FIXME: Do something about the exception.
-    WebCore::ExceptionCode ec = 0;
-    return WebKit::toWKDOMNode(_impl-&gt;endContainer(ec));
</del><ins>+    return WebKit::toWKDOMNode(&amp;_impl-&gt;endContainer());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (NSInteger)endOffset
</span><span class="cx"> {
</span><del>-    // FIXME: Do something about the exception.
-    WebCore::ExceptionCode ec = 0;
-    return _impl-&gt;endOffset(ec);
</del><ins>+    return _impl-&gt;endOffset();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (NSString *)text
</span><span class="lines">@@ -133,9 +123,7 @@
</span><span class="cx"> 
</span><span class="cx"> - (BOOL)isCollapsed
</span><span class="cx"> {
</span><del>-    // FIXME: Do something about the exception.
-    WebCore::ExceptionCode ec = 0;
-    return _impl-&gt;collapsed(ec);
</del><ins>+    return _impl-&gt;collapsed();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (NSArray *)textRects
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageFindControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/FindController.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/FindController.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebKit2/WebProcess/WebPage/FindController.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -272,7 +272,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (matchIndex &gt;= m_findMatches.size())
</span><span class="cx">         return;
</span><del>-    Frame* frame = m_findMatches[matchIndex]-&gt;startContainer()-&gt;document().frame();
</del><ins>+    Frame* frame = m_findMatches[matchIndex]-&gt;startContainer().document().frame();
</ins><span class="cx">     if (!frame)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="lines">@@ -299,7 +299,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (matchIndex &gt;= m_findMatches.size())
</span><span class="cx">         return;
</span><del>-    Frame* frame = m_findMatches[matchIndex]-&gt;startContainer()-&gt;document().frame();
</del><ins>+    Frame* frame = m_findMatches[matchIndex]-&gt;startContainer().document().frame();
</ins><span class="cx">     if (!frame)
</span><span class="cx">         return;
</span><span class="cx">     frame-&gt;selection().setSelection(VisibleSelection(*m_findMatches[matchIndex]));
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -4298,9 +4298,6 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    ASSERT(range-&gt;startContainer());
-    ASSERT(range-&gt;endContainer());
-
</del><span class="cx">     result = frame.view()-&gt;contentsToWindow(frame.editor().firstRectForRange(range.get()));
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Update actualRange to match the range of first rect.
</span><span class="lines">@@ -4338,17 +4335,16 @@
</span><span class="cx"> 
</span><span class="cx">     Editor&amp; editor = targetFrame.editor();
</span><span class="cx">     if (!editor.canEdit())
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (editor.hasComposition()) {
</span><span class="cx">         // We should verify the parent node of this IME composition node are
</span><span class="cx">         // editable because JavaScript may delete a parent node of the composition
</span><span class="cx">         // node. In this case, WebKit crashes while deleting texts from the parent
</span><span class="cx">         // node, which doesn't exist any longer.
</span><del>-        if (PassRefPtr&lt;Range&gt; range = editor.compositionRange()) {
-            Node* node = range-&gt;startContainer();
-            if (!node || !node-&gt;isContentEditable())
-                return 0;
</del><ins>+        if (auto range = editor.compositionRange()) {
+            if (!range-&gt;startContainer().isContentEditable())
+                return nullptr;
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx">     return &amp;targetFrame;
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageeflWebPageEflcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/efl/WebPageEfl.cpp (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/efl/WebPageEfl.cpp        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebKit2/WebProcess/WebPage/efl/WebPageEfl.cpp        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -184,17 +184,16 @@
</span><span class="cx"> 
</span><span class="cx">     Editor&amp; editor = frame.editor();
</span><span class="cx">     if (!editor.canEdit())
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (editor.hasComposition()) {
</span><span class="cx">         // We should verify the parent node of this IME composition node are
</span><span class="cx">         // editable because JavaScript may delete a parent node of the composition
</span><span class="cx">         // node. In this case, WebKit crashes while deleting texts from the parent
</span><span class="cx">         // node, which doesn't exist any longer.
</span><del>-        if (PassRefPtr&lt;Range&gt; range = editor.compositionRange()) {
-            Node* node = range-&gt;startContainer();
-            if (!node || !node-&gt;isContentEditable())
-                return 0;
</del><ins>+        if (auto range = editor.compositionRange()) {
+            if (!range-&gt;startContainer().isContentEditable())
+                return nullptr;
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageiosWebPageIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -872,7 +872,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (currentNode-&gt;isTextNode()) {
</span><span class="cx">         range = enclosingTextUnitOfGranularity(position, ParagraphGranularity, DirectionForward);
</span><del>-        if (!range || range-&gt;collapsed(ASSERT_NO_EXCEPTION))
</del><ins>+        if (!range || range-&gt;collapsed())
</ins><span class="cx">             range = Range::create(currentNode-&gt;document(), position, position);
</span><span class="cx">         if (!range)
</span><span class="cx">             return nullptr;
</span><span class="lines">@@ -882,7 +882,7 @@
</span><span class="cx">         if (boundingRectInScrollViewCoordinates.width() &gt; m_blockSelectionDesiredSize.width() &amp;&amp; boundingRectInScrollViewCoordinates.height() &gt; m_blockSelectionDesiredSize.height())
</span><span class="cx">             return wordRangeFromPosition(position);
</span><span class="cx"> 
</span><del>-        currentNode = range-&gt;commonAncestorContainer(ASSERT_NO_EXCEPTION);
</del><ins>+        currentNode = range-&gt;commonAncestorContainer();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!currentNode-&gt;isElementNode())
</span><span class="lines">@@ -909,7 +909,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (renderer-&gt;childrenInline() &amp;&amp; (is&lt;RenderBlock&gt;(*renderer) &amp;&amp; !downcast&lt;RenderBlock&gt;(*renderer).inlineElementContinuation()) &amp;&amp; !renderer-&gt;isTable()) {
</span><span class="cx">         range = enclosingTextUnitOfGranularity(position, WordGranularity, DirectionBackward);
</span><del>-        if (range &amp;&amp; !range-&gt;collapsed(ASSERT_NO_EXCEPTION))
</del><ins>+        if (range &amp;&amp; !range-&gt;collapsed())
</ins><span class="cx">             return range;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -924,7 +924,7 @@
</span><span class="cx">     flags = IsBlockSelection;
</span><span class="cx">     range = Range::create(bestChoice-&gt;document());
</span><span class="cx">     range-&gt;selectNodeContents(bestChoice, ASSERT_NO_EXCEPTION);
</span><del>-    return range-&gt;collapsed(ASSERT_NO_EXCEPTION) ? nullptr : range;
</del><ins>+    return range-&gt;collapsed() ? nullptr : range;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;Range&gt; WebPage::rangeForBlockAtPoint(const IntPoint&amp; point)
</span><span class="lines">@@ -936,7 +936,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (currentNode-&gt;isTextNode()) {
</span><span class="cx">         range = enclosingTextUnitOfGranularity(m_page-&gt;focusController().focusedOrMainFrame().visiblePositionForPoint(point), ParagraphGranularity, DirectionForward);
</span><del>-        if (range &amp;&amp; !range-&gt;collapsed(ASSERT_NO_EXCEPTION))
</del><ins>+        if (range &amp;&amp; !range-&gt;collapsed())
</ins><span class="cx">             return range;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -1202,7 +1202,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (!first || !second)
</span><span class="cx">         return false;
</span><del>-    return (first-&gt;commonAncestorContainer(ASSERT_NO_EXCEPTION)-&gt;ownerDocument() == second-&gt;commonAncestorContainer(ASSERT_NO_EXCEPTION)-&gt;ownerDocument()
</del><ins>+    return (first-&gt;commonAncestorContainer()-&gt;ownerDocument() == second-&gt;commonAncestorContainer()-&gt;ownerDocument()
</ins><span class="cx">         &amp;&amp; first-&gt;compareBoundaryPoints(Range::START_TO_START, second, ASSERT_NO_EXCEPTION) &lt;= 0
</span><span class="cx">         &amp;&amp; first-&gt;compareBoundaryPoints(Range::END_TO_END, second, ASSERT_NO_EXCEPTION) &gt;= 0);
</span><span class="cx"> }
</span><span class="lines">@@ -1217,7 +1217,7 @@
</span><span class="cx">     Range* start = rangeA-&gt;compareBoundaryPoints(Range::START_TO_START, rangeB, ASSERT_NO_EXCEPTION) &lt;= 0 ? rangeA : rangeB;
</span><span class="cx">     Range* end = rangeA-&gt;compareBoundaryPoints(Range::END_TO_END, rangeB, ASSERT_NO_EXCEPTION) &lt;= 0 ? rangeB : rangeA;
</span><span class="cx"> 
</span><del>-    return Range::create(rangeA-&gt;ownerDocument(), start-&gt;startContainer(), start-&gt;startOffset(), end-&gt;endContainer(), end-&gt;endOffset());
</del><ins>+    return Range::create(rangeA-&gt;ownerDocument(), &amp;start-&gt;startContainer(), start-&gt;startOffset(), &amp;end-&gt;endContainer(), end-&gt;endOffset());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline IntPoint computeEdgeCenter(const IntRect&amp; box, SelectionHandlePosition handlePosition)
</span><span class="lines">@@ -1397,9 +1397,9 @@
</span><span class="cx">             continue;
</span><span class="cx"> 
</span><span class="cx">         if (handlePosition == SelectionHandlePosition::Top || handlePosition == SelectionHandlePosition::Left)
</span><del>-            newRange = Range::create(newRange-&gt;startContainer()-&gt;document(), newRange-&gt;endPosition(), currentRange-&gt;endPosition());
</del><ins>+            newRange = Range::create(newRange-&gt;startContainer().document(), newRange-&gt;endPosition(), currentRange-&gt;endPosition());
</ins><span class="cx">         else
</span><del>-            newRange = Range::create(newRange-&gt;startContainer()-&gt;document(), currentRange-&gt;startPosition(), newRange-&gt;startPosition());
</del><ins>+            newRange = Range::create(newRange-&gt;startContainer().document(), currentRange-&gt;startPosition(), newRange-&gt;startPosition());
</ins><span class="cx"> 
</span><span class="cx">         IntRect copyRect = selectionBoxForRange(newRange.get());
</span><span class="cx">         if (copyRect.isEmpty()) {
</span><span class="lines">@@ -1447,7 +1447,7 @@
</span><span class="cx">     // there are multiple sub-element blocks beneath us.  If we didn't find
</span><span class="cx">     // multiple sub-element blocks, don't shrink to a sub-element block.
</span><span class="cx"> 
</span><del>-    Node* node = bestRange-&gt;commonAncestorContainer(ASSERT_NO_EXCEPTION);
</del><ins>+    Node* node = bestRange-&gt;commonAncestorContainer();
</ins><span class="cx">     if (!node-&gt;isElementNode())
</span><span class="cx">         node = node-&gt;parentElement();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPagemacWebPageMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm (189181 => 189182)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm        2015-08-31 20:41:19 UTC (rev 189181)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm        2015-08-31 20:41:34 UTC (rev 189182)
</span><span class="lines">@@ -414,9 +414,6 @@
</span><span class="cx">     RefPtr&lt;Range&gt; range = rangeFromEditingRange(frame, editingRange);
</span><span class="cx">     if (!range)
</span><span class="cx">         return;
</span><del>-    
-    ASSERT(range-&gt;startContainer());
-    ASSERT(range-&gt;endContainer());
</del><span class="cx">      
</span><span class="cx">     IntRect rect = frame.editor().firstRectForRange(range.get());
</span><span class="cx">     resultRect = frame.view()-&gt;contentsToWindow(rect);
</span><span class="lines">@@ -544,7 +541,7 @@
</span><span class="cx">     if (range.text().stripWhiteSpace().isEmpty())
</span><span class="cx">         return dictionaryPopupInfo;
</span><span class="cx">     
</span><del>-    RenderObject* renderer = range.startContainer()-&gt;renderer();
</del><ins>+    RenderObject* renderer = range.startContainer().renderer();
</ins><span class="cx">     const RenderStyle&amp; style = renderer-&gt;style();
</span><span class="cx"> 
</span><span class="cx">     Vector&lt;FloatQuad&gt; quads;
</span></span></pre>
</div>
</div>

</body>
</html>