The declaration of WebCore::Range::setStart and WebCore::Range::setEnd are: void setStart(PassRefPtr<Node> container, int offset, ExceptionCode& = ASSERT_NO_EXCEPTION); void setEnd(PassRefPtr<Node> container, int offset, ExceptionCode& = ASSERT_NO_EXCEPTION); They assert that the exception code parameter should not be bypassed, but in the WebCore::Range::Range(), it calls them without the ExceptionCode parameter, that will cause an assertion failure. The code is at Source/WebCore/dom/Range.cpp:94 setStart(startContainer, startOffset); setEnd(endContainer, endOffset);
Created attachment 126225 [details] Patch
Comment on attachment 126225 [details] Patch This change doesn't make sense to me. The whole reason for having a default argument is to not pass an argument explicitly. Why is passing it explicitly needed in this particular case? Bug description says that an assertion is triggered, but ChangeLog says that no logic is changed. Does this fix an assertion failure or not? If there is an assertion sometimes, what test case triggers it?
Sorry, I misunderstood the macro ASSERT_NO_EXCEPTION. So close this bug.