<!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&view=revision
- https://src.chromium.org/viewvc/blink?revision=172768&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 <cdumez@apple.com>
+
+ 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 <antti@apple.com>
</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("ra.isPointInRange(document.body, 0)", false);
</span><span class="cx"> shouldThrow("ra.isPointInRange(null, 0)", "HIERARCHY_REQUEST_ERR");
</span><span class="cx">
</span><del>-ra.detach();
-
-shouldThrow("ra.comparePoint(document.createElement('b'), 0)", "INVALID_STATE_ERR");
-shouldThrow("ra.comparePoint(document.body, 0)", "INVALID_STATE_ERR");
-shouldThrow("ra.comparePoint(null, 0)", "INVALID_STATE_ERR");
-shouldThrow("ra.isPointInRange(document.createElement('b'), 0)", "INVALID_STATE_ERR");
-shouldThrow("ra.isPointInRange(document.body, 0)", "INVALID_STATE_ERR");
-shouldThrow("ra.isPointInRange(null, 0)", "INVALID_STATE_ERR");
-
</del><span class="cx"> if (!hadError)
</span><span class="cx"> document.getElementById("log").innerHTML = "PASS";
</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 "PASS" messages, followed by "TEST COMPLETE".
</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("test13").innerHTML = "test 13 passed: start at range start, end after range";
</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("a1"));
- } catch (e) {
- if(e.code == DOMException.INVALID_STATE_ERR) {
- document.getElementById("test14").innerHTML = "test 14 passed: detached range, attached node";
- } else {
- document.getElementById("test14").innerHTML = "<span style=\"color: red;\">test 14 failed error: " + e.message + "</span>";
- }
- }
-
</del><ins>+ result = detachedRange.compareNode(document.getElementById("a1"));
+ if (result == expectedResult)
+ document.getElementById("test14").innerHTML = "test 14 passed: detach is a noop";
+
</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("test8").innerHTML = "test 8 passed";
</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("a1"), 0);
- } catch (e) {
</del><ins>+ result = detachedRange.comparePoint(document.getElementById("a1"), 0);
+ if (result == expectedResult)
</ins><span class="cx"> document.getElementById("test9").innerHTML = "test 9 passed";
</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 "PASS" messages, followed by "TEST COMPLETE".
+
+
+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>+<!DOCTYPE html>
+<html>
+<body>
+<script src="../../../resources/js-test-pre.js"></script>
+<script>
+description("Tests that Range.detach() is a no-op.");
+
+var range = document.createRange();
+shouldNotThrow("range.detach()");
+shouldNotThrow("range.detach()");
+</script>
+<script src="../../../resources/js-test-post.js"></script>
+</body>
+</html>
</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 "PASS" messages, followed by "TEST COMPLETE".
-
-
-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>-<html>
-<head>
-<script src="../../../resources/js-test-pre.js"></script>
-</head>
-<body>
-<!-- hidden area to create the ranges being tested -->
-<div style="visibility: hidden">
- <div id=a1>a1
- <div id=b1>b1</div>
- </div>
-</div>
-
-<script>
-description("Test for Bug: 75799 - Calling intersectsNode on a detached range should throw");
-var range = document.createRange();
-range.selectNode(document.getElementById("a1"));
-range.detach();
-shouldThrow("range.intersectsNode(document.getElementById('b1'))", '"Error: InvalidStateError: DOM Exception 11"');
-</script>
-<script src="../../../resources/js-test-post.js"></script>
-</body>
-</html>
</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("test8").innerHTML = "test 8 passed";
</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("a1"), 0);
- } catch (e) {
</del><ins>+ result = detachedRange.isPointInRange(document.getElementById("a1"), 0);
+ if (result == expectedResult)
</ins><span class="cx"> document.getElementById("test9").innerHTML = "test 9 passed";
</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("a1"));
</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("2.1 Detached Range, attached node");
</span><span class="cx"> var detachedRange = document.createRange();
</span><del>-detachedRange.detach();
-shouldThrow("detachedRange.intersectsNode(document.getElementById('a1'))", '"Error: InvalidStateError: DOM Exception 11"');
</del><ins>+detachedRange.detach(); // no-op.
+shouldBeFalse("detachedRange.intersectsNode(document.getElementById('a1'))");
</ins><span class="cx"> debug("");
</span><span class="cx">
</span><span class="cx"> debug("2.2 attached range, detached node");
</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 "PASS" messages, followed by "TEST COMPLETE".
+
+
+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>+<!DOCTYPE html>
+<html>
+<body>
+<script src="../../resources/js-test-pre.js"></script>
+<script>
+description("Tests that NodeIterator.detach() is a no-op.");
+
+var iter = document.createNodeIterator(document);
+shouldNotThrow("iter.detach()");
+shouldNotThrow("iter.detach()");
+</script>
+<script src="../../resources/js-test-post.js"></script>
+</body>
+</html>
</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 "setStart" 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 "function () {
</span><span class="cx"> [native code]
</span><del>-}" threw object "Error: InvalidStateError: DOM Exception 11" ("InvalidStateError") expected object "TypeError" ("TypeError")
</del><ins>+}" threw object "Error: NotFoundError: DOM Exception 8" ("NotFoundError") expected object "TypeError" ("TypeError")
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property "setEnd" 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 "function () {
</span><span class="cx"> [native code]
</span><del>-}" threw object "Error: InvalidStateError: DOM Exception 11" ("InvalidStateError") expected object "TypeError" ("TypeError")
</del><ins>+}" threw object "Error: NotFoundError: DOM Exception 8" ("NotFoundError") expected object "TypeError" ("TypeError")
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property "setStartBefore" 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 "function () {
</span><span class="cx"> [native code]
</span><del>-}" threw object "Error: InvalidStateError: DOM Exception 11" ("InvalidStateError") expected object "TypeError" ("TypeError")
</del><ins>+}" threw object "Error: NotFoundError: DOM Exception 8" ("NotFoundError") expected object "TypeError" ("TypeError")
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property "setStartAfter" 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 "function () {
</span><span class="cx"> [native code]
</span><del>-}" threw object "Error: InvalidStateError: DOM Exception 11" ("InvalidStateError") expected object "TypeError" ("TypeError")
</del><ins>+}" threw object "Error: NotFoundError: DOM Exception 8" ("NotFoundError") expected object "TypeError" ("TypeError")
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property "setEndBefore" 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 "function () {
</span><span class="cx"> [native code]
</span><del>-}" threw object "Error: InvalidStateError: DOM Exception 11" ("InvalidStateError") expected object "TypeError" ("TypeError")
</del><ins>+}" threw object "Error: NotFoundError: DOM Exception 8" ("NotFoundError") expected object "TypeError" ("TypeError")
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property "setEndAfter" 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 "function () {
</span><span class="cx"> [native code]
</span><del>-}" threw object "Error: InvalidStateError: DOM Exception 11" ("InvalidStateError") expected object "TypeError" ("TypeError")
</del><ins>+}" threw object "Error: NotFoundError: DOM Exception 8" ("NotFoundError") expected object "TypeError" ("TypeError")
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property "collapse" 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 "selectNode" 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 "function () {
</span><span class="cx"> [native code]
</span><del>-}" threw object "Error: InvalidStateError: DOM Exception 11" ("InvalidStateError") expected object "TypeError" ("TypeError")
</del><ins>+}" threw object "Error: NotFoundError: DOM Exception 8" ("NotFoundError") expected object "TypeError" ("TypeError")
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property "selectNodeContents" 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 "function () {
</span><span class="cx"> [native code]
</span><del>-}" threw object "Error: InvalidStateError: DOM Exception 11" ("InvalidStateError") expected object "TypeError" ("TypeError")
</del><ins>+}" threw object "Error: NotFoundError: DOM Exception 8" ("NotFoundError") expected object "TypeError" ("TypeError")
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property "START_TO_START" with the proper type (15)
</span><span class="cx"> PASS Range interface: detachedRange must inherit property "START_TO_END" with the proper type (16)
</span><span class="cx"> PASS Range interface: detachedRange must inherit property "END_TO_END" with the proper type (17)
</span><span class="lines">@@ -1795,32 +1795,32 @@
</span><span class="cx"> PASS Range interface: detachedRange must inherit property "compareBoundaryPoints" 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 "function () {
</span><span class="cx"> [native code]
</span><del>-}" threw object "Error: InvalidStateError: DOM Exception 11" ("InvalidStateError") expected object "TypeError" ("TypeError")
</del><ins>+}" threw object "Error: NotFoundError: DOM Exception 8" ("NotFoundError") expected object "TypeError" ("TypeError")
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property "deleteContents" with the proper type (20)
</span><span class="cx"> PASS Range interface: detachedRange must inherit property "extractContents" with the proper type (21)
</span><span class="cx"> PASS Range interface: detachedRange must inherit property "cloneContents" with the proper type (22)
</span><span class="cx"> PASS Range interface: detachedRange must inherit property "insertNode" 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 "function () {
</span><span class="cx"> [native code]
</span><del>-}" threw object "Error: InvalidStateError: DOM Exception 11" ("InvalidStateError") expected object "TypeError" ("TypeError")
</del><ins>+}" threw object "Error: NotFoundError: DOM Exception 8" ("NotFoundError") expected object "TypeError" ("TypeError")
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property "surroundContents" 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 "function () {
</span><span class="cx"> [native code]
</span><del>-}" threw object "Error: InvalidStateError: DOM Exception 11" ("InvalidStateError") expected object "TypeError" ("TypeError")
</del><ins>+}" threw object "Error: NotFoundError: DOM Exception 8" ("NotFoundError") expected object "TypeError" ("TypeError")
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property "cloneRange" with the proper type (25)
</span><span class="cx"> PASS Range interface: detachedRange must inherit property "detach" with the proper type (26)
</span><span class="cx"> PASS Range interface: detachedRange must inherit property "isPointInRange" 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 "function () {
</span><span class="cx"> [native code]
</span><del>-}" threw object "Error: InvalidStateError: DOM Exception 11" ("InvalidStateError") expected object "TypeError" ("TypeError")
</del><ins>+}" threw object "Error: HierarchyRequestError: DOM Exception 3" ("HierarchyRequestError") expected object "TypeError" ("TypeError")
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property "comparePoint" 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 "function () {
</span><span class="cx"> [native code]
</span><del>-}" threw object "Error: InvalidStateError: DOM Exception 11" ("InvalidStateError") expected object "TypeError" ("TypeError")
</del><ins>+}" threw object "Error: HierarchyRequestError: DOM Exception 3" ("HierarchyRequestError") expected object "TypeError" ("TypeError")
</ins><span class="cx"> PASS Range interface: detachedRange must inherit property "intersectsNode" 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 "function () {
</span><span class="cx"> [native code]
</span><del>-}" threw object "Error: InvalidStateError: DOM Exception 11" ("InvalidStateError") expected object "TypeError" ("TypeError")
</del><ins>+}" threw object "Error: NotFoundError: DOM Exception 8" ("NotFoundError") expected object "TypeError" ("TypeError")
</ins><span class="cx"> FAIL NodeIterator interface: existence and properties of interface object assert_equals: class string of NodeIterator expected "[object Function]" but got "[object NodeIteratorConstructor]"
</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 "subtest" with the test id (like "?subtest=5"). 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 "0" InvalidStateError: DOM Exception 11
-FAIL 0,0,48: context range 0 [detached], argument range 0 [detached], how "1" InvalidStateError: DOM Exception 11
-FAIL 0,0,49: context range 0 [detached], argument range 0 [detached], how "2" InvalidStateError: DOM Exception 11
-FAIL 0,0,50: context range 0 [detached], argument range 0 [detached], how "3" InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,47: context range 0 [detached], argument range 0 [detached], how "0"
+PASS 0,0,48: context range 0 [detached], argument range 0 [detached], how "1"
+PASS 0,0,49: context range 0 [detached], argument range 0 [detached], how "2"
+PASS 0,0,50: context range 0 [detached], argument range 0 [detached], how "3"
</ins><span class="cx"> PASS 0,0,51: context range 0 [detached], argument range 0 [detached], how "-1"
</span><span class="cx"> PASS 0,0,52: context range 0 [detached], argument range 0 [detached], how "4"
</span><span class="cx"> PASS 0,0,53: context range 0 [detached], argument range 0 [detached], how "5"
</span><del>-FAIL 0,0,54: context range 0 [detached], argument range 0 [detached], how "NaN" InvalidStateError: DOM Exception 11
-FAIL 0,0,55: context range 0 [detached], argument range 0 [detached], how "0" InvalidStateError: DOM Exception 11
-FAIL 0,0,56: context range 0 [detached], argument range 0 [detached], how "Infinity" InvalidStateError: DOM Exception 11
-FAIL 0,0,57: context range 0 [detached], argument range 0 [detached], how "-Infinity" InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,54: context range 0 [detached], argument range 0 [detached], how "NaN"
+PASS 0,0,55: context range 0 [detached], argument range 0 [detached], how "0"
+PASS 0,0,56: context range 0 [detached], argument range 0 [detached], how "Infinity"
+PASS 0,0,57: context range 0 [detached], argument range 0 [detached], how "-Infinity"
</ins><span class="cx"> PASS 0,0,58: context range 0 [detached], argument range 0 [detached], how "65535"
</span><del>-FAIL 0,0,59: context range 0 [detached], argument range 0 [detached], how "65536" InvalidStateError: DOM Exception 11
-FAIL 0,0,60: context range 0 [detached], argument range 0 [detached], how "65537" InvalidStateError: DOM Exception 11
-FAIL 0,0,61: context range 0 [detached], argument range 0 [detached], how "65538" InvalidStateError: DOM Exception 11
-FAIL 0,0,62: context range 0 [detached], argument range 0 [detached], how "65539" InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,59: context range 0 [detached], argument range 0 [detached], how "65536"
+PASS 0,0,60: context range 0 [detached], argument range 0 [detached], how "65537"
+PASS 0,0,61: context range 0 [detached], argument range 0 [detached], how "65538"
+PASS 0,0,62: context range 0 [detached], argument range 0 [detached], how "65539"
</ins><span class="cx"> PASS 0,0,63: context range 0 [detached], argument range 0 [detached], how "65540"
</span><span class="cx"> PASS 0,0,64: context range 0 [detached], argument range 0 [detached], how "-65537"
</span><del>-FAIL 0,0,65: context range 0 [detached], argument range 0 [detached], how "-65536" InvalidStateError: DOM Exception 11
-FAIL 0,0,66: context range 0 [detached], argument range 0 [detached], how "-65535" InvalidStateError: DOM Exception 11
-FAIL 0,0,67: context range 0 [detached], argument range 0 [detached], how "-65534" InvalidStateError: DOM Exception 11
-FAIL 0,0,68: context range 0 [detached], argument range 0 [detached], how "-65533" InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,65: context range 0 [detached], argument range 0 [detached], how "-65536"
+PASS 0,0,66: context range 0 [detached], argument range 0 [detached], how "-65535"
+PASS 0,0,67: context range 0 [detached], argument range 0 [detached], how "-65534"
+PASS 0,0,68: context range 0 [detached], argument range 0 [detached], how "-65533"
</ins><span class="cx"> PASS 0,0,69: context range 0 [detached], argument range 0 [detached], how "-65532"
</span><span class="cx"> PASS 0,0,70: context range 0 [detached], argument range 0 [detached], how "4294967295"
</span><del>-FAIL 0,0,71: context range 0 [detached], argument range 0 [detached], how "4294967296" InvalidStateError: DOM Exception 11
-FAIL 0,0,72: context range 0 [detached], argument range 0 [detached], how "4294967297" InvalidStateError: DOM Exception 11
-FAIL 0,0,73: context range 0 [detached], argument range 0 [detached], how "4294967298" InvalidStateError: DOM Exception 11
-FAIL 0,0,74: context range 0 [detached], argument range 0 [detached], how "4294967299" InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,71: context range 0 [detached], argument range 0 [detached], how "4294967296"
+PASS 0,0,72: context range 0 [detached], argument range 0 [detached], how "4294967297"
+PASS 0,0,73: context range 0 [detached], argument range 0 [detached], how "4294967298"
+PASS 0,0,74: context range 0 [detached], argument range 0 [detached], how "4294967299"
</ins><span class="cx"> PASS 0,0,75: context range 0 [detached], argument range 0 [detached], how "4294967300"
</span><del>-FAIL 0,0,76: context range 0 [detached], argument range 0 [detached], how "-0.5" InvalidStateError: DOM Exception 11
-FAIL 0,0,77: context range 0 [detached], argument range 0 [detached], how "0.5" InvalidStateError: DOM Exception 11
-FAIL 0,0,78: context range 0 [detached], argument range 0 [detached], how "1.5" InvalidStateError: DOM Exception 11
-FAIL 0,0,79: context range 0 [detached], argument range 0 [detached], how "2.5" InvalidStateError: DOM Exception 11
-FAIL 0,0,80: context range 0 [detached], argument range 0 [detached], how "3.5" InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,76: context range 0 [detached], argument range 0 [detached], how "-0.5"
+PASS 0,0,77: context range 0 [detached], argument range 0 [detached], how "0.5"
+PASS 0,0,78: context range 0 [detached], argument range 0 [detached], how "1.5"
+PASS 0,0,79: context range 0 [detached], argument range 0 [detached], how "2.5"
+PASS 0,0,80: context range 0 [detached], argument range 0 [detached], how "3.5"
</ins><span class="cx"> PASS 0,0,81: context range 0 [detached], argument range 0 [detached], how "4.5"
</span><span class="cx"> PASS 0,0,82: context range 0 [detached], argument range 0 [detached], how "-1.5"
</span><del>-FAIL 0,0,83: context range 0 [detached], argument range 0 [detached], how "-0.5" InvalidStateError: DOM Exception 11
-FAIL 0,0,84: context range 0 [detached], argument range 0 [detached], how "0.5" InvalidStateError: DOM Exception 11
-FAIL 0,0,85: context range 0 [detached], argument range 0 [detached], how "1.5" InvalidStateError: DOM Exception 11
-FAIL 0,0,86: context range 0 [detached], argument range 0 [detached], how "2.5" InvalidStateError: DOM Exception 11
-FAIL 0,0,87: context range 0 [detached], argument range 0 [detached], how "3.5" InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,0,83: context range 0 [detached], argument range 0 [detached], how "-0.5"
+PASS 0,0,84: context range 0 [detached], argument range 0 [detached], how "0.5"
+PASS 0,0,85: context range 0 [detached], argument range 0 [detached], how "1.5"
+PASS 0,0,86: context range 0 [detached], argument range 0 [detached], how "2.5"
+PASS 0,0,87: context range 0 [detached], argument range 0 [detached], how "3.5"
</ins><span class="cx"> PASS 0,0,88: context range 0 [detached], argument range 0 [detached], how "-73.5"
</span><span class="cx"> PASS 0,0,89: context range 0 [detached], argument range 0 [detached], how "-72.5"
</span><span class="cx"> PASS 0,0,90: context range 0 [detached], argument range 0 [detached], how "-71.5"
</span><span class="cx"> PASS 0,0,91: context range 0 [detached], argument range 0 [detached], how "-70.5"
</span><span class="cx"> PASS 0,0,92: context range 0 [detached], argument range 0 [detached], how "-69.5"
</span><span class="cx"> PASS 0,0,93: context range 0 [detached], argument range 0 [detached], how "-68.5"
</span><del>-FAIL 0,0,94: context range 0 [detached], argument range 0 [detached], how "6.5536e4" 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 "" InvalidStateError: DOM Exception 11
-FAIL 0,0,100: context range 0 [detached], argument range 0 [detached], how "quasit" 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 "6.5536e4"
+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 ""
+PASS 0,0,100: context range 0 [detached], argument range 0 [detached], how "quasit"
+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 "0" InvalidStateError: DOM Exception 11
-FAIL 0,3,48: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "1" InvalidStateError: DOM Exception 11
-FAIL 0,3,49: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "2" InvalidStateError: DOM Exception 11
-FAIL 0,3,50: 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,3,47: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "0"
+PASS 0,3,48: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "1"
+PASS 0,3,49: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "2"
+PASS 0,3,50: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "3"
</ins><span class="cx"> PASS 0,3,51: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "-1"
</span><span class="cx"> PASS 0,3,52: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "4"
</span><span class="cx"> PASS 0,3,53: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "5"
</span><del>-FAIL 0,3,54: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "NaN" InvalidStateError: DOM Exception 11
-FAIL 0,3,55: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "0" InvalidStateError: DOM Exception 11
-FAIL 0,3,56: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "Infinity" InvalidStateError: DOM Exception 11
-FAIL 0,3,57: 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,54: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "NaN"
+PASS 0,3,55: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "0"
+PASS 0,3,56: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "Infinity"
+PASS 0,3,57: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "-Infinity"
</ins><span class="cx"> PASS 0,3,58: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "65535"
</span><del>-FAIL 0,3,59: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "65536" InvalidStateError: DOM Exception 11
-FAIL 0,3,60: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "65537" InvalidStateError: DOM Exception 11
-FAIL 0,3,61: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "65538" InvalidStateError: DOM Exception 11
-FAIL 0,3,62: 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,59: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "65536"
+PASS 0,3,60: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "65537"
+PASS 0,3,61: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "65538"
+PASS 0,3,62: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "65539"
</ins><span class="cx"> PASS 0,3,63: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "65540"
</span><span class="cx"> PASS 0,3,64: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "-65537"
</span><del>-FAIL 0,3,65: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "-65536" InvalidStateError: DOM Exception 11
-FAIL 0,3,66: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "-65535" InvalidStateError: DOM Exception 11
-FAIL 0,3,67: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "-65534" InvalidStateError: DOM Exception 11
-FAIL 0,3,68: 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,65: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "-65536"
+PASS 0,3,66: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "-65535"
+PASS 0,3,67: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "-65534"
+PASS 0,3,68: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "-65533"
</ins><span class="cx"> PASS 0,3,69: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "-65532"
</span><span class="cx"> PASS 0,3,70: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "4294967295"
</span><del>-FAIL 0,3,71: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "4294967296" InvalidStateError: DOM Exception 11
-FAIL 0,3,72: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "4294967297" InvalidStateError: DOM Exception 11
-FAIL 0,3,73: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "4294967298" InvalidStateError: DOM Exception 11
-FAIL 0,3,74: 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,71: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "4294967296"
+PASS 0,3,72: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "4294967297"
+PASS 0,3,73: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "4294967298"
+PASS 0,3,74: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "4294967299"
</ins><span class="cx"> PASS 0,3,75: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "4294967300"
</span><del>-FAIL 0,3,76: 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,77: 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,78: 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,79: 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,80: 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,76: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "-0.5"
+PASS 0,3,77: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "0.5"
+PASS 0,3,78: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "1.5"
+PASS 0,3,79: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "2.5"
+PASS 0,3,80: 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,81: 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,82: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "-1.5"
</span><del>-FAIL 0,3,83: 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,84: 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,85: 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,86: 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,87: 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,83: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "-0.5"
+PASS 0,3,84: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "0.5"
+PASS 0,3,85: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "1.5"
+PASS 0,3,86: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "2.5"
+PASS 0,3,87: 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,88: 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,89: 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,90: 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,91: 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,92: 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,93: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "-68.5"
</span><del>-FAIL 0,3,94: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "6.5536e4" 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 "" InvalidStateError: DOM Exception 11
-FAIL 0,3,100: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "quasit" 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 "6.5536e4"
+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 ""
+PASS 0,3,100: context range 0 [detached], argument range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], how "quasit"
+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 "0" InvalidStateError: DOM Exception 11
-FAIL 0,16,48: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "1" InvalidStateError: DOM Exception 11
-FAIL 0,16,49: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "2" InvalidStateError: DOM Exception 11
-FAIL 0,16,50: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "3" InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,16,47: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "0"
+PASS 0,16,48: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "1"
+PASS 0,16,49: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "2"
+PASS 0,16,50: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "3"
</ins><span class="cx"> PASS 0,16,51: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-1"
</span><span class="cx"> PASS 0,16,52: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "4"
</span><span class="cx"> PASS 0,16,53: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "5"
</span><del>-FAIL 0,16,54: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "NaN" InvalidStateError: DOM Exception 11
-FAIL 0,16,55: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "0" InvalidStateError: DOM Exception 11
-FAIL 0,16,56: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "Infinity" InvalidStateError: DOM Exception 11
-FAIL 0,16,57: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-Infinity" InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,16,54: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "NaN"
+PASS 0,16,55: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "0"
+PASS 0,16,56: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "Infinity"
+PASS 0,16,57: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-Infinity"
</ins><span class="cx"> PASS 0,16,58: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "65535"
</span><del>-FAIL 0,16,59: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "65536" InvalidStateError: DOM Exception 11
-FAIL 0,16,60: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "65537" InvalidStateError: DOM Exception 11
-FAIL 0,16,61: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "65538" InvalidStateError: DOM Exception 11
-FAIL 0,16,62: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "65539" InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,16,59: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "65536"
+PASS 0,16,60: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "65537"
+PASS 0,16,61: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "65538"
+PASS 0,16,62: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "65539"
</ins><span class="cx"> PASS 0,16,63: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "65540"
</span><span class="cx"> PASS 0,16,64: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-65537"
</span><del>-FAIL 0,16,65: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-65536" InvalidStateError: DOM Exception 11
-FAIL 0,16,66: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-65535" InvalidStateError: DOM Exception 11
-FAIL 0,16,67: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-65534" InvalidStateError: DOM Exception 11
-FAIL 0,16,68: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-65533" InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,16,65: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-65536"
+PASS 0,16,66: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-65535"
+PASS 0,16,67: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-65534"
+PASS 0,16,68: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-65533"
</ins><span class="cx"> PASS 0,16,69: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-65532"
</span><span class="cx"> PASS 0,16,70: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "4294967295"
</span><del>-FAIL 0,16,71: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "4294967296" InvalidStateError: DOM Exception 11
-FAIL 0,16,72: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "4294967297" InvalidStateError: DOM Exception 11
-FAIL 0,16,73: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "4294967298" InvalidStateError: DOM Exception 11
-FAIL 0,16,74: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "4294967299" InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,16,71: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "4294967296"
+PASS 0,16,72: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "4294967297"
+PASS 0,16,73: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "4294967298"
+PASS 0,16,74: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "4294967299"
</ins><span class="cx"> PASS 0,16,75: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "4294967300"
</span><del>-FAIL 0,16,76: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-0.5" InvalidStateError: DOM Exception 11
-FAIL 0,16,77: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "0.5" InvalidStateError: DOM Exception 11
-FAIL 0,16,78: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "1.5" InvalidStateError: DOM Exception 11
-FAIL 0,16,79: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "2.5" InvalidStateError: DOM Exception 11
-FAIL 0,16,80: 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,76: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-0.5"
+PASS 0,16,77: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "0.5"
+PASS 0,16,78: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "1.5"
+PASS 0,16,79: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "2.5"
+PASS 0,16,80: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "3.5"
</ins><span class="cx"> PASS 0,16,81: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "4.5"
</span><span class="cx"> PASS 0,16,82: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-1.5"
</span><del>-FAIL 0,16,83: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-0.5" InvalidStateError: DOM Exception 11
-FAIL 0,16,84: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "0.5" InvalidStateError: DOM Exception 11
-FAIL 0,16,85: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "1.5" InvalidStateError: DOM Exception 11
-FAIL 0,16,86: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "2.5" InvalidStateError: DOM Exception 11
-FAIL 0,16,87: 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,83: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-0.5"
+PASS 0,16,84: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "0.5"
+PASS 0,16,85: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "1.5"
+PASS 0,16,86: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "2.5"
+PASS 0,16,87: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "3.5"
</ins><span class="cx"> PASS 0,16,88: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-73.5"
</span><span class="cx"> PASS 0,16,89: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-72.5"
</span><span class="cx"> PASS 0,16,90: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-71.5"
</span><span class="cx"> PASS 0,16,91: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-70.5"
</span><span class="cx"> PASS 0,16,92: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-69.5"
</span><span class="cx"> PASS 0,16,93: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "-68.5"
</span><del>-FAIL 0,16,94: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "6.5536e4" 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 "" InvalidStateError: DOM Exception 11
-FAIL 0,16,100: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "quasit" 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 "6.5536e4"
+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 ""
+PASS 0,16,100: context range 0 [detached], argument range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], how "quasit"
+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 "0" InvalidStateError: DOM Exception 11
-FAIL 0,21,48: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "1" InvalidStateError: DOM Exception 11
-FAIL 0,21,49: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "2" InvalidStateError: DOM Exception 11
-FAIL 0,21,50: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "3" 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 "0"
+PASS 0,21,48: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "1"
+PASS 0,21,49: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "2"
+PASS 0,21,50: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "3"
</ins><span class="cx"> PASS 0,21,51: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-1"
</span><span class="cx"> PASS 0,21,52: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "4"
</span><span class="cx"> PASS 0,21,53: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "5"
</span><del>-FAIL 0,21,54: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "NaN" InvalidStateError: DOM Exception 11
-FAIL 0,21,55: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "0" InvalidStateError: DOM Exception 11
-FAIL 0,21,56: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "Infinity" InvalidStateError: DOM Exception 11
-FAIL 0,21,57: 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,54: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "NaN"
+PASS 0,21,55: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "0"
+PASS 0,21,56: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "Infinity"
+PASS 0,21,57: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-Infinity"
</ins><span class="cx"> PASS 0,21,58: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "65535"
</span><del>-FAIL 0,21,59: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "65536" InvalidStateError: DOM Exception 11
-FAIL 0,21,60: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "65537" InvalidStateError: DOM Exception 11
-FAIL 0,21,61: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "65538" InvalidStateError: DOM Exception 11
-FAIL 0,21,62: 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,59: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "65536"
+PASS 0,21,60: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "65537"
+PASS 0,21,61: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "65538"
+PASS 0,21,62: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "65539"
</ins><span class="cx"> PASS 0,21,63: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "65540"
</span><span class="cx"> PASS 0,21,64: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-65537"
</span><del>-FAIL 0,21,65: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-65536" InvalidStateError: DOM Exception 11
-FAIL 0,21,66: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-65535" InvalidStateError: DOM Exception 11
-FAIL 0,21,67: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-65534" InvalidStateError: DOM Exception 11
-FAIL 0,21,68: 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,65: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-65536"
+PASS 0,21,66: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-65535"
+PASS 0,21,67: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-65534"
+PASS 0,21,68: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-65533"
</ins><span class="cx"> PASS 0,21,69: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-65532"
</span><span class="cx"> PASS 0,21,70: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "4294967295"
</span><del>-FAIL 0,21,71: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "4294967296" InvalidStateError: DOM Exception 11
-FAIL 0,21,72: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "4294967297" InvalidStateError: DOM Exception 11
-FAIL 0,21,73: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "4294967298" InvalidStateError: DOM Exception 11
-FAIL 0,21,74: 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,71: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "4294967296"
+PASS 0,21,72: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "4294967297"
+PASS 0,21,73: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "4294967298"
+PASS 0,21,74: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "4294967299"
</ins><span class="cx"> PASS 0,21,75: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "4294967300"
</span><del>-FAIL 0,21,76: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-0.5" InvalidStateError: DOM Exception 11
-FAIL 0,21,77: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "0.5" InvalidStateError: DOM Exception 11
-FAIL 0,21,78: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "1.5" InvalidStateError: DOM Exception 11
-FAIL 0,21,79: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "2.5" InvalidStateError: DOM Exception 11
-FAIL 0,21,80: 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,76: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-0.5"
+PASS 0,21,77: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "0.5"
+PASS 0,21,78: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "1.5"
+PASS 0,21,79: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "2.5"
+PASS 0,21,80: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "3.5"
</ins><span class="cx"> PASS 0,21,81: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "4.5"
</span><span class="cx"> PASS 0,21,82: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-1.5"
</span><del>-FAIL 0,21,83: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-0.5" InvalidStateError: DOM Exception 11
-FAIL 0,21,84: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "0.5" InvalidStateError: DOM Exception 11
-FAIL 0,21,85: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "1.5" InvalidStateError: DOM Exception 11
-FAIL 0,21,86: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "2.5" InvalidStateError: DOM Exception 11
-FAIL 0,21,87: 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,83: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-0.5"
+PASS 0,21,84: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "0.5"
+PASS 0,21,85: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "1.5"
+PASS 0,21,86: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "2.5"
+PASS 0,21,87: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "3.5"
</ins><span class="cx"> PASS 0,21,88: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-73.5"
</span><span class="cx"> PASS 0,21,89: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-72.5"
</span><span class="cx"> PASS 0,21,90: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-71.5"
</span><span class="cx"> PASS 0,21,91: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-70.5"
</span><span class="cx"> PASS 0,21,92: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-69.5"
</span><span class="cx"> PASS 0,21,93: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "-68.5"
</span><del>-FAIL 0,21,94: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "6.5536e4" 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 "" InvalidStateError: DOM Exception 11
-FAIL 0,21,100: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "quasit" 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 "6.5536e4"
+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 ""
+PASS 0,21,100: context range 0 [detached], argument range 21 [paras[0].firstChild, 3, paras[3], 1], how "quasit"
+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 "0" InvalidStateError: DOM Exception 11
-FAIL 0,27,48: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "1" InvalidStateError: DOM Exception 11
-FAIL 0,27,49: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "2" InvalidStateError: DOM Exception 11
-FAIL 0,27,50: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "3" InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,47: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "0"
+PASS 0,27,48: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "1"
+PASS 0,27,49: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "2"
+PASS 0,27,50: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "3"
</ins><span class="cx"> PASS 0,27,51: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-1"
</span><span class="cx"> PASS 0,27,52: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "4"
</span><span class="cx"> PASS 0,27,53: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "5"
</span><del>-FAIL 0,27,54: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "NaN" InvalidStateError: DOM Exception 11
-FAIL 0,27,55: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "0" InvalidStateError: DOM Exception 11
-FAIL 0,27,56: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "Infinity" InvalidStateError: DOM Exception 11
-FAIL 0,27,57: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-Infinity" InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,54: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "NaN"
+PASS 0,27,55: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "0"
+PASS 0,27,56: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "Infinity"
+PASS 0,27,57: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-Infinity"
</ins><span class="cx"> PASS 0,27,58: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "65535"
</span><del>-FAIL 0,27,59: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "65536" InvalidStateError: DOM Exception 11
-FAIL 0,27,60: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "65537" InvalidStateError: DOM Exception 11
-FAIL 0,27,61: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "65538" InvalidStateError: DOM Exception 11
-FAIL 0,27,62: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "65539" InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,59: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "65536"
+PASS 0,27,60: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "65537"
+PASS 0,27,61: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "65538"
+PASS 0,27,62: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "65539"
</ins><span class="cx"> PASS 0,27,63: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "65540"
</span><span class="cx"> PASS 0,27,64: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-65537"
</span><del>-FAIL 0,27,65: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-65536" InvalidStateError: DOM Exception 11
-FAIL 0,27,66: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-65535" InvalidStateError: DOM Exception 11
-FAIL 0,27,67: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-65534" InvalidStateError: DOM Exception 11
-FAIL 0,27,68: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-65533" InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,65: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-65536"
+PASS 0,27,66: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-65535"
+PASS 0,27,67: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-65534"
+PASS 0,27,68: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-65533"
</ins><span class="cx"> PASS 0,27,69: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-65532"
</span><span class="cx"> PASS 0,27,70: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "4294967295"
</span><del>-FAIL 0,27,71: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "4294967296" InvalidStateError: DOM Exception 11
-FAIL 0,27,72: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "4294967297" InvalidStateError: DOM Exception 11
-FAIL 0,27,73: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "4294967298" InvalidStateError: DOM Exception 11
-FAIL 0,27,74: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "4294967299" InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,71: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "4294967296"
+PASS 0,27,72: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "4294967297"
+PASS 0,27,73: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "4294967298"
+PASS 0,27,74: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "4294967299"
</ins><span class="cx"> PASS 0,27,75: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "4294967300"
</span><del>-FAIL 0,27,76: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-0.5" InvalidStateError: DOM Exception 11
-FAIL 0,27,77: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "0.5" InvalidStateError: DOM Exception 11
-FAIL 0,27,78: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "1.5" InvalidStateError: DOM Exception 11
-FAIL 0,27,79: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "2.5" InvalidStateError: DOM Exception 11
-FAIL 0,27,80: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "3.5" InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,76: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-0.5"
+PASS 0,27,77: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "0.5"
+PASS 0,27,78: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "1.5"
+PASS 0,27,79: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "2.5"
+PASS 0,27,80: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "3.5"
</ins><span class="cx"> PASS 0,27,81: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "4.5"
</span><span class="cx"> PASS 0,27,82: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-1.5"
</span><del>-FAIL 0,27,83: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-0.5" InvalidStateError: DOM Exception 11
-FAIL 0,27,84: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "0.5" InvalidStateError: DOM Exception 11
-FAIL 0,27,85: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "1.5" InvalidStateError: DOM Exception 11
-FAIL 0,27,86: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "2.5" InvalidStateError: DOM Exception 11
-FAIL 0,27,87: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "3.5" InvalidStateError: DOM Exception 11
</del><ins>+PASS 0,27,83: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-0.5"
+PASS 0,27,84: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "0.5"
+PASS 0,27,85: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "1.5"
+PASS 0,27,86: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "2.5"
+PASS 0,27,87: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "3.5"
</ins><span class="cx"> PASS 0,27,88: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-73.5"
</span><span class="cx"> PASS 0,27,89: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-72.5"
</span><span class="cx"> PASS 0,27,90: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-71.5"
</span><span class="cx"> PASS 0,27,91: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-70.5"
</span><span class="cx"> PASS 0,27,92: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-69.5"
</span><span class="cx"> PASS 0,27,93: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "-68.5"
</span><del>-FAIL 0,27,94: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "6.5536e4" 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 "" InvalidStateError: DOM Exception 11
-FAIL 0,27,100: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "quasit" 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 "6.5536e4"
+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 ""
+PASS 0,27,100: context range 0 [detached], argument range 27 [testDiv, 0, comment, 5], how "quasit"
+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 "0" InvalidStateError: DOM Exception 11
-FAIL 3,0,48: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "1" InvalidStateError: DOM Exception 11
-FAIL 3,0,49: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "2" InvalidStateError: DOM Exception 11
-FAIL 3,0,50: 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,47: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "0"
+PASS 3,0,48: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "1"
+PASS 3,0,49: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "2"
+PASS 3,0,50: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "3"
</ins><span class="cx"> PASS 3,0,51: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "-1"
</span><span class="cx"> PASS 3,0,52: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "4"
</span><span class="cx"> PASS 3,0,53: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "5"
</span><del>-FAIL 3,0,54: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "NaN" InvalidStateError: DOM Exception 11
-FAIL 3,0,55: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "0" InvalidStateError: DOM Exception 11
-FAIL 3,0,56: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "Infinity" InvalidStateError: DOM Exception 11
-FAIL 3,0,57: 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,54: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "NaN"
+PASS 3,0,55: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "0"
+PASS 3,0,56: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "Infinity"
+PASS 3,0,57: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "-Infinity"
</ins><span class="cx"> PASS 3,0,58: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "65535"
</span><del>-FAIL 3,0,59: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "65536" InvalidStateError: DOM Exception 11
-FAIL 3,0,60: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "65537" InvalidStateError: DOM Exception 11
-FAIL 3,0,61: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "65538" InvalidStateError: DOM Exception 11
-FAIL 3,0,62: 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,59: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "65536"
+PASS 3,0,60: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "65537"
+PASS 3,0,61: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "65538"
+PASS 3,0,62: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "65539"
</ins><span class="cx"> PASS 3,0,63: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "65540"
</span><span class="cx"> PASS 3,0,64: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "-65537"
</span><del>-FAIL 3,0,65: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "-65536" InvalidStateError: DOM Exception 11
-FAIL 3,0,66: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "-65535" InvalidStateError: DOM Exception 11
-FAIL 3,0,67: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "-65534" InvalidStateError: DOM Exception 11
-FAIL 3,0,68: 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,65: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "-65536"
+PASS 3,0,66: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "-65535"
+PASS 3,0,67: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "-65534"
+PASS 3,0,68: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "-65533"
</ins><span class="cx"> PASS 3,0,69: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "-65532"
</span><span class="cx"> PASS 3,0,70: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "4294967295"
</span><del>-FAIL 3,0,71: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "4294967296" InvalidStateError: DOM Exception 11
-FAIL 3,0,72: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "4294967297" InvalidStateError: DOM Exception 11
-FAIL 3,0,73: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "4294967298" InvalidStateError: DOM Exception 11
-FAIL 3,0,74: 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,71: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "4294967296"
+PASS 3,0,72: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "4294967297"
+PASS 3,0,73: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "4294967298"
+PASS 3,0,74: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "4294967299"
</ins><span class="cx"> PASS 3,0,75: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "4294967300"
</span><del>-FAIL 3,0,76: 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,77: 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,78: 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,79: 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,80: 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,76: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "-0.5"
+PASS 3,0,77: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "0.5"
+PASS 3,0,78: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "1.5"
+PASS 3,0,79: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "2.5"
+PASS 3,0,80: 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,81: 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,82: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "-1.5"
</span><del>-FAIL 3,0,83: 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,84: 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,85: 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,86: 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,87: 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,83: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "-0.5"
+PASS 3,0,84: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "0.5"
+PASS 3,0,85: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "1.5"
+PASS 3,0,86: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "2.5"
+PASS 3,0,87: 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,88: 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,89: 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,90: 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,91: 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,92: 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,93: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "-68.5"
</span><del>-FAIL 3,0,94: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "6.5536e4" 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 "" InvalidStateError: DOM Exception 11
-FAIL 3,0,100: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "quasit" 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 "6.5536e4"
+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 ""
+PASS 3,0,100: context range 3 [paras[0].firstChild, 2, paras[0].firstChild, 8], argument range 0 [detached], how "quasit"
</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 "0" InvalidStateError: DOM Exception 11
-FAIL 16,0,48: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "1" InvalidStateError: DOM Exception 11
-FAIL 16,0,49: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "2" InvalidStateError: DOM Exception 11
-FAIL 16,0,50: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "3" InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,47: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "0"
+PASS 16,0,48: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "1"
+PASS 16,0,49: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "2"
+PASS 16,0,50: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "3"
</ins><span class="cx"> PASS 16,0,51: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-1"
</span><span class="cx"> PASS 16,0,52: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "4"
</span><span class="cx"> PASS 16,0,53: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "5"
</span><del>-FAIL 16,0,54: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "NaN" InvalidStateError: DOM Exception 11
-FAIL 16,0,55: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "0" InvalidStateError: DOM Exception 11
-FAIL 16,0,56: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "Infinity" InvalidStateError: DOM Exception 11
-FAIL 16,0,57: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-Infinity" InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,54: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "NaN"
+PASS 16,0,55: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "0"
+PASS 16,0,56: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "Infinity"
+PASS 16,0,57: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-Infinity"
</ins><span class="cx"> PASS 16,0,58: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "65535"
</span><del>-FAIL 16,0,59: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "65536" InvalidStateError: DOM Exception 11
-FAIL 16,0,60: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "65537" InvalidStateError: DOM Exception 11
-FAIL 16,0,61: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "65538" InvalidStateError: DOM Exception 11
-FAIL 16,0,62: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "65539" InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,59: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "65536"
+PASS 16,0,60: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "65537"
+PASS 16,0,61: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "65538"
+PASS 16,0,62: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "65539"
</ins><span class="cx"> PASS 16,0,63: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "65540"
</span><span class="cx"> PASS 16,0,64: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-65537"
</span><del>-FAIL 16,0,65: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-65536" InvalidStateError: DOM Exception 11
-FAIL 16,0,66: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-65535" InvalidStateError: DOM Exception 11
-FAIL 16,0,67: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-65534" InvalidStateError: DOM Exception 11
-FAIL 16,0,68: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-65533" InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,65: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-65536"
+PASS 16,0,66: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-65535"
+PASS 16,0,67: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-65534"
+PASS 16,0,68: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-65533"
</ins><span class="cx"> PASS 16,0,69: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-65532"
</span><span class="cx"> PASS 16,0,70: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "4294967295"
</span><del>-FAIL 16,0,71: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "4294967296" InvalidStateError: DOM Exception 11
-FAIL 16,0,72: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "4294967297" InvalidStateError: DOM Exception 11
-FAIL 16,0,73: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "4294967298" InvalidStateError: DOM Exception 11
-FAIL 16,0,74: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "4294967299" InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,71: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "4294967296"
+PASS 16,0,72: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "4294967297"
+PASS 16,0,73: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "4294967298"
+PASS 16,0,74: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "4294967299"
</ins><span class="cx"> PASS 16,0,75: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "4294967300"
</span><del>-FAIL 16,0,76: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-0.5" InvalidStateError: DOM Exception 11
-FAIL 16,0,77: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "0.5" InvalidStateError: DOM Exception 11
-FAIL 16,0,78: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "1.5" InvalidStateError: DOM Exception 11
-FAIL 16,0,79: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "2.5" InvalidStateError: DOM Exception 11
-FAIL 16,0,80: 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,76: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-0.5"
+PASS 16,0,77: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "0.5"
+PASS 16,0,78: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "1.5"
+PASS 16,0,79: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "2.5"
+PASS 16,0,80: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "3.5"
</ins><span class="cx"> PASS 16,0,81: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "4.5"
</span><span class="cx"> PASS 16,0,82: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-1.5"
</span><del>-FAIL 16,0,83: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-0.5" InvalidStateError: DOM Exception 11
-FAIL 16,0,84: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "0.5" InvalidStateError: DOM Exception 11
-FAIL 16,0,85: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "1.5" InvalidStateError: DOM Exception 11
-FAIL 16,0,86: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "2.5" InvalidStateError: DOM Exception 11
-FAIL 16,0,87: 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,83: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-0.5"
+PASS 16,0,84: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "0.5"
+PASS 16,0,85: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "1.5"
+PASS 16,0,86: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "2.5"
+PASS 16,0,87: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "3.5"
</ins><span class="cx"> PASS 16,0,88: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-73.5"
</span><span class="cx"> PASS 16,0,89: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-72.5"
</span><span class="cx"> PASS 16,0,90: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-71.5"
</span><span class="cx"> PASS 16,0,91: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-70.5"
</span><span class="cx"> PASS 16,0,92: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-69.5"
</span><span class="cx"> PASS 16,0,93: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "-68.5"
</span><del>-FAIL 16,0,94: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "6.5536e4" 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 "" InvalidStateError: DOM Exception 11
-FAIL 16,0,100: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "quasit" InvalidStateError: DOM Exception 11
</del><ins>+PASS 16,0,94: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "6.5536e4"
+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 ""
+PASS 16,0,100: context range 16 [foreignDoc.documentElement, 0, foreignDoc.documentElement, 1], argument range 0 [detached], how "quasit"
</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 "0" InvalidStateError: DOM Exception 11
-FAIL 21,0,48: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "1" InvalidStateError: DOM Exception 11
-FAIL 21,0,49: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "2" InvalidStateError: DOM Exception 11
-FAIL 21,0,50: 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,47: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "0"
+PASS 21,0,48: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "1"
+PASS 21,0,49: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "2"
+PASS 21,0,50: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "3"
</ins><span class="cx"> PASS 21,0,51: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-1"
</span><span class="cx"> PASS 21,0,52: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "4"
</span><span class="cx"> PASS 21,0,53: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "5"
</span><del>-FAIL 21,0,54: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "NaN" InvalidStateError: DOM Exception 11
-FAIL 21,0,55: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "0" InvalidStateError: DOM Exception 11
-FAIL 21,0,56: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "Infinity" InvalidStateError: DOM Exception 11
-FAIL 21,0,57: 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,54: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "NaN"
+PASS 21,0,55: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "0"
+PASS 21,0,56: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "Infinity"
+PASS 21,0,57: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-Infinity"
</ins><span class="cx"> PASS 21,0,58: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "65535"
</span><del>-FAIL 21,0,59: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "65536" InvalidStateError: DOM Exception 11
-FAIL 21,0,60: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "65537" InvalidStateError: DOM Exception 11
-FAIL 21,0,61: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "65538" InvalidStateError: DOM Exception 11
-FAIL 21,0,62: 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,59: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "65536"
+PASS 21,0,60: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "65537"
+PASS 21,0,61: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "65538"
+PASS 21,0,62: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "65539"
</ins><span class="cx"> PASS 21,0,63: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "65540"
</span><span class="cx"> PASS 21,0,64: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-65537"
</span><del>-FAIL 21,0,65: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-65536" InvalidStateError: DOM Exception 11
-FAIL 21,0,66: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-65535" InvalidStateError: DOM Exception 11
-FAIL 21,0,67: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-65534" InvalidStateError: DOM Exception 11
-FAIL 21,0,68: 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,65: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-65536"
+PASS 21,0,66: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-65535"
+PASS 21,0,67: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-65534"
+PASS 21,0,68: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-65533"
</ins><span class="cx"> PASS 21,0,69: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-65532"
</span><span class="cx"> PASS 21,0,70: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "4294967295"
</span><del>-FAIL 21,0,71: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "4294967296" InvalidStateError: DOM Exception 11
-FAIL 21,0,72: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "4294967297" InvalidStateError: DOM Exception 11
-FAIL 21,0,73: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "4294967298" InvalidStateError: DOM Exception 11
-FAIL 21,0,74: 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,71: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "4294967296"
+PASS 21,0,72: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "4294967297"
+PASS 21,0,73: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "4294967298"
+PASS 21,0,74: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "4294967299"
</ins><span class="cx"> PASS 21,0,75: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "4294967300"
</span><del>-FAIL 21,0,76: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-0.5" InvalidStateError: DOM Exception 11
-FAIL 21,0,77: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "0.5" InvalidStateError: DOM Exception 11
-FAIL 21,0,78: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "1.5" InvalidStateError: DOM Exception 11
-FAIL 21,0,79: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "2.5" InvalidStateError: DOM Exception 11
-FAIL 21,0,80: 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,76: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-0.5"
+PASS 21,0,77: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "0.5"
+PASS 21,0,78: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "1.5"
+PASS 21,0,79: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "2.5"
+PASS 21,0,80: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "3.5"
</ins><span class="cx"> PASS 21,0,81: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "4.5"
</span><span class="cx"> PASS 21,0,82: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-1.5"
</span><del>-FAIL 21,0,83: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-0.5" InvalidStateError: DOM Exception 11
-FAIL 21,0,84: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "0.5" InvalidStateError: DOM Exception 11
-FAIL 21,0,85: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "1.5" InvalidStateError: DOM Exception 11
-FAIL 21,0,86: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "2.5" InvalidStateError: DOM Exception 11
-FAIL 21,0,87: 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,83: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-0.5"
+PASS 21,0,84: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "0.5"
+PASS 21,0,85: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "1.5"
+PASS 21,0,86: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "2.5"
+PASS 21,0,87: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "3.5"
</ins><span class="cx"> PASS 21,0,88: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-73.5"
</span><span class="cx"> PASS 21,0,89: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-72.5"
</span><span class="cx"> PASS 21,0,90: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-71.5"
</span><span class="cx"> PASS 21,0,91: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-70.5"
</span><span class="cx"> PASS 21,0,92: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-69.5"
</span><span class="cx"> PASS 21,0,93: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "-68.5"
</span><del>-FAIL 21,0,94: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "6.5536e4" 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 "" InvalidStateError: DOM Exception 11
-FAIL 21,0,100: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "quasit" 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 "6.5536e4"
+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 ""
+PASS 21,0,100: context range 21 [paras[0].firstChild, 3, paras[3], 1], argument range 0 [detached], how "quasit"
</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 "0" InvalidStateError: DOM Exception 11
-FAIL 27,0,48: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "1" InvalidStateError: DOM Exception 11
-FAIL 27,0,49: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "2" InvalidStateError: DOM Exception 11
-FAIL 27,0,50: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "3" InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,47: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "0"
+PASS 27,0,48: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "1"
+PASS 27,0,49: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "2"
+PASS 27,0,50: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "3"
</ins><span class="cx"> PASS 27,0,51: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-1"
</span><span class="cx"> PASS 27,0,52: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "4"
</span><span class="cx"> PASS 27,0,53: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "5"
</span><del>-FAIL 27,0,54: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "NaN" InvalidStateError: DOM Exception 11
-FAIL 27,0,55: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "0" InvalidStateError: DOM Exception 11
-FAIL 27,0,56: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "Infinity" InvalidStateError: DOM Exception 11
-FAIL 27,0,57: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-Infinity" InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,54: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "NaN"
+PASS 27,0,55: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "0"
+PASS 27,0,56: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "Infinity"
+PASS 27,0,57: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-Infinity"
</ins><span class="cx"> PASS 27,0,58: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "65535"
</span><del>-FAIL 27,0,59: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "65536" InvalidStateError: DOM Exception 11
-FAIL 27,0,60: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "65537" InvalidStateError: DOM Exception 11
-FAIL 27,0,61: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "65538" InvalidStateError: DOM Exception 11
-FAIL 27,0,62: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "65539" InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,59: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "65536"
+PASS 27,0,60: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "65537"
+PASS 27,0,61: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "65538"
+PASS 27,0,62: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "65539"
</ins><span class="cx"> PASS 27,0,63: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "65540"
</span><span class="cx"> PASS 27,0,64: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-65537"
</span><del>-FAIL 27,0,65: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-65536" InvalidStateError: DOM Exception 11
-FAIL 27,0,66: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-65535" InvalidStateError: DOM Exception 11
-FAIL 27,0,67: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-65534" InvalidStateError: DOM Exception 11
-FAIL 27,0,68: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-65533" InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,65: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-65536"
+PASS 27,0,66: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-65535"
+PASS 27,0,67: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-65534"
+PASS 27,0,68: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-65533"
</ins><span class="cx"> PASS 27,0,69: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-65532"
</span><span class="cx"> PASS 27,0,70: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "4294967295"
</span><del>-FAIL 27,0,71: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "4294967296" InvalidStateError: DOM Exception 11
-FAIL 27,0,72: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "4294967297" InvalidStateError: DOM Exception 11
-FAIL 27,0,73: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "4294967298" InvalidStateError: DOM Exception 11
-FAIL 27,0,74: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "4294967299" InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,71: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "4294967296"
+PASS 27,0,72: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "4294967297"
+PASS 27,0,73: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "4294967298"
+PASS 27,0,74: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "4294967299"
</ins><span class="cx"> PASS 27,0,75: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "4294967300"
</span><del>-FAIL 27,0,76: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-0.5" InvalidStateError: DOM Exception 11
-FAIL 27,0,77: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "0.5" InvalidStateError: DOM Exception 11
-FAIL 27,0,78: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "1.5" InvalidStateError: DOM Exception 11
-FAIL 27,0,79: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "2.5" InvalidStateError: DOM Exception 11
-FAIL 27,0,80: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "3.5" InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,76: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-0.5"
+PASS 27,0,77: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "0.5"
+PASS 27,0,78: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "1.5"
+PASS 27,0,79: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "2.5"
+PASS 27,0,80: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "3.5"
</ins><span class="cx"> PASS 27,0,81: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "4.5"
</span><span class="cx"> PASS 27,0,82: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-1.5"
</span><del>-FAIL 27,0,83: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-0.5" InvalidStateError: DOM Exception 11
-FAIL 27,0,84: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "0.5" InvalidStateError: DOM Exception 11
-FAIL 27,0,85: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "1.5" InvalidStateError: DOM Exception 11
-FAIL 27,0,86: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "2.5" InvalidStateError: DOM Exception 11
-FAIL 27,0,87: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "3.5" InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,83: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-0.5"
+PASS 27,0,84: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "0.5"
+PASS 27,0,85: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "1.5"
+PASS 27,0,86: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "2.5"
+PASS 27,0,87: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "3.5"
</ins><span class="cx"> PASS 27,0,88: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-73.5"
</span><span class="cx"> PASS 27,0,89: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-72.5"
</span><span class="cx"> PASS 27,0,90: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-71.5"
</span><span class="cx"> PASS 27,0,91: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-70.5"
</span><span class="cx"> PASS 27,0,92: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-69.5"
</span><span class="cx"> PASS 27,0,93: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "-68.5"
</span><del>-FAIL 27,0,94: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "6.5536e4" 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 "" InvalidStateError: DOM Exception 11
-FAIL 27,0,100: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "quasit" InvalidStateError: DOM Exception 11
</del><ins>+PASS 27,0,94: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "6.5536e4"
+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 ""
+PASS 27,0,100: context range 27 [testDiv, 0, comment, 5], argument range 0 [detached], how "quasit"
</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 "function () { r.comparePoint(null, 0) }" threw object "Error: HierarchyRequestError: DOM Exception 3" ("HierarchyRequestError") expected object "TypeError" ("TypeError")
</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 "subtest" with the test id (like "?subtest=5"). 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 "subtest" with the test id (like "?subtest=5"). 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 "function () {
</span><span class="cx"> range.isPointInRange(node, offset..." threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "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 "function () {
+ range.isPointInRange(node, offset..." threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.isPointInRange(node, offset..." threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "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 "function () {
+ range.isPointInRange(node, offset..." threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.isPointInRange(node, offset..." threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "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 "function () {
+ range.isPointInRange(node, offset..." threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNode(node);
</span><span class="cx"> }" threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
+ range.selectNode(node);
+ }" threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNodeContents(node);..." threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNodeContents(node);..." threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNodeContents(node);..." threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
+ range.selectNodeContents(node);..." threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNode(node);
</span><span class="cx"> }" threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
+ range.selectNode(node);
+ }" threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNodeContents(node);..." threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNodeContents(node);..." threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNodeContents(node);..." threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
+ range.selectNodeContents(node);..." threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNode(node);
</span><span class="cx"> }" threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
+ range.selectNode(node);
+ }" threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNode(node);
</span><span class="cx"> }" threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNode(node);
</span><span class="cx"> }" threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
+ range.selectNode(node);
+ }" threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNodeContents(node);..." threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNodeContents(node);..." threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNodeContents(node);..." threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
+ range.selectNodeContents(node);..." threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNode(node);
</span><span class="cx"> }" threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
+ range.selectNode(node);
+ }" threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNode(node);
</span><span class="cx"> }" threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
+ range.selectNode(node);
+ }" threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNode(node);
</span><span class="cx"> }" threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNode(node);
</span><span class="cx"> }" threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
+ range.selectNode(node);
+ }" threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNode(node);
</span><span class="cx"> }" threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
</span><span class="cx"> range.selectNode(node);
</span><span class="cx"> }" threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 "function () {
+ range.selectNode(node);
+ }" threw object "Error: INVALID_NODE_TYPE_ERR: DOM Range Exception 2" that is not a DOMException INVALID_NODE_TYPE_ERR: property "code" 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 <cdumez@apple.com>
+
+ 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&view=revision
+ - https://src.chromium.org/viewvc/blink?revision=172768&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 <mmaxfield@apple.com>
</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<Range> 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->setEnd(selectedStringRange->startContainer(), selectedStringRange->startOffset());
</del><ins>+ selectedStringRange->setEnd(&selectedStringRange->startContainer(), selectedStringRange->startOffset());
</ins><span class="cx">
</span><span class="cx"> RefPtr<Range> closestAfterStringRange = nullptr;
</span><span class="cx"> RefPtr<Range> closestBeforeStringRange = nullptr;
</span><span class="lines">@@ -745,7 +745,7 @@
</span><span class="cx"> if (RefPtr<Range> 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() && element()->isTextFormControl()) {
</span><del>- if (!closestStringRange->startContainer()->isDescendantOrShadowDescendantOf(element()) || !closestStringRange->endContainer()->isDescendantOrShadowDescendantOf(element()))
</del><ins>+ if (!closestStringRange->startContainer().isDescendantOrShadowDescendantOf(element()) || !closestStringRange->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()->startContainer();
- ASSERT(node == it.range()->endContainer());
</del><ins>+ Node& node = it.range()->startContainer();
+ ASSERT(&node == &it.range()->endContainer());
</ins><span class="cx"> int offset = it.range()->startOffset();
</span><del>- if (replacedNodeNeedsCharacter(node->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()->startContainer(exception);
- ASSERT(node == it.range()->endContainer(exception));
- int offset = it.range()->startOffset(exception);
</del><ins>+ Node& node = it.range()->startContainer();
+ ASSERT(&node == &it.range()->endContainer());
+ int offset = it.range()->startOffset();
</ins><span class="cx">
</span><del>- if (replacedNodeNeedsCharacter(node->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->node();
</span><span class="cx"> Node* lastDescendant = node->lastDescendant();
</span><span class="cx"> return (range->intersectsNode(node, IGNORE_EXCEPTION)
</span><del>- && (range->endContainer() != node || range->endOffset())
- && (range->startContainer() != lastDescendant || range->startOffset() != lastOffsetInNode(lastDescendant)));
</del><ins>+ && (&range->endContainer() != node || range->endOffset())
+ && (&range->startContainer() != lastDescendant || range->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()->startContainer(exception);
- ASSERT(node == it.range()->endContainer(exception));
- int offset = it.range()->startOffset(exception);
</del><ins>+ Node& node = it.range()->startContainer();
+ ASSERT(&node == &it.range()->endContainer());
+ int offset = it.range()->startOffset();
</ins><span class="cx">
</span><span class="cx"> // non-zero length means textual node, zero length means replaced node (AKA "attachments" 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(&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(&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->listMarkerTextForNodeAndPosition(node, VisiblePosition(it.range()->startPosition()));
</del><ins>+ String listMarkerText = m_object->listMarkerTextForNodeAndPosition(&node, VisiblePosition(it.range()->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->listMarkerTextForNodeAndPosition(node, VisiblePosition(it.range()->startPosition()));
</del><ins>+ String listMarkerText = m_object->listMarkerTextForNodeAndPosition(&node, VisiblePosition(it.range()->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, &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, &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->traverseToChildAt(offset);
</del><ins>+ Node* replacedNode = node.traverseToChildAt(offset);
</ins><span class="cx"> if (replacedNode) {
</span><span class="cx"> AccessibilityObject* obj = m_object->axObjectCache()->getOrCreate(replacedNode->renderer());
</span><span class="cx"> if (obj && !obj->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->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->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->startContainer() != scope && !range->startContainer()->isDescendantOf(scope))
</del><ins>+ if (&range->startContainer() != scope && !range->startContainer().isDescendantOf(scope))
</ins><span class="cx"> return NSMakeRange(NSNotFound, 0);
</span><del>- if (range->endContainer() != scope && !range->endContainer()->isDescendantOf(scope))
</del><ins>+ if (&range->endContainer() != scope && !range->endContainer().isDescendantOf(scope))
</ins><span class="cx"> return NSMakeRange(NSNotFound, 0);
</span><span class="cx">
</span><del>- RefPtr<Range> testRange = Range::create(scope->document(), scope, 0, range->startContainer(), range->startOffset());
- ASSERT(testRange->startContainer() == scope);
</del><ins>+ RefPtr<Range> testRange = Range::create(scope->document(), scope, 0, &range->startContainer(), range->startOffset());
+ ASSERT(&testRange->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->setEnd(range->endContainer(), range->endOffset(), ec);
- ASSERT(testRange->startContainer() == scope);
</del><ins>+ testRange->setEnd(&range->endContainer(), range->endOffset(), ec);
+ ASSERT(&testRange->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()->startContainer(exception);
- ASSERT(node == it.range()->endContainer(exception));
- int offset = it.range()->startOffset(exception);
</del><ins>+ Node& node = it.range()->startContainer();
+ ASSERT(&node == &it.range()->endContainer());
+ int offset = it.range()->startOffset();
</ins><span class="cx">
</span><span class="cx"> // non-zero length means textual node, zero length means replaced node (AKA "attachments" 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->listMarkerTextForNodeAndPosition(node, VisiblePosition(it.range()->startPosition()));
</del><ins>+ String listMarkerText = m_object->listMarkerTextForNodeAndPosition(&node, VisiblePosition(it.range()->startPosition()));
</ins><span class="cx"> if (!listMarkerText.isEmpty())
</span><del>- AXAttributedStringAppendText(attrString, node, listMarkerText);
- AXAttributedStringAppendText(attrString, node, it.text());
</del><ins>+ AXAttributedStringAppendText(attrString, &node, listMarkerText);
+ AXAttributedStringAppendText(attrString, &node, it.text());
</ins><span class="cx"> } else {
</span><del>- Node* replacedNode = node->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->startContainer())
</del><ins>+ if (!range)
</ins><span class="cx"> return result;
</span><span class="cx">
</span><span class="cx"> Document* document = m_object->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 "webkit_dom_document_create_node_iterator"
</span><del>- || $functionName eq "webkit_dom_document_create_tree_walker";
</del><ins>+ || $functionName eq "webkit_dom_document_create_tree_walker"
+ || $functionName eq "webkit_dom_node_iterator_next_node"
+ || $functionName eq "webkit_dom_node_iterator_previous_node";
</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<Range> textPiece = markedText.range();
</span><del>- addMarker(textPiece->startContainer(), DocumentMarker(type, textPiece->startOffset(), textPiece->endOffset(), description));
</del><ins>+ addMarker(&textPiece->startContainer(), DocumentMarker(type, textPiece->startOffset(), textPiece->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<Range> textPiece = markedText.range();
</span><del>- addMarker(textPiece->startContainer(), DocumentMarker(type, textPiece->startOffset(), textPiece->endOffset()));
</del><ins>+ addMarker(&textPiece->startContainer(), DocumentMarker(type, textPiece->startOffset(), textPiece->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<Range> textPiece = markedText.range();
</span><span class="cx"> unsigned startOffset = textPiece->startOffset();
</span><span class="cx"> unsigned endOffset = textPiece->endOffset();
</span><del>- addMarker(textPiece->startContainer(), DocumentMarker(startOffset, endOffset, activeMatch));
</del><ins>+ addMarker(&textPiece->startContainer(), DocumentMarker(startOffset, endOffset, activeMatch));
</ins><span class="cx"> if (endOffset > 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->startContainer();
- Vector<RenderedDocumentMarker*> markers = markersFor(node);
</del><ins>+ Vector<RenderedDocumentMarker*> markers = markersFor(&textPiece->startContainer());
</ins><span class="cx"> markers[markers.size() - 1]->addRenderedRect(range->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<Range> textPiece = markedText.range();
</span><del>- addMarker(textPiece->startContainer(), DocumentMarker(type, textPiece->startOffset(), textPiece->endOffset(), description, interpretations, metadata));
</del><ins>+ addMarker(&textPiece->startContainer(), DocumentMarker(type, textPiece->startOffset(), textPiece->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->startOffset(), textPiece->endOffset(), "", Vector<String>(numberOfAlternatives), RetainPtr<id>());
</span><span class="cx"> for (size_t i = 0; i < numberOfAlternatives; ++i)
</span><span class="cx"> marker.setAlternative(interpretations[i + 1], i);
</span><del>- addMarker(textPiece->startContainer(), marker);
</del><ins>+ addMarker(&textPiece->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<Range> textPiece = markedText.range();
</span><del>- addMarker(textPiece->startContainer(), DocumentMarker(DocumentMarker::DictationResult, textPiece->startOffset(), textPiece->endOffset(), String(), Vector<String>(), metadata));
</del><ins>+ addMarker(&textPiece->startContainer(), DocumentMarker(DocumentMarker::DictationResult, textPiece->startOffset(), textPiece->endOffset(), String(), Vector<String>(), 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<Range> textPiece = markedText.range();
</span><span class="cx"> int startOffset = textPiece->startOffset();
</span><span class="cx"> int endOffset = textPiece->endOffset();
</span><del>- removeMarkers(textPiece->startContainer(), startOffset, endOffset - startOffset, markerTypes, shouldRemovePartiallyOverlappingMarker);
</del><ins>+ removeMarkers(&textPiece->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<RenderedDocumentMarker*> foundMarkers;
</span><span class="cx">
</span><del>- Node* startContainer = range->startContainer();
- ASSERT(startContainer);
- Node* endContainer = range->endContainer();
- ASSERT(endContainer);
</del><ins>+ Node& startContainer = range->startContainer();
+ Node& endContainer = range->endContainer();
</ins><span class="cx">
</span><span class="cx"> Node* pastLastNode = range->pastLastNode();
</span><span class="cx"> for (Node* node = range->firstNode(); node != pastLastNode; node = NodeTraversal::next(*node)) {
</span><span class="cx"> for (auto* marker : markersFor(node)) {
</span><span class="cx"> if (!markerTypes.contains(marker->type()))
</span><span class="cx"> continue;
</span><del>- if (node == startContainer && marker->endOffset() <= static_cast<unsigned>(range->startOffset()))
</del><ins>+ if (node == &startContainer && marker->endOffset() <= static_cast<unsigned>(range->startOffset()))
</ins><span class="cx"> continue;
</span><del>- if (node == endContainer && marker->startOffset() >= static_cast<unsigned>(range->endOffset()))
</del><ins>+ if (node == &endContainer && marker->startOffset() >= static_cast<unsigned>(range->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->startContainer();
- Node* endContainer = range->endContainer();
</del><ins>+ Node& startContainer = range->startContainer();
+ Node& endContainer = range->endContainer();
</ins><span class="cx">
</span><span class="cx"> Node* pastLastNode = range->pastLastNode();
</span><span class="cx">
</span><span class="cx"> for (Node* node = range->firstNode(); node != pastLastNode; node = NodeTraversal::next(*node)) {
</span><del>- int startOffset = node == startContainer ? range->startOffset() : 0;
- int endOffset = node == endContainer ? range->endOffset() : INT_MAX;
</del><ins>+ int startOffset = node == &startContainer ? range->startOffset() : 0;
+ int endOffset = node == &endContainer ? range->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->startContainer();
- ASSERT(startContainer);
- Node* endContainer = range->endContainer();
- ASSERT(endContainer);
</del><ins>+ Node& startContainer = range->startContainer();
+ Node& endContainer = range->endContainer();
</ins><span class="cx">
</span><span class="cx"> Node* pastLastNode = range->pastLastNode();
</span><span class="cx"> for (Node* node = range->firstNode(); node != pastLastNode; node = NodeTraversal::next(*node)) {
</span><span class="cx"> for (auto* marker : markersFor(node)) {
</span><span class="cx"> if (!markerTypes.contains(marker->type()))
</span><span class="cx"> continue;
</span><del>- if (node == startContainer && marker->endOffset() <= static_cast<unsigned>(range->startOffset()))
</del><ins>+ if (node == &startContainer && marker->endOffset() <= static_cast<unsigned>(range->startOffset()))
</ins><span class="cx"> continue;
</span><del>- if (node == endContainer && marker->startOffset() >= static_cast<unsigned>(range->endOffset()))
</del><ins>+ if (node == &endContainer && marker->startOffset() >= static_cast<unsigned>(range->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->startContainer();
- Node* endContainer = range->endContainer();
</del><ins>+ Node& startContainer = range->startContainer();
+ Node& endContainer = range->endContainer();
</ins><span class="cx">
</span><span class="cx"> Node* pastLastNode = range->pastLastNode();
</span><span class="cx"> for (Node* node = range->firstNode(); node != pastLastNode; node = NodeTraversal::next(*node)) {
</span><del>- unsigned startOffset = node == startContainer ? range->startOffset() : 0;
- unsigned endOffset = node == endContainer ? static_cast<unsigned>(range->endOffset()) : std::numeric_limits<unsigned>::max();
</del><ins>+ unsigned startOffset = node == &startContainer ? range->startOffset() : 0;
+ unsigned endOffset = node == &endContainer ? static_cast<unsigned>(range->endOffset()) : std::numeric_limits<unsigned>::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<Node> rootNode, unsigned long whatToShow, PassRefPtr<NodeFilter> 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()->document().attachNodeIterator(this);
</span><span class="cx"> }
</span><span class="lines">@@ -89,13 +88,8 @@
</span><span class="cx"> root()->document().detachNodeIterator(this);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-PassRefPtr<Node> NodeIterator::nextNode(JSC::ExecState* state, ExceptionCode& ec)
</del><ins>+RefPtr<Node> 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<Node> 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<Node> NodeIterator::previousNode(JSC::ExecState* state, ExceptionCode& ec)
</del><ins>+RefPtr<Node> 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<Node> 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()->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& removedNode)
</span><span class="lines">@@ -162,7 +149,6 @@
</span><span class="cx">
</span><span class="cx"> void NodeIterator::updateForNodeRemoval(Node& removedNode, NodePointer& referenceNode) const
</span><span class="cx"> {
</span><del>- ASSERT(!m_detached);
</del><span class="cx"> ASSERT(&root()->document() == &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<Node> nextNode(JSC::ExecState*, ExceptionCode&);
- PassRefPtr<Node> previousNode(JSC::ExecState*, ExceptionCode&);
</del><ins>+ RefPtr<Node> nextNode(JSC::ExecState*);
+ RefPtr<Node> 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<Node> nextNode(ExceptionCode& ec) { return nextNode(execStateFromNode(mainThreadNormalWorld(), referenceNode()), ec); }
- PassRefPtr<Node> previousNode(ExceptionCode& ec) { return previousNode(execStateFromNode(mainThreadNormalWorld(), referenceNode()), ec); }
</del><ins>+ RefPtr<Node> nextNode() { return nextNode(execStateFromNode(mainThreadNormalWorld(), referenceNode())); }
+ RefPtr<Node> previousNode() { return previousNode(execStateFromNode(mainThreadNormalWorld(), referenceNode())); }
</ins><span class="cx">
</span><span class="cx"> private:
</span><span class="cx"> NodeIterator(PassRefPtr<Node>, unsigned long whatToShow, PassRefPtr<NodeFilter>, 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->attachRange(this);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-Node* Range::startContainer(ExceptionCode& ec) const
-{
- if (!m_start.container()) {
- ec = INVALID_STATE_ERR;
- return 0;
- }
-
- return m_start.container();
-}
-
-int Range::startOffset(ExceptionCode& ec) const
-{
- if (!m_start.container()) {
- ec = INVALID_STATE_ERR;
- return 0;
- }
-
- return m_start.offset();
-}
-
-Node* Range::endContainer(ExceptionCode& ec) const
-{
- if (!m_start.container()) {
- ec = INVALID_STATE_ERR;
- return 0;
- }
-
- return m_end.container();
-}
-
-int Range::endOffset(ExceptionCode& ec) const
-{
- if (!m_start.container()) {
- ec = INVALID_STATE_ERR;
- return 0;
- }
-
- return m_end.offset();
-}
-
-Node* Range::commonAncestorContainer(ExceptionCode& 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->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& 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& start, const RangeBoundaryPoint& 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<Node> refNode, int offset, ExceptionCode& 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<Node> refNode, int offset, ExceptionCode& 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& start, ExceptionCode& 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& 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& 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) >= 0 && !ec
- && compareBoundaryPoints(refNode, offset, m_end.container(), m_end.offset(), ec) <= 0 && !ec;
</del><ins>+ return compareBoundaryPoints(refNode, offset, &startContainer(), m_start.offset(), ec) >= 0 && !ec
+ && compareBoundaryPoints(refNode, offset, &endContainer(), m_end.offset(), ec) <= 0 && !ec;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> short Range::comparePoint(Node* refNode, int offset, ExceptionCode& 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) < 0)
</del><ins>+ if (compareBoundaryPoints(refNode, offset, &startContainer(), m_start.offset(), ec) < 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) > 0 && !ec)
</del><ins>+ if (compareBoundaryPoints(refNode, offset, &endContainer(), m_end.offset(), ec) > 0 && !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() && refNode->inDocument()) {
- ec = INVALID_STATE_ERR;
- return NODE_BEFORE;
- }
</del><span class="cx">
</span><del>- if (m_start.container() && !refNode->inDocument()) {
</del><ins>+ if (!refNode->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& 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->commonAncestorContainer(ec);
- if (ec)
- return 0;
</del><ins>+ Node* thisCont = commonAncestorContainer();
+ Node* sourceCont = sourceRange->commonAncestorContainer();
</ins><span class="cx">
</span><span class="cx"> if (&thisCont->document() != &sourceCont->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() && compareBoundaryPoints(m_start, m_end, ec) <= 0 && !ec;
</del><ins>+ return compareBoundaryPoints(m_start, m_end, ec) <= 0 && !ec;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void Range::deleteContents(ExceptionCode& 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<DocumentFragment> Range::processContents(ActionType action, ExceptionCode& ec)
</del><ins>+RefPtr<DocumentFragment> Range::processContents(ActionType action, ExceptionCode& ec)
</ins><span class="cx"> {
</span><span class="cx"> typedef Vector<RefPtr<Node>> 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<Node> commonRoot = commonAncestorContainer(ec);
- if (ec)
- return 0;
</del><ins>+ RefPtr<Node> 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 (&startContainer() == &endContainer()) {
+ processContentsBetweenOffsets(action, fragment, &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<Node> rightContents;
</span><del>- if (m_end.container() != commonRoot && commonRoot->contains(originalEnd.container())) {
</del><ins>+ if (&endContainer() != commonRoot && commonRoot->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<Node> 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 && commonRoot->contains(partialStart.get()))
</span><span class="cx"> setStart(partialStart->parentNode(), partialStart->computeNodeIndex() + 1, ec);
</span><span class="cx"> else if (partialEnd && commonRoot->contains(partialEnd.get()))
</span><span class="cx"> setStart(partialEnd->parentNode(), partialEnd->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) && rightContents)
</span><span class="cx"> fragment->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<CharacterData> data, unsigned startOffset, unsigned endOffset, ExceptionCode& ec)
</span><span class="lines">@@ -789,7 +680,7 @@
</span><span class="cx"> data->deleteData(0, startOffset, ec);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-PassRefPtr<Node> Range::processContentsBetweenOffsets(ActionType action, PassRefPtr<DocumentFragment> fragment, Node* container, unsigned startOffset, unsigned endOffset, ExceptionCode& ec)
</del><ins>+RefPtr<Node> Range::processContentsBetweenOffsets(ActionType action, PassRefPtr<DocumentFragment> fragment, Node* container, unsigned startOffset, unsigned endOffset, ExceptionCode& ec)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(container);
</span><span class="cx"> ASSERT(startOffset <= 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<RefPtr<Node>>& nodes, PassRefPtr<Node> oldContainer, PassRefPtr<Node> newContainer, ExceptionCode& ec)
</span><span class="lines">@@ -880,7 +771,7 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-PassRefPtr<Node> Range::processAncestorsAndTheirSiblings(ActionType action, Node* container, ContentsProcessDirection direction, PassRefPtr<Node> passedClonedContainer, Node* commonRoot, ExceptionCode& ec)
</del><ins>+RefPtr<Node> Range::processAncestorsAndTheirSiblings(ActionType action, Node* container, ContentsProcessDirection direction, PassRefPtr<Node> passedClonedContainer, Node* commonRoot, ExceptionCode& ec)
</ins><span class="cx"> {
</span><span class="cx"> typedef Vector<RefPtr<Node>> NodeVector;
</span><span class="cx">
</span><span class="lines">@@ -932,25 +823,20 @@
</span><span class="cx"> firstChildInAncestorToProcess = direction == ProcessContentsForward ? ancestor->nextSibling() : ancestor->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<DocumentFragment> Range::extractContents(ExceptionCode& ec)
</del><ins>+RefPtr<DocumentFragment> Range::extractContents(ExceptionCode& 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<DocumentFragment> Range::cloneContents(ExceptionCode& ec)
</del><ins>+RefPtr<DocumentFragment> Range::cloneContents(ExceptionCode& 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<Node> 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<Text>(*m_start.container());
- if (startIsText && !m_start.container()->parentNode()) {
</del><ins>+ bool startIsText = is<Text>(startContainer());
+ if (startIsText && !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()->parentNode();
</del><ins>+ checkAgainst = startContainer().parentNode();
</ins><span class="cx"> else
</span><del>- checkAgainst = m_start.container();
</del><ins>+ checkAgainst = &startContainer();
</ins><span class="cx">
</span><span class="cx"> Node::NodeType newNodeType = newNode->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->parentNode()) {
</del><ins>+ for (Node* n = &startContainer(); n; n = n->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<Node> container;
</span><span class="cx"> if (startIsText) {
</span><del>- container = m_start.container();
</del><ins>+ container = &startContainer();
</ins><span class="cx"> RefPtr<Text> newText = downcast<Text>(*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 = &startContainer();
</ins><span class="cx"> container->parentNode()->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 && newText->parentNode() == container && &container->document() == &ownerDocument())
</span><span class="cx"> m_end.setToBeforeChild(*newText);
</span><span class="cx"> } else {
</span><del>- container = m_start.container();
</del><ins>+ container = &startContainer();
</ins><span class="cx"> RefPtr<Node> firstInsertedChild = newNodeType == Node::DOCUMENT_FRAGMENT_NODE ? newNode->firstChild() : newNode;
</span><span class="cx"> RefPtr<Node> lastInsertedChild = newNodeType == Node::DOCUMENT_FRAGMENT_NODE ? newNode->lastChild() : newNode;
</span><span class="cx"> RefPtr<Node> childAfterInsertedContent = container->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& 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->nodeType() == Node::TEXT_NODE || n->nodeType() == Node::CDATA_SECTION_NODE) {
</span><span class="cx"> const String& data = static_cast<CharacterData*>(n)->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 == &startContainer() ? std::min(std::max(0, m_start.offset()), length) : 0;
+ int end = n == &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()->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<DocumentFragment> Range::createContextualFragment(const String& markup, ExceptionCode& ec)
</del><ins>+RefPtr<DocumentFragment> Range::createContextualFragment(const String& markup, ExceptionCode& ec)
</ins><span class="cx"> {
</span><del>- if (!m_start.container()) {
- ec = INVALID_STATE_ERR;
- return 0;
- }
-
- Node* element = m_start.container()->isElementNode() ? m_start.container() : m_start.container()->parentNode();
</del><ins>+ Node* element = startContainer().isElementNode() ? &startContainer() : startContainer().parentNode();
</ins><span class="cx"> if (!element || !element->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<DocumentFragment> fragment = WebCore::createContextualFragment(markup, downcast<HTMLElement>(element), AllowScriptingContentAndDoNotMarkAlreadyStarted, ec);
- if (!fragment)
- return 0;
-
- return fragment.release();
</del><ins>+ return WebCore::createContextualFragment(markup, downcast<HTMLElement>(element), AllowScriptingContentAndDoNotMarkAlreadyStarted, ec);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx">
</span><del>-void Range::detach(ExceptionCode& 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->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& 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<Range> Range::cloneRange(ExceptionCode& ec) const
</del><ins>+Ref<Range> 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(), &startContainer(), m_start.offset(), &endContainer(), m_end.offset());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void Range::setStartAfter(Node* refNode, ExceptionCode& 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& 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& 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& 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& 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<Node> 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 = &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 "would" be inserted into the parent,
</span><span class="cx"> // although this will fail below for another reason).
</span><span class="cx"> if (parentOfNewParent->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->contains(m_start.container())) {
</del><ins>+ if (newParent->contains(&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 = &startContainer();
</ins><span class="cx"> if (startNonTextContainer->nodeType() == Node::TEXT_NODE)
</span><span class="cx"> startNonTextContainer = startNonTextContainer->parentNode();
</span><del>- Node* endNonTextContainer = m_end.container();
</del><ins>+ Node* endNonTextContainer = &endContainer();
</ins><span class="cx"> if (endNonTextContainer->nodeType() == Node::TEXT_NODE)
</span><span class="cx"> endNonTextContainer = endNonTextContainer->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& 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& 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->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->parentNode()) {
</del><ins>+ for (Node* n = &startContainer(); n; n = n->parentNode()) {
</ins><span class="cx"> if (n->isReadOnlyNode())
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><del>- for (Node* n = m_end.container(); n; n = n->parentNode()) {
</del><ins>+ for (Node* n = &endContainer(); n; n = n->parentNode()) {
</ins><span class="cx"> if (n->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()->offsetInCharacters())
- return m_start.container();
- if (Node* child = m_start.container()->traverseToChildAt(m_start.offset()))
</del><ins>+ if (startContainer().offsetInCharacters())
+ return &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 &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()->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()->offsetInCharacters())
- return NodeTraversal::nextSkippingChildren(*m_end.container());
- if (Node* child = m_end.container()->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<IntRect>& 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->isBR())
</span><span class="cx"> renderer->absoluteRects(rects, flooredLayoutPoint(renderer->localToAbsolute()));
</span><span class="cx"> else if (is<RenderText>(*renderer)) {
</span><del>- int startOffset = node == startContainer ? m_start.offset() : 0;
- int endOffset = node == endContainer ? m_end.offset() : std::numeric_limits<int>::max();
</del><ins>+ int startOffset = node == &startContainer() ? m_start.offset() : 0;
+ int endOffset = node == &endContainer() ? m_end.offset() : std::numeric_limits<int>::max();
</ins><span class="cx"> rects.appendVector(downcast<RenderText>(*renderer).absoluteRectsForRange(startOffset, endOffset, useSelectionHeight, &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<FloatQuad>& 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->isBR())
</span><span class="cx"> renderer->absoluteQuads(quads, &isFixed);
</span><span class="cx"> else if (is<RenderText>(*renderer)) {
</span><del>- int startOffset = node == startContainer ? m_start.offset() : 0;
- int endOffset = node == endContainer ? m_end.offset() : std::numeric_limits<int>::max();
</del><ins>+ int startOffset = node == &startContainer() ? m_start.offset() : 0;
+ int endOffset = node == &endContainer() ? m_end.offset() : std::numeric_limits<int>::max();
</ins><span class="cx"> quads.appendVector(downcast<RenderText>(*renderer).absoluteQuadsForRange(startOffset, endOffset, useSelectionHeight, &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<SelectionRect>& 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& startContainer = this->startContainer();
+ auto& endContainer = this->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<SelectionRect> newRects;
</span><span class="cx"> Node* stopNode = pastLastNode();
</span><del>- bool hasFlippedWritingMode = startContainer->renderer() && startContainer->renderer()->style().isFlippedBlocksWritingMode();
</del><ins>+ bool hasFlippedWritingMode = startContainer.renderer() && startContainer.renderer()->style().isFlippedBlocksWritingMode();
</ins><span class="cx"> bool containsDifferentWritingModes = false;
</span><span class="cx"> for (Node* node = firstNode(); node && node != stopNode; node = NodeTraversal::next(*node)) {
</span><span class="cx"> RenderObject* renderer = node->renderer();
</span><span class="cx"> // Only ask leaf render objects for their line box rects.
</span><span class="cx"> if (renderer && !renderer->firstChildSlow() && renderer->style().userSelect() != SELECT_NONE) {
</span><del>- bool isStartNode = renderer->node() == startContainer;
- bool isEndNode = renderer->node() == endContainer;
</del><ins>+ bool isStartNode = renderer->node() == &startContainer;
+ bool isEndNode = renderer->node() == &endContainer;
</ins><span class="cx"> if (hasFlippedWritingMode != renderer->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(&startContainer, &endContainer))
</ins><span class="cx"> hasFlippedWritingMode = ancestor->renderer()->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 <br>. 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(&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("<empty>");
- else {
- const int FormatBufferSize = 1024;
- char s[FormatBufferSize];
- result.appendLiteral("from offset ");
- result.appendNumber(m_start.offset());
- result.appendLiteral(" of ");
- m_start.container()->formatForDebugger(s, FormatBufferSize);
- result.append(s);
- result.appendLiteral(" to offset ");
- result.appendNumber(m_end.offset());
- result.appendLiteral(" of ");
- m_end.container()->formatForDebugger(s, FormatBufferSize);
- result.append(s);
- }
</del><ins>+ const int FormatBufferSize = 1024;
+ char s[FormatBufferSize];
+ result.appendLiteral("from offset ");
+ result.appendNumber(m_start.offset());
+ result.appendLiteral(" of ");
+ startContainer().formatForDebugger(s, FormatBufferSize);
+ result.append(s);
+ result.appendLiteral(" to offset ");
+ result.appendNumber(m_end.offset());
+ result.appendLiteral(" of ");
+ 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& other) const
</span><span class="cx"> {
</span><del>- if (commonAncestorContainer(ASSERT_NO_EXCEPTION)->ownerDocument() != other.commonAncestorContainer(ASSERT_NO_EXCEPTION)->ownerDocument())
</del><ins>+ if (commonAncestorContainer()->ownerDocument() != other.commonAncestorContainer()->ownerDocument())
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> short startToStart = compareBoundaryPoints(Range::START_TO_START, &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->commonAncestorContainer(ASSERT_NO_EXCEPTION)->ownerDocument() != b->commonAncestorContainer(ASSERT_NO_EXCEPTION)->ownerDocument())
</del><ins>+ if (a->commonAncestorContainer()->ownerDocument() != b->commonAncestorContainer()->ownerDocument())
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> short startToStart = a->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<ClientRectList> 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<FloatQuad> quads;
</span><span class="lines">@@ -2210,8 +1986,6 @@
</span><span class="cx">
</span><span class="cx"> void Range::getBorderAndTextQuads(Vector<FloatQuad>& 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<Node*> 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() : &endContainer();
</ins><span class="cx"> for (Node* parent = lastNode->parentNode(); parent; parent = parent->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<Text>(*node)) {
</span><span class="cx"> if (RenderText* renderText = downcast<Text>(*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 == &startContainer() ? m_start.offset() : 0;
+ int endOffset = node == &endContainer() ? m_end.offset() : INT_MAX;
</ins><span class="cx">
</span><span class="cx"> auto textQuads = renderText->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<FloatQuad> 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 < quads.size(); ++i)
- result.unite(quads[i].boundingBox());
</del><ins>+ for (auto& 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 && range->boundaryPointsValid()) {
</span><del>- range->startContainer()->showTreeAndMark(range->startContainer(), "S", range->endContainer(), "E");
</del><ins>+ range->startContainer().showTreeAndMark(&range->startContainer(), "S", &range->endContainer(), "E");
</ins><span class="cx"> fprintf(stderr, "start offset: %d, end offset: %d\n", range->startOffset(), range->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& ownerDocument() const { return const_cast<Document&>(m_ownerDocument.get()); }
</span><span class="cx">
</span><del>- Node* startContainer() const { return m_start.container(); }
</del><ins>+ Node& 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& 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&) const;
- WEBCORE_EXPORT int startOffset(ExceptionCode&) const;
- WEBCORE_EXPORT Node* endContainer(ExceptionCode&) const;
- WEBCORE_EXPORT int endOffset(ExceptionCode&) const;
- WEBCORE_EXPORT bool collapsed(ExceptionCode&) const;
-
- WEBCORE_EXPORT Node* commonAncestorContainer(ExceptionCode&) const;
- static Node* commonAncestorContainer(Node* containerA, Node* containerB);
</del><ins>+ Node* commonAncestorContainer() const { return commonAncestorContainer(&startContainer(), &endContainer()); }
+ WEBCORE_EXPORT static Node* commonAncestorContainer(Node* containerA, Node* containerB);
</ins><span class="cx"> WEBCORE_EXPORT void setStart(PassRefPtr<Node> container, int offset, ExceptionCode& = ASSERT_NO_EXCEPTION);
</span><span class="cx"> WEBCORE_EXPORT void setEnd(PassRefPtr<Node> container, int offset, ExceptionCode& = ASSERT_NO_EXCEPTION);
</span><del>- WEBCORE_EXPORT void collapse(bool toStart, ExceptionCode&);
</del><ins>+ WEBCORE_EXPORT void collapse(bool toStart);
</ins><span class="cx"> WEBCORE_EXPORT bool isPointInRange(Node* refNode, int offset, ExceptionCode&);
</span><span class="cx"> short comparePoint(Node* refNode, int offset, ExceptionCode&) 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&) const;
</span><span class="cx"> void deleteContents(ExceptionCode&);
</span><del>- PassRefPtr<DocumentFragment> extractContents(ExceptionCode&);
- PassRefPtr<DocumentFragment> cloneContents(ExceptionCode&);
</del><ins>+ RefPtr<DocumentFragment> extractContents(ExceptionCode&);
+ RefPtr<DocumentFragment> cloneContents(ExceptionCode&);
</ins><span class="cx"> void insertNode(PassRefPtr<Node>, ExceptionCode&);
</span><del>- String toString(ExceptionCode&) 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<DocumentFragment> createContextualFragment(const String& html, ExceptionCode&);
</del><ins>+ RefPtr<DocumentFragment> createContextualFragment(const String& html, ExceptionCode&);
</ins><span class="cx">
</span><del>- void detach(ExceptionCode&);
- WEBCORE_EXPORT RefPtr<Range> cloneRange(ExceptionCode&) const;
</del><ins>+ void detach();
+ WEBCORE_EXPORT Ref<Range> cloneRange() const;
</ins><span class="cx">
</span><span class="cx"> WEBCORE_EXPORT void setStartAfter(Node*, ExceptionCode& = ASSERT_NO_EXCEPTION);
</span><span class="cx"> WEBCORE_EXPORT void setEndBefore(Node*, ExceptionCode& = 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<DocumentFragment> processContents(ActionType, ExceptionCode&);
- static PassRefPtr<Node> processContentsBetweenOffsets(ActionType, PassRefPtr<DocumentFragment>, Node*, unsigned startOffset, unsigned endOffset, ExceptionCode&);
</del><ins>+ RefPtr<DocumentFragment> processContents(ActionType, ExceptionCode&);
+ static RefPtr<Node> processContentsBetweenOffsets(ActionType, PassRefPtr<DocumentFragment>, Node*, unsigned startOffset, unsigned endOffset, ExceptionCode&);
</ins><span class="cx"> static void processNodes(ActionType, Vector<RefPtr<Node>>&, PassRefPtr<Node> oldContainer, PassRefPtr<Node> newContainer, ExceptionCode&);
</span><span class="cx"> enum ContentsProcessDirection { ProcessContentsForward, ProcessContentsBackward };
</span><del>- static PassRefPtr<Node> processAncestorsAndTheirSiblings(ActionType, Node* container, ContentsProcessDirection, PassRefPtr<Node> clonedContainer, Node* commonRoot, ExceptionCode&);
</del><ins>+ static RefPtr<Node> processAncestorsAndTheirSiblings(ActionType, Node* container, ContentsProcessDirection, PassRefPtr<Node> clonedContainer, Node* commonRoot, ExceptionCode&);
</ins><span class="cx">
</span><span class="cx"> enum class CoordinateSpace { Absolute, Client };
</span><span class="cx"> void getBorderAndTextQuads(Vector<FloatQuad>&, 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<Range> paragraphRangeContainingCorrection = range->cloneRange(ec);
- if (ec)
- return;
</del><ins>+ RefPtr<Range> paragraphRangeContainingCorrection = range->cloneRange();
</ins><span class="cx">
</span><span class="cx"> setStart(paragraphRangeContainingCorrection.get(), startOfParagraph(range->startPosition()));
</span><span class="cx"> setEnd(paragraphRangeContainingCorrection.get(), endOfParagraph(range->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<Range> correctionStartOffsetInParagraphAsRange = Range::create(paragraphRangeContainingCorrection->startContainer(ec)->document(), paragraphRangeContainingCorrection->startPosition(), paragraphRangeContainingCorrection->startPosition());
- if (ec)
- return;
</del><ins>+ RefPtr<Range> correctionStartOffsetInParagraphAsRange = Range::create(paragraphRangeContainingCorrection->startContainer().document(), paragraphRangeContainingCorrection->startPosition(), paragraphRangeContainingCorrection->startPosition());
</ins><span class="cx">
</span><span class="cx"> Position startPositionOfRangeWithAlternative = range->startPosition();
</span><ins>+ ExceptionCode ec = 0;
</ins><span class="cx"> correctionStartOffsetInParagraphAsRange->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<Range> rangeWithAlternative = range->cloneRange(ec);
</del><ins>+ Ref<Range> rangeWithAlternative = range->cloneRange();
</ins><span class="cx">
</span><del>- ContainerNode& rootNode = paragraphRangeContainingCorrection.get()->startContainer()->treeScope().rootNode();
- int paragraphStartIndex = TextIterator::rangeLength(Range::create(rootNode.document(), &rootNode, 0, paragraphRangeContainingCorrection->startContainer(), paragraphRangeContainingCorrection->startOffset()).ptr());
- applyCommand(SpellingCorrectionCommand::create(rangeWithAlternative, alternative));
</del><ins>+ ContainerNode& rootNode = paragraphRangeContainingCorrection.get()->startContainer().treeScope().rootNode();
+ int paragraphStartIndex = TextIterator::rangeLength(Range::create(rootNode.document(), &rootNode, 0, &paragraphRangeContainingCorrection->startContainer(), paragraphRangeContainingCorrection->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(&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& markers = replacementRange->startContainer()->document().markers();
</del><ins>+ DocumentMarkerController& markers = replacementRange->startContainer().document().markers();
</ins><span class="cx"> size_t size = markerTypesToAdd.size();
</span><span class="cx"> for (size_t i = 0; i < 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->startContainer()->document().markers().addMarker(rangeWithAlternative, DocumentMarker::RejectedCorrection, m_alternativeTextInfo.originalText);
</del><ins>+ rangeWithAlternative->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<Range> changedRange)
</span><span class="cx"> {
</span><del>- changedRange->startContainer()->document().markers().removeMarkers(changedRange.get(), DocumentMarker::Autocorrected, DocumentMarkerController::RemovePartiallyOverlappingMarker);
- changedRange->startContainer()->document().markers().addMarker(changedRange.get(), DocumentMarker::SpellCheckingExemption);
</del><ins>+ changedRange->startContainer().document().markers().removeMarkers(changedRange.get(), DocumentMarker::Autocorrected, DocumentMarkerController::RemovePartiallyOverlappingMarker);
+ changedRange->startContainer().document().markers().addMarker(changedRange.get(), DocumentMarker::SpellCheckingExemption);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void AlternativeTextController::markCorrection(PassRefPtr<Range> replacedRange, const String& replacedString)
</span><span class="cx"> {
</span><span class="cx"> Vector<DocumentMarker::MarkerType> markerTypesToAdd = markerTypesForAutocorrection();
</span><del>- DocumentMarkerController& markers = replacedRange->startContainer()->document().markers();
</del><ins>+ DocumentMarkerController& markers = replacedRange->startContainer().document().markers();
</ins><span class="cx"> for (size_t i = 0; i < 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& markers = rangeOfCorrection->startContainer()->document().markers();
</del><ins>+ DocumentMarkerController& markers = rangeOfCorrection->startContainer().document().markers();
</ins><span class="cx"> Vector<RenderedDocumentMarker*> 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<Range> selection = editor.selectedRange();
</span><span class="cx"> if (!selection || !editor.shouldInsertText(alternativeString, selection.get(), EditorInsertActionPasted))
</span><span class="cx"> return;
</span><del>- DocumentMarkerController& markers = selection->startContainer()->document().markers();
</del><ins>+ DocumentMarkerController& markers = selection->startContainer().document().markers();
</ins><span class="cx"> Vector<RenderedDocumentMarker*> 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 && (selection.isRange() || hasTransparentBackgroundColor(style->m_mutableStyle.get()))) {
</span><span class="cx"> RefPtr<Range> range(selection.toNormalizedRange());
</span><del>- if (PassRefPtr<CSSValue> value = backgroundColorInEffect(range->commonAncestorContainer(IGNORE_EXCEPTION)))
</del><ins>+ if (auto value = backgroundColorInEffect(range->commonAncestorContainer()))
</ins><span class="cx"> style->setProperty(CSSPropertyBackgroundColor, value->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->startContainer();
- Node* endContainer = range->endContainer();
- if (!startContainer || !endContainer)
- return false;
</del><ins>+ Node& startContainer = range->startContainer();
+ Node& endContainer = range->endContainer();
</ins><span class="cx">
</span><del>- if (!startContainer->hasEditableStyle() || !endContainer->hasEditableStyle())
</del><ins>+ if (!startContainer.hasEditableStyle() || !endContainer.hasEditableStyle())
</ins><span class="cx"> return false;
</span><span class="cx">
</span><del>- if (range->collapsed(IGNORE_EXCEPTION)) {
</del><ins>+ if (range->collapsed()) {
</ins><span class="cx"> VisiblePosition start(range->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()->rootEditableElement() != startContainer->rootEditableElement())
</del><ins>+ if (previous.isNull() || previous.deepEquivalent().deprecatedNode()->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->collapsed(IGNORE_EXCEPTION))
</del><ins>+ if (!range || range->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->collapsed(IGNORE_EXCEPTION))
</del><ins>+ if (spellingSearchRange->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->endContainer();
</del><ins>+ Node& searchEndNodeAfterWrap = spellingSearchRange->endContainer();
</ins><span class="cx"> int searchEndOffsetAfterWrap = spellingSearchRange->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<Range> firstMisspellingRange;
</span><span class="cx"> if (unifiedTextCheckerEnabled()) {
</span><del>- grammarSearchRange = spellingSearchRange->cloneRange(IGNORE_EXCEPTION);
</del><ins>+ grammarSearchRange = spellingSearchRange->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->cloneRange(IGNORE_EXCEPTION);
</del><ins>+ grammarSearchRange = spellingSearchRange->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->setEnd(chars.range()->startContainer(), chars.range()->startOffset(), IGNORE_EXCEPTION);
</del><ins>+ grammarSearchRange->setEnd(&chars.range()->startContainer(), chars.range()->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 && !misspelledWord && !badGrammarPhrase) {
</span><span class="cx"> spellingSearchRange->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->setEnd(searchEndNodeAfterWrap, searchEndOffsetAfterWrap, IGNORE_EXCEPTION);
</del><ins>+ spellingSearchRange->setEnd(&searchEndNodeAfterWrap, searchEndOffsetAfterWrap, IGNORE_EXCEPTION);
</ins><span class="cx">
</span><span class="cx"> if (unifiedTextCheckerEnabled()) {
</span><del>- grammarSearchRange = spellingSearchRange->cloneRange(IGNORE_EXCEPTION);
</del><ins>+ grammarSearchRange = spellingSearchRange->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->cloneRange(IGNORE_EXCEPTION);
</del><ins>+ grammarSearchRange = spellingSearchRange->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->setEnd(chars.range()->startContainer(), chars.range()->startOffset(), IGNORE_EXCEPTION);
</del><ins>+ grammarSearchRange->setEnd(&chars.range()->startContainer(), chars.range()->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->startContainer();
- if (!editableNode || !editableNode->hasEditableStyle())
</del><ins>+ Node& editableNode = searchRange->startContainer();
+ if (!editableNode.hasEditableStyle())
</ins><span class="cx"> return;
</span><span class="cx">
</span><del>- if (!isSpellCheckingEnabledFor(editableNode))
</del><ins>+ if (!isSpellCheckingEnabledFor(&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->startContainer();
- if (!editableNode || !editableNode->hasEditableStyle())
</del><ins>+ Node& editableNode = spellingRange->startContainer();
+ if (!editableNode.hasEditableStyle())
</ins><span class="cx"> return;
</span><span class="cx">
</span><del>- if (!isSpellCheckingEnabledFor(editableNode))
</del><ins>+ if (!isSpellCheckingEnabledFor(&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& paragraph, PassRefPtr<Range> rangeToReplace, const String& replacement, int resultLocation, int resultLength)
</span><span class="cx"> {
</span><del>- ContainerNode* scope = downcast<ContainerNode>(highestAncestor(paragraph.paragraphRange()->startContainer()));
</del><ins>+ ContainerNode* scope = downcast<ContainerNode>(highestAncestor(&paragraph.paragraphRange()->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<Range> misspellingRange = paragraph.subrange(resultLocation, resultLength);
</span><span class="cx"> if (!m_alternativeTextController->isSpellingMarkerAllowed(misspellingRange))
</span><span class="cx"> continue;
</span><del>- misspellingRange->startContainer()->document().markers().addMarker(misspellingRange.get(), DocumentMarker::Spelling, replacement);
</del><ins>+ misspellingRange->startContainer().document().markers().addMarker(misspellingRange.get(), DocumentMarker::Spelling, replacement);
</ins><span class="cx"> } else if (shouldMarkGrammar && resultType == TextCheckingTypeGrammar && paragraph.checkingRangeCovers(resultLocation, resultLength)) {
</span><span class="cx"> ASSERT(resultLength > 0 && resultLocation >= 0);
</span><span class="cx"> const Vector<GrammarDetail>& details = results[i].details;
</span><span class="lines">@@ -2504,7 +2502,7 @@
</span><span class="cx"> ASSERT(detail.length > 0 && detail.location >= 0);
</span><span class="cx"> if (paragraph.checkingRangeCovers(resultLocation + detail.location, detail.length)) {
</span><span class="cx"> RefPtr<Range> badGrammarRange = paragraph.subrange(resultLocation + detail.location, detail.length);
</span><del>- badGrammarRange->startContainer()->document().markers().addMarker(badGrammarRange.get(), DocumentMarker::Grammar, detail.userDescription);
</del><ins>+ badGrammarRange->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 <= spellingRangeEndOffset && resultEndLocation >= 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<Range> changedRange = paragraph.subrange(paragraph.checkingStart(), replacedString.length());
</span><del>- changedRange->startContainer()->document().markers().addMarker(changedRange.get(), DocumentMarker::Replacement, String());
</del><ins>+ changedRange->startContainer().document().markers().addMarker(changedRange.get(), DocumentMarker::Replacement, String());
</ins><span class="cx"> m_alternativeTextController->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->startContainer());
- ASSERT(range->endContainer());
-
</del><span class="cx"> VisiblePosition startVisiblePosition(range->startPosition(), DOWNSTREAM);
</span><span class="cx">
</span><del>- if (range->collapsed(ASSERT_NO_EXCEPTION)) {
</del><ins>+ if (range->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->setEnd(startInReferenceRange ? referenceRange->endPosition() : referenceRange->startPosition());
</span><span class="cx"> }
</span><span class="cx">
</span><del>- RefPtr<Node> shadowTreeRoot = referenceRange && referenceRange->startContainer() ? referenceRange->startContainer()->nonBoundaryShadowTreeRootNode() : 0;
</del><ins>+ RefPtr<Node> shadowTreeRoot = referenceRange ? referenceRange->startContainer().nonBoundaryShadowTreeRootNode() : nullptr;
</ins><span class="cx"> if (shadowTreeRoot) {
</span><span class="cx"> if (forward)
</span><span class="cx"> searchRange->setEnd(shadowTreeRoot.get(), shadowTreeRoot->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->collapsed(ASSERT_NO_EXCEPTION) && shadowTreeRoot) {
</del><ins>+ if (resultRange->collapsed() && shadowTreeRoot) {
</ins><span class="cx"> searchRange = rangeOfContents(document());
</span><span class="cx"> if (forward)
</span><span class="cx"> searchRange->setStartAfter(shadowTreeRoot->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->collapsed(ASSERT_NO_EXCEPTION) && options & WrapAround) {
</del><ins>+ if (resultRange->collapsed() && options & 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->collapsed(ASSERT_NO_EXCEPTION) ? 0 : resultRange.release();
</del><ins>+ return resultRange->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->endContainer();
</del><ins>+ Node& originalEndContainer = searchRange->endContainer();
</ins><span class="cx"> int originalEndOffset = searchRange->endOffset();
</span><span class="cx">
</span><span class="cx"> unsigned matchCount = 0;
</span><span class="cx"> do {
</span><span class="cx"> RefPtr<Range> resultRange(findPlainText(*searchRange, target, options & ~Backwards));
</span><del>- if (resultRange->collapsed(IGNORE_EXCEPTION)) {
- if (!resultRange->startContainer()->isInShadowTree())
</del><ins>+ if (resultRange->collapsed()) {
+ if (!resultRange->startContainer().isInShadowTree())
</ins><span class="cx"> break;
</span><span class="cx">
</span><del>- searchRange->setStartAfter(resultRange->startContainer()->shadowHost(), IGNORE_EXCEPTION);
- searchRange->setEnd(originalEndContainer, originalEndOffset, IGNORE_EXCEPTION);
</del><ins>+ searchRange->setStartAfter(resultRange->startContainer().shadowHost(), IGNORE_EXCEPTION);
+ searchRange->setEnd(&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->setStart(resultRange->endContainer(IGNORE_EXCEPTION), resultRange->endOffset(IGNORE_EXCEPTION), IGNORE_EXCEPTION);
</del><ins>+ searchRange->setStart(&resultRange->endContainer(), resultRange->endOffset(), IGNORE_EXCEPTION);
</ins><span class="cx">
</span><span class="cx"> Node* shadowTreeRoot = searchRange->shadowRoot();
</span><del>- if (searchRange->collapsed(IGNORE_EXCEPTION) && shadowTreeRoot)
</del><ins>+ if (searchRange->collapsed() && shadowTreeRoot)
</ins><span class="cx"> searchRange->setEnd(shadowTreeRoot, shadowTreeRoot->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& range, const StringView& stringView, Vector<RefPtr<Range>>& 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->hasEditableStyle())
</del><ins>+ Node& 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<Range> newRange = selection.toNormalizedRange();
</span><span class="cx"> if (!newRange)
</span><span class="cx"> return false;
</span><del>- if (newRange->collapsed(IGNORE_EXCEPTION))
</del><ins>+ if (newRange->collapsed())
</ins><span class="cx"> return false;
</span><span class="cx"> RefPtr<Range> 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->compareBoundaryPoints(Range::START_TO_START, b, ASSERT_NO_EXCEPTION) <= 0 ? a : b;
</span><span class="cx"> Range* end = a->compareBoundaryPoints(Range::END_TO_END, b, ASSERT_NO_EXCEPTION) <= 0 ? b : a;
</span><span class="cx">
</span><del>- return Range::create(a->ownerDocument(), start->startContainer(), start->startOffset(), end->endContainer(), end->endOffset());
</del><ins>+ return Range::create(a->ownerDocument(), &start->startContainer(), start->startOffset(), &end->endContainer(), end->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->commonAncestorContainer(IGNORE_EXCEPTION);
</del><ins>+ Node* commonAncestor = range->commonAncestorContainer();
</ins><span class="cx"> while (commonAncestor && !isElementForFormatBlock(commonAncestor))
</span><span class="cx"> commonAncestor = commonAncestor->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->startContainer()->rootEditableElement();
</del><ins>+ Element* rootEditableElement = range->startContainer().rootEditableElement();
</ins><span class="cx"> if (!rootEditableElement || commonAncestor->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->startContainer() || !range->endContainer())
</del><ins>+ if (!range)
</ins><span class="cx"> return false;
</span><del>- ASSERT(&range->startContainer()->document() == &range->endContainer()->document());
</del><ins>+ ASSERT(&range->startContainer().document() == &range->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->startContainer() && range->endContainer() && 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->startOffset(ec);
- ASSERT(!ec);
</del><ins>+ int result = selection.start().deprecatedEditingOffset() - range->startOffset();
</ins><span class="cx"> if (result < 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->endContainer(ec);
- ASSERT(!ec);
- int endOffset = range->endOffset(ec);
- ASSERT(!ec);
- VisiblePosition pos(createLegacyEditingPosition(node, endOffset), VP_DEFAULT_AFFINITY);
</del><ins>+ Node& node = range->endContainer();
+ int endOffset = range->endOffset();
+ VisiblePosition pos(createLegacyEditingPosition(&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 (&text == m_range->endContainer())
</del><ins>+ if (&text == &m_range->endContainer())
</ins><span class="cx"> length = m_range->endOffset();
</span><del>- if (&text == m_range->startContainer()) {
</del><ins>+ if (&text == &m_range->startContainer()) {
</ins><span class="cx"> start = m_range->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->startContainer()->rootEditableElement())
</del><ins>+ , m_rootEditableElement(m_checkingRange->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->firstNode() || !range->firstNode()->renderer())
</span><span class="cx"> return false;
</span><del>- const Node* node = range->startContainer();
- if (is<Element>(node) && !downcast<Element>(*node).isSpellCheckingEnabled())
</del><ins>+ const Node& node = range->startContainer();
+ if (is<Element>(node) && !downcast<Element>(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<Range> rangeToBeCorrected, const String& correction)
</span><del>- : CompositeEditCommand(rangeToBeCorrected->startContainer()->document())
</del><ins>+ : CompositeEditCommand(rangeToBeCorrected->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<Range> expandToParagraphBoundary(PassRefPtr<Range> range)
</del><ins>+static Ref<Range> expandToParagraphBoundary(PassRefPtr<Range> range)
</ins><span class="cx"> {
</span><del>- RefPtr<Range> paragraphRange = range->cloneRange(IGNORE_EXCEPTION);
- setStart(paragraphRange.get(), startOfParagraph(range->startPosition()));
- setEnd(paragraphRange.get(), endOfParagraph(range->endPosition()));
</del><ins>+ Ref<Range> paragraphRange = range->cloneRange();
+ setStart(paragraphRange.ptr(), startOfParagraph(range->startPosition()));
+ setEnd(paragraphRange.ptr(), endOfParagraph(range->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& position, ExceptionCode& ec) const
</span><span class="cx"> {
</span><span class="cx"> ASSERT(m_checkingRange);
</span><del>- RefPtr<Range> range = offsetAsRange()->cloneRange(ASSERT_NO_EXCEPTION);
</del><ins>+ Ref<Range> range = offsetAsRange()->cloneRange();
</ins><span class="cx"> range->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()->startContainer()->document(), paragraphRange()->startPosition(), checkingRange()->startPosition());
</del><ins>+ m_offsetAsRange = Range::create(paragraphRange()->startContainer().document(), paragraphRange()->startPosition(), checkingRange()->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->startContainer()->document().markers().addMarker(misspellingRange.get(), DocumentMarker::Spelling);
</del><ins>+ misspellingRange->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<Range> paragraphRange = m_range->cloneRange(IGNORE_EXCEPTION);
- setStart(paragraphRange.get(), startOfParagraph(m_range->startPosition()));
- int totalRangeLength = TextIterator::rangeLength(paragraphRange.get());
- setEnd(paragraphRange.get(), endOfParagraph(m_range->startPosition()));
</del><ins>+ Ref<Range> paragraphRange = m_range->cloneRange();
+ setStart(paragraphRange.ptr(), startOfParagraph(m_range->startPosition()));
+ int totalRangeLength = TextIterator::rangeLength(paragraphRange.ptr());
+ setEnd(paragraphRange.ptr(), endOfParagraph(m_range->startPosition()));
</ins><span class="cx">
</span><del>- RefPtr<Range> offsetAsRange = Range::create(paragraphRange->startContainer()->document(), paragraphRange->startPosition(), m_range->startPosition());
- int rangeStartOffset = TextIterator::rangeLength(offsetAsRange.get());
</del><ins>+ Ref<Range> offsetAsRange = Range::create(paragraphRange->startContainer().document(), paragraphRange->startPosition(), m_range->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 < 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->startPosition(), m_range->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<Range> endOffsetAsRange = Range::create(paragraphRange->startContainer()->document(), paragraphRange->startPosition(), m_range->endPosition());
</del><ins>+ RefPtr<Range> endOffsetAsRange = Range::create(paragraphRange->startContainer().document(), paragraphRange->startPosition(), m_range->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 < currentEndOffset) {
</span><del>- String paragraphString = plainText(paragraphRange.get());
</del><ins>+ String paragraphString = plainText(paragraphRange.ptr());
</ins><span class="cx"> if (paragraphString.length() > 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() && (!checkGrammar || badGrammarPhrase.isEmpty() || spellingLocation <= grammarDetailLocation)) {
</span><span class="cx"> int spellingOffset = spellingLocation - currentStartOffset;
</span><span class="cx"> if (!firstIteration) {
</span><del>- RefPtr<Range> paragraphOffsetAsRange = Range::create(paragraphRange->startContainer()->document(), m_range->startPosition(), paragraphRange->startPosition());
</del><ins>+ RefPtr<Range> paragraphOffsetAsRange = Range::create(paragraphRange->startContainer().document(), m_range->startPosition(), paragraphRange->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 && !badGrammarPhrase.isEmpty()) {
</span><span class="cx"> int grammarPhraseOffset = grammarPhraseLocation - currentStartOffset;
</span><span class="cx"> if (!firstIteration) {
</span><del>- RefPtr<Range> paragraphOffsetAsRange = Range::create(paragraphRange->startContainer()->document(), m_range->startPosition(), paragraphRange->startPosition());
</del><ins>+ RefPtr<Range> paragraphOffsetAsRange = Range::create(paragraphRange->startContainer().document(), m_range->startPosition(), paragraphRange->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 >= totalRangeLength)
</span><span class="cx"> break;
</span><span class="cx"> VisiblePosition newParagraphStart = startOfNextParagraph(paragraphRange->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<Range> badGrammarRange = TextIterator::subrange(m_range.get(), badGrammarPhraseLocation - startOffset + detail->location, detail->length);
</span><del>- badGrammarRange->startContainer()->document().markers().addMarker(badGrammarRange.get(), DocumentMarker::Grammar, detail->userDescription);
</del><ins>+ badGrammarRange->startContainer().document().markers().addMarker(badGrammarRange.get(), DocumentMarker::Grammar, detail->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->collapsed(IGNORE_EXCEPTION))
</del><ins>+ if (!m_range || m_range->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->collapsed(IGNORE_EXCEPTION))
</del><ins>+ if (!m_client || !m_range || m_range->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->ownerDocument().updateLayoutIgnorePendingStylesheets();
</span><span class="cx">
</span><del>- m_startContainer = range->startContainer();
- if (!m_startContainer)
- return;
- ASSERT(range->endContainer());
</del><ins>+ m_startContainer = &range->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->boundaryPointsValid());
</span><span class="cx">
</span><span class="cx"> m_startOffset = range->startOffset();
</span><del>- m_endContainer = range->endContainer();
</del><ins>+ m_endContainer = &range->endContainer();
</ins><span class="cx"> m_endOffset = range->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<Range> textRange = range();
</span><span class="cx">
</span><del>- Node* node = textRange->startContainer();
- if (node->offsetInCharacters())
- return node;
</del><ins>+ Node& node = textRange->startContainer();
+ if (node.offsetInCharacters())
+ return &node;
</ins><span class="cx">
</span><del>- return node->traverseToChildAt(textRange->startOffset());
</del><ins>+ return node.traverseToChildAt(textRange->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 = &range.startContainer();
+ Node* endNode = &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() <= 1) {
</span><span class="cx"> ASSERT(m_runOffset == 0);
</span><span class="cx"> } else {
</span><del>- Node* n = range->startContainer();
- ASSERT(n == range->endContainer());
</del><ins>+ Node& node = range->startContainer();
+ ASSERT(&node == &range->endContainer());
</ins><span class="cx"> int offset = range->startOffset() + m_runOffset;
</span><del>- range->setStart(n, offset);
- range->setEnd(n, offset + 1);
</del><ins>+ range->setStart(&node, offset);
+ range->setEnd(&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<Range> end = it.range();
</span><span class="cx">
</span><del>- return Range::create(document,
- start->startContainer(), start->startOffset(),
- end->endContainer(), end->endOffset());
</del><ins>+ return Range::create(document, &start->startContainer(), start->startOffset(), &end->endContainer(), end->endOffset());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> BackwardsCharacterIterator::BackwardsCharacterIterator(const Range& range)
</span><span class="lines">@@ -1568,11 +1561,11 @@
</span><span class="cx"> if (m_underlyingIterator.text().length() <= 1)
</span><span class="cx"> ASSERT(m_runOffset == 0);
</span><span class="cx"> else {
</span><del>- Node* n = r->startContainer();
- ASSERT(n == r->endContainer());
</del><ins>+ Node& node = r->startContainer();
+ ASSERT(&node == &r->endContainer());
</ins><span class="cx"> int offset = r->endOffset() - m_runOffset;
</span><del>- r->setStart(n, offset - 1);
- r->setEnd(n, offset);
</del><ins>+ r->setStart(&node, offset - 1);
+ r->setEnd(&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 <http://bugs.webkit.org/show_bug.cgi?id=6289>.
</span><span class="cx"> if (!rangeLocation && !rangeLength && it.atEnd()) {
</span><del>- resultRange->setStart(textRunRange->startContainer(), 0);
- resultRange->setEnd(textRunRange->startContainer(), 0);
</del><ins>+ resultRange->setStart(&textRunRange->startContainer(), 0);
+ resultRange->setEnd(&textRunRange->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<Range> range = it.range();
</span><del>- textRunRange->setEnd(range->startContainer(), range->startOffset());
</del><ins>+ textRunRange->setEnd(&range->startContainer(), range->startOffset());
</ins><span class="cx"> } else {
</span><span class="cx"> Position runStart = textRunRange->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->startContainer()->isTextNode()) {
</del><ins>+ if (textRunRange->startContainer().isTextNode()) {
</ins><span class="cx"> int offset = rangeLocation - docTextPosition;
</span><del>- resultRange->setStart(textRunRange->startContainer(), offset + textRunRange->startOffset());
</del><ins>+ resultRange->setStart(&textRunRange->startContainer(), offset + textRunRange->startOffset());
</ins><span class="cx"> } else {
</span><span class="cx"> if (rangeLocation == docTextPosition)
</span><del>- resultRange->setStart(textRunRange->startContainer(), textRunRange->startOffset());
</del><ins>+ resultRange->setStart(&textRunRange->startContainer(), textRunRange->startOffset());
</ins><span class="cx"> else
</span><del>- resultRange->setStart(textRunRange->endContainer(), textRunRange->endOffset());
</del><ins>+ resultRange->setStart(&textRunRange->endContainer(), textRunRange->endOffset());
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (foundEnd) {
</span><del>- if (textRunRange->startContainer()->isTextNode()) {
</del><ins>+ if (textRunRange->startContainer().isTextNode()) {
</ins><span class="cx"> int offset = rangeEnd - docTextPosition;
</span><del>- resultRange->setEnd(textRunRange->startContainer(), offset + textRunRange->startOffset());
</del><ins>+ resultRange->setEnd(&textRunRange->startContainer(), offset + textRunRange->startOffset());
</ins><span class="cx"> } else {
</span><span class="cx"> if (rangeEnd == docTextPosition)
</span><del>- resultRange->setEnd(textRunRange->startContainer(), textRunRange->startOffset());
</del><ins>+ resultRange->setEnd(&textRunRange->startContainer(), textRunRange->startOffset());
</ins><span class="cx"> else
</span><del>- resultRange->setEnd(textRunRange->endContainer(), textRunRange->endOffset());
</del><ins>+ resultRange->setEnd(&textRunRange->endContainer(), textRunRange->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 && rangeEnd > docTextPosition) // rangeEnd is out of bounds
</span><del>- resultRange->setEnd(textRunRange->endContainer(), textRunRange->endOffset());
</del><ins>+ resultRange->setEnd(&textRunRange->endContainer(), textRunRange->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->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->startContainer() != scope && !range->startContainer()->isDescendantOf(scope))
</del><ins>+ if (&range->startContainer() != scope && !range->startContainer().isDescendantOf(scope))
</ins><span class="cx"> return false;
</span><del>- if (range->endContainer() != scope && !range->endContainer()->isDescendantOf(scope))
</del><ins>+ if (&range->endContainer() != scope && !range->endContainer().isDescendantOf(scope))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><del>- Ref<Range> testRange = Range::create(scope->document(), scope, 0, range->startContainer(), range->startOffset());
- ASSERT(testRange->startContainer() == scope);
</del><ins>+ Ref<Range> testRange = Range::create(scope->document(), scope, 0, &range->startContainer(), range->startOffset());
+ ASSERT(&testRange->startContainer() == scope);
</ins><span class="cx"> location = TextIterator::rangeLength(testRange.ptr());
</span><span class="cx">
</span><del>- testRange->setEnd(range->endContainer(), range->endOffset(), IGNORE_EXCEPTION);
- ASSERT(testRange->startContainer() == scope);
</del><ins>+ testRange->setEnd(&range->endContainer(), range->endOffset(), IGNORE_EXCEPTION);
+ ASSERT(&testRange->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<Range> collapsedToBoundary(const Range& range, bool forward)
</span><span class="cx"> {
</span><del>- Ref<Range> result = range.cloneRange(ASSERT_NO_EXCEPTION).releaseNonNull();
- result->collapse(!forward, ASSERT_NO_EXCEPTION);
</del><ins>+ Ref<Range> result = range.cloneRange();
+ result->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<Range> beforeStartRange = range.ownerDocument().createRange();
</span><del>- beforeStartRange->setEnd(range.startContainer(), range.startOffset());
</del><ins>+ beforeStartRange->setEnd(&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->startPosition() : pos, DOWNSTREAM);
</span><span class="cx">
</span><del>- Node* node = it.atEnd() ? searchRange->startContainer() : it.range()->startContainer();
- if ((node->isTextNode() && static_cast<int>(next) <= node->maxCharacterOffset()) || (node->renderer() && node->renderer()->isBR() && !next))
</del><ins>+ Node& node = it.atEnd() ? searchRange->startContainer() : it.range()->startContainer();
+ if ((node.isTextNode() && static_cast<int>(next) <= node.maxCharacterOffset()) || (node.renderer() && node.renderer()->isBR() && !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(&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 (&characterData == m_range->startContainer()) {
</del><ins>+ if (&characterData == &m_range->startContainer()) {
</ins><span class="cx"> startOffset = m_range->startOffset();
</span><span class="cx"> _domRangeStartIndex = [_attrStr length];
</span><span class="cx"> _flags.reachedStart = YES;
</span><span class="cx"> }
</span><del>- if (&characterData == m_range->endContainer()) {
</del><ins>+ if (&characterData == &m_range->endContainer()) {
</ins><span class="cx"> endOffset = m_range->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 (&node == m_range->startContainer()) {
</del><ins>+ if (&node == &m_range->startContainer()) {
</ins><span class="cx"> startOffset = m_range->startOffset();
</span><span class="cx"> isStart = true;
</span><span class="cx"> _flags.reachedStart = YES;
</span><span class="cx"> }
</span><del>- if (&node == m_range->endContainer()) {
</del><ins>+ if (&node == &m_range->endContainer()) {
</ins><span class="cx"> endOffset = m_range->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 (&element == m_range->startContainer()) {
</del><ins>+ if (&element == &m_range->startContainer()) {
</ins><span class="cx"> startOffset = m_range->startOffset();
</span><span class="cx"> isStart = true;
</span><span class="cx"> _flags.reachedStart = YES;
</span><span class="cx"> }
</span><del>- if (&element == m_range->endContainer()) {
</del><ins>+ if (&element == &m_range->endContainer()) {
</ins><span class="cx"> endOffset = m_range->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& 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 = &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(&range); !it.atEnd(); it.advance()) {
</span><span class="cx"> RefPtr<Range> currentTextRange = it.range();
</span><del>- Node* startContainer = currentTextRange->startContainer();
- Node* endContainer = currentTextRange->endContainer();
</del><ins>+ Node& startContainer = currentTextRange->startContainer();
+ Node& endContainer = currentTextRange->endContainer();
</ins><span class="cx"> int startOffset = currentTextRange->startOffset();
</span><span class="cx"> int endOffset = currentTextRange->endOffset();
</span><span class="cx">
</span><span class="cx"> if (includeOrSkipImages == IncludeImagesInAttributedString::Yes) {
</span><del>- if (startContainer == endContainer && (startOffset == endOffset - 1)) {
- Node* node = startContainer->traverseToChildAt(startOffset);
</del><ins>+ if (&startContainer == &endContainer && (startOffset == endOffset - 1)) {
+ Node* node = startContainer.traverseToChildAt(startOffset);
</ins><span class="cx"> if (is<HTMLImageElement>(node)) {
</span><span class="cx"> NSFileWrapper* fileWrapper = fileWrapperForElement(downcast<HTMLImageElement>(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->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<Range> range = selectedRange();
</span><del>- Node* commonAncestor = range->commonAncestorContainer(IGNORE_EXCEPTION);
</del><ins>+ Node* commonAncestor = range->commonAncestorContainer();
</ins><span class="cx"> ASSERT(commonAncestor);
</span><span class="cx"> auto* enclosingAnchor = enclosingElementWithTag(firstPositionInNode(commonAncestor), HTMLNames::aTag);
</span><span class="cx"> if (enclosingAnchor && comparePositions(firstPositionInOrBeforeNode(range->startPosition().anchorNode()), range->startPosition()) >= 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 && &node == range->startContainer())
</del><ins>+ if (range && &node == &range->startContainer())
</ins><span class="cx"> startOffset = range->startOffset();
</span><del>- if (range && &node == range->endContainer())
</del><ins>+ if (range && &node == &range->endContainer())
</ins><span class="cx"> endOffset = range->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 (&node == range->endContainer())
</del><ins>+ if (&node == &range->endContainer())
</ins><span class="cx"> nodeValue.truncate(range->endOffset());
</span><del>- if (&node == range->startContainer())
</del><ins>+ if (&node == &range->startContainer())
</ins><span class="cx"> nodeValue.remove(0, range->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->commonAncestorContainer(IGNORE_EXCEPTION);
</del><ins>+ Node* commonAncestor = range->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("<br class=\"" AppleInterchangeNewline "\">")));
</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& range)
</span><span class="cx"> {
</span><del>- Node* node = range.startContainer();
- if (!node)
- return String();
-
</del><span class="cx"> // FIXME: This is always "for interchange". Is that right?
</span><del>- return documentTypeString(node->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& url, const String& 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->startContainer();
- if (!startContainer)
- return nullptr;
</del><span class="cx">
</span><del>- Document& document = startContainer->document();
</del><ins>+ Document& document = range->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<Range> selectedRange = frame->selection().toNormalizedRange();
</span><del>- if (!selectedRange || selectedRange->collapsed(IGNORE_EXCEPTION)) {
</del><ins>+ if (!selectedRange || selectedRange->collapsed()) {
</ins><span class="cx"> Document& document = m_context.hitTestResult().innerNonSharedNode()->document();
</span><span class="cx"> selectedRange = document.createRange();
</span><span class="cx"> selectedRange->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->deleteContents(ASSERT_NO_EXCEPTION);
</span><span class="cx">
</span><del>- setBaseAndExtent(selectedRange->startContainer(ASSERT_NO_EXCEPTION), selectedRange->startOffset(), selectedRange->startContainer(), selectedRange->startOffset(), ASSERT_NO_EXCEPTION);
</del><ins>+ setBaseAndExtent(&selectedRange->startContainer(), selectedRange->startOffset(), &selectedRange->startContainer(), selectedRange->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->computeNodeIndex();
</span><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- bool nodeFullySelected = Range::compareBoundaryPoints(parentNode, nodeIndex, selectedRange->startContainer(), selectedRange->startOffset(), ec) >= 0 && !ec
- && Range::compareBoundaryPoints(parentNode, nodeIndex + 1, selectedRange->endContainer(), selectedRange->endOffset(), ec) <= 0 && !ec;
</del><ins>+ bool nodeFullySelected = Range::compareBoundaryPoints(parentNode, nodeIndex, &selectedRange->startContainer(), selectedRange->startOffset(), ec) >= 0 && !ec
+ && Range::compareBoundaryPoints(parentNode, nodeIndex + 1, &selectedRange->endContainer(), selectedRange->endOffset(), ec) <= 0 && !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->endContainer(), selectedRange->endOffset(), ec) > 0 && !ec)
- || (Range::compareBoundaryPoints(parentNode, nodeIndex + 1, selectedRange->startContainer(), selectedRange->startOffset(), ec) < 0 && !ec);
</del><ins>+ bool nodeFullyUnselected = (Range::compareBoundaryPoints(parentNode, nodeIndex, &selectedRange->endContainer(), selectedRange->endOffset(), ec) > 0 && !ec)
+ || (Range::compareBoundaryPoints(parentNode, nodeIndex + 1, &selectedRange->startContainer(), selectedRange->startOffset(), ec) < 0 && !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<TextIndicator> TextIndicator::createWithRange(const Range& range, TextIndicatorOptions options, TextIndicatorPresentationTransition presentationTransition, FloatSize margin)
</span><span class="cx"> {
</span><del>- Frame* frame = range.startContainer()->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->collapsed(exception))
</del><ins>+ if (searchRange->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->collapsed(exception))
</del><ins>+ if (searchRange->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<char> data;
</span><span class="cx"> markupToCFHTML(createMarkup(selectedRange, 0, AnnotateForInterchange),
</span><del>- selectedRange.startContainer()->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 && FAILED(m_writableDataObject->SetData(htmlFormat(), &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<char> data;
</span><span class="cx"> markupToCFHTML(createMarkup(selectedRange, 0, AnnotateForInterchange),
</span><del>- selectedRange.startContainer()->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->intersectsNode(node, IGNORE_EXCEPTION))
</span><span class="cx"> range->setEndBefore(node, IGNORE_EXCEPTION);
</span><del>- rangeObjects.append(range->cloneRange(IGNORE_EXCEPTION));
</del><ins>+ rangeObjects.append(range->cloneRange());
</ins><span class="cx"> range = Range::create(contentElement->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->startContainer())
</del><ins>+ if (!range)
</ins><span class="cx"> return FloatRect();
</span><span class="cx">
</span><span class="cx"> range->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 <cdumez@apple.com>
+
+ 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 <mmaxfield@apple.com>
</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()->renderer();
</del><ins>+ RenderObject* renderer = range.startContainer().renderer();
</ins><span class="cx"> const RenderStyle& style = renderer->style();
</span><span class="cx">
</span><span class="cx"> Vector<FloatQuad> 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 <cdumez@apple.com>
+
+ 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 <sungmann.cho@navercorp.com>
</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->startContainer());
</del><ins>+ *node = DOMNode::createInstance(&m_range->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->endContainer());
</del><ins>+ *node = DOMNode::createInstance(&m_range->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->collapsed(ec);
</del><ins>+ *result = m_range->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->toString(ec)).release();
</del><ins>+ *str = BString(m_range->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<Range> range = targetFrame->selection().selection().toNormalizedRange()) {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- RefPtr<Range> tempRange = range->cloneRange(ec);
</del><ins>+ RefPtr<Range> tempRange = range->cloneRange();
</ins><span class="cx"> caret = targetFrame->editor().firstRectForRange(tempRange.get());
</span><span class="cx"> }
</span><span class="cx"> caret = targetFrame->view()->contentsToWindow(caret);
</span><span class="lines">@@ -6031,8 +6031,8 @@
</span><span class="cx"> IntRect caret;
</span><span class="cx"> if (RefPtr<Range> range = targetFrame->editor().hasComposition() ? targetFrame->editor().compositionRange() : targetFrame->selection().selection().toNormalizedRange()) {
</span><span class="cx"> ExceptionCode ec = 0;
</span><del>- RefPtr<Range> tempRange = range->cloneRange(ec);
- tempRange->setStart(tempRange->startContainer(ec), tempRange->startOffset(ec) + charPos->dwCharPos, ec);
</del><ins>+ RefPtr<Range> tempRange = range->cloneRange();
+ tempRange->setStart(&tempRange->startContainer(), tempRange->startOffset() + charPos->dwCharPos, ec);
</ins><span class="cx"> caret = targetFrame->editor().firstRectForRange(tempRange.get());
</span><span class="cx"> }
</span><span class="cx"> caret = targetFrame->view()->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->startContainer());
- ASSERT(range->endContainer());
</del><span class="cx">
</span><span class="cx"> IntRect rect = frame.editor().firstRectForRange(range.get());
</span><span class="cx"> resultIntRect = frame.view()->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 <cdumez@apple.com>
+
+ 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 <timothy_horton@apple.com>
</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->collapse(toStart, ec);
</del><ins>+ _impl->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->startContainer(ec));
</del><ins>+ return WebKit::toWKDOMNode(&_impl->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->startOffset(ec);
</del><ins>+ return _impl->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->endContainer(ec));
</del><ins>+ return WebKit::toWKDOMNode(&_impl->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->endOffset(ec);
</del><ins>+ return _impl->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->collapsed(ec);
</del><ins>+ return _impl->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 >= m_findMatches.size())
</span><span class="cx"> return;
</span><del>- Frame* frame = m_findMatches[matchIndex]->startContainer()->document().frame();
</del><ins>+ Frame* frame = m_findMatches[matchIndex]->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 >= m_findMatches.size())
</span><span class="cx"> return;
</span><del>- Frame* frame = m_findMatches[matchIndex]->startContainer()->document().frame();
</del><ins>+ Frame* frame = m_findMatches[matchIndex]->startContainer().document().frame();
</ins><span class="cx"> if (!frame)
</span><span class="cx"> return;
</span><span class="cx"> frame->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->startContainer());
- ASSERT(range->endContainer());
-
</del><span class="cx"> result = frame.view()->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& 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<Range> range = editor.compositionRange()) {
- Node* node = range->startContainer();
- if (!node || !node->isContentEditable())
- return 0;
</del><ins>+ if (auto range = editor.compositionRange()) {
+ if (!range->startContainer().isContentEditable())
+ return nullptr;
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx"> return &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& 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<Range> range = editor.compositionRange()) {
- Node* node = range->startContainer();
- if (!node || !node->isContentEditable())
- return 0;
</del><ins>+ if (auto range = editor.compositionRange()) {
+ if (!range->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->isTextNode()) {
</span><span class="cx"> range = enclosingTextUnitOfGranularity(position, ParagraphGranularity, DirectionForward);
</span><del>- if (!range || range->collapsed(ASSERT_NO_EXCEPTION))
</del><ins>+ if (!range || range->collapsed())
</ins><span class="cx"> range = Range::create(currentNode->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() > m_blockSelectionDesiredSize.width() && boundingRectInScrollViewCoordinates.height() > m_blockSelectionDesiredSize.height())
</span><span class="cx"> return wordRangeFromPosition(position);
</span><span class="cx">
</span><del>- currentNode = range->commonAncestorContainer(ASSERT_NO_EXCEPTION);
</del><ins>+ currentNode = range->commonAncestorContainer();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (!currentNode->isElementNode())
</span><span class="lines">@@ -909,7 +909,7 @@
</span><span class="cx">
</span><span class="cx"> if (renderer->childrenInline() && (is<RenderBlock>(*renderer) && !downcast<RenderBlock>(*renderer).inlineElementContinuation()) && !renderer->isTable()) {
</span><span class="cx"> range = enclosingTextUnitOfGranularity(position, WordGranularity, DirectionBackward);
</span><del>- if (range && !range->collapsed(ASSERT_NO_EXCEPTION))
</del><ins>+ if (range && !range->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->document());
</span><span class="cx"> range->selectNodeContents(bestChoice, ASSERT_NO_EXCEPTION);
</span><del>- return range->collapsed(ASSERT_NO_EXCEPTION) ? nullptr : range;
</del><ins>+ return range->collapsed() ? nullptr : range;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> PassRefPtr<Range> WebPage::rangeForBlockAtPoint(const IntPoint& point)
</span><span class="lines">@@ -936,7 +936,7 @@
</span><span class="cx">
</span><span class="cx"> if (currentNode->isTextNode()) {
</span><span class="cx"> range = enclosingTextUnitOfGranularity(m_page->focusController().focusedOrMainFrame().visiblePositionForPoint(point), ParagraphGranularity, DirectionForward);
</span><del>- if (range && !range->collapsed(ASSERT_NO_EXCEPTION))
</del><ins>+ if (range && !range->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->commonAncestorContainer(ASSERT_NO_EXCEPTION)->ownerDocument() == second->commonAncestorContainer(ASSERT_NO_EXCEPTION)->ownerDocument()
</del><ins>+ return (first->commonAncestorContainer()->ownerDocument() == second->commonAncestorContainer()->ownerDocument()
</ins><span class="cx"> && first->compareBoundaryPoints(Range::START_TO_START, second, ASSERT_NO_EXCEPTION) <= 0
</span><span class="cx"> && first->compareBoundaryPoints(Range::END_TO_END, second, ASSERT_NO_EXCEPTION) >= 0);
</span><span class="cx"> }
</span><span class="lines">@@ -1217,7 +1217,7 @@
</span><span class="cx"> Range* start = rangeA->compareBoundaryPoints(Range::START_TO_START, rangeB, ASSERT_NO_EXCEPTION) <= 0 ? rangeA : rangeB;
</span><span class="cx"> Range* end = rangeA->compareBoundaryPoints(Range::END_TO_END, rangeB, ASSERT_NO_EXCEPTION) <= 0 ? rangeB : rangeA;
</span><span class="cx">
</span><del>- return Range::create(rangeA->ownerDocument(), start->startContainer(), start->startOffset(), end->endContainer(), end->endOffset());
</del><ins>+ return Range::create(rangeA->ownerDocument(), &start->startContainer(), start->startOffset(), &end->endContainer(), end->endOffset());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static inline IntPoint computeEdgeCenter(const IntRect& 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->startContainer()->document(), newRange->endPosition(), currentRange->endPosition());
</del><ins>+ newRange = Range::create(newRange->startContainer().document(), newRange->endPosition(), currentRange->endPosition());
</ins><span class="cx"> else
</span><del>- newRange = Range::create(newRange->startContainer()->document(), currentRange->startPosition(), newRange->startPosition());
</del><ins>+ newRange = Range::create(newRange->startContainer().document(), currentRange->startPosition(), newRange->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->commonAncestorContainer(ASSERT_NO_EXCEPTION);
</del><ins>+ Node* node = bestRange->commonAncestorContainer();
</ins><span class="cx"> if (!node->isElementNode())
</span><span class="cx"> node = node->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<Range> range = rangeFromEditingRange(frame, editingRange);
</span><span class="cx"> if (!range)
</span><span class="cx"> return;
</span><del>-
- ASSERT(range->startContainer());
- ASSERT(range->endContainer());
</del><span class="cx">
</span><span class="cx"> IntRect rect = frame.editor().firstRectForRange(range.get());
</span><span class="cx"> resultRect = frame.view()->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()->renderer();
</del><ins>+ RenderObject* renderer = range.startContainer().renderer();
</ins><span class="cx"> const RenderStyle& style = renderer->style();
</span><span class="cx">
</span><span class="cx"> Vector<FloatQuad> quads;
</span></span></pre>
</div>
</div>
</body>
</html>