<!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>[174225] trunk/Source</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/174225">174225</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2014-10-02 12:39:41 -0700 (Thu, 02 Oct 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>Have is<>(T*) function do a null check on the pointer argument
https://bugs.webkit.org/show_bug.cgi?id=137333
Reviewed by Gavin Barraclough.
Have is<>(T*) function do a null check on the argument instead of a
simple assertion. This makes sense for 2 reasons:
1. It is more consistent with downcast<>(T*), which will succeed even
if the argument is a nullptr.
2. It simplifies the code a bit as it gets rid of a lot of explicit
null checks.
Source/WebCore:
No new tests, no behavior change.
* Modules/indexeddb/IDBFactory.cpp:
* Modules/webaudio/OfflineAudioContext.cpp:
(WebCore::OfflineAudioContext::create):
* Modules/websockets/ThreadableWebSocketChannel.cpp:
(WebCore::ThreadableWebSocketChannel::create):
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::clientHandshakeMessage):
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::focusedUIElementForPage):
(WebCore::createFromRenderer):
(WebCore::AXObjectCache::getOrCreate):
(WebCore::AXObjectCache::handleLiveRegionCreated):
(WebCore::AXObjectCache::handleAttributeChanged):
(WebCore::AXObjectCache::labelChanged):
(WebCore::AXObjectCache::rootAXEditableElement):
(WebCore::isNodeAriaVisible):
* accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::isEnabled):
(WebCore::AccessibilityListBoxOption::isSelected):
(WebCore::AccessibilityListBoxOption::canSetSelectedAttribute):
(WebCore::AccessibilityListBoxOption::stringValue):
(WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
* accessibility/AccessibilityMediaControls.cpp:
(WebCore::AccessibilityMediaTimeline::valueDescription):
* accessibility/AccessibilityMenuListPopup.cpp:
(WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::canvasHasFallbackContent):
(WebCore::AccessibilityNodeObject::isNativeTextControl):
(WebCore::AccessibilityNodeObject::isNativeImage):
(WebCore::AccessibilityNodeObject::isInputImage):
(WebCore::AccessibilityNodeObject::isEnabled):
(WebCore::AccessibilityNodeObject::isPressed):
(WebCore::AccessibilityNodeObject::isHovered):
(WebCore::AccessibilityNodeObject::isReadOnly):
(WebCore::AccessibilityNodeObject::isRequired):
(WebCore::AccessibilityNodeObject::valueForRange):
(WebCore::AccessibilityNodeObject::maxValueForRange):
(WebCore::AccessibilityNodeObject::minValueForRange):
(WebCore::AccessibilityNodeObject::isControl):
(WebCore::AccessibilityNodeObject::anchorElement):
(WebCore::isNodeActionElement):
(WebCore::AccessibilityNodeObject::mouseButtonListener):
(WebCore::AccessibilityNodeObject::labelForElement):
(WebCore::AccessibilityNodeObject::titleElementText):
(WebCore::AccessibilityNodeObject::alternativeText):
(WebCore::AccessibilityNodeObject::visibleText):
(WebCore::AccessibilityNodeObject::accessibilityDescription):
(WebCore::AccessibilityNodeObject::helpText):
(WebCore::AccessibilityNodeObject::hierarchicalLevel):
(WebCore::AccessibilityNodeObject::textUnderElement):
(WebCore::AccessibilityNodeObject::title):
(WebCore::AccessibilityNodeObject::colorValue):
(WebCore::accessibleNameForNode):
(WebCore::AccessibilityNodeObject::canSetFocusAttribute):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::press):
(WebCore::AccessibilityObject::hasTagName):
(WebCore::AccessibilityObject::hasAttribute):
(WebCore::AccessibilityObject::element):
(WebCore::AccessibilityObject::classList):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isFileUploadButton):
(WebCore::AccessibilityRenderObject::anchorElement):
(WebCore::AccessibilityRenderObject::helpText):
(WebCore::AccessibilityRenderObject::labelElementContainer):
(WebCore::AccessibilityRenderObject::internalLinkElement):
(WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
(WebCore::AccessibilityRenderObject::titleUIElement):
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::accessKey):
(WebCore::AccessibilityRenderObject::url):
(WebCore::AccessibilityRenderObject::setElementAttributeValue):
(WebCore::AccessibilityRenderObject::setFocused):
(WebCore::AccessibilityRenderObject::setValue):
(WebCore::AccessibilityRenderObject::getDocumentLinks):
(WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
(WebCore::AccessibilityRenderObject::accessibilityHitTest):
(WebCore::AccessibilityRenderObject::correspondingLabelForControlElement):
(WebCore::AccessibilityRenderObject::renderObjectIsObservable):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
(WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
(WebCore::AccessibilityRenderObject::addTextFieldChildren):
(WebCore::AccessibilityRenderObject::remoteSVGRootElement):
(WebCore::AccessibilityRenderObject::setAccessibleName):
(WebCore::AccessibilityRenderObject::stringValueForMSAA):
(WebCore::AccessibilityRenderObject::isLinked):
(WebCore::AccessibilityRenderObject::stringRoleForMSAA):
(WebCore::AccessibilityRenderObject::isMathElement):
* accessibility/AccessibilitySearchFieldButtons.cpp:
(WebCore::AccessibilitySearchFieldCancelButton::press):
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::tableElement):
(WebCore::AccessibilityTable::isDataTable):
(WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
(WebCore::AccessibilityTable::title):
* accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::notifyChildrenSelectionChange):
* accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
(webkitAccessibleTableGetCaption):
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetName):
(webkitAccessibleGetDescription):
(webkitAccessibleGetAttributes):
* bindings/gobject/WebKitDOMPrivate.cpp:
(WebKit::wrap):
* bindings/js/JSAudioContextCustom.cpp:
(WebCore::constructJSAudioContext):
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::toJSDOMGlobalObject):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::namedItemGetter):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
* bindings/js/JSElementCustom.cpp:
(WebCore::toJSNewlyCreated):
* bindings/js/JSErrorHandler.cpp:
(WebCore::JSErrorHandler::handleEvent):
* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::nameGetter):
* bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::initializeJSFunction):
* bindings/js/JSNodeCustom.cpp:
(WebCore::isReachableFromDOM):
(WebCore::createWrapperInline):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::execute):
* bindings/js/ScriptState.cpp:
(WebCore::frameFromExecState):
* bindings/objc/DOM.mm:
(kitClass):
* css/CSSCursorImageValue.cpp:
(WebCore::resourceReferencedByCursorElement):
* css/CSSStyleSheet.cpp:
(WebCore::isAcceptableCSSStyleSheetParent):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* css/SelectorCheckerTestFunctions.h:
(WebCore::isAutofilled):
(WebCore::isDisabled):
(WebCore::isEnabled):
(WebCore::isChecked):
(WebCore::matchesLangPseudoClass):
(WebCore::matchesFutureCuePseudoClass):
(WebCore::matchesPastCuePseudoClass):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::State::initElement):
(WebCore::StyleResolver::locateCousinList):
(WebCore::elementHasDirectionAuto):
(WebCore::StyleResolver::canShareStyleWithElement):
(WebCore::StyleResolver::findSiblingForStyleSharing):
(WebCore::StyleResolver::adjustRenderStyle):
(WebCore::StyleResolver::useSVGZoomRulesForLength):
* css/StyleSheetList.cpp:
(WebCore::StyleSheetList::getNamedItem):
* dom/Attr.cpp:
(WebCore::Attr::style):
* dom/CharacterData.cpp:
(WebCore::CharacterData::parserAppendData):
(WebCore::CharacterData::setDataAndUpdate):
* dom/ContainerNode.cpp:
(WebCore::checkAcceptChild):
(WebCore::ContainerNode::notifyChildRemoved):
* dom/ContainerNodeAlgorithms.cpp:
(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
* dom/CurrentScriptIncrementer.h:
(WebCore::CurrentScriptIncrementer::CurrentScriptIncrementer):
* dom/DataTransfer.cpp:
(WebCore::DataTransfer::setDragImage):
* dom/Document.cpp:
(WebCore::Document::elementFromPoint):
(WebCore::Document::setTitle):
(WebCore::Document::iconURLs):
(WebCore::eventTargetElementForDocument):
(WebCore::Document::updateHoverActiveState):
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
* dom/Element.cpp:
(WebCore::Element::computeInheritedLanguage):
* dom/Element.h:
(WebCore::Node::parentElement):
* dom/ElementTraversal.h:
(WebCore::Traversal<Element>::nextTemplate):
(WebCore::ElementTraversal::previousIncludingPseudo):
(WebCore::ElementTraversal::nextIncludingPseudo):
(WebCore::ElementTraversal::nextIncludingPseudoSkippingChildren):
(WebCore::ElementTraversal::pseudoAwarePreviousSibling):
* dom/EventDispatcher.cpp:
(WebCore::WindowEventContext::WindowEventContext):
(WebCore::EventDispatcher::dispatchEvent):
(WebCore::nodeOrHostIfPseudoElement):
(WebCore::EventPath::EventPath):
* dom/EventTarget.cpp:
(WebCore::EventTarget::fireEventListeners):
* dom/KeyboardEvent.cpp:
(WebCore::findKeyboardEvent):
* dom/LiveNodeList.cpp:
(WebCore::LiveNodeList::namedItem):
* dom/MessagePort.cpp:
(WebCore::MessagePort::dispatchMessages):
* dom/MouseEvent.cpp:
(WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::setNamedItem):
* dom/Node.cpp:
(WebCore::Node::dumpStatistics):
(WebCore::Node::pseudoAwarePreviousSibling):
(WebCore::Node::pseudoAwareNextSibling):
(WebCore::Node::computedStyle):
(WebCore::Node::parentOrShadowHostElement):
(WebCore::Node::rootEditableElement):
(WebCore::Node::ancestorElement):
(WebCore::Node::compareDocumentPosition):
(WebCore::appendAttributeDesc):
(WebCore::Node::showNodePathForThis):
(WebCore::Node::enclosingLinkEventParentOrSelf):
(WebCore::Node::dispatchEvent):
(WebCore::Node::defaultEventHandler):
* dom/NodeRenderingTraversal.cpp:
(WebCore::NodeRenderingTraversal::nodeCanBeDistributed):
(WebCore::NodeRenderingTraversal::traverseParent):
* dom/NodeTraversal.cpp:
(WebCore::NodeTraversal::previousIncludingPseudo):
(WebCore::NodeTraversal::nextIncludingPseudo):
(WebCore::NodeTraversal::nextIncludingPseudoSkippingChildren):
* dom/Position.cpp:
(WebCore::Position::element):
(WebCore::endsOfNodeAreVisuallyDistinctPositions):
(WebCore::Position::isRenderedCharacter):
(WebCore::Position::leadingWhitespacePosition):
* dom/Range.cpp:
(WebCore::Range::insertNode):
(WebCore::Range::getBorderAndTextQuads):
* dom/ScriptElement.cpp:
(WebCore::toScriptElementIfPossible):
* dom/ShadowRoot.h:
(WebCore::Node::parentOrShadowHostNode):
* dom/Text.cpp:
(WebCore::earliestLogicallyAdjacentTextNode):
(WebCore::latestLogicallyAdjacentTextNode):
(WebCore::isSVGShadowText):
* dom/TextNodeTraversal.cpp:
(WebCore::TextNodeTraversal::contentsAsString):
* dom/TextNodeTraversal.h:
(WebCore::TextNodeTraversal::firstTextChildTemplate):
(WebCore::TextNodeTraversal::firstTextWithinTemplate):
(WebCore::TextNodeTraversal::traverseNextTextTemplate):
(WebCore::TextNodeTraversal::nextSibling):
* dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveTreeToNewScope):
(WebCore::TreeScopeAdopter::moveNodeToNewDocument):
* editing/ApplyBlockElementCommand.cpp:
(WebCore::isNewLineAtPosition):
(WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded):
* editing/ApplyStyleCommand.cpp:
(WebCore::isLegacyAppleStyleSpan):
(WebCore::isStyleSpanOrSpanWithOnlyStyleAttribute):
(WebCore::isSpanWithoutAttributesOrUnstyledStyleSpan):
(WebCore::isEmptyFontTag):
(WebCore::ApplyStyleCommand::applyBlockStyle):
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
(WebCore::dummySpanAncestorForNode):
(WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
(WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
(WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle):
(WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
(WebCore::ApplyStyleCommand::splitTextAtEnd):
(WebCore::ApplyStyleCommand::splitTextElementAtEnd):
(WebCore::ApplyStyleCommand::shouldSplitTextElement):
(WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
(WebCore::ApplyStyleCommand::applyInlineStyleChange):
(WebCore::ApplyStyleCommand::joinChildTextNodes):
* editing/BreakBlockquoteCommand.cpp:
(WebCore::BreakBlockquoteCommand::doApply):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::isRemovableBlock):
(WebCore::CompositeEditCommand::insertNodeAt):
(WebCore::CompositeEditCommand::canRebalance):
(WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
(WebCore::CompositeEditCommand::deleteInsignificantText):
(WebCore::CompositeEditCommand::removePlaceholderAt):
(WebCore::CompositeEditCommand::cleanupAfterDeletion):
(WebCore::CompositeEditCommand::moveParagraphs):
* editing/DeleteButtonController.cpp:
(WebCore::enclosingDeletableElement):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
(WebCore::DeleteSelectionCommand::fixupWhitespace):
(WebCore::DeleteSelectionCommand::doApply):
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::wrappingStyleForSerialization):
* editing/Editor.cpp:
(WebCore::imageElementFromImageDocument):
(WebCore::Editor::shouldInsertFragment):
(WebCore::Editor::setBaseWritingDirection):
(WebCore::Editor::setComposition):
(WebCore::Editor::isSpellCheckingEnabledFor):
(WebCore::Editor::applyEditingStyleToElement):
* editing/FormatBlockCommand.cpp:
(WebCore::isElementForFormatBlock):
* editing/FrameSelection.cpp:
(WebCore::removingNodeRemovesPosition):
(WebCore::CaretBase::paintCaret):
(WebCore::FrameSelection::debugRenderer):
(WebCore::FrameSelection::selectAll):
(WebCore::scanForForm):
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply):
* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::mergeWithNeighboringLists):
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply):
* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::insertTab):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::haveSameTagName):
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
(WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
(WebCore::ReplaceSelectionCommand::shouldPerformSmartReplace):
(WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
(WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition):
(WebCore::ReplaceSelectionCommand::insertAsListItems):
(WebCore::ReplaceSelectionCommand::performTrivialReplace):
* editing/SpellChecker.cpp:
(WebCore::SpellChecker::isCheckable):
* editing/SplitTextNodeContainingElementCommand.cpp:
(WebCore::SplitTextNodeContainingElementCommand::doApply):
* editing/TextIterator.cpp:
(WebCore::isRendererReplacedElement):
* editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::isInPasswordField):
* editing/VisibleUnits.cpp:
(WebCore::startPositionForLine):
(WebCore::endPositionForLine):
(WebCore::startOfParagraph):
(WebCore::endOfParagraph):
* editing/cocoa/HTMLConverter.mm:
(HTMLConverter::aggregatedAttributesForAncestors):
(HTMLConverter::aggregatedAttributesForElementAndItsAncestors):
(WebCore::editingAttributedStringFromRange):
* editing/htmlediting.cpp:
(WebCore::enclosingBlock):
(WebCore::enclosingElementWithTag):
(WebCore::enclosingAnchorElement):
(WebCore::enclosingList):
(WebCore::lineBreakExistsAtPosition):
(WebCore::areIdenticalElements):
(WebCore::isNonTableCellHTMLBlockElement):
(WebCore::deprecatedEnclosingBlockFlowElement):
* editing/ios/EditorIOS.mm:
(WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::appendText):
(WebCore::ancestorToRetainStructureAndAppearanceForBlock):
(WebCore::isPlainTextMarkup):
* fileapi/FileReader.cpp:
(WebCore::FileReader::readAsArrayBuffer):
(WebCore::FileReader::readAsBinaryString):
(WebCore::FileReader::readAsText):
(WebCore::FileReader::readAsDataURL):
* html/BaseChooserOnlyDateAndTimeInputType.cpp:
(WebCore::BaseChooserOnlyDateAndTimeInputType::updateAppearance):
* html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
* html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::findAssociatedForm):
* html/HTMLAnchorElement.cpp:
(WebCore::appendServerMapMousePosition):
(WebCore::HTMLAnchorElement::defaultEventHandler):
(WebCore::HTMLAnchorElement::eventType):
(WebCore::isEnterKeyKeydownEvent):
(WebCore::isLinkClick):
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::imageElement):
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::insertedInto):
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::defaultEventHandler):
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::namedItem):
(WebCore::HTMLCollection::updateNamedElementCache):
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::bgColor):
(WebCore::HTMLDocument::setBgColor):
(WebCore::HTMLDocument::fgColor):
(WebCore::HTMLDocument::setFgColor):
(WebCore::HTMLDocument::alinkColor):
(WebCore::HTMLDocument::setAlinkColor):
(WebCore::HTMLDocument::linkColor):
(WebCore::HTMLDocument::setLinkColor):
(WebCore::HTMLDocument::vlinkColor):
(WebCore::HTMLDocument::setVlinkColor):
(WebCore::HTMLDocument::isFrameSet):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::matchesReadWritePseudoClass):
(WebCore::mergeWithNextTextNode):
(WebCore::HTMLElement::setOuterHTML):
(WebCore::HTMLElement::setOuterText):
(WebCore::HTMLElement::insertAdjacentElement):
(WebCore::contextElementForInsertion):
(WebCore::HTMLElement::directionality):
(WebCore::HTMLElement::dirAttributeChanged):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::rendererIsNeeded):
* html/HTMLFieldSetElement.cpp:
(WebCore::updateFromControlElementsAncestorDisabledStateUnder):
(WebCore::HTMLFieldSetElement::disabledStateChanged):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::computeIsDisabledByFieldsetAncestor):
(WebCore::shouldAutofocus):
(WebCore::HTMLFormControlElement::enclosingFormControlElement):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::rendererIsNeeded):
(WebCore::HTMLFormElement::submitImplicitly):
(WebCore::submitElementFromEvent):
(WebCore::HTMLFormElement::validateInteractively):
(WebCore::HTMLFormElement::submit):
(WebCore::HTMLFormElement::reset):
(WebCore::HTMLFormElement::defaultButton):
(WebCore::HTMLFormElement::documentDidResumeFromPageCache):
* html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::getSVGDocument):
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::defaultEventHandler):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
(WebCore::HTMLInputElement::dataList):
* html/HTMLLabelElement.cpp:
(WebCore::nodeAsSupportedLabelableElement):
* html/HTMLLegendElement.cpp:
(WebCore::HTMLLegendElement::virtualForm):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::hasFallbackContent):
(WebCore::HTMLObjectElement::updateDocNamedItem):
* html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::recalcSelectOptions):
(WebCore::HTMLOptGroupElement::ownerSelectElement):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::setText):
(WebCore::HTMLOptionElement::index):
(WebCore::HTMLOptionElement::ownerDataListElement):
(WebCore::HTMLOptionElement::ownerSelectElement):
(WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
(WebCore::HTMLOptionElement::isDisabledFormControl):
(WebCore::HTMLOptionElement::collectOptionInnerText):
* html/HTMLPlugInImageElement.cpp:
(WebCore::addPlugInsFromNodeListMatchingPlugInOrigin):
(WebCore::HTMLPlugInImageElement::defaultEventHandler):
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::setText):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::nextValidIndex):
(WebCore::HTMLSelectElement::saveLastSelection):
(WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
(WebCore::HTMLSelectElement::updateListBoxSelection):
(WebCore::HTMLSelectElement::listBoxOnChange):
(WebCore::HTMLSelectElement::recalcListItems):
(WebCore::HTMLSelectElement::selectedIndex):
(WebCore::HTMLSelectElement::selectOption):
(WebCore::HTMLSelectElement::optionToListIndex):
(WebCore::HTMLSelectElement::listToOptionIndex):
(WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
(WebCore::HTMLSelectElement::saveFormControlState):
(WebCore::HTMLSelectElement::searchOptionsForValue):
(WebCore::HTMLSelectElement::restoreFormControlState):
(WebCore::HTMLSelectElement::appendFormData):
(WebCore::HTMLSelectElement::reset):
(WebCore::HTMLSelectElement::menuListDefaultEventHandler):
(WebCore::HTMLSelectElement::updateSelectedState):
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
(WebCore::HTMLSelectElement::defaultEventHandler):
(WebCore::HTMLSelectElement::lastSelectedListIndex):
(WebCore::HTMLSelectElement::optionAtIndex):
(WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
(WebCore::HTMLSelectElement::length):
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
* html/HTMLSummaryElement.cpp:
(WebCore::isClickableControl):
(WebCore::HTMLSummaryElement::defaultEventHandler):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::caption):
* html/HTMLTablePartElement.cpp:
(WebCore::HTMLTablePartElement::findParentTable):
* html/HTMLTableRowElement.cpp:
(WebCore::HTMLTableRowElement::rowIndex):
* html/HTMLTableRowsCollection.cpp:
(WebCore::HTMLTableRowsCollection::rowAfter):
(WebCore::HTMLTableRowsCollection::lastRow):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::defaultEventHandler):
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::innerTextValue):
(WebCore::positionForIndex):
(WebCore::HTMLTextFormControlElement::indexForPosition):
(WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
* html/HTMLTitleElement.cpp:
(WebCore::HTMLTitleElement::setText):
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::mediaElement):
* html/ImageDocument.cpp:
(WebCore::ImageEventListener::handleEvent):
* html/InputType.cpp:
(WebCore::InputType::shouldSubmitImplicitly):
* html/MediaDocument.cpp:
(WebCore::ancestorVideoElement):
(WebCore::MediaDocument::defaultEventHandler):
* html/RadioInputType.cpp:
(WebCore::RadioInputType::handleKeydownEvent):
(WebCore::RadioInputType::isKeyboardFocusable):
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::shouldSubmitImplicitly):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::hasImpliedEndTag):
(WebCore::HTMLConstructionSite::attachLater):
(WebCore::HTMLConstructionSite::insertHTMLFormElement):
(WebCore::HTMLConstructionSite::insertTextNode):
(WebCore::HTMLConstructionSite::ownerDocumentForCurrentNode):
(WebCore::HTMLConstructionSite::findFosterSite):
* html/parser/HTMLElementStack.cpp:
(WebCore::HTMLNames::isScopeMarker):
(WebCore::HTMLNames::isTableScopeMarker):
(WebCore::HTMLNames::isSelectScopeMarker):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
* html/shadow/InsertionPoint.h:
(WebCore::isActiveInsertionPoint):
(WebCore::parentNodeForDistribution):
(WebCore::parentElementForDistribution):
* html/shadow/MediaControlElementTypes.cpp:
(WebCore::parentMediaElement):
(WebCore::mediaControlElementType):
(WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::defaultEventHandler):
(WebCore::MediaControlVolumeSliderContainerElement::defaultEventHandler):
(WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler):
(WebCore::MediaControlTimelineElement::defaultEventHandler):
* html/shadow/MediaControls.cpp:
(WebCore::MediaControls::containsRelatedTarget):
* html/shadow/MediaControlsApple.cpp:
(WebCore::MediaControlsAppleEventListener::handleEvent):
* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::defaultEventHandler):
* html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::defaultEventHandler):
(WebCore::SpinButtonElement::forwardEvent):
* html/shadow/TextControlInnerElements.cpp:
(WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
(WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
* html/track/VTTCue.cpp:
(WebCore::VTTCue::copyWebVTTNodeToDOMTree):
(WebCore::VTTCue::markFutureAndPastNodes):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::elementForId):
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::unbind):
(WebCore::InspectorDOMAgent::assertDocument):
(WebCore::InspectorDOMAgent::assertElement):
(WebCore::InspectorDOMAgent::querySelector):
(WebCore::InspectorDOMAgent::querySelectorAll):
(WebCore::InspectorDOMAgent::setNodeName):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
(WebCore::InspectorDOMAgent::innerParentNode):
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):
* inspector/InspectorInstrumentation.cpp:
(WebCore::frameForScriptExecutionContext):
(WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
* inspector/InspectorNodeFinder.cpp:
(WebCore::InspectorNodeFinder::searchUsingDOMTreeTraversal):
(WebCore::InspectorNodeFinder::searchUsingXPath):
(WebCore::InspectorNodeFinder::searchUsingCSSSelectors):
* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForElementInfo):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::inlineStyleSheetText):
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::create):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::handleFallbackContent):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadPlugin):
* loader/ThreadableLoader.cpp:
(WebCore::ThreadableLoader::create):
(WebCore::ThreadableLoader::loadResourceSynchronously):
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::removeRequestFromCache):
(WebCore::MemoryCache::removeRequestFromSessionCaches):
* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::attributeChanged):
* mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::getSelectedSemanticsChild):
* page/Chrome.cpp:
(WebCore::Chrome::setToolTip):
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::maybeCreateContextMenu):
(WebCore::ContextMenuController::populate):
* page/DOMTimer.cpp:
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):
* page/DragController.cpp:
(WebCore::elementUnderMouse):
(WebCore::DragController::operationForLoad):
(WebCore::DragController::canProcessDrag):
(WebCore::DragController::draggableElement):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::isSubmitImage):
(WebCore::targetIsFrame):
(WebCore::findDropZone):
(WebCore::EventHandler::updateDragAndDrop):
(WebCore::EventHandler::updateMouseEventTargetNode):
(WebCore::EventHandler::handleTextInputEvent):
* page/FocusController.cpp:
(WebCore::FocusNavigationScope::owner):
(WebCore::FocusController::findFocusableElementDescendingDownIntoFrameDocument):
(WebCore::FocusController::findFocusableElementAcrossFocusScope):
(WebCore::FocusController::findElementWithExactTabIndex):
(WebCore::nextElementWithGreaterTabIndex):
(WebCore::previousElementWithLowerTabIndex):
(WebCore::FocusController::nextFocusableElement):
(WebCore::FocusController::previousFocusableElement):
(WebCore::clearSelectionIfNeeded):
(WebCore::FocusController::advanceFocusDirectionally):
* page/Frame.cpp:
(WebCore::Frame::searchForLabelsBeforeElement):
(WebCore::Frame::setPageAndTextZoomFactors):
* page/FrameView.cpp:
(WebCore::FrameView::init):
(WebCore::FrameView::scrollToAnchor):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeFrame):
* page/SpatialNavigation.cpp:
(WebCore::FocusCandidate::FocusCandidate):
(WebCore::scrollInDirection):
(WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDirection):
(WebCore::canScrollInDirection):
(WebCore::nodeRectInAbsoluteCoordinates):
(WebCore::areElementsOnSameLine):
* page/ios/FrameIOS.mm:
(WebCore::ancestorRespondingToClickEvents):
* platform/network/FormData.cpp:
(WebCore::FormData::appendKeyValuePairItems):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::setInnerNode):
(WebCore::HitTestResult::setInnerNonSharedNode):
(WebCore::HitTestResult::title):
(WebCore::HitTestResult::innerTextIfTruncated):
(WebCore::HitTestResult::mediaSupportsFullscreen):
(WebCore::HitTestResult::enterFullscreenForVideo):
(WebCore::HitTestResult::mediaIsVideo):
(WebCore::HitTestResult::innerElement):
(WebCore::HitTestResult::innerNonSharedElement):
* rendering/RenderBlockFlow.cpp:
(WebCore::resizeTextPermitted):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::sizesLogicalWidthToFitContent):
* rendering/RenderCounter.cpp:
(WebCore::planCounter):
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::isOpen):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::uploadButton):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintAreaElementFocusRing):
(WebCore::RenderImage::paintIntoRect):
(WebCore::RenderImage::imageMap):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollRectToVisible):
(WebCore::RenderLayer::resize):
(WebCore::RenderLayer::updateSnapOffsets):
* rendering/RenderLayerBacking.cpp:
(WebCore::isRestartedPlugin):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::addFocusRingRects):
(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::paintItemBackground):
* rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::marqueeSpeed):
* rendering/RenderMenuList.cpp:
(WebCore::selectedOptionCount):
(RenderMenuList::updateOptionsWidth):
(RenderMenuList::setTextFromOption):
(RenderMenuList::itemText):
(RenderMenuList::itemIsEnabled):
(RenderMenuList::itemIsLabel):
(RenderMenuList::itemIsSelected):
* rendering/RenderMeter.cpp:
(WebCore::RenderMeter::meterElement):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::isChildAllowed):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::addPDFURLRect):
(WebCore::RenderObject::shouldRespectImageOrientation):
(WebCore::RenderObject::updateDragState):
(WebCore::RenderObject::getUncachedPseudoStyle):
(WebCore::RenderObject::getTextDecorationColors):
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::progressElement):
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::handleEvent):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
(WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::parseColSpanFromDOM):
(WebCore::RenderTableCell::parseRowSpanFromDOM):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::isEnabled):
(WebCore::RenderTheme::isFocused):
(WebCore::RenderTheme::isPressed):
(WebCore::RenderTheme::isSpinUpButtonPartPressed):
(WebCore::RenderTheme::isReadOnlyControl):
(WebCore::RenderTheme::isHovered):
(WebCore::RenderTheme::isSpinUpButtonPartHovered):
(WebCore::RenderTheme::paintSliderTicks):
* rendering/RenderThemeGtk.cpp:
(WebCore::getMediaElementFromRenderObject):
(WebCore::nodeHasClass):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::updatePressedState):
(WebCore::RenderThemeMac::paintSliderThumb):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
* rendering/RenderTreeAsText.cpp:
(WebCore::isEmptyOrUnstyledAppleStyleSpan):
(WebCore::RenderTreeAsText::writeRenderObject):
* rendering/TextAutosizer.cpp:
(WebCore::TextAutosizer::isAutosizingContainer):
(WebCore::TextAutosizer::containerContainsOneOfTags):
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::isChildAllowed):
* rendering/svg/RenderSVGGradientStop.cpp:
(WebCore::RenderSVGGradientStop::gradientElement):
* rendering/svg/RenderSVGTransformableContainer.cpp:
(WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):
* style/StyleResolveTree.cpp:
(WebCore::Style::invalidateWhitespaceOnlyTextSiblingsAfterAttachIfNeeded):
(WebCore::Style::attachChildren):
(WebCore::Style::attachDistributedChildren):
(WebCore::Style::detachDistributedChildren):
(WebCore::Style::detachChildren):
(WebCore::Style::resolveShadowTree):
(WebCore::Style::resolveTree):
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::defaultEventHandler):
* svg/SVGAltGlyphElement.cpp:
(WebCore::SVGAltGlyphElement::hasValidGlyphElements):
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::hasValidAttributeType):
* svg/SVGDocument.cpp:
(WebCore::SVGDocument::rootElement):
* svg/SVGElement.cpp:
(WebCore::SVGElement::isOutermostSVGSVGElement):
(WebCore::SVGElement::ownerSVGElement):
(WebCore::SVGElement::viewportElement):
* svg/SVGFontData.cpp:
(WebCore::SVGFontData::applySVGGlyphSelection):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::associatedFontElement):
(WebCore::SVGFontFaceElement::rebuildFontFace):
* svg/SVGFontFaceSrcElement.cpp:
(WebCore::SVGFontFaceSrcElement::childrenChanged):
* svg/SVGGlyphElement.cpp:
(WebCore::SVGGlyphElement::invalidateGlyphCache):
* svg/SVGHKernElement.cpp:
(WebCore::SVGHKernElement::insertedInto):
(WebCore::SVGHKernElement::removedFrom):
* svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::determineViewport):
* svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::collectGradientAttributes):
* svg/SVGLocatable.cpp:
(WebCore::isViewportElement):
(WebCore::SVGLocatable::getTransformToElement):
* svg/SVGMPathElement.cpp:
(WebCore::SVGMPathElement::pathElement):
(WebCore::SVGMPathElement::notifyParentOfPathChange):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::invalidateMPathDependencies):
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::collectPatternAttributes):
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::collectGradientAttributes):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::setupInitialView):
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::elementFromRenderer):
* svg/SVGUseElement.cpp:
(WebCore::dumpInstanceTree):
(WebCore::SVGUseElement::toClipPath):
(WebCore::SVGUseElement::expandUseElementsInShadowTree):
(WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
* svg/SVGVKernElement.cpp:
(WebCore::SVGVKernElement::insertedInto):
(WebCore::SVGVKernElement::removedFrom):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::buildPendingResource):
* svg/graphics/SVGImageCache.cpp:
(WebCore::SVGImageCache::imageForRenderer):
* testing/Internals.cpp:
(WebCore::Internals::shadowRootType):
(WebCore::Internals::visiblePlaceholder):
(WebCore::Internals::selectColorInColorChooser):
(WebCore::Internals::wasLastChangeUserEdit):
(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):
(WebCore::Internals::isSelectPopupVisible):
* testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::injectInternalsObject):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::open):
* xml/XPathFunctions.cpp:
(WebCore::XPath::expandedNameLocalPart):
(WebCore::XPath::FunLang::evaluate):
* xml/XPathNodeSet.cpp:
(WebCore::XPath::sortBlock):
(WebCore::XPath::NodeSet::sort):
(WebCore::XPath::findRootNode):
(WebCore::XPath::NodeSet::traversalSort):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
Source/WebKit/ios:
* WebCoreSupport/WebChromeClientIOS.mm:
(WebChromeClientIOS::focusedElementChanged):
Source/WebKit/mac:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::focusedElementChanged):
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::textFieldDidBeginEditing):
(WebEditorClient::textFieldDidEndEditing):
(WebEditorClient::textDidChangeInTextField):
(WebEditorClient::doTextFieldCommandFromEvent):
(WebEditorClient::textWillBeDeletedInTextField):
(WebEditorClient::textDidChangeInTextArea):
* WebView/WebHTMLRepresentation.mm:
(inputElementFromDOMElement):
(searchForLabelsBeforeElement):
* WebView/WebRenderLayer.mm:
(+[WebRenderLayer nameForLayer:]):
Source/WebKit/win:
* DOMCoreClasses.cpp:
(DOMElement::createInstance):
* DOMHTMLClasses.cpp:
(DOMHTMLDocument::body):
(DOMHTMLDocument::forms):
(DOMHTMLElement::idName):
(DOMHTMLElement::innerText):
(DOMHTMLElement::setInnerText):
(DOMHTMLFormElement::action):
(DOMHTMLFormElement::method):
(DOMHTMLOptionElement::text):
(DOMHTMLOptionElement::label):
(DOMHTMLInputElement::form):
(DOMHTMLInputElement::disabled):
(DOMHTMLInputElement::readOnly):
(DOMHTMLInputElement::setType):
(DOMHTMLInputElement::value):
(DOMHTMLInputElement::setValue):
(DOMHTMLInputElement::setValueForUser):
(DOMHTMLInputElement::select):
(DOMHTMLInputElement::setSelectionStart):
(DOMHTMLInputElement::selectionStart):
(DOMHTMLInputElement::setSelectionEnd):
(DOMHTMLInputElement::selectionEnd):
(DOMHTMLInputElement::isTextField):
(DOMHTMLInputElement::rectOnScreen):
(DOMHTMLInputElement::replaceCharactersInRange):
(DOMHTMLInputElement::selectedRange):
(DOMHTMLInputElement::setAutofilled):
(DOMHTMLInputElement::isAutofilled):
(DOMHTMLInputElement::isUserEdited):
(DOMHTMLTextAreaElement::form):
(DOMHTMLTextAreaElement::value):
(DOMHTMLTextAreaElement::setValue):
(DOMHTMLTextAreaElement::select):
(DOMHTMLTextAreaElement::isUserEdited):
* WebFrame.cpp:
(formElementFromDOMElement):
(inputElementFromDOMElement):
(WebFrame::elementWithName):
Source/WebKit2:
* Shared/WebRenderObject.cpp:
(WebKit::WebRenderObject::WebRenderObject):
* WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
(WebKit::InjectedBundleHitTestResult::mediaType):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::handleEvent):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::focusedElementChanged):
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::textFieldDidBeginEditing):
(WebKit::WebEditorClient::textFieldDidEndEditing):
(WebKit::WebEditorClient::textDidChangeInTextField):
(WebKit::WebEditorClient::textDidChangeInTextArea):
(WebKit::WebEditorClient::doTextFieldCommandFromEvent):
(WebKit::WebEditorClient::textWillBeDeletedInTextField):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::containsAnyFormElements):
(WebKit::WebFrame::containsAnyFormControls):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::pdfDocumentForPrintingFrame):
(WebKit::WebPage::determinePrimarySnapshottedPlugIn):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::blurAssistedNode):
(WebKit::WebPage::setAssistedNodeValue):
(WebKit::WebPage::setAssistedNodeValueAsNumber):
(WebKit::WebPage::setAssistedNodeSelectedIndex):
(WebKit::WebPage::getPositionInformation):
(WebKit::WebPage::performActionOnElement):
(WebKit::isAssistableNode):
(WebKit::WebPage::getAssistedNodeInformation):
Source/WTF:
* wtf/TypeCasts.h:
(WTF::is):</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWTFChangeLog">trunk/Source/WTF/ChangeLog</a></li>
<li><a href="#trunkSourceWTFwtfTypeCastsh">trunk/Source/WTF/wtf/TypeCasts.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBFactorycpp">trunk/Source/WebCore/Modules/indexeddb/IDBFactory.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebsocketsThreadableWebSocketChannelcpp">trunk/Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebsocketsWebSocketcpp">trunk/Source/WebCore/Modules/websockets/WebSocket.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebsocketsWebSocketHandshakecpp">trunk/Source/WebCore/Modules/websockets/WebSocketHandshake.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAXObjectCachecpp">trunk/Source/WebCore/accessibility/AXObjectCache.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityListBoxOptioncpp">trunk/Source/WebCore/accessibility/AccessibilityListBoxOption.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityMediaControlscpp">trunk/Source/WebCore/accessibility/AccessibilityMediaControls.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityMenuListPopupcpp">trunk/Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityNodeObjectcpp">trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityObjectcpp">trunk/Source/WebCore/accessibility/AccessibilityObject.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityRenderObjectcpp">trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilitySearchFieldButtonscpp">trunk/Source/WebCore/accessibility/AccessibilitySearchFieldButtons.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityTablecpp">trunk/Source/WebCore/accessibility/AccessibilityTable.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityatkAXObjectCacheAtkcpp">trunk/Source/WebCore/accessibility/atk/AXObjectCacheAtk.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityatkWebKitAccessibleInterfaceTablecpp">trunk/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceTable.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityatkWebKitAccessibleWrapperAtkcpp">trunk/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsgobjectWebKitDOMPrivatecpp">trunk/Source/WebCore/bindings/gobject/WebKitDOMPrivate.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSAudioContextCustomcpp">trunk/Source/WebCore/bindings/js/JSAudioContextCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMGlobalObjectcpp">trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMWindowCustomcpp">trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSElementCustomcpp">trunk/Source/WebCore/bindings/js/JSElementCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSErrorHandlercpp">trunk/Source/WebCore/bindings/js/JSErrorHandler.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSEventListenercpp">trunk/Source/WebCore/bindings/js/JSEventListener.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHTMLDocumentCustomcpp">trunk/Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSLazyEventListenercpp">trunk/Source/WebCore/bindings/js/JSLazyEventListener.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSNodeCustomcpp">trunk/Source/WebCore/bindings/js/JSNodeCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsScheduledActioncpp">trunk/Source/WebCore/bindings/js/ScheduledAction.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsScriptStatecpp">trunk/Source/WebCore/bindings/js/ScriptState.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsobjcDOMmm">trunk/Source/WebCore/bindings/objc/DOM.mm</a></li>
<li><a href="#trunkSourceWebCorecssCSSCursorImageValuecpp">trunk/Source/WebCore/css/CSSCursorImageValue.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSStyleSheetcpp">trunk/Source/WebCore/css/CSSStyleSheet.cpp</a></li>
<li><a href="#trunkSourceWebCorecssSelectorCheckercpp">trunk/Source/WebCore/css/SelectorChecker.cpp</a></li>
<li><a href="#trunkSourceWebCorecssSelectorCheckerTestFunctionsh">trunk/Source/WebCore/css/SelectorCheckerTestFunctions.h</a></li>
<li><a href="#trunkSourceWebCorecssStyleResolvercpp">trunk/Source/WebCore/css/StyleResolver.cpp</a></li>
<li><a href="#trunkSourceWebCorecssStyleSheetListcpp">trunk/Source/WebCore/css/StyleSheetList.cpp</a></li>
<li><a href="#trunkSourceWebCoredomAttrcpp">trunk/Source/WebCore/dom/Attr.cpp</a></li>
<li><a href="#trunkSourceWebCoredomCharacterDatacpp">trunk/Source/WebCore/dom/CharacterData.cpp</a></li>
<li><a href="#trunkSourceWebCoredomContainerNodecpp">trunk/Source/WebCore/dom/ContainerNode.cpp</a></li>
<li><a href="#trunkSourceWebCoredomContainerNodeAlgorithmscpp">trunk/Source/WebCore/dom/ContainerNodeAlgorithms.cpp</a></li>
<li><a href="#trunkSourceWebCoredomCurrentScriptIncrementerh">trunk/Source/WebCore/dom/CurrentScriptIncrementer.h</a></li>
<li><a href="#trunkSourceWebCoredomDataTransfercpp">trunk/Source/WebCore/dom/DataTransfer.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDocumentcpp">trunk/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDocumentStyleSheetCollectioncpp">trunk/Source/WebCore/dom/DocumentStyleSheetCollection.cpp</a></li>
<li><a href="#trunkSourceWebCoredomElementcpp">trunk/Source/WebCore/dom/Element.cpp</a></li>
<li><a href="#trunkSourceWebCoredomElementh">trunk/Source/WebCore/dom/Element.h</a></li>
<li><a href="#trunkSourceWebCoredomElementTraversalh">trunk/Source/WebCore/dom/ElementTraversal.h</a></li>
<li><a href="#trunkSourceWebCoredomEventDispatchercpp">trunk/Source/WebCore/dom/EventDispatcher.cpp</a></li>
<li><a href="#trunkSourceWebCoredomEventTargetcpp">trunk/Source/WebCore/dom/EventTarget.cpp</a></li>
<li><a href="#trunkSourceWebCoredomKeyboardEventcpp">trunk/Source/WebCore/dom/KeyboardEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoredomLiveNodeListcpp">trunk/Source/WebCore/dom/LiveNodeList.cpp</a></li>
<li><a href="#trunkSourceWebCoredomMessagePortcpp">trunk/Source/WebCore/dom/MessagePort.cpp</a></li>
<li><a href="#trunkSourceWebCoredomMouseEventcpp">trunk/Source/WebCore/dom/MouseEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoredomNamedNodeMapcpp">trunk/Source/WebCore/dom/NamedNodeMap.cpp</a></li>
<li><a href="#trunkSourceWebCoredomNodecpp">trunk/Source/WebCore/dom/Node.cpp</a></li>
<li><a href="#trunkSourceWebCoredomNodeRenderingTraversalcpp">trunk/Source/WebCore/dom/NodeRenderingTraversal.cpp</a></li>
<li><a href="#trunkSourceWebCoredomNodeTraversalcpp">trunk/Source/WebCore/dom/NodeTraversal.cpp</a></li>
<li><a href="#trunkSourceWebCoredomPositioncpp">trunk/Source/WebCore/dom/Position.cpp</a></li>
<li><a href="#trunkSourceWebCoredomRangecpp">trunk/Source/WebCore/dom/Range.cpp</a></li>
<li><a href="#trunkSourceWebCoredomScriptElementcpp">trunk/Source/WebCore/dom/ScriptElement.cpp</a></li>
<li><a href="#trunkSourceWebCoredomShadowRooth">trunk/Source/WebCore/dom/ShadowRoot.h</a></li>
<li><a href="#trunkSourceWebCoredomTextcpp">trunk/Source/WebCore/dom/Text.cpp</a></li>
<li><a href="#trunkSourceWebCoredomTextNodeTraversalcpp">trunk/Source/WebCore/dom/TextNodeTraversal.cpp</a></li>
<li><a href="#trunkSourceWebCoredomTextNodeTraversalh">trunk/Source/WebCore/dom/TextNodeTraversal.h</a></li>
<li><a href="#trunkSourceWebCoredomTreeScopeAdoptercpp">trunk/Source/WebCore/dom/TreeScopeAdopter.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingApplyBlockElementCommandcpp">trunk/Source/WebCore/editing/ApplyBlockElementCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingApplyStyleCommandcpp">trunk/Source/WebCore/editing/ApplyStyleCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingBreakBlockquoteCommandcpp">trunk/Source/WebCore/editing/BreakBlockquoteCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingCompositeEditCommandcpp">trunk/Source/WebCore/editing/CompositeEditCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingDeleteButtonControllercpp">trunk/Source/WebCore/editing/DeleteButtonController.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingDeleteSelectionCommandcpp">trunk/Source/WebCore/editing/DeleteSelectionCommand.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="#trunkSourceWebCoreeditingFormatBlockCommandcpp">trunk/Source/WebCore/editing/FormatBlockCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingFrameSelectioncpp">trunk/Source/WebCore/editing/FrameSelection.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingInsertLineBreakCommandcpp">trunk/Source/WebCore/editing/InsertLineBreakCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingInsertListCommandcpp">trunk/Source/WebCore/editing/InsertListCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingInsertParagraphSeparatorCommandcpp">trunk/Source/WebCore/editing/InsertParagraphSeparatorCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingInsertTextCommandcpp">trunk/Source/WebCore/editing/InsertTextCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingReplaceSelectionCommandcpp">trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingSpellCheckercpp">trunk/Source/WebCore/editing/SpellChecker.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingSplitTextNodeContainingElementCommandcpp">trunk/Source/WebCore/editing/SplitTextNodeContainingElementCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingTextIteratorcpp">trunk/Source/WebCore/editing/TextIterator.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingVisibleSelectioncpp">trunk/Source/WebCore/editing/VisibleSelection.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="#trunkSourceWebCoreeditinghtmleditingcpp">trunk/Source/WebCore/editing/htmlediting.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingiosEditorIOSmm">trunk/Source/WebCore/editing/ios/EditorIOS.mm</a></li>
<li><a href="#trunkSourceWebCoreeditingmarkupcpp">trunk/Source/WebCore/editing/markup.cpp</a></li>
<li><a href="#trunkSourceWebCorefileapiFileReadercpp">trunk/Source/WebCore/fileapi/FileReader.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlBaseChooserOnlyDateAndTimeInputTypecpp">trunk/Source/WebCore/html/BaseChooserOnlyDateAndTimeInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlFTPDirectoryDocumentcpp">trunk/Source/WebCore/html/FTPDirectoryDocument.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlFormAssociatedElementcpp">trunk/Source/WebCore/html/FormAssociatedElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLAnchorElementcpp">trunk/Source/WebCore/html/HTMLAnchorElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLAreaElementcpp">trunk/Source/WebCore/html/HTMLAreaElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLBodyElementcpp">trunk/Source/WebCore/html/HTMLBodyElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLButtonElementcpp">trunk/Source/WebCore/html/HTMLButtonElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLCollectioncpp">trunk/Source/WebCore/html/HTMLCollection.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLDocumentcpp">trunk/Source/WebCore/html/HTMLDocument.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLElementcpp">trunk/Source/WebCore/html/HTMLElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLEmbedElementcpp">trunk/Source/WebCore/html/HTMLEmbedElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFieldSetElementcpp">trunk/Source/WebCore/html/HTMLFieldSetElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFormControlElementcpp">trunk/Source/WebCore/html/HTMLFormControlElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFormElementcpp">trunk/Source/WebCore/html/HTMLFormElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFrameOwnerElementcpp">trunk/Source/WebCore/html/HTMLFrameOwnerElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFrameSetElementcpp">trunk/Source/WebCore/html/HTMLFrameSetElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLInputElementcpp">trunk/Source/WebCore/html/HTMLInputElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLLabelElementcpp">trunk/Source/WebCore/html/HTMLLabelElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLLegendElementcpp">trunk/Source/WebCore/html/HTMLLegendElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementcpp">trunk/Source/WebCore/html/HTMLMediaElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLObjectElementcpp">trunk/Source/WebCore/html/HTMLObjectElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLOptGroupElementcpp">trunk/Source/WebCore/html/HTMLOptGroupElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLOptionElementcpp">trunk/Source/WebCore/html/HTMLOptionElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLPlugInImageElementcpp">trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLScriptElementcpp">trunk/Source/WebCore/html/HTMLScriptElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLSelectElementcpp">trunk/Source/WebCore/html/HTMLSelectElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLSourceElementcpp">trunk/Source/WebCore/html/HTMLSourceElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLSummaryElementcpp">trunk/Source/WebCore/html/HTMLSummaryElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTableElementcpp">trunk/Source/WebCore/html/HTMLTableElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTablePartElementcpp">trunk/Source/WebCore/html/HTMLTablePartElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTableRowElementcpp">trunk/Source/WebCore/html/HTMLTableRowElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTableRowsCollectioncpp">trunk/Source/WebCore/html/HTMLTableRowsCollection.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTextAreaElementcpp">trunk/Source/WebCore/html/HTMLTextAreaElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTextFormControlElementcpp">trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTitleElementcpp">trunk/Source/WebCore/html/HTMLTitleElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTrackElementcpp">trunk/Source/WebCore/html/HTMLTrackElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlImageDocumentcpp">trunk/Source/WebCore/html/ImageDocument.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlInputTypecpp">trunk/Source/WebCore/html/InputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlMediaDocumentcpp">trunk/Source/WebCore/html/MediaDocument.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlRadioInputTypecpp">trunk/Source/WebCore/html/RadioInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlTextFieldInputTypecpp">trunk/Source/WebCore/html/TextFieldInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLConstructionSitecpp">trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLElementStackcpp">trunk/Source/WebCore/html/parser/HTMLElementStack.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLTreeBuildercpp">trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowInsertionPointh">trunk/Source/WebCore/html/shadow/InsertionPoint.h</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowMediaControlElementTypescpp">trunk/Source/WebCore/html/shadow/MediaControlElementTypes.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowMediaControlElementscpp">trunk/Source/WebCore/html/shadow/MediaControlElements.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowMediaControlscpp">trunk/Source/WebCore/html/shadow/MediaControls.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowMediaControlsApplecpp">trunk/Source/WebCore/html/shadow/MediaControlsApple.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowSliderThumbElementcpp">trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowSpinButtonElementcpp">trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowTextControlInnerElementscpp">trunk/Source/WebCore/html/shadow/TextControlInnerElements.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackVTTCuecpp">trunk/Source/WebCore/html/track/VTTCue.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorCSSAgentcpp">trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMAgentcpp">trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorFrontendHostcpp">trunk/Source/WebCore/inspector/InspectorFrontendHost.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationcpp">trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationh">trunk/Source/WebCore/inspector/InspectorInstrumentation.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorNodeFindercpp">trunk/Source/WebCore/inspector/InspectorNodeFinder.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorOverlaycpp">trunk/Source/WebCore/inspector/InspectorOverlay.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorStyleSheetcpp">trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderFormSubmissioncpp">trunk/Source/WebCore/loader/FormSubmission.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoadercpp">trunk/Source/WebCore/loader/FrameLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderSubframeLoadercpp">trunk/Source/WebCore/loader/SubframeLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderThreadableLoadercpp">trunk/Source/WebCore/loader/ThreadableLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheMemoryCachecpp">trunk/Source/WebCore/loader/cache/MemoryCache.cpp</a></li>
<li><a href="#trunkSourceWebCoremathmlMathMLElementcpp">trunk/Source/WebCore/mathml/MathMLElement.cpp</a></li>
<li><a href="#trunkSourceWebCoremathmlMathMLSelectElementcpp">trunk/Source/WebCore/mathml/MathMLSelectElement.cpp</a></li>
<li><a href="#trunkSourceWebCorepageChromecpp">trunk/Source/WebCore/page/Chrome.cpp</a></li>
<li><a href="#trunkSourceWebCorepageContextMenuControllercpp">trunk/Source/WebCore/page/ContextMenuController.cpp</a></li>
<li><a href="#trunkSourceWebCorepageDOMTimercpp">trunk/Source/WebCore/page/DOMTimer.cpp</a></li>
<li><a href="#trunkSourceWebCorepageDragControllercpp">trunk/Source/WebCore/page/DragController.cpp</a></li>
<li><a href="#trunkSourceWebCorepageEventHandlercpp">trunk/Source/WebCore/page/EventHandler.cpp</a></li>
<li><a href="#trunkSourceWebCorepageFocusControllercpp">trunk/Source/WebCore/page/FocusController.cpp</a></li>
<li><a href="#trunkSourceWebCorepageFramecpp">trunk/Source/WebCore/page/Frame.cpp</a></li>
<li><a href="#trunkSourceWebCorepageFrameViewcpp">trunk/Source/WebCore/page/FrameView.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePageSerializercpp">trunk/Source/WebCore/page/PageSerializer.cpp</a></li>
<li><a href="#trunkSourceWebCorepageSpatialNavigationcpp">trunk/Source/WebCore/page/SpatialNavigation.cpp</a></li>
<li><a href="#trunkSourceWebCorepageiosFrameIOSmm">trunk/Source/WebCore/page/ios/FrameIOS.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkFormDatacpp">trunk/Source/WebCore/platform/network/FormData.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingHitTestResultcpp">trunk/Source/WebCore/rendering/HitTestResult.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBlockFlowcpp">trunk/Source/WebCore/rendering/RenderBlockFlow.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBoxcpp">trunk/Source/WebCore/rendering/RenderBox.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderCountercpp">trunk/Source/WebCore/rendering/RenderCounter.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderDetailsMarkercpp">trunk/Source/WebCore/rendering/RenderDetailsMarker.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderEmbeddedObjectcpp">trunk/Source/WebCore/rendering/RenderEmbeddedObject.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderFileUploadControlcpp">trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderImagecpp">trunk/Source/WebCore/rendering/RenderImage.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayercpp">trunk/Source/WebCore/rendering/RenderLayer.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayerBackingcpp">trunk/Source/WebCore/rendering/RenderLayerBacking.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderListBoxcpp">trunk/Source/WebCore/rendering/RenderListBox.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderMarqueecpp">trunk/Source/WebCore/rendering/RenderMarquee.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderMenuListcpp">trunk/Source/WebCore/rendering/RenderMenuList.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderMetercpp">trunk/Source/WebCore/rendering/RenderMeter.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="#trunkSourceWebCorerenderingRenderProgresscpp">trunk/Source/WebCore/rendering/RenderProgress.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderSnapshottedPlugIncpp">trunk/Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTablecpp">trunk/Source/WebCore/rendering/RenderTable.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTableCellcpp">trunk/Source/WebCore/rendering/RenderTableCell.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemecpp">trunk/Source/WebCore/rendering/RenderTheme.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeGtkcpp">trunk/Source/WebCore/rendering/RenderThemeGtk.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeMacmm">trunk/Source/WebCore/rendering/RenderThemeMac.mm</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTreeAsTextcpp">trunk/Source/WebCore/rendering/RenderTreeAsText.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingTextAutosizercpp">trunk/Source/WebCore/rendering/TextAutosizer.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingmathmlRenderMathMLBlockcpp">trunk/Source/WebCore/rendering/mathml/RenderMathMLBlock.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgRenderSVGGradientStopcpp">trunk/Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgRenderSVGTransformableContainercpp">trunk/Source/WebCore/rendering/svg/RenderSVGTransformableContainer.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgSVGRenderingContextcpp">trunk/Source/WebCore/rendering/svg/SVGRenderingContext.cpp</a></li>
<li><a href="#trunkSourceWebCorestyleStyleResolveTreecpp">trunk/Source/WebCore/style/StyleResolveTree.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAElementcpp">trunk/Source/WebCore/svg/SVGAElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAltGlyphElementcpp">trunk/Source/WebCore/svg/SVGAltGlyphElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimateMotionElementcpp">trunk/Source/WebCore/svg/SVGAnimateMotionElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGDocumentcpp">trunk/Source/WebCore/svg/SVGDocument.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGElementcpp">trunk/Source/WebCore/svg/SVGElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFontDatacpp">trunk/Source/WebCore/svg/SVGFontData.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFontFaceElementcpp">trunk/Source/WebCore/svg/SVGFontFaceElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFontFaceSrcElementcpp">trunk/Source/WebCore/svg/SVGFontFaceSrcElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGGlyphElementcpp">trunk/Source/WebCore/svg/SVGGlyphElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGHKernElementcpp">trunk/Source/WebCore/svg/SVGHKernElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGLengthContextcpp">trunk/Source/WebCore/svg/SVGLengthContext.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGLinearGradientElementcpp">trunk/Source/WebCore/svg/SVGLinearGradientElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGLocatablecpp">trunk/Source/WebCore/svg/SVGLocatable.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGMPathElementcpp">trunk/Source/WebCore/svg/SVGMPathElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathElementcpp">trunk/Source/WebCore/svg/SVGPathElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPatternElementcpp">trunk/Source/WebCore/svg/SVGPatternElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGRadialGradientElementcpp">trunk/Source/WebCore/svg/SVGRadialGradientElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGSVGElementcpp">trunk/Source/WebCore/svg/SVGSVGElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGTextContentElementcpp">trunk/Source/WebCore/svg/SVGTextContentElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGUseElementcpp">trunk/Source/WebCore/svg/SVGUseElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGVKernElementcpp">trunk/Source/WebCore/svg/SVGVKernElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvganimationSVGSMILElementcpp">trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvggraphicsSVGImageCachecpp">trunk/Source/WebCore/svg/graphics/SVGImageCache.cpp</a></li>
<li><a href="#trunkSourceWebCoretestingInternalscpp">trunk/Source/WebCore/testing/Internals.cpp</a></li>
<li><a href="#trunkSourceWebCoretestingjsWebCoreTestSupportcpp">trunk/Source/WebCore/testing/js/WebCoreTestSupport.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlXMLHttpRequestcpp">trunk/Source/WebCore/xml/XMLHttpRequest.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlXPathFunctionscpp">trunk/Source/WebCore/xml/XPathFunctions.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlXPathNodeSetcpp">trunk/Source/WebCore/xml/XPathNodeSet.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlparserXMLDocumentParserLibxml2cpp">trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp</a></li>
<li><a href="#trunkSourceWebKitiosChangeLog">trunk/Source/WebKit/ios/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitiosWebCoreSupportWebChromeClientIOSmm">trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.mm</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacWebCoreSupportWebChromeClientmm">trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm</a></li>
<li><a href="#trunkSourceWebKitmacWebCoreSupportWebEditorClientmm">trunk/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebHTMLRepresentationmm">trunk/Source/WebKit/mac/WebView/WebHTMLRepresentation.mm</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebRenderLayermm">trunk/Source/WebKit/mac/WebView/WebRenderLayer.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="#trunkSourceWebKitwinDOMHTMLClassescpp">trunk/Source/WebKit/win/DOMHTMLClasses.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebFramecpp">trunk/Source/WebKit/win/WebFrame.cpp</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2SharedWebRenderObjectcpp">trunk/Source/WebKit2/Shared/WebRenderObject.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleInjectedBundleHitTestResultcpp">trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessPluginsPluginViewcpp">trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebChromeClientcpp">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebEditorClientcpp">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebFramecpp">trunk/Source/WebKit2/WebProcess/WebPage/WebFrame.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagecpp">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageiosWebPageIOSmm">trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/ChangeLog (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WTF/ChangeLog        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -1,3 +1,20 @@
</span><ins>+2014-10-01 Christophe Dumez <cdumez@apple.com>
+
+ Have is<>(T*) function do a null check on the pointer argument
+ https://bugs.webkit.org/show_bug.cgi?id=137333
+
+ Reviewed by Gavin Barraclough.
+
+ Have is<>(T*) function do a null check on the argument instead of a
+ simple assertion. This makes sense for 2 reasons:
+ 1. It is more consistent with downcast<>(T*), which will succeed even
+ if the argument is a nullptr.
+ 2. It simplifies the code a bit as it gets rid of a lot of explicit
+ null checks.
+
+ * wtf/TypeCasts.h:
+ (WTF::is):
+
</ins><span class="cx"> 2014-10-02 Daniel Bates <dabates@apple.com>
</span><span class="cx">
</span><span class="cx"> Clean up: Move XPC forward declarations in JavaScriptCore to WTF SPI wrapper header
</span></span></pre></div>
<a id="trunkSourceWTFwtfTypeCastsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/TypeCasts.h (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/TypeCasts.h        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WTF/wtf/TypeCasts.h        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -60,9 +60,8 @@
</span><span class="cx"> template <typename ExpectedType, typename ArgType>
</span><span class="cx"> inline bool is(ArgType* source)
</span><span class="cx"> {
</span><del>- ASSERT(source);
</del><span class="cx"> static_assert(!std::is_base_of<ExpectedType, ArgType>::value, "Unnecessary type check");
</span><del>- return TypeCastTraits<const ExpectedType, const ArgType>::isOfType(*source);
</del><ins>+ return source && TypeCastTraits<const ExpectedType, const ArgType>::isOfType(*source);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Safe downcasting functions.
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/ChangeLog        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -1,3 +1,865 @@
</span><ins>+2014-10-01 Christophe Dumez <cdumez@apple.com>
+
+ Have is<>(T*) function do a null check on the pointer argument
+ https://bugs.webkit.org/show_bug.cgi?id=137333
+
+ Reviewed by Gavin Barraclough.
+
+ Have is<>(T*) function do a null check on the argument instead of a
+ simple assertion. This makes sense for 2 reasons:
+ 1. It is more consistent with downcast<>(T*), which will succeed even
+ if the argument is a nullptr.
+ 2. It simplifies the code a bit as it gets rid of a lot of explicit
+ null checks.
+
+ No new tests, no behavior change.
+
+ * Modules/indexeddb/IDBFactory.cpp:
+ * Modules/webaudio/OfflineAudioContext.cpp:
+ (WebCore::OfflineAudioContext::create):
+ * Modules/websockets/ThreadableWebSocketChannel.cpp:
+ (WebCore::ThreadableWebSocketChannel::create):
+ * Modules/websockets/WebSocket.cpp:
+ (WebCore::WebSocket::connect):
+ * Modules/websockets/WebSocketHandshake.cpp:
+ (WebCore::WebSocketHandshake::clientHandshakeMessage):
+ * accessibility/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::focusedUIElementForPage):
+ (WebCore::createFromRenderer):
+ (WebCore::AXObjectCache::getOrCreate):
+ (WebCore::AXObjectCache::handleLiveRegionCreated):
+ (WebCore::AXObjectCache::handleAttributeChanged):
+ (WebCore::AXObjectCache::labelChanged):
+ (WebCore::AXObjectCache::rootAXEditableElement):
+ (WebCore::isNodeAriaVisible):
+ * accessibility/AccessibilityListBoxOption.cpp:
+ (WebCore::AccessibilityListBoxOption::isEnabled):
+ (WebCore::AccessibilityListBoxOption::isSelected):
+ (WebCore::AccessibilityListBoxOption::canSetSelectedAttribute):
+ (WebCore::AccessibilityListBoxOption::stringValue):
+ (WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
+ * accessibility/AccessibilityMediaControls.cpp:
+ (WebCore::AccessibilityMediaTimeline::valueDescription):
+ * accessibility/AccessibilityMenuListPopup.cpp:
+ (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
+ * accessibility/AccessibilityNodeObject.cpp:
+ (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
+ (WebCore::AccessibilityNodeObject::canvasHasFallbackContent):
+ (WebCore::AccessibilityNodeObject::isNativeTextControl):
+ (WebCore::AccessibilityNodeObject::isNativeImage):
+ (WebCore::AccessibilityNodeObject::isInputImage):
+ (WebCore::AccessibilityNodeObject::isEnabled):
+ (WebCore::AccessibilityNodeObject::isPressed):
+ (WebCore::AccessibilityNodeObject::isHovered):
+ (WebCore::AccessibilityNodeObject::isReadOnly):
+ (WebCore::AccessibilityNodeObject::isRequired):
+ (WebCore::AccessibilityNodeObject::valueForRange):
+ (WebCore::AccessibilityNodeObject::maxValueForRange):
+ (WebCore::AccessibilityNodeObject::minValueForRange):
+ (WebCore::AccessibilityNodeObject::isControl):
+ (WebCore::AccessibilityNodeObject::anchorElement):
+ (WebCore::isNodeActionElement):
+ (WebCore::AccessibilityNodeObject::mouseButtonListener):
+ (WebCore::AccessibilityNodeObject::labelForElement):
+ (WebCore::AccessibilityNodeObject::titleElementText):
+ (WebCore::AccessibilityNodeObject::alternativeText):
+ (WebCore::AccessibilityNodeObject::visibleText):
+ (WebCore::AccessibilityNodeObject::accessibilityDescription):
+ (WebCore::AccessibilityNodeObject::helpText):
+ (WebCore::AccessibilityNodeObject::hierarchicalLevel):
+ (WebCore::AccessibilityNodeObject::textUnderElement):
+ (WebCore::AccessibilityNodeObject::title):
+ (WebCore::AccessibilityNodeObject::colorValue):
+ (WebCore::accessibleNameForNode):
+ (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::press):
+ (WebCore::AccessibilityObject::hasTagName):
+ (WebCore::AccessibilityObject::hasAttribute):
+ (WebCore::AccessibilityObject::element):
+ (WebCore::AccessibilityObject::classList):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::isFileUploadButton):
+ (WebCore::AccessibilityRenderObject::anchorElement):
+ (WebCore::AccessibilityRenderObject::helpText):
+ (WebCore::AccessibilityRenderObject::labelElementContainer):
+ (WebCore::AccessibilityRenderObject::internalLinkElement):
+ (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
+ (WebCore::AccessibilityRenderObject::titleUIElement):
+ (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
+ (WebCore::AccessibilityRenderObject::accessKey):
+ (WebCore::AccessibilityRenderObject::url):
+ (WebCore::AccessibilityRenderObject::setElementAttributeValue):
+ (WebCore::AccessibilityRenderObject::setFocused):
+ (WebCore::AccessibilityRenderObject::setValue):
+ (WebCore::AccessibilityRenderObject::getDocumentLinks):
+ (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
+ (WebCore::AccessibilityRenderObject::accessibilityHitTest):
+ (WebCore::AccessibilityRenderObject::correspondingLabelForControlElement):
+ (WebCore::AccessibilityRenderObject::renderObjectIsObservable):
+ (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
+ (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
+ (WebCore::AccessibilityRenderObject::addTextFieldChildren):
+ (WebCore::AccessibilityRenderObject::remoteSVGRootElement):
+ (WebCore::AccessibilityRenderObject::setAccessibleName):
+ (WebCore::AccessibilityRenderObject::stringValueForMSAA):
+ (WebCore::AccessibilityRenderObject::isLinked):
+ (WebCore::AccessibilityRenderObject::stringRoleForMSAA):
+ (WebCore::AccessibilityRenderObject::isMathElement):
+ * accessibility/AccessibilitySearchFieldButtons.cpp:
+ (WebCore::AccessibilitySearchFieldCancelButton::press):
+ * accessibility/AccessibilityTable.cpp:
+ (WebCore::AccessibilityTable::tableElement):
+ (WebCore::AccessibilityTable::isDataTable):
+ (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
+ (WebCore::AccessibilityTable::title):
+ * accessibility/atk/AXObjectCacheAtk.cpp:
+ (WebCore::notifyChildrenSelectionChange):
+ * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
+ (webkitAccessibleTableGetCaption):
+ * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
+ (webkitAccessibleGetName):
+ (webkitAccessibleGetDescription):
+ (webkitAccessibleGetAttributes):
+ * bindings/gobject/WebKitDOMPrivate.cpp:
+ (WebKit::wrap):
+ * bindings/js/JSAudioContextCustom.cpp:
+ (WebCore::constructJSAudioContext):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::toJSDOMGlobalObject):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::namedItemGetter):
+ (WebCore::JSDOMWindow::getOwnPropertySlot):
+ (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
+ * bindings/js/JSElementCustom.cpp:
+ (WebCore::toJSNewlyCreated):
+ * bindings/js/JSErrorHandler.cpp:
+ (WebCore::JSErrorHandler::handleEvent):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent):
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::nameGetter):
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::JSLazyEventListener::initializeJSFunction):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::isReachableFromDOM):
+ (WebCore::createWrapperInline):
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::execute):
+ * bindings/js/ScriptState.cpp:
+ (WebCore::frameFromExecState):
+ * bindings/objc/DOM.mm:
+ (kitClass):
+ * css/CSSCursorImageValue.cpp:
+ (WebCore::resourceReferencedByCursorElement):
+ * css/CSSStyleSheet.cpp:
+ (WebCore::isAcceptableCSSStyleSheetParent):
+ * css/SelectorChecker.cpp:
+ (WebCore::SelectorChecker::checkOne):
+ * css/SelectorCheckerTestFunctions.h:
+ (WebCore::isAutofilled):
+ (WebCore::isDisabled):
+ (WebCore::isEnabled):
+ (WebCore::isChecked):
+ (WebCore::matchesLangPseudoClass):
+ (WebCore::matchesFutureCuePseudoClass):
+ (WebCore::matchesPastCuePseudoClass):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::State::initElement):
+ (WebCore::StyleResolver::locateCousinList):
+ (WebCore::elementHasDirectionAuto):
+ (WebCore::StyleResolver::canShareStyleWithElement):
+ (WebCore::StyleResolver::findSiblingForStyleSharing):
+ (WebCore::StyleResolver::adjustRenderStyle):
+ (WebCore::StyleResolver::useSVGZoomRulesForLength):
+ * css/StyleSheetList.cpp:
+ (WebCore::StyleSheetList::getNamedItem):
+ * dom/Attr.cpp:
+ (WebCore::Attr::style):
+ * dom/CharacterData.cpp:
+ (WebCore::CharacterData::parserAppendData):
+ (WebCore::CharacterData::setDataAndUpdate):
+ * dom/ContainerNode.cpp:
+ (WebCore::checkAcceptChild):
+ (WebCore::ContainerNode::notifyChildRemoved):
+ * dom/ContainerNodeAlgorithms.cpp:
+ (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
+ (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
+ * dom/CurrentScriptIncrementer.h:
+ (WebCore::CurrentScriptIncrementer::CurrentScriptIncrementer):
+ * dom/DataTransfer.cpp:
+ (WebCore::DataTransfer::setDragImage):
+ * dom/Document.cpp:
+ (WebCore::Document::elementFromPoint):
+ (WebCore::Document::setTitle):
+ (WebCore::Document::iconURLs):
+ (WebCore::eventTargetElementForDocument):
+ (WebCore::Document::updateHoverActiveState):
+ * dom/DocumentStyleSheetCollection.cpp:
+ (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
+ * dom/Element.cpp:
+ (WebCore::Element::computeInheritedLanguage):
+ * dom/Element.h:
+ (WebCore::Node::parentElement):
+ * dom/ElementTraversal.h:
+ (WebCore::Traversal<Element>::nextTemplate):
+ (WebCore::ElementTraversal::previousIncludingPseudo):
+ (WebCore::ElementTraversal::nextIncludingPseudo):
+ (WebCore::ElementTraversal::nextIncludingPseudoSkippingChildren):
+ (WebCore::ElementTraversal::pseudoAwarePreviousSibling):
+ * dom/EventDispatcher.cpp:
+ (WebCore::WindowEventContext::WindowEventContext):
+ (WebCore::EventDispatcher::dispatchEvent):
+ (WebCore::nodeOrHostIfPseudoElement):
+ (WebCore::EventPath::EventPath):
+ * dom/EventTarget.cpp:
+ (WebCore::EventTarget::fireEventListeners):
+ * dom/KeyboardEvent.cpp:
+ (WebCore::findKeyboardEvent):
+ * dom/LiveNodeList.cpp:
+ (WebCore::LiveNodeList::namedItem):
+ * dom/MessagePort.cpp:
+ (WebCore::MessagePort::dispatchMessages):
+ * dom/MouseEvent.cpp:
+ (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
+ * dom/NamedNodeMap.cpp:
+ (WebCore::NamedNodeMap::setNamedItem):
+ * dom/Node.cpp:
+ (WebCore::Node::dumpStatistics):
+ (WebCore::Node::pseudoAwarePreviousSibling):
+ (WebCore::Node::pseudoAwareNextSibling):
+ (WebCore::Node::computedStyle):
+ (WebCore::Node::parentOrShadowHostElement):
+ (WebCore::Node::rootEditableElement):
+ (WebCore::Node::ancestorElement):
+ (WebCore::Node::compareDocumentPosition):
+ (WebCore::appendAttributeDesc):
+ (WebCore::Node::showNodePathForThis):
+ (WebCore::Node::enclosingLinkEventParentOrSelf):
+ (WebCore::Node::dispatchEvent):
+ (WebCore::Node::defaultEventHandler):
+ * dom/NodeRenderingTraversal.cpp:
+ (WebCore::NodeRenderingTraversal::nodeCanBeDistributed):
+ (WebCore::NodeRenderingTraversal::traverseParent):
+ * dom/NodeTraversal.cpp:
+ (WebCore::NodeTraversal::previousIncludingPseudo):
+ (WebCore::NodeTraversal::nextIncludingPseudo):
+ (WebCore::NodeTraversal::nextIncludingPseudoSkippingChildren):
+ * dom/Position.cpp:
+ (WebCore::Position::element):
+ (WebCore::endsOfNodeAreVisuallyDistinctPositions):
+ (WebCore::Position::isRenderedCharacter):
+ (WebCore::Position::leadingWhitespacePosition):
+ * dom/Range.cpp:
+ (WebCore::Range::insertNode):
+ (WebCore::Range::getBorderAndTextQuads):
+ * dom/ScriptElement.cpp:
+ (WebCore::toScriptElementIfPossible):
+ * dom/ShadowRoot.h:
+ (WebCore::Node::parentOrShadowHostNode):
+ * dom/Text.cpp:
+ (WebCore::earliestLogicallyAdjacentTextNode):
+ (WebCore::latestLogicallyAdjacentTextNode):
+ (WebCore::isSVGShadowText):
+ * dom/TextNodeTraversal.cpp:
+ (WebCore::TextNodeTraversal::contentsAsString):
+ * dom/TextNodeTraversal.h:
+ (WebCore::TextNodeTraversal::firstTextChildTemplate):
+ (WebCore::TextNodeTraversal::firstTextWithinTemplate):
+ (WebCore::TextNodeTraversal::traverseNextTextTemplate):
+ (WebCore::TextNodeTraversal::nextSibling):
+ * dom/TreeScopeAdopter.cpp:
+ (WebCore::TreeScopeAdopter::moveTreeToNewScope):
+ (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
+ * editing/ApplyBlockElementCommand.cpp:
+ (WebCore::isNewLineAtPosition):
+ (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded):
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::isLegacyAppleStyleSpan):
+ (WebCore::isStyleSpanOrSpanWithOnlyStyleAttribute):
+ (WebCore::isSpanWithoutAttributesOrUnstyledStyleSpan):
+ (WebCore::isEmptyFontTag):
+ (WebCore::ApplyStyleCommand::applyBlockStyle):
+ (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
+ (WebCore::dummySpanAncestorForNode):
+ (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
+ (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
+ (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle):
+ (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
+ (WebCore::ApplyStyleCommand::splitTextAtEnd):
+ (WebCore::ApplyStyleCommand::splitTextElementAtEnd):
+ (WebCore::ApplyStyleCommand::shouldSplitTextElement):
+ (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
+ (WebCore::ApplyStyleCommand::applyInlineStyleChange):
+ (WebCore::ApplyStyleCommand::joinChildTextNodes):
+ * editing/BreakBlockquoteCommand.cpp:
+ (WebCore::BreakBlockquoteCommand::doApply):
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::isRemovableBlock):
+ (WebCore::CompositeEditCommand::insertNodeAt):
+ (WebCore::CompositeEditCommand::canRebalance):
+ (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
+ (WebCore::CompositeEditCommand::deleteInsignificantText):
+ (WebCore::CompositeEditCommand::removePlaceholderAt):
+ (WebCore::CompositeEditCommand::cleanupAfterDeletion):
+ (WebCore::CompositeEditCommand::moveParagraphs):
+ * editing/DeleteButtonController.cpp:
+ (WebCore::enclosingDeletableElement):
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::handleGeneralDelete):
+ (WebCore::DeleteSelectionCommand::fixupWhitespace):
+ (WebCore::DeleteSelectionCommand::doApply):
+ * editing/EditingStyle.cpp:
+ (WebCore::EditingStyle::wrappingStyleForSerialization):
+ * editing/Editor.cpp:
+ (WebCore::imageElementFromImageDocument):
+ (WebCore::Editor::shouldInsertFragment):
+ (WebCore::Editor::setBaseWritingDirection):
+ (WebCore::Editor::setComposition):
+ (WebCore::Editor::isSpellCheckingEnabledFor):
+ (WebCore::Editor::applyEditingStyleToElement):
+ * editing/FormatBlockCommand.cpp:
+ (WebCore::isElementForFormatBlock):
+ * editing/FrameSelection.cpp:
+ (WebCore::removingNodeRemovesPosition):
+ (WebCore::CaretBase::paintCaret):
+ (WebCore::FrameSelection::debugRenderer):
+ (WebCore::FrameSelection::selectAll):
+ (WebCore::scanForForm):
+ * editing/InsertLineBreakCommand.cpp:
+ (WebCore::InsertLineBreakCommand::doApply):
+ * editing/InsertListCommand.cpp:
+ (WebCore::InsertListCommand::mergeWithNeighboringLists):
+ * editing/InsertParagraphSeparatorCommand.cpp:
+ (WebCore::InsertParagraphSeparatorCommand::doApply):
+ * editing/InsertTextCommand.cpp:
+ (WebCore::InsertTextCommand::insertTab):
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::haveSameTagName):
+ (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
+ (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
+ (WebCore::ReplaceSelectionCommand::shouldPerformSmartReplace):
+ (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
+ (WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition):
+ (WebCore::ReplaceSelectionCommand::insertAsListItems):
+ (WebCore::ReplaceSelectionCommand::performTrivialReplace):
+ * editing/SpellChecker.cpp:
+ (WebCore::SpellChecker::isCheckable):
+ * editing/SplitTextNodeContainingElementCommand.cpp:
+ (WebCore::SplitTextNodeContainingElementCommand::doApply):
+ * editing/TextIterator.cpp:
+ (WebCore::isRendererReplacedElement):
+ * editing/VisibleSelection.cpp:
+ (WebCore::VisibleSelection::isInPasswordField):
+ * editing/VisibleUnits.cpp:
+ (WebCore::startPositionForLine):
+ (WebCore::endPositionForLine):
+ (WebCore::startOfParagraph):
+ (WebCore::endOfParagraph):
+ * editing/cocoa/HTMLConverter.mm:
+ (HTMLConverter::aggregatedAttributesForAncestors):
+ (HTMLConverter::aggregatedAttributesForElementAndItsAncestors):
+ (WebCore::editingAttributedStringFromRange):
+ * editing/htmlediting.cpp:
+ (WebCore::enclosingBlock):
+ (WebCore::enclosingElementWithTag):
+ (WebCore::enclosingAnchorElement):
+ (WebCore::enclosingList):
+ (WebCore::lineBreakExistsAtPosition):
+ (WebCore::areIdenticalElements):
+ (WebCore::isNonTableCellHTMLBlockElement):
+ (WebCore::deprecatedEnclosingBlockFlowElement):
+ * editing/ios/EditorIOS.mm:
+ (WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
+ * editing/markup.cpp:
+ (WebCore::StyledMarkupAccumulator::appendText):
+ (WebCore::ancestorToRetainStructureAndAppearanceForBlock):
+ (WebCore::isPlainTextMarkup):
+ * fileapi/FileReader.cpp:
+ (WebCore::FileReader::readAsArrayBuffer):
+ (WebCore::FileReader::readAsBinaryString):
+ (WebCore::FileReader::readAsText):
+ (WebCore::FileReader::readAsDataURL):
+ * html/BaseChooserOnlyDateAndTimeInputType.cpp:
+ (WebCore::BaseChooserOnlyDateAndTimeInputType::updateAppearance):
+ * html/FTPDirectoryDocument.cpp:
+ (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
+ * html/FormAssociatedElement.cpp:
+ (WebCore::FormAssociatedElement::findAssociatedForm):
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::appendServerMapMousePosition):
+ (WebCore::HTMLAnchorElement::defaultEventHandler):
+ (WebCore::HTMLAnchorElement::eventType):
+ (WebCore::isEnterKeyKeydownEvent):
+ (WebCore::isLinkClick):
+ * html/HTMLAreaElement.cpp:
+ (WebCore::HTMLAreaElement::imageElement):
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::insertedInto):
+ * html/HTMLButtonElement.cpp:
+ (WebCore::HTMLButtonElement::defaultEventHandler):
+ * html/HTMLCollection.cpp:
+ (WebCore::HTMLCollection::namedItem):
+ (WebCore::HTMLCollection::updateNamedElementCache):
+ * html/HTMLDocument.cpp:
+ (WebCore::HTMLDocument::bgColor):
+ (WebCore::HTMLDocument::setBgColor):
+ (WebCore::HTMLDocument::fgColor):
+ (WebCore::HTMLDocument::setFgColor):
+ (WebCore::HTMLDocument::alinkColor):
+ (WebCore::HTMLDocument::setAlinkColor):
+ (WebCore::HTMLDocument::linkColor):
+ (WebCore::HTMLDocument::setLinkColor):
+ (WebCore::HTMLDocument::vlinkColor):
+ (WebCore::HTMLDocument::setVlinkColor):
+ (WebCore::HTMLDocument::isFrameSet):
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::matchesReadWritePseudoClass):
+ (WebCore::mergeWithNextTextNode):
+ (WebCore::HTMLElement::setOuterHTML):
+ (WebCore::HTMLElement::setOuterText):
+ (WebCore::HTMLElement::insertAdjacentElement):
+ (WebCore::contextElementForInsertion):
+ (WebCore::HTMLElement::directionality):
+ (WebCore::HTMLElement::dirAttributeChanged):
+ * html/HTMLEmbedElement.cpp:
+ (WebCore::HTMLEmbedElement::rendererIsNeeded):
+ * html/HTMLFieldSetElement.cpp:
+ (WebCore::updateFromControlElementsAncestorDisabledStateUnder):
+ (WebCore::HTMLFieldSetElement::disabledStateChanged):
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::computeIsDisabledByFieldsetAncestor):
+ (WebCore::shouldAutofocus):
+ (WebCore::HTMLFormControlElement::enclosingFormControlElement):
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::rendererIsNeeded):
+ (WebCore::HTMLFormElement::submitImplicitly):
+ (WebCore::submitElementFromEvent):
+ (WebCore::HTMLFormElement::validateInteractively):
+ (WebCore::HTMLFormElement::submit):
+ (WebCore::HTMLFormElement::reset):
+ (WebCore::HTMLFormElement::defaultButton):
+ (WebCore::HTMLFormElement::documentDidResumeFromPageCache):
+ * html/HTMLFrameOwnerElement.cpp:
+ (WebCore::HTMLFrameOwnerElement::getSVGDocument):
+ * html/HTMLFrameSetElement.cpp:
+ (WebCore::HTMLFrameSetElement::defaultEventHandler):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::defaultEventHandler):
+ (WebCore::HTMLInputElement::dataList):
+ * html/HTMLLabelElement.cpp:
+ (WebCore::nodeAsSupportedLabelableElement):
+ * html/HTMLLegendElement.cpp:
+ (WebCore::HTMLLegendElement::virtualForm):
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::parseAttribute):
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::hasFallbackContent):
+ (WebCore::HTMLObjectElement::updateDocNamedItem):
+ * html/HTMLOptGroupElement.cpp:
+ (WebCore::HTMLOptGroupElement::recalcSelectOptions):
+ (WebCore::HTMLOptGroupElement::ownerSelectElement):
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::setText):
+ (WebCore::HTMLOptionElement::index):
+ (WebCore::HTMLOptionElement::ownerDataListElement):
+ (WebCore::HTMLOptionElement::ownerSelectElement):
+ (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
+ (WebCore::HTMLOptionElement::isDisabledFormControl):
+ (WebCore::HTMLOptionElement::collectOptionInnerText):
+ * html/HTMLPlugInImageElement.cpp:
+ (WebCore::addPlugInsFromNodeListMatchingPlugInOrigin):
+ (WebCore::HTMLPlugInImageElement::defaultEventHandler):
+ * html/HTMLScriptElement.cpp:
+ (WebCore::HTMLScriptElement::setText):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::nextValidIndex):
+ (WebCore::HTMLSelectElement::saveLastSelection):
+ (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
+ (WebCore::HTMLSelectElement::updateListBoxSelection):
+ (WebCore::HTMLSelectElement::listBoxOnChange):
+ (WebCore::HTMLSelectElement::recalcListItems):
+ (WebCore::HTMLSelectElement::selectedIndex):
+ (WebCore::HTMLSelectElement::selectOption):
+ (WebCore::HTMLSelectElement::optionToListIndex):
+ (WebCore::HTMLSelectElement::listToOptionIndex):
+ (WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
+ (WebCore::HTMLSelectElement::saveFormControlState):
+ (WebCore::HTMLSelectElement::searchOptionsForValue):
+ (WebCore::HTMLSelectElement::restoreFormControlState):
+ (WebCore::HTMLSelectElement::appendFormData):
+ (WebCore::HTMLSelectElement::reset):
+ (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
+ (WebCore::HTMLSelectElement::updateSelectedState):
+ (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
+ (WebCore::HTMLSelectElement::defaultEventHandler):
+ (WebCore::HTMLSelectElement::lastSelectedListIndex):
+ (WebCore::HTMLSelectElement::optionAtIndex):
+ (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
+ (WebCore::HTMLSelectElement::length):
+ * html/HTMLSourceElement.cpp:
+ (WebCore::HTMLSourceElement::insertedInto):
+ (WebCore::HTMLSourceElement::removedFrom):
+ * html/HTMLSummaryElement.cpp:
+ (WebCore::isClickableControl):
+ (WebCore::HTMLSummaryElement::defaultEventHandler):
+ * html/HTMLTableElement.cpp:
+ (WebCore::HTMLTableElement::caption):
+ * html/HTMLTablePartElement.cpp:
+ (WebCore::HTMLTablePartElement::findParentTable):
+ * html/HTMLTableRowElement.cpp:
+ (WebCore::HTMLTableRowElement::rowIndex):
+ * html/HTMLTableRowsCollection.cpp:
+ (WebCore::HTMLTableRowsCollection::rowAfter):
+ (WebCore::HTMLTableRowsCollection::lastRow):
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::defaultEventHandler):
+ * html/HTMLTextFormControlElement.cpp:
+ (WebCore::HTMLTextFormControlElement::innerTextValue):
+ (WebCore::positionForIndex):
+ (WebCore::HTMLTextFormControlElement::indexForPosition):
+ (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
+ * html/HTMLTitleElement.cpp:
+ (WebCore::HTMLTitleElement::setText):
+ * html/HTMLTrackElement.cpp:
+ (WebCore::HTMLTrackElement::mediaElement):
+ * html/ImageDocument.cpp:
+ (WebCore::ImageEventListener::handleEvent):
+ * html/InputType.cpp:
+ (WebCore::InputType::shouldSubmitImplicitly):
+ * html/MediaDocument.cpp:
+ (WebCore::ancestorVideoElement):
+ (WebCore::MediaDocument::defaultEventHandler):
+ * html/RadioInputType.cpp:
+ (WebCore::RadioInputType::handleKeydownEvent):
+ (WebCore::RadioInputType::isKeyboardFocusable):
+ * html/TextFieldInputType.cpp:
+ (WebCore::TextFieldInputType::shouldSubmitImplicitly):
+ * html/parser/HTMLConstructionSite.cpp:
+ (WebCore::hasImpliedEndTag):
+ (WebCore::HTMLConstructionSite::attachLater):
+ (WebCore::HTMLConstructionSite::insertHTMLFormElement):
+ (WebCore::HTMLConstructionSite::insertTextNode):
+ (WebCore::HTMLConstructionSite::ownerDocumentForCurrentNode):
+ (WebCore::HTMLConstructionSite::findFosterSite):
+ * html/parser/HTMLElementStack.cpp:
+ (WebCore::HTMLNames::isScopeMarker):
+ (WebCore::HTMLNames::isTableScopeMarker):
+ (WebCore::HTMLNames::isSelectScopeMarker):
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
+ (WebCore::HTMLTreeBuilder::processStartTagForInBody):
+ (WebCore::HTMLTreeBuilder::processStartTag):
+ (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
+ (WebCore::HTMLTreeBuilder::processEndTag):
+ (WebCore::HTMLTreeBuilder::processCharacterBuffer):
+ * html/shadow/InsertionPoint.h:
+ (WebCore::isActiveInsertionPoint):
+ (WebCore::parentNodeForDistribution):
+ (WebCore::parentElementForDistribution):
+ * html/shadow/MediaControlElementTypes.cpp:
+ (WebCore::parentMediaElement):
+ (WebCore::mediaControlElementType):
+ (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
+ * html/shadow/MediaControlElements.cpp:
+ (WebCore::MediaControlPanelElement::defaultEventHandler):
+ (WebCore::MediaControlVolumeSliderContainerElement::defaultEventHandler):
+ (WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler):
+ (WebCore::MediaControlTimelineElement::defaultEventHandler):
+ * html/shadow/MediaControls.cpp:
+ (WebCore::MediaControls::containsRelatedTarget):
+ * html/shadow/MediaControlsApple.cpp:
+ (WebCore::MediaControlsAppleEventListener::handleEvent):
+ * html/shadow/SliderThumbElement.cpp:
+ (WebCore::SliderThumbElement::defaultEventHandler):
+ * html/shadow/SpinButtonElement.cpp:
+ (WebCore::SpinButtonElement::defaultEventHandler):
+ (WebCore::SpinButtonElement::forwardEvent):
+ * html/shadow/TextControlInnerElements.cpp:
+ (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
+ (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
+ * html/track/VTTCue.cpp:
+ (WebCore::VTTCue::copyWebVTTNodeToDOMTree):
+ (WebCore::VTTCue::markFutureAndPastNodes):
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::InspectorCSSAgent::elementForId):
+ (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::unbind):
+ (WebCore::InspectorDOMAgent::assertDocument):
+ (WebCore::InspectorDOMAgent::assertElement):
+ (WebCore::InspectorDOMAgent::querySelector):
+ (WebCore::InspectorDOMAgent::querySelectorAll):
+ (WebCore::InspectorDOMAgent::setNodeName):
+ (WebCore::InspectorDOMAgent::buildObjectForNode):
+ (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
+ (WebCore::InspectorDOMAgent::innerParentNode):
+ * inspector/InspectorFrontendHost.cpp:
+ (WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::frameForScriptExecutionContext):
+ (WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
+ * inspector/InspectorInstrumentation.h:
+ (WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
+ * inspector/InspectorNodeFinder.cpp:
+ (WebCore::InspectorNodeFinder::searchUsingDOMTreeTraversal):
+ (WebCore::InspectorNodeFinder::searchUsingXPath):
+ (WebCore::InspectorNodeFinder::searchUsingCSSSelectors):
+ * inspector/InspectorOverlay.cpp:
+ (WebCore::buildObjectForElementInfo):
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::InspectorStyleSheet::inlineStyleSheetText):
+ * loader/FormSubmission.cpp:
+ (WebCore::FormSubmission::create):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::handleFallbackContent):
+ * loader/SubframeLoader.cpp:
+ (WebCore::SubframeLoader::loadPlugin):
+ * loader/ThreadableLoader.cpp:
+ (WebCore::ThreadableLoader::create):
+ (WebCore::ThreadableLoader::loadResourceSynchronously):
+ * loader/cache/MemoryCache.cpp:
+ (WebCore::MemoryCache::removeRequestFromCache):
+ (WebCore::MemoryCache::removeRequestFromSessionCaches):
+ * mathml/MathMLElement.cpp:
+ (WebCore::MathMLElement::attributeChanged):
+ * mathml/MathMLSelectElement.cpp:
+ (WebCore::MathMLSelectElement::getSelectedSemanticsChild):
+ * page/Chrome.cpp:
+ (WebCore::Chrome::setToolTip):
+ * page/ContextMenuController.cpp:
+ (WebCore::ContextMenuController::maybeCreateContextMenu):
+ (WebCore::ContextMenuController::populate):
+ * page/DOMTimer.cpp:
+ (WebCore::DOMTimer::install):
+ (WebCore::DOMTimer::fired):
+ * page/DragController.cpp:
+ (WebCore::elementUnderMouse):
+ (WebCore::DragController::operationForLoad):
+ (WebCore::DragController::canProcessDrag):
+ (WebCore::DragController::draggableElement):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::isSubmitImage):
+ (WebCore::targetIsFrame):
+ (WebCore::findDropZone):
+ (WebCore::EventHandler::updateDragAndDrop):
+ (WebCore::EventHandler::updateMouseEventTargetNode):
+ (WebCore::EventHandler::handleTextInputEvent):
+ * page/FocusController.cpp:
+ (WebCore::FocusNavigationScope::owner):
+ (WebCore::FocusController::findFocusableElementDescendingDownIntoFrameDocument):
+ (WebCore::FocusController::findFocusableElementAcrossFocusScope):
+ (WebCore::FocusController::findElementWithExactTabIndex):
+ (WebCore::nextElementWithGreaterTabIndex):
+ (WebCore::previousElementWithLowerTabIndex):
+ (WebCore::FocusController::nextFocusableElement):
+ (WebCore::FocusController::previousFocusableElement):
+ (WebCore::clearSelectionIfNeeded):
+ (WebCore::FocusController::advanceFocusDirectionally):
+ * page/Frame.cpp:
+ (WebCore::Frame::searchForLabelsBeforeElement):
+ (WebCore::Frame::setPageAndTextZoomFactors):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::init):
+ (WebCore::FrameView::scrollToAnchor):
+ * page/PageSerializer.cpp:
+ (WebCore::PageSerializer::serializeFrame):
+ * page/SpatialNavigation.cpp:
+ (WebCore::FocusCandidate::FocusCandidate):
+ (WebCore::scrollInDirection):
+ (WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDirection):
+ (WebCore::canScrollInDirection):
+ (WebCore::nodeRectInAbsoluteCoordinates):
+ (WebCore::areElementsOnSameLine):
+ * page/ios/FrameIOS.mm:
+ (WebCore::ancestorRespondingToClickEvents):
+ * platform/network/FormData.cpp:
+ (WebCore::FormData::appendKeyValuePairItems):
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::setInnerNode):
+ (WebCore::HitTestResult::setInnerNonSharedNode):
+ (WebCore::HitTestResult::title):
+ (WebCore::HitTestResult::innerTextIfTruncated):
+ (WebCore::HitTestResult::mediaSupportsFullscreen):
+ (WebCore::HitTestResult::enterFullscreenForVideo):
+ (WebCore::HitTestResult::mediaIsVideo):
+ (WebCore::HitTestResult::innerElement):
+ (WebCore::HitTestResult::innerNonSharedElement):
+ * rendering/RenderBlockFlow.cpp:
+ (WebCore::resizeTextPermitted):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::sizesLogicalWidthToFitContent):
+ * rendering/RenderCounter.cpp:
+ (WebCore::planCounter):
+ * rendering/RenderDetailsMarker.cpp:
+ (WebCore::RenderDetailsMarker::isOpen):
+ * rendering/RenderEmbeddedObject.cpp:
+ (WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::uploadButton):
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::paintAreaElementFocusRing):
+ (WebCore::RenderImage::paintIntoRect):
+ (WebCore::RenderImage::imageMap):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollRectToVisible):
+ (WebCore::RenderLayer::resize):
+ (WebCore::RenderLayer::updateSnapOffsets):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::isRestartedPlugin):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::updateFromElement):
+ (WebCore::RenderListBox::addFocusRingRects):
+ (WebCore::RenderListBox::paintItemForeground):
+ (WebCore::RenderListBox::paintItemBackground):
+ * rendering/RenderMarquee.cpp:
+ (WebCore::RenderMarquee::marqueeSpeed):
+ * rendering/RenderMenuList.cpp:
+ (WebCore::selectedOptionCount):
+ (RenderMenuList::updateOptionsWidth):
+ (RenderMenuList::setTextFromOption):
+ (RenderMenuList::itemText):
+ (RenderMenuList::itemIsEnabled):
+ (RenderMenuList::itemIsLabel):
+ (RenderMenuList::itemIsSelected):
+ * rendering/RenderMeter.cpp:
+ (WebCore::RenderMeter::meterElement):
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::isChildAllowed):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::addPDFURLRect):
+ (WebCore::RenderObject::shouldRespectImageOrientation):
+ (WebCore::RenderObject::updateDragState):
+ (WebCore::RenderObject::getUncachedPseudoStyle):
+ (WebCore::RenderObject::getTextDecorationColors):
+ * rendering/RenderProgress.cpp:
+ (WebCore::RenderProgress::progressElement):
+ * rendering/RenderSnapshottedPlugIn.cpp:
+ (WebCore::RenderSnapshottedPlugIn::handleEvent):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
+ (WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::parseColSpanFromDOM):
+ (WebCore::RenderTableCell::parseRowSpanFromDOM):
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::isEnabled):
+ (WebCore::RenderTheme::isFocused):
+ (WebCore::RenderTheme::isPressed):
+ (WebCore::RenderTheme::isSpinUpButtonPartPressed):
+ (WebCore::RenderTheme::isReadOnlyControl):
+ (WebCore::RenderTheme::isHovered):
+ (WebCore::RenderTheme::isSpinUpButtonPartHovered):
+ (WebCore::RenderTheme::paintSliderTicks):
+ * rendering/RenderThemeGtk.cpp:
+ (WebCore::getMediaElementFromRenderObject):
+ (WebCore::nodeHasClass):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::updatePressedState):
+ (WebCore::RenderThemeMac::paintSliderThumb):
+ (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
+ (WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::isEmptyOrUnstyledAppleStyleSpan):
+ (WebCore::RenderTreeAsText::writeRenderObject):
+ * rendering/TextAutosizer.cpp:
+ (WebCore::TextAutosizer::isAutosizingContainer):
+ (WebCore::TextAutosizer::containerContainsOneOfTags):
+ * rendering/mathml/RenderMathMLBlock.cpp:
+ (WebCore::RenderMathMLBlock::isChildAllowed):
+ * rendering/svg/RenderSVGGradientStop.cpp:
+ (WebCore::RenderSVGGradientStop::gradientElement):
+ * rendering/svg/RenderSVGTransformableContainer.cpp:
+ (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
+ * rendering/svg/SVGRenderingContext.cpp:
+ (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
+ * style/StyleResolveTree.cpp:
+ (WebCore::Style::invalidateWhitespaceOnlyTextSiblingsAfterAttachIfNeeded):
+ (WebCore::Style::attachChildren):
+ (WebCore::Style::attachDistributedChildren):
+ (WebCore::Style::detachDistributedChildren):
+ (WebCore::Style::detachChildren):
+ (WebCore::Style::resolveShadowTree):
+ (WebCore::Style::resolveTree):
+ * svg/SVGAElement.cpp:
+ (WebCore::SVGAElement::defaultEventHandler):
+ * svg/SVGAltGlyphElement.cpp:
+ (WebCore::SVGAltGlyphElement::hasValidGlyphElements):
+ * svg/SVGAnimateMotionElement.cpp:
+ (WebCore::SVGAnimateMotionElement::hasValidAttributeType):
+ * svg/SVGDocument.cpp:
+ (WebCore::SVGDocument::rootElement):
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::isOutermostSVGSVGElement):
+ (WebCore::SVGElement::ownerSVGElement):
+ (WebCore::SVGElement::viewportElement):
+ * svg/SVGFontData.cpp:
+ (WebCore::SVGFontData::applySVGGlyphSelection):
+ * svg/SVGFontFaceElement.cpp:
+ (WebCore::SVGFontFaceElement::associatedFontElement):
+ (WebCore::SVGFontFaceElement::rebuildFontFace):
+ * svg/SVGFontFaceSrcElement.cpp:
+ (WebCore::SVGFontFaceSrcElement::childrenChanged):
+ * svg/SVGGlyphElement.cpp:
+ (WebCore::SVGGlyphElement::invalidateGlyphCache):
+ * svg/SVGHKernElement.cpp:
+ (WebCore::SVGHKernElement::insertedInto):
+ (WebCore::SVGHKernElement::removedFrom):
+ * svg/SVGLengthContext.cpp:
+ (WebCore::SVGLengthContext::determineViewport):
+ * svg/SVGLinearGradientElement.cpp:
+ (WebCore::SVGLinearGradientElement::collectGradientAttributes):
+ * svg/SVGLocatable.cpp:
+ (WebCore::isViewportElement):
+ (WebCore::SVGLocatable::getTransformToElement):
+ * svg/SVGMPathElement.cpp:
+ (WebCore::SVGMPathElement::pathElement):
+ (WebCore::SVGMPathElement::notifyParentOfPathChange):
+ * svg/SVGPathElement.cpp:
+ (WebCore::SVGPathElement::invalidateMPathDependencies):
+ * svg/SVGPatternElement.cpp:
+ (WebCore::SVGPatternElement::collectPatternAttributes):
+ * svg/SVGRadialGradientElement.cpp:
+ (WebCore::SVGRadialGradientElement::collectGradientAttributes):
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::setupInitialView):
+ * svg/SVGTextContentElement.cpp:
+ (WebCore::SVGTextContentElement::elementFromRenderer):
+ * svg/SVGUseElement.cpp:
+ (WebCore::dumpInstanceTree):
+ (WebCore::SVGUseElement::toClipPath):
+ (WebCore::SVGUseElement::expandUseElementsInShadowTree):
+ (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
+ * svg/SVGVKernElement.cpp:
+ (WebCore::SVGVKernElement::insertedInto):
+ (WebCore::SVGVKernElement::removedFrom):
+ * svg/animation/SVGSMILElement.cpp:
+ (WebCore::SVGSMILElement::buildPendingResource):
+ * svg/graphics/SVGImageCache.cpp:
+ (WebCore::SVGImageCache::imageForRenderer):
+ * testing/Internals.cpp:
+ (WebCore::Internals::shadowRootType):
+ (WebCore::Internals::visiblePlaceholder):
+ (WebCore::Internals::selectColorInColorChooser):
+ (WebCore::Internals::wasLastChangeUserEdit):
+ (WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):
+ (WebCore::Internals::isSelectPopupVisible):
+ * testing/js/WebCoreTestSupport.cpp:
+ (WebCoreTestSupport::injectInternalsObject):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::open):
+ * xml/XPathFunctions.cpp:
+ (WebCore::XPath::expandedNameLocalPart):
+ (WebCore::XPath::FunLang::evaluate):
+ * xml/XPathNodeSet.cpp:
+ (WebCore::XPath::sortBlock):
+ (WebCore::XPath::NodeSet::sort):
+ (WebCore::XPath::findRootNode):
+ (WebCore::XPath::NodeSet::traversalSort):
+ * xml/parser/XMLDocumentParserLibxml2.cpp:
+ (WebCore::XMLDocumentParser::XMLDocumentParser):
+
</ins><span class="cx"> 2014-10-02 Rik Cabanier <cabanier@adobe.com>
</span><span class="cx">
</span><span class="cx"> Clean up loops in CSSGradientValue.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBFactorycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBFactory.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBFactory.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBFactory.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -68,8 +68,8 @@
</span><span class="cx"> namespace {
</span><span class="cx"> static bool isContextValid(ScriptExecutionContext* context)
</span><span class="cx"> {
</span><del>- ASSERT(is<Document>(context) || context->isWorkerGlobalScope());
- if (is<Document>(context)) {
</del><ins>+ ASSERT(is<Document>(*context) || context->isWorkerGlobalScope());
+ if (is<Document>(*context)) {
</ins><span class="cx"> Document& document = downcast<Document>(*context);
</span><span class="cx"> return document.frame() && document.page() && (!document.page()->usesEphemeralSession() || SchemeRegistry::allowsDatabaseAccessInPrivateBrowsing(document.securityOrigin()->protocol()));
</span><span class="cx"> }
</span><span class="lines">@@ -79,7 +79,7 @@
</span><span class="cx"> static String getIndexedDBDatabasePath(ScriptExecutionContext* context)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(isContextValid(context));
</span><del>- if (is<Document>(context)) {
</del><ins>+ if (is<Document>(*context)) {
</ins><span class="cx"> Document& document = downcast<Document>(*context);
</span><span class="cx"> return document.page()->group().groupSettings().indexedDBDatabasePath();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebsocketsThreadableWebSocketChannelcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx"> ASSERT(context);
</span><span class="cx"> ASSERT(client);
</span><span class="cx">
</span><del>- if (is<WorkerGlobalScope>(context)) {
</del><ins>+ if (is<WorkerGlobalScope>(*context)) {
</ins><span class="cx"> WorkerGlobalScope& workerGlobalScope = downcast<WorkerGlobalScope>(*context);
</span><span class="cx"> WorkerRunLoop& runLoop = workerGlobalScope.thread().runLoop();
</span><span class="cx"> StringBuilder mode;
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebsocketsWebSocketcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/websockets/WebSocket.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/websockets/WebSocket.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/Modules/websockets/WebSocket.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -239,7 +239,7 @@
</span><span class="cx">
</span><span class="cx"> // FIXME: Convert this to check the isolated world's Content Security Policy once webkit.org/b/104520 is solved.
</span><span class="cx"> bool shouldBypassMainWorldContentSecurityPolicy = false;
</span><del>- if (is<Document>(scriptExecutionContext())) {
</del><ins>+ if (is<Document>(*scriptExecutionContext())) {
</ins><span class="cx"> Document& document = downcast<Document>(*scriptExecutionContext());
</span><span class="cx"> shouldBypassMainWorldContentSecurityPolicy = document.frame()->script().shouldBypassMainWorldContentSecurityPolicy();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebsocketsWebSocketHandshakecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/websockets/WebSocketHandshake.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/websockets/WebSocketHandshake.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/Modules/websockets/WebSocketHandshake.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -196,7 +196,7 @@
</span><span class="cx"> fields.append("Sec-WebSocket-Protocol: " + m_clientProtocol);
</span><span class="cx">
</span><span class="cx"> URL url = httpURLForAuthenticationAndCookies();
</span><del>- if (is<Document>(m_context)) {
</del><ins>+ if (is<Document>(*m_context)) {
</ins><span class="cx"> Document& document = downcast<Document>(*m_context);
</span><span class="cx"> String cookie = cookieRequestHeaderFieldValue(&document, url);
</span><span class="cx"> if (!cookie.isEmpty())
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAXObjectCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AXObjectCache.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AXObjectCache.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/accessibility/AXObjectCache.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -176,7 +176,7 @@
</span><span class="cx"> // get the focused node in the page
</span><span class="cx"> Document* focusedDocument = page->focusController().focusedOrMainFrame().document();
</span><span class="cx"> Element* focusedElement = focusedDocument->focusedElement();
</span><del>- if (focusedElement && is<HTMLAreaElement>(focusedElement))
</del><ins>+ if (is<HTMLAreaElement>(focusedElement))
</ins><span class="cx"> return focusedImageMapUIElement(downcast<HTMLAreaElement>(focusedElement));
</span><span class="cx">
</span><span class="cx"> AccessibilityObject* obj = focusedDocument->axObjectCache()->getOrCreate(focusedElement ? static_cast<Node*>(focusedElement) : focusedDocument);
</span><span class="lines">@@ -294,7 +294,7 @@
</span><span class="cx"> return AccessibilitySVGRoot::create(renderer);
</span><span class="cx">
</span><span class="cx"> // Search field buttons
</span><del>- if (node && is<Element>(node) && downcast<Element>(*node).isSearchFieldCancelButtonElement())
</del><ins>+ if (is<Element>(node) && downcast<Element>(*node).isSearchFieldCancelButtonElement())
</ins><span class="cx"> return AccessibilitySearchFieldCancelButton::create(renderer);
</span><span class="cx">
</span><span class="cx"> if (renderer->isBoxModelObject()) {
</span><span class="lines">@@ -386,7 +386,7 @@
</span><span class="cx">
</span><span class="cx"> bool insideMeterElement = false;
</span><span class="cx"> #if ENABLE(METER_ELEMENT)
</span><del>- insideMeterElement = is<HTMLMeterElement>(node->parentElement());
</del><ins>+ insideMeterElement = is<HTMLMeterElement>(*node->parentElement());
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> if (!inCanvasSubtree && !isHidden && !insideMeterElement)
</span><span class="lines">@@ -653,7 +653,7 @@
</span><span class="cx">
</span><span class="cx"> void AXObjectCache::handleLiveRegionCreated(Node* node)
</span><span class="cx"> {
</span><del>- if (!node || !node->renderer() || !is<Element>(node))
</del><ins>+ if (!is<Element>(node) || !node->renderer())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> Element* element = downcast<Element>(node);
</span><span class="lines">@@ -917,7 +917,7 @@
</span><span class="cx"> handleAriaRoleChanged(element);
</span><span class="cx"> else if (attrName == altAttr || attrName == titleAttr)
</span><span class="cx"> textChanged(element);
</span><del>- else if (attrName == forAttr && is<HTMLLabelElement>(element))
</del><ins>+ else if (attrName == forAttr && is<HTMLLabelElement>(*element))
</ins><span class="cx"> labelChanged(element);
</span><span class="cx">
</span><span class="cx"> if (!attrName.localName().string().startsWith("aria-"))
</span><span class="lines">@@ -947,8 +947,8 @@
</span><span class="cx">
</span><span class="cx"> void AXObjectCache::labelChanged(Element* element)
</span><span class="cx"> {
</span><del>- ASSERT(is<HTMLLabelElement>(element));
- HTMLElement* correspondingControl = downcast<HTMLLabelElement>(element)->control();
</del><ins>+ ASSERT(is<HTMLLabelElement>(*element));
+ HTMLElement* correspondingControl = downcast<HTMLLabelElement>(*element).control();
</ins><span class="cx"> textChanged(correspondingControl);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1030,7 +1030,7 @@
</span><span class="cx"> const Element* AXObjectCache::rootAXEditableElement(const Node* node)
</span><span class="cx"> {
</span><span class="cx"> const Element* result = node->rootEditableElement();
</span><del>- const Element* element = is<Element>(node) ? downcast<Element>(node) : node->parentElement();
</del><ins>+ const Element* element = is<Element>(*node) ? downcast<Element>(node) : node->parentElement();
</ins><span class="cx">
</span><span class="cx"> for (; element; element = element->parentElement()) {
</span><span class="cx"> if (nodeIsTextControl(element))
</span><span class="lines">@@ -1073,7 +1073,7 @@
</span><span class="cx"> // To determine if a node is ARIA visible, we need to check the parent hierarchy to see if anyone specifies
</span><span class="cx"> // aria-hidden explicitly.
</span><span class="cx"> for (Node* testNode = node; testNode; testNode = testNode->parentNode()) {
</span><del>- if (is<Element>(testNode)) {
</del><ins>+ if (is<Element>(*testNode)) {
</ins><span class="cx"> const AtomicString& ariaHiddenValue = downcast<Element>(*testNode).fastGetAttribute(aria_hiddenAttr);
</span><span class="cx"> if (equalIgnoringCase(ariaHiddenValue, "false"))
</span><span class="cx"> return true;
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityListBoxOptioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityListBoxOption.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityListBoxOption.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/accessibility/AccessibilityListBoxOption.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -61,9 +61,6 @@
</span><span class="cx">
</span><span class="cx"> bool AccessibilityListBoxOption::isEnabled() const
</span><span class="cx"> {
</span><del>- if (!m_optionElement)
- return false;
-
</del><span class="cx"> if (is<HTMLOptGroupElement>(m_optionElement))
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="lines">@@ -78,9 +75,6 @@
</span><span class="cx">
</span><span class="cx"> bool AccessibilityListBoxOption::isSelected() const
</span><span class="cx"> {
</span><del>- if (!m_optionElement)
- return false;
-
</del><span class="cx"> if (!is<HTMLOptionElement>(m_optionElement))
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="lines">@@ -131,9 +125,6 @@
</span><span class="cx">
</span><span class="cx"> bool AccessibilityListBoxOption::canSetSelectedAttribute() const
</span><span class="cx"> {
</span><del>- if (!m_optionElement)
- return false;
-
</del><span class="cx"> if (!is<HTMLOptionElement>(m_optionElement))
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="lines">@@ -156,10 +147,10 @@
</span><span class="cx"> if (!ariaLabel.isNull())
</span><span class="cx"> return ariaLabel;
</span><span class="cx">
</span><del>- if (is<HTMLOptionElement>(m_optionElement))
</del><ins>+ if (is<HTMLOptionElement>(*m_optionElement))
</ins><span class="cx"> return downcast<HTMLOptionElement>(*m_optionElement).text();
</span><span class="cx">
</span><del>- if (is<HTMLOptGroupElement>(m_optionElement))
</del><ins>+ if (is<HTMLOptGroupElement>(*m_optionElement))
</ins><span class="cx"> return downcast<HTMLOptGroupElement>(*m_optionElement).groupLabelText();
</span><span class="cx">
</span><span class="cx"> return String();
</span><span class="lines">@@ -202,10 +193,10 @@
</span><span class="cx"> if (!m_optionElement)
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><del>- if (is<HTMLOptionElement>(m_optionElement))
</del><ins>+ if (is<HTMLOptionElement>(*m_optionElement))
</ins><span class="cx"> return downcast<HTMLOptionElement>(*m_optionElement).ownerSelectElement();
</span><span class="cx">
</span><del>- if (is<HTMLOptGroupElement>(m_optionElement))
</del><ins>+ if (is<HTMLOptGroupElement>(*m_optionElement))
</ins><span class="cx"> return downcast<HTMLOptGroupElement>(*m_optionElement).ownerSelectElement();
</span><span class="cx">
</span><span class="cx"> return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityMediaControlscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityMediaControls.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityMediaControls.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/accessibility/AccessibilityMediaControls.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -274,7 +274,7 @@
</span><span class="cx"> String AccessibilityMediaTimeline::valueDescription() const
</span><span class="cx"> {
</span><span class="cx"> Node* node = m_renderer->node();
</span><del>- if (!is<HTMLInputElement>(node))
</del><ins>+ if (!is<HTMLInputElement>(*node))
</ins><span class="cx"> return String();
</span><span class="cx">
</span><span class="cx"> float time = downcast<HTMLInputElement>(*node).value().toFloat();
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityMenuListPopupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -70,7 +70,7 @@
</span><span class="cx">
</span><span class="cx"> AccessibilityMenuListOption* AccessibilityMenuListPopup::menuListOptionAccessibilityObject(HTMLElement* element) const
</span><span class="cx"> {
</span><del>- if (!element || !is<HTMLOptionElement>(element) || !element->inRenderedDocument())
</del><ins>+ if (!is<HTMLOptionElement>(element) || !element->inRenderedDocument())
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> AccessibilityObject* object = document()->axObjectCache()->getOrCreate(MenuListOptionRole);
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityNodeObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -292,7 +292,7 @@
</span><span class="cx"> return StaticTextRole;
</span><span class="cx"> if (node()->hasTagName(buttonTag))
</span><span class="cx"> return buttonRoleType();
</span><del>- if (is<HTMLInputElement>(node())) {
</del><ins>+ if (is<HTMLInputElement>(*node())) {
</ins><span class="cx"> HTMLInputElement& input = downcast<HTMLInputElement>(*node());
</span><span class="cx"> if (input.isCheckbox())
</span><span class="cx"> return CheckBoxRole;
</span><span class="lines">@@ -315,7 +315,7 @@
</span><span class="cx"> HTMLSelectElement& selectElement = downcast<HTMLSelectElement>(*node());
</span><span class="cx"> return selectElement.multiple() ? ListBoxRole : PopUpButtonRole;
</span><span class="cx"> }
</span><del>- if (is<HTMLTextAreaElement>(node()))
</del><ins>+ if (is<HTMLTextAreaElement>(*node()))
</ins><span class="cx"> return TextAreaRole;
</span><span class="cx"> if (headingLevel())
</span><span class="cx"> return HeadingRole;
</span><span class="lines">@@ -323,9 +323,9 @@
</span><span class="cx"> return DivRole;
</span><span class="cx"> if (node()->hasTagName(pTag))
</span><span class="cx"> return ParagraphRole;
</span><del>- if (is<HTMLLabelElement>(node()))
</del><ins>+ if (is<HTMLLabelElement>(*node()))
</ins><span class="cx"> return LabelRole;
</span><del>- if (is<Element>(node()) && downcast<Element>(*node()).isFocusable())
</del><ins>+ if (is<Element>(*node()) && downcast<Element>(*node()).isFocusable())
</ins><span class="cx"> return GroupRole;
</span><span class="cx">
</span><span class="cx"> return UnknownRole;
</span><span class="lines">@@ -442,7 +442,7 @@
</span><span class="cx"> bool AccessibilityNodeObject::canvasHasFallbackContent() const
</span><span class="cx"> {
</span><span class="cx"> Node* node = this->node();
</span><del>- if (!node || !is<HTMLCanvasElement>(node))
</del><ins>+ if (!is<HTMLCanvasElement>(node))
</ins><span class="cx"> return false;
</span><span class="cx"> HTMLCanvasElement& canvasElement = downcast<HTMLCanvasElement>(*node);
</span><span class="cx"> // If it has any children that are elements, we'll assume it might be fallback
</span><span class="lines">@@ -467,10 +467,10 @@
</span><span class="cx"> if (!node)
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- if (is<HTMLTextAreaElement>(node))
</del><ins>+ if (is<HTMLTextAreaElement>(*node))
</ins><span class="cx"> return true;
</span><span class="cx">
</span><del>- if (is<HTMLInputElement>(node)) {
</del><ins>+ if (is<HTMLInputElement>(*node)) {
</ins><span class="cx"> HTMLInputElement& input = downcast<HTMLInputElement>(*node);
</span><span class="cx"> return input.isText() || input.isNumberField();
</span><span class="cx"> }
</span><span class="lines">@@ -514,13 +514,13 @@
</span><span class="cx"> if (!node)
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- if (is<HTMLImageElement>(node))
</del><ins>+ if (is<HTMLImageElement>(*node))
</ins><span class="cx"> return true;
</span><span class="cx">
</span><span class="cx"> if (node->hasTagName(appletTag) || node->hasTagName(embedTag) || node->hasTagName(objectTag))
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- if (is<HTMLInputElement>(node)) {
</del><ins>+ if (is<HTMLInputElement>(*node)) {
</ins><span class="cx"> HTMLInputElement& input = downcast<HTMLInputElement>(*node);
</span><span class="cx"> return input.isImageButton();
</span><span class="cx"> }
</span><span class="lines">@@ -552,10 +552,7 @@
</span><span class="cx"> bool AccessibilityNodeObject::isInputImage() const
</span><span class="cx"> {
</span><span class="cx"> Node* node = this->node();
</span><del>- if (!node)
- return false;
-
- if (roleValue() == ButtonRole && is<HTMLInputElement>(node)) {
</del><ins>+ if (is<HTMLInputElement>(node) && roleValue() == ButtonRole) {
</ins><span class="cx"> HTMLInputElement& input = downcast<HTMLInputElement>(*node);
</span><span class="cx"> return input.isImageButton();
</span><span class="cx"> }
</span><span class="lines">@@ -643,7 +640,7 @@
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> Node* node = this->node();
</span><del>- if (!node || !is<Element>(node))
</del><ins>+ if (!is<Element>(node))
</ins><span class="cx"> return true;
</span><span class="cx">
</span><span class="cx"> return !downcast<Element>(*node).isDisabledFormControl();
</span><span class="lines">@@ -678,7 +675,7 @@
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (!is<Element>(node))
</del><ins>+ if (!is<Element>(*node))
</ins><span class="cx"> return false;
</span><span class="cx"> return downcast<Element>(*node).active();
</span><span class="cx"> }
</span><span class="lines">@@ -717,9 +714,6 @@
</span><span class="cx"> bool AccessibilityNodeObject::isHovered() const
</span><span class="cx"> {
</span><span class="cx"> Node* node = this->node();
</span><del>- if (!node)
- return false;
-
</del><span class="cx"> return is<Element>(node) && downcast<Element>(*node).hovered();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -740,10 +734,10 @@
</span><span class="cx"> if (!node)
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- if (is<HTMLTextAreaElement>(node))
- return downcast<HTMLTextAreaElement>(node)->isReadOnly();
</del><ins>+ if (is<HTMLTextAreaElement>(*node))
+ return downcast<HTMLTextAreaElement>(*node).isReadOnly();
</ins><span class="cx">
</span><del>- if (is<HTMLInputElement>(node)) {
</del><ins>+ if (is<HTMLInputElement>(*node)) {
</ins><span class="cx"> HTMLInputElement& input = downcast<HTMLInputElement>(*node);
</span><span class="cx"> if (input.isTextField())
</span><span class="cx"> return input.isReadOnly();
</span><span class="lines">@@ -762,8 +756,8 @@
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> Node* n = this->node();
</span><del>- if (n && is<HTMLFormControlElement>(n))
- return downcast<HTMLFormControlElement>(n)->isRequired();
</del><ins>+ if (is<HTMLFormControlElement>(n))
+ return downcast<HTMLFormControlElement>(*n).isRequired();
</ins><span class="cx">
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="lines">@@ -839,7 +833,7 @@
</span><span class="cx">
</span><span class="cx"> float AccessibilityNodeObject::valueForRange() const
</span><span class="cx"> {
</span><del>- if (node() && is<HTMLInputElement>(node())) {
</del><ins>+ if (is<HTMLInputElement>(node())) {
</ins><span class="cx"> HTMLInputElement& input = downcast<HTMLInputElement>(*node());
</span><span class="cx"> if (input.isRangeControl())
</span><span class="cx"> return input.valueAsNumber();
</span><span class="lines">@@ -853,7 +847,7 @@
</span><span class="cx">
</span><span class="cx"> float AccessibilityNodeObject::maxValueForRange() const
</span><span class="cx"> {
</span><del>- if (node() && is<HTMLInputElement>(node())) {
</del><ins>+ if (is<HTMLInputElement>(node())) {
</ins><span class="cx"> HTMLInputElement& input = downcast<HTMLInputElement>(*node());
</span><span class="cx"> if (input.isRangeControl())
</span><span class="cx"> return input.maximum();
</span><span class="lines">@@ -867,7 +861,7 @@
</span><span class="cx">
</span><span class="cx"> float AccessibilityNodeObject::minValueForRange() const
</span><span class="cx"> {
</span><del>- if (node() && is<HTMLInputElement>(node())) {
</del><ins>+ if (is<HTMLInputElement>(node())) {
</ins><span class="cx"> HTMLInputElement& input = downcast<HTMLInputElement>(*node());
</span><span class="cx"> if (input.isRangeControl())
</span><span class="cx"> return input.minimum();
</span><span class="lines">@@ -900,7 +894,7 @@
</span><span class="cx"> if (!node)
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- return is<HTMLFormControlElement>(node) || AccessibilityObject::isARIAControl(ariaRoleAttribute());
</del><ins>+ return is<HTMLFormControlElement>(*node) || AccessibilityObject::isARIAControl(ariaRoleAttribute());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool AccessibilityNodeObject::isFieldset() const
</span><span class="lines">@@ -965,7 +959,7 @@
</span><span class="cx"> // search up the DOM tree for an anchor element
</span><span class="cx"> // NOTE: this assumes that any non-image with an anchor is an HTMLAnchorElement
</span><span class="cx"> for ( ; node; node = node->parentNode()) {
</span><del>- if (is<HTMLAnchorElement>(node) || (node->renderer() && cache->getOrCreate(node->renderer())->isAnchor()))
</del><ins>+ if (is<HTMLAnchorElement>(*node) || (node->renderer() && cache->getOrCreate(node->renderer())->isAnchor()))
</ins><span class="cx"> return downcast<Element>(node);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -974,7 +968,7 @@
</span><span class="cx">
</span><span class="cx"> static bool isNodeActionElement(Node* node)
</span><span class="cx"> {
</span><del>- if (is<HTMLInputElement>(node)) {
</del><ins>+ if (is<HTMLInputElement>(*node)) {
</ins><span class="cx"> HTMLInputElement& input = downcast<HTMLInputElement>(*node);
</span><span class="cx"> if (!input.isDisabledFormControl() && (input.isRadioButton() || input.isCheckbox() || input.isTextButton() || input.isFileUpload() || input.isImageButton()))
</span><span class="cx"> return true;
</span><span class="lines">@@ -1046,7 +1040,7 @@
</span><span class="cx">
</span><span class="cx"> // check if our parent is a mouse button listener
</span><span class="cx"> // FIXME: Do the continuation search like anchorElement does
</span><del>- for (auto& element : elementLineage(is<Element>(node) ? downcast<Element>(node) : node->parentElement())) {
</del><ins>+ for (auto& element : elementLineage(is<Element>(*node) ? downcast<Element>(node) : node->parentElement())) {
</ins><span class="cx"> // If we've reached the body and this is not a control element, do not expose press action for this element unless filter is IncludeBodyElement.
</span><span class="cx"> // It can cause false positives, where every piece of text is labeled as accepting press actions.
</span><span class="cx"> if (element.hasTagName(bodyTag) && isStaticText() && filter == ExcludeBodyElement)
</span><span class="lines">@@ -1161,7 +1155,7 @@
</span><span class="cx">
</span><span class="cx"> HTMLLabelElement* AccessibilityNodeObject::labelForElement(Element* element) const
</span><span class="cx"> {
</span><del>- if (!is<HTMLElement>(element) || !downcast<HTMLElement>(element)->isLabelable())
</del><ins>+ if (!is<HTMLElement>(*element) || !downcast<HTMLElement>(*element).isLabelable())
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> const AtomicString& id = element->getIdAttribute();
</span><span class="lines">@@ -1252,7 +1246,7 @@
</span><span class="cx"> if (!node)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- bool isInputTag = is<HTMLInputElement>(node);
</del><ins>+ bool isInputTag = is<HTMLInputElement>(*node);
</ins><span class="cx"> if (isInputTag || AccessibilityObject::isARIAInput(ariaRoleAttribute()) || isControl()) {
</span><span class="cx"> if (HTMLLabelElement* label = labelForElement(downcast<Element>(node))) {
</span><span class="cx"> AccessibilityObject* labelObject = axObjectCache()->getOrCreate(label);
</span><span class="lines">@@ -1306,7 +1300,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> // The fieldset element derives its alternative text from the first associated legend element if one is available.
</span><del>- if (is<HTMLFieldSetElement>(node)) {
</del><ins>+ if (is<HTMLFieldSetElement>(*node)) {
</ins><span class="cx"> AccessibilityObject* object = axObjectCache()->getOrCreate(downcast<HTMLFieldSetElement>(*node).legend());
</span><span class="cx"> if (object && !object->isHidden())
</span><span class="cx"> textOrder.append(AccessibilityText(accessibleNameForNode(object->node()), AlternativeText));
</span><span class="lines">@@ -1328,7 +1322,7 @@
</span><span class="cx"> if (!node)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- bool isInputTag = is<HTMLInputElement>(node);
</del><ins>+ bool isInputTag = is<HTMLInputElement>(*node);
</ins><span class="cx"> if (isInputTag) {
</span><span class="cx"> HTMLInputElement& input = downcast<HTMLInputElement>(*node);
</span><span class="cx"> if (input.isTextButton()) {
</span><span class="lines">@@ -1503,7 +1497,7 @@
</span><span class="cx"> return downcast<SVGElement>(*m_node).title();
</span><span class="cx">
</span><span class="cx"> #if ENABLE(MATHML)
</span><del>- if (m_node && is<MathMLElement>(*m_node))
</del><ins>+ if (is<MathMLElement>(m_node))
</ins><span class="cx"> return getAttribute(MathMLNames::alttextAttr);
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="lines">@@ -1533,7 +1527,7 @@
</span><span class="cx">
</span><span class="cx"> String description = accessibilityDescription();
</span><span class="cx"> for (Node* ancestor = node; ancestor; ancestor = ancestor->parentNode()) {
</span><del>- if (is<HTMLElement>(ancestor)) {
</del><ins>+ if (is<HTMLElement>(*ancestor)) {
</ins><span class="cx"> HTMLElement& element = downcast<HTMLElement>(*ancestor);
</span><span class="cx"> const AtomicString& summary = element.getAttribute(summaryAttr);
</span><span class="cx"> if (!summary.isEmpty())
</span><span class="lines">@@ -1561,7 +1555,7 @@
</span><span class="cx"> unsigned AccessibilityNodeObject::hierarchicalLevel() const
</span><span class="cx"> {
</span><span class="cx"> Node* node = this->node();
</span><del>- if (!node || !is<Element>(node))
</del><ins>+ if (!is<Element>(node))
</ins><span class="cx"> return 0;
</span><span class="cx"> Element& element = downcast<Element>(*node);
</span><span class="cx"> const AtomicString& ariaLevel = element.fastGetAttribute(aria_levelAttr);
</span><span class="lines">@@ -1654,7 +1648,7 @@
</span><span class="cx"> String AccessibilityNodeObject::textUnderElement(AccessibilityTextUnderElementMode mode) const
</span><span class="cx"> {
</span><span class="cx"> Node* node = this->node();
</span><del>- if (node && is<Text>(node))
</del><ins>+ if (is<Text>(node))
</ins><span class="cx"> return downcast<Text>(*node).wholeText();
</span><span class="cx">
</span><span class="cx"> // The render tree should be stable before going ahead. Otherwise, further uses of the
</span><span class="lines">@@ -1698,7 +1692,7 @@
</span><span class="cx"> if (!node)
</span><span class="cx"> return String();
</span><span class="cx">
</span><del>- bool isInputTag = is<HTMLInputElement>(node);
</del><ins>+ bool isInputTag = is<HTMLInputElement>(*node);
</ins><span class="cx"> if (isInputTag) {
</span><span class="cx"> HTMLInputElement& input = downcast<HTMLInputElement>(*node);
</span><span class="cx"> if (input.isTextButton())
</span><span class="lines">@@ -1824,7 +1818,7 @@
</span><span class="cx"> if (!isColorWell())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if (!node() || !is<HTMLInputElement>(node()))
</del><ins>+ if (!is<HTMLInputElement>(node()))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> HTMLInputElement& input = downcast<HTMLInputElement>(*node());
</span><span class="lines">@@ -1844,7 +1838,7 @@
</span><span class="cx"> static String accessibleNameForNode(Node* node)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(node);
</span><del>- if (!node || !is<Element>(node))
</del><ins>+ if (!is<Element>(node))
</ins><span class="cx"> return String();
</span><span class="cx">
</span><span class="cx"> Element& element = downcast<Element>(*node);
</span><span class="lines">@@ -1865,7 +1859,7 @@
</span><span class="cx"> return valueDescription;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (is<HTMLInputElement>(node))
</del><ins>+ if (is<HTMLInputElement>(*node))
</ins><span class="cx"> return downcast<HTMLInputElement>(*node).value();
</span><span class="cx">
</span><span class="cx"> String text;
</span><span class="lines">@@ -1941,9 +1935,6 @@
</span><span class="cx"> // NOTE: It would be more accurate to ask the document whether setFocusedElement() would
</span><span class="cx"> // do anything. For example, setFocusedElement() will do nothing if the current focused
</span><span class="cx"> // node will not relinquish the focus.
</span><del>- if (!node)
- return false;
-
</del><span class="cx"> if (!is<Element>(node))
</span><span class="cx"> return false;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityObject.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityObject.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/accessibility/AccessibilityObject.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -851,7 +851,7 @@
</span><span class="cx"> document->renderView()->hitTest(request, hitTestResult);
</span><span class="cx"> if (hitTestResult.innerNode()) {
</span><span class="cx"> Node* innerNode = hitTestResult.innerNode()->deprecatedShadowAncestorNode();
</span><del>- if (is<Element>(innerNode))
</del><ins>+ if (is<Element>(*innerNode))
</ins><span class="cx"> hitTestElement = downcast<Element>(innerNode);
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -1759,15 +1759,12 @@
</span><span class="cx"> bool AccessibilityObject::hasTagName(const QualifiedName& tagName) const
</span><span class="cx"> {
</span><span class="cx"> Node* node = this->node();
</span><del>- return node && is<Element>(node) && downcast<Element>(*node).hasTagName(tagName);
</del><ins>+ return is<Element>(node) && downcast<Element>(*node).hasTagName(tagName);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool AccessibilityObject::hasAttribute(const QualifiedName& attribute) const
</span><span class="cx"> {
</span><span class="cx"> Node* node = this->node();
</span><del>- if (!node)
- return false;
-
</del><span class="cx"> if (!is<Element>(node))
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="lines">@@ -1966,7 +1963,7 @@
</span><span class="cx"> Element* AccessibilityObject::element() const
</span><span class="cx"> {
</span><span class="cx"> Node* node = this->node();
</span><del>- if (node && is<Element>(node))
</del><ins>+ if (is<Element>(node))
</ins><span class="cx"> return downcast<Element>(node);
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span><span class="lines">@@ -2114,7 +2111,7 @@
</span><span class="cx"> void AccessibilityObject::classList(Vector<String>& classList) const
</span><span class="cx"> {
</span><span class="cx"> Node* node = this->node();
</span><del>- if (!node || !is<Element>(node))
</del><ins>+ if (!is<Element>(node))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> Element* element = downcast<Element>(node);
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityRenderObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -523,7 +523,7 @@
</span><span class="cx">
</span><span class="cx"> bool AccessibilityRenderObject::isFileUploadButton() const
</span><span class="cx"> {
</span><del>- if (m_renderer && m_renderer->node() && is<HTMLInputElement>(m_renderer->node())) {
</del><ins>+ if (m_renderer && is<HTMLInputElement>(m_renderer->node())) {
</ins><span class="cx"> HTMLInputElement& input = downcast<HTMLInputElement>(*m_renderer->node());
</span><span class="cx"> return input.isFileUpload();
</span><span class="cx"> }
</span><span class="lines">@@ -585,7 +585,7 @@
</span><span class="cx"> // NOTE: this assumes that any non-image with an anchor is an HTMLAnchorElement
</span><span class="cx"> Node* node = currRenderer->node();
</span><span class="cx"> for ( ; node; node = node->parentNode()) {
</span><del>- if (is<HTMLAnchorElement>(node) || (node->renderer() && cache->getOrCreate(node->renderer())->isAnchor()))
</del><ins>+ if (is<HTMLAnchorElement>(*node) || (node->renderer() && cache->getOrCreate(node->renderer())->isAnchor()))
</ins><span class="cx"> return downcast<Element>(node);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -607,7 +607,7 @@
</span><span class="cx">
</span><span class="cx"> String description = accessibilityDescription();
</span><span class="cx"> for (RenderObject* ancestor = m_renderer; ancestor; ancestor = ancestor->parent()) {
</span><del>- if (ancestor->node() && is<HTMLElement>(ancestor->node())) {
</del><ins>+ if (is<HTMLElement>(ancestor->node())) {
</ins><span class="cx"> HTMLElement& element = downcast<HTMLElement>(*ancestor->node());
</span><span class="cx"> const AtomicString& summary = element.getAttribute(summaryAttr);
</span><span class="cx"> if (!summary.isEmpty())
</span><span class="lines">@@ -783,7 +783,7 @@
</span><span class="cx">
</span><span class="cx"> // find if this has a parent that is a label
</span><span class="cx"> for (Node* parentNode = m_renderer->node(); parentNode; parentNode = parentNode->parentNode()) {
</span><del>- if (is<HTMLLabelElement>(parentNode))
</del><ins>+ if (is<HTMLLabelElement>(*parentNode))
</ins><span class="cx"> return downcast<HTMLLabelElement>(parentNode);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -911,9 +911,6 @@
</span><span class="cx"> AccessibilityObject* AccessibilityRenderObject::internalLinkElement() const
</span><span class="cx"> {
</span><span class="cx"> Element* element = anchorElement();
</span><del>- if (!element)
- return nullptr;
-
</del><span class="cx"> // Right now, we do not support ARIA links as internal link elements
</span><span class="cx"> if (!is<HTMLAnchorElement>(element))
</span><span class="cx"> return nullptr;
</span><span class="lines">@@ -951,7 +948,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> Node* node = m_renderer->node();
</span><del>- if (!node || !is<HTMLInputElement>(node))
</del><ins>+ if (!is<HTMLInputElement>(node))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> HTMLInputElement& input = downcast<HTMLInputElement>(*node);
</span><span class="lines">@@ -969,7 +966,7 @@
</span><span class="cx"> unsigned length = list->length();
</span><span class="cx"> for (unsigned i = 0; i < length; ++i) {
</span><span class="cx"> Node* item = list->item(i);
</span><del>- if (is<HTMLInputElement>(item)) {
</del><ins>+ if (is<HTMLInputElement>(*item)) {
</ins><span class="cx"> HTMLInputElement& associateElement = downcast<HTMLInputElement>(*item);
</span><span class="cx"> if (associateElement.isRadioButton() && associateElement.name() == input.name()) {
</span><span class="cx"> if (AccessibilityObject* object = axObjectCache()->getOrCreate(&associateElement))
</span><span class="lines">@@ -1106,7 +1103,7 @@
</span><span class="cx"> return axObjectCache()->getOrCreate(toRenderFieldset(m_renderer)->findLegend(RenderFieldset::IncludeFloatingOrOutOfFlow));
</span><span class="cx">
</span><span class="cx"> Node* node = m_renderer->node();
</span><del>- if (!node || !is<Element>(node))
</del><ins>+ if (!is<Element>(node))
</ins><span class="cx"> return nullptr;
</span><span class="cx"> HTMLLabelElement* label = labelForElement(downcast<Element>(node));
</span><span class="cx"> if (label && label->renderer())
</span><span class="lines">@@ -1276,7 +1273,7 @@
</span><span class="cx">
</span><span class="cx"> // don't ignore labels, because they serve as TitleUIElements
</span><span class="cx"> Node* node = m_renderer->node();
</span><del>- if (node && is<HTMLLabelElement>(node))
</del><ins>+ if (is<HTMLLabelElement>(node))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> // Anything that is content editable should not be ignored.
</span><span class="lines">@@ -1465,8 +1462,6 @@
</span><span class="cx"> const AtomicString& AccessibilityRenderObject::accessKey() const
</span><span class="cx"> {
</span><span class="cx"> Node* node = m_renderer->node();
</span><del>- if (!node)
- return nullAtom;
</del><span class="cx"> if (!is<Element>(node))
</span><span class="cx"> return nullAtom;
</span><span class="cx"> return downcast<Element>(*node).getAttribute(accesskeyAttr);
</span><span class="lines">@@ -1508,7 +1503,7 @@
</span><span class="cx">
</span><span class="cx"> URL AccessibilityRenderObject::url() const
</span><span class="cx"> {
</span><del>- if (isAnchor() && is<HTMLAnchorElement>(m_renderer->node())) {
</del><ins>+ if (isAnchor() && is<HTMLAnchorElement>(*m_renderer->node())) {
</ins><span class="cx"> if (HTMLAnchorElement* anchor = downcast<HTMLAnchorElement>(anchorElement()))
</span><span class="cx"> return anchor->href();
</span><span class="cx"> }
</span><span class="lines">@@ -1516,7 +1511,7 @@
</span><span class="cx"> if (isWebArea())
</span><span class="cx"> return m_renderer->document().url();
</span><span class="cx">
</span><del>- if (isImage() && m_renderer->node() && is<HTMLImageElement>(m_renderer->node()))
</del><ins>+ if (isImage() && is<HTMLImageElement>(m_renderer->node()))
</ins><span class="cx"> return downcast<HTMLImageElement>(*m_renderer->node()).src();
</span><span class="cx">
</span><span class="cx"> if (isInputImage())
</span><span class="lines">@@ -1543,7 +1538,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> Node* node = m_renderer->node();
</span><del>- if (!node || !is<Element>(node))
</del><ins>+ if (!is<Element>(node))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> downcast<Element>(*node).setAttribute(attributeName, (value) ? "true" : "false");
</span><span class="lines">@@ -1646,7 +1641,7 @@
</span><span class="cx"> Document* document = this->document();
</span><span class="cx"> Node* node = this->node();
</span><span class="cx">
</span><del>- if (!on || !node || !is<Element>(node)) {
</del><ins>+ if (!on || !is<Element>(node)) {
</ins><span class="cx"> document->setFocusedElement(nullptr);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -1678,7 +1673,7 @@
</span><span class="cx">
</span><span class="cx"> void AccessibilityRenderObject::setValue(const String& string)
</span><span class="cx"> {
</span><del>- if (!m_renderer || !m_renderer->node() || !is<Element>(m_renderer->node()))
</del><ins>+ if (!m_renderer || !is<Element>(m_renderer->node()))
</ins><span class="cx"> return;
</span><span class="cx"> Element& element = downcast<Element>(*m_renderer->node());
</span><span class="cx">
</span><span class="lines">@@ -1759,7 +1754,7 @@
</span><span class="cx"> result.append(axobj);
</span><span class="cx"> } else {
</span><span class="cx"> Node* parent = curr->parentNode();
</span><del>- if (parent && is<HTMLAreaElement>(curr) && is<HTMLMapElement>(parent)) {
</del><ins>+ if (is<HTMLAreaElement>(*curr) && is<HTMLMapElement>(parent)) {
</ins><span class="cx"> AccessibilityImageMapLink* areaObject = toAccessibilityImageMapLink(axObjectCache()->getOrCreate(ImageMapLinkRole));
</span><span class="cx"> HTMLMapElement& map = downcast<HTMLMapElement>(*parent);
</span><span class="cx"> areaObject->setHTMLAreaElement(downcast<HTMLAreaElement>(curr));
</span><span class="lines">@@ -2158,7 +2153,7 @@
</span><span class="cx">
</span><span class="cx"> AccessibilityObject* parent = nullptr;
</span><span class="cx"> for (Element* mapParent = area->parentElement(); mapParent; mapParent = mapParent->parentElement()) {
</span><del>- if (is<HTMLMapElement>(mapParent)) {
</del><ins>+ if (is<HTMLMapElement>(*mapParent)) {
</ins><span class="cx"> parent = accessibilityParentForImageMap(downcast<HTMLMapElement>(mapParent));
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="lines">@@ -2207,11 +2202,12 @@
</span><span class="cx"> if (!hitTestResult.innerNode())
</span><span class="cx"> return nullptr;
</span><span class="cx"> Node* node = hitTestResult.innerNode()->deprecatedShadowAncestorNode();
</span><ins>+ ASSERT(node);
</ins><span class="cx">
</span><del>- if (is<HTMLAreaElement>(node))
</del><ins>+ if (is<HTMLAreaElement>(*node))
</ins><span class="cx"> return accessibilityImageMapHitTest(downcast<HTMLAreaElement>(node), point);
</span><span class="cx">
</span><del>- if (is<HTMLOptionElement>(node))
</del><ins>+ if (is<HTMLOptionElement>(*node))
</ins><span class="cx"> node = downcast<HTMLOptionElement>(*node).ownerSelectElement();
</span><span class="cx">
</span><span class="cx"> RenderObject* obj = node->renderer();
</span><span class="lines">@@ -2381,7 +2377,7 @@
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> Node* node = m_renderer->node();
</span><del>- if (node && is<HTMLElement>(node)) {
</del><ins>+ if (is<HTMLElement>(node)) {
</ins><span class="cx"> if (HTMLLabelElement* label = labelForElement(downcast<HTMLElement>(node)))
</span><span class="cx"> return axObjectCache()->getOrCreate(label);
</span><span class="cx"> }
</span><span class="lines">@@ -2404,7 +2400,7 @@
</span><span class="cx"> return true;
</span><span class="cx">
</span><span class="cx"> // Textboxes should send out notifications.
</span><del>- if (nodeHasRole(node, "textbox") || (is<Element>(node) && contentEditableAttributeIsEnabled(downcast<Element>(node))))
</del><ins>+ if (nodeHasRole(node, "textbox") || (is<Element>(*node) && contentEditableAttributeIsEnabled(downcast<Element>(node))))
</ins><span class="cx"> return true;
</span><span class="cx">
</span><span class="cx"> return false;
</span><span class="lines">@@ -2482,7 +2478,7 @@
</span><span class="cx"> if (m_renderer->isText())
</span><span class="cx"> return StaticTextRole;
</span><span class="cx"> if (cssBox && cssBox->isImage()) {
</span><del>- if (node && is<HTMLInputElement>(node))
</del><ins>+ if (is<HTMLInputElement>(node))
</ins><span class="cx"> return ariaHasPopup() ? PopUpButtonRole : ButtonRole;
</span><span class="cx"> if (isSVGImage())
</span><span class="cx"> return SVGRootRole;
</span><span class="lines">@@ -2501,7 +2497,7 @@
</span><span class="cx"> if (cssBox && cssBox->isTextArea())
</span><span class="cx"> return TextAreaRole;
</span><span class="cx">
</span><del>- if (node && is<HTMLInputElement>(node)) {
</del><ins>+ if (is<HTMLInputElement>(node)) {
</ins><span class="cx"> HTMLInputElement& input = downcast<HTMLInputElement>(*node);
</span><span class="cx"> if (input.isCheckbox())
</span><span class="cx"> return CheckBoxRole;
</span><span class="lines">@@ -2571,7 +2567,7 @@
</span><span class="cx"> if (node && node->hasTagName(trTag))
</span><span class="cx"> return RowRole;
</span><span class="cx">
</span><del>- if (node && is<HTMLTableElement>(node))
</del><ins>+ if (is<HTMLTableElement>(node))
</ins><span class="cx"> return TableRole;
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="lines">@@ -2585,7 +2581,7 @@
</span><span class="cx"> if (node && node->hasTagName(pTag))
</span><span class="cx"> return ParagraphRole;
</span><span class="cx">
</span><del>- if (node && is<HTMLLabelElement>(node))
</del><ins>+ if (is<HTMLLabelElement>(node))
</ins><span class="cx"> return LabelRole;
</span><span class="cx">
</span><span class="cx"> if (node && node->hasTagName(dfnTag))
</span><span class="lines">@@ -2594,7 +2590,7 @@
</span><span class="cx"> if (node && node->hasTagName(divTag))
</span><span class="cx"> return DivRole;
</span><span class="cx">
</span><del>- if (node && is<HTMLFormElement>(node))
</del><ins>+ if (is<HTMLFormElement>(node))
</ins><span class="cx"> return FormRole;
</span><span class="cx">
</span><span class="cx"> if (node && node->hasTagName(articleTag))
</span><span class="lines">@@ -2616,9 +2612,9 @@
</span><span class="cx"> return LandmarkContentInfoRole;
</span><span class="cx">
</span><span class="cx"> #if ENABLE(VIDEO)
</span><del>- if (node && is<HTMLVideoElement>(node))
</del><ins>+ if (is<HTMLVideoElement>(node))
</ins><span class="cx"> return VideoRole;
</span><del>- if (node && is<HTMLAudioElement>(node))
</del><ins>+ if (is<HTMLAudioElement>(node))
</ins><span class="cx"> return AudioRole;
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="lines">@@ -2698,7 +2694,7 @@
</span><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> Node* node = toAccessibilityRenderObject(parent)->node();
</span><del>- if (!node || !is<Element>(node))
</del><ins>+ if (!is<Element>(node))
</ins><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> // If native tag of the parent element matches an acceptable name, then return
</span><span class="lines">@@ -2838,7 +2834,7 @@
</span><span class="cx"> void AccessibilityRenderObject::addTextFieldChildren()
</span><span class="cx"> {
</span><span class="cx"> Node* node = this->node();
</span><del>- if (!node || !is<HTMLInputElement>(node))
</del><ins>+ if (!is<HTMLInputElement>(node))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> HTMLInputElement& input = downcast<HTMLInputElement>(*node);
</span><span class="lines">@@ -2883,7 +2879,7 @@
</span><span class="cx"> Frame& frame = frameView->frame();
</span><span class="cx">
</span><span class="cx"> Document* document = frame.document();
</span><del>- if (!document || !is<SVGDocument>(document))
</del><ins>+ if (!is<SVGDocument>(document))
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> SVGSVGElement* rootElement = downcast<SVGDocument>(*document).rootElement();
</span><span class="lines">@@ -3253,7 +3249,7 @@
</span><span class="cx"> else
</span><span class="cx"> node = m_renderer->node();
</span><span class="cx">
</span><del>- if (node && is<Element>(node))
</del><ins>+ if (is<Element>(node))
</ins><span class="cx"> downcast<Element>(*node).setAttribute(aria_labelAttr, name);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -3271,7 +3267,7 @@
</span><span class="cx"> {
</span><span class="cx"> if (isLinkable(*this)) {
</span><span class="cx"> Element* anchor = anchorElement();
</span><del>- if (anchor && is<HTMLAnchorElement>(anchor))
</del><ins>+ if (is<HTMLAnchorElement>(anchor))
</ins><span class="cx"> return downcast<HTMLAnchorElement>(*anchor).href();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -3284,7 +3280,7 @@
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> Element* anchor = anchorElement();
</span><del>- if (!anchor || !is<HTMLAnchorElement>(anchor))
</del><ins>+ if (!is<HTMLAnchorElement>(anchor))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> return !downcast<HTMLAnchorElement>(*anchor).href().isEmpty();
</span><span class="lines">@@ -3374,7 +3370,7 @@
</span><span class="cx"> return String();
</span><span class="cx">
</span><span class="cx"> Node* node = m_renderer->node();
</span><del>- if (!node || !is<Element>(node))
</del><ins>+ if (!is<Element>(node))
</ins><span class="cx"> return String();
</span><span class="cx">
</span><span class="cx"> Element& element = downcast<Element>(*node);
</span><span class="lines">@@ -3489,11 +3485,10 @@
</span><span class="cx"> #if ENABLE(MATHML)
</span><span class="cx"> bool AccessibilityRenderObject::isMathElement() const
</span><span class="cx"> {
</span><del>- Node* node = this->node();
- if (!m_renderer || !node)
</del><ins>+ if (!m_renderer)
</ins><span class="cx"> return false;
</span><span class="cx">
</span><del>- return is<MathMLElement>(node);
</del><ins>+ return is<MathMLElement>(node());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool AccessibilityRenderObject::isMathFraction() const
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilitySearchFieldButtonscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilitySearchFieldButtons.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilitySearchFieldButtons.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/accessibility/AccessibilitySearchFieldButtons.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx"> bool AccessibilitySearchFieldCancelButton::press()
</span><span class="cx"> {
</span><span class="cx"> Node* node = this->node();
</span><del>- if (!node || !is<Element>(node))
</del><ins>+ if (!is<Element>(node))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> Element& element = downcast<Element>(*node);
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityTablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityTable.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityTable.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/accessibility/AccessibilityTable.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -96,7 +96,7 @@
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> RenderTable* table = toRenderTable(m_renderer);
</span><del>- if (table->element() && is<HTMLTableElement>(table->element()))
</del><ins>+ if (is<HTMLTableElement>(table->element()))
</ins><span class="cx"> return downcast<HTMLTableElement>(table->element());
</span><span class="cx">
</span><span class="cx"> // If the table has a display:table-row-group, then the RenderTable does not have a pointer to it's HTMLTableElement.
</span><span class="lines">@@ -106,7 +106,7 @@
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> Element* actualTable = firstBody->element()->parentElement();
</span><del>- if (!actualTable || !is<HTMLTableElement>(actualTable))
</del><ins>+ if (!is<HTMLTableElement>(actualTable))
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> return downcast<HTMLTableElement>(actualTable);
</span><span class="lines">@@ -218,7 +218,7 @@
</span><span class="cx"> headersInFirstColumnCount++;
</span><span class="cx">
</span><span class="cx"> // In this case, the developer explicitly assigned a "data" table attribute.
</span><del>- if (is<HTMLTableCellElement>(cellElement)) {
</del><ins>+ if (is<HTMLTableCellElement>(*cellElement)) {
</ins><span class="cx"> HTMLTableCellElement& tableCellElement = downcast<HTMLTableCellElement>(*cellElement);
</span><span class="cx"> if (!tableCellElement.headers().isEmpty() || !tableCellElement.abbr().isEmpty()
</span><span class="cx"> || !tableCellElement.axis().isEmpty() || !tableCellElement.scope().isEmpty())
</span><span class="lines">@@ -328,7 +328,7 @@
</span><span class="cx"> // Gtk+ ATs expect all tables to be exposed as tables.
</span><span class="cx"> #if PLATFORM(GTK) || PLATFORM(EFL)
</span><span class="cx"> Element* tableNode = toRenderTable(m_renderer)->element();
</span><del>- return tableNode && is<HTMLTableElement>(tableNode);
</del><ins>+ return is<HTMLTableElement>(tableNode);
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> return isDataTable();
</span><span class="lines">@@ -607,7 +607,7 @@
</span><span class="cx">
</span><span class="cx"> // see if there is a caption
</span><span class="cx"> Node* tableElement = m_renderer->node();
</span><del>- if (tableElement && is<HTMLTableElement>(tableElement)) {
</del><ins>+ if (is<HTMLTableElement>(tableElement)) {
</ins><span class="cx"> if (HTMLTableCaptionElement* caption = downcast<HTMLTableElement>(*tableElement).caption())
</span><span class="cx"> title = caption->innerText();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityatkAXObjectCacheAtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/atk/AXObjectCacheAtk.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/atk/AXObjectCacheAtk.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/accessibility/atk/AXObjectCacheAtk.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -133,7 +133,7 @@
</span><span class="cx">
</span><span class="cx"> // Only support HTML select elements so far (ARIA selectors not supported).
</span><span class="cx"> Node* node = object->node();
</span><del>- if (!node || !is<HTMLSelectElement>(node))
</del><ins>+ if (!is<HTMLSelectElement>(node))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> // Emit signal from the listbox's point of view first.
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityatkWebKitAccessibleInterfaceTablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceTable.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceTable.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceTable.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -244,7 +244,7 @@
</span><span class="cx"> AccessibilityObject* accTable = core(table);
</span><span class="cx"> if (accTable->isAccessibilityRenderObject()) {
</span><span class="cx"> Node* node = accTable->node();
</span><del>- if (node && is<HTMLTableElement>(node)) {
</del><ins>+ if (is<HTMLTableElement>(node)) {
</ins><span class="cx"> HTMLTableCaptionElement* caption = downcast<HTMLTableElement>(*node).caption();
</span><span class="cx"> if (caption)
</span><span class="cx"> return AccessibilityObject::firstAccessibleObjectFromNode(caption->renderer()->element())->wrapper();
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityatkWebKitAccessibleWrapperAtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -137,7 +137,7 @@
</span><span class="cx">
</span><span class="cx"> if (coreObject->isImage() || coreObject->isInputImage()) {
</span><span class="cx"> Node* node = coreObject->node();
</span><del>- if (node && is<HTMLElement>(node)) {
</del><ins>+ if (is<HTMLElement>(node)) {
</ins><span class="cx"> // Get the attribute rather than altText String so as not to fall back on title.
</span><span class="cx"> const AtomicString& alt = downcast<HTMLElement>(*node).getAttribute(HTMLNames::altAttr);
</span><span class="cx"> if (!alt.isEmpty())
</span><span class="lines">@@ -170,7 +170,7 @@
</span><span class="cx"> Node* node = nullptr;
</span><span class="cx"> if (coreObject->isAccessibilityRenderObject())
</span><span class="cx"> node = coreObject->node();
</span><del>- if (!node || !is<HTMLElement>(node) || coreObject->ariaRoleAttribute() != UnknownRole || coreObject->isImage())
</del><ins>+ if (!is<HTMLElement>(node) || coreObject->ariaRoleAttribute() != UnknownRole || coreObject->isImage())
</ins><span class="cx"> return cacheAndReturnAtkProperty(object, AtkCachedAccessibleDescription, accessibilityDescription(coreObject));
</span><span class="cx">
</span><span class="cx"> // atk_table_get_summary returns an AtkObject. We have no summary object, so expose summary here.
</span><span class="lines">@@ -506,7 +506,7 @@
</span><span class="cx"> // cannot be done from the UIProcess. Assistive technologies have no need
</span><span class="cx"> // for this information.
</span><span class="cx"> Node* node = coreObject->node();
</span><del>- if (node && is<Element>(node)) {
</del><ins>+ if (is<Element>(node)) {
</ins><span class="cx"> String id = downcast<Element>(*node).getIdAttribute().string();
</span><span class="cx"> if (!id.isEmpty())
</span><span class="cx"> attributeSet = addToAtkAttributeSet(attributeSet, "html-id", id.utf8().data());
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsgobjectWebKitDOMPrivatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/gobject/WebKitDOMPrivate.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/gobject/WebKitDOMPrivate.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/bindings/gobject/WebKitDOMPrivate.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -84,7 +84,7 @@
</span><span class="cx">
</span><span class="cx"> switch (node->nodeType()) {
</span><span class="cx"> case Node::ELEMENT_NODE:
</span><del>- if (is<HTMLElement>(node))
</del><ins>+ if (is<HTMLElement>(*node))
</ins><span class="cx"> return WEBKIT_DOM_NODE(wrap(downcast<HTMLElement>(node)));
</span><span class="cx"> return WEBKIT_DOM_NODE(wrapElement(downcast<Element>(node)));
</span><span class="cx"> case Node::ATTRIBUTE_NODE:
</span><span class="lines">@@ -100,7 +100,7 @@
</span><span class="cx"> case Node::COMMENT_NODE:
</span><span class="cx"> return WEBKIT_DOM_NODE(wrapComment(static_cast<Comment*>(node)));
</span><span class="cx"> case Node::DOCUMENT_NODE:
</span><del>- if (is<HTMLDocument>(node))
</del><ins>+ if (is<HTMLDocument>(*node))
</ins><span class="cx"> return WEBKIT_DOM_NODE(wrapHTMLDocument(downcast<HTMLDocument>(node)));
</span><span class="cx"> return WEBKIT_DOM_NODE(wrapDocument(downcast<Document>(node)));
</span><span class="cx"> case Node::DOCUMENT_TYPE_NODE:
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSAudioContextCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSAudioContextCustom.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSAudioContextCustom.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/bindings/js/JSAudioContextCustom.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx"> if (!scriptExecutionContext)
</span><span class="cx"> return throwVMError(exec, createReferenceError(exec, "AudioContext constructor script execution context is unavailable"));
</span><span class="cx">
</span><del>- if (!is<Document>(scriptExecutionContext))
</del><ins>+ if (!is<Document>(*scriptExecutionContext))
</ins><span class="cx"> return throwVMError(exec, createReferenceError(exec, "AudioContext constructor called in a script execution context which is not a document"));
</span><span class="cx">
</span><span class="cx"> Document& document = downcast<Document>(*scriptExecutionContext);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMGlobalObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -105,10 +105,10 @@
</span><span class="cx">
</span><span class="cx"> JSDOMGlobalObject* toJSDOMGlobalObject(ScriptExecutionContext* scriptExecutionContext, JSC::ExecState* exec)
</span><span class="cx"> {
</span><del>- if (is<Document>(scriptExecutionContext))
</del><ins>+ if (is<Document>(*scriptExecutionContext))
</ins><span class="cx"> return toJSDOMGlobalObject(downcast<Document>(scriptExecutionContext), exec);
</span><span class="cx">
</span><del>- if (is<WorkerGlobalScope>(scriptExecutionContext))
</del><ins>+ if (is<WorkerGlobalScope>(*scriptExecutionContext))
</ins><span class="cx"> return downcast<WorkerGlobalScope>(*scriptExecutionContext).script()->workerGlobalScopeWrapper();
</span><span class="cx">
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="lines">@@ -122,10 +122,10 @@
</span><span class="cx">
</span><span class="cx"> JSDOMGlobalObject* toJSDOMGlobalObject(ScriptExecutionContext* scriptExecutionContext, DOMWrapperWorld& world)
</span><span class="cx"> {
</span><del>- if (is<Document>(scriptExecutionContext))
</del><ins>+ if (is<Document>(*scriptExecutionContext))
</ins><span class="cx"> return toJSDOMGlobalObject(downcast<Document>(scriptExecutionContext), world);
</span><span class="cx">
</span><del>- if (is<WorkerGlobalScope>(scriptExecutionContext))
</del><ins>+ if (is<WorkerGlobalScope>(*scriptExecutionContext))
</ins><span class="cx"> return downcast<WorkerGlobalScope>(*scriptExecutionContext).script()->workerGlobalScopeWrapper();
</span><span class="cx">
</span><span class="cx"> ASSERT_NOT_REACHED();
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMWindowCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -79,7 +79,6 @@
</span><span class="cx"> Document* document = thisObj->impl().frame()->document();
</span><span class="cx">
</span><span class="cx"> ASSERT(BindingSecurity::shouldAllowAccessToDOMWindow(exec, thisObj->impl()));
</span><del>- ASSERT(document);
</del><span class="cx"> ASSERT(is<HTMLDocument>(document));
</span><span class="cx">
</span><span class="cx"> AtomicStringImpl* atomicPropertyName = propertyName.publicName();
</span><span class="lines">@@ -244,7 +243,7 @@
</span><span class="cx">
</span><span class="cx"> // Allow shortcuts like 'Image1' instead of document.images.Image1
</span><span class="cx"> Document* document = thisObject->impl().frame()->document();
</span><del>- if (is<HTMLDocument>(document)) {
</del><ins>+ if (is<HTMLDocument>(*document)) {
</ins><span class="cx"> AtomicStringImpl* atomicPropertyName = propertyName.publicName();
</span><span class="cx"> if (atomicPropertyName && downcast<HTMLDocument>(*document).hasWindowNamedItem(*atomicPropertyName)) {
</span><span class="cx"> slot.setCustom(thisObject, ReadOnly | DontDelete | DontEnum, namedItemGetter);
</span><span class="lines">@@ -321,7 +320,7 @@
</span><span class="cx">
</span><span class="cx"> // Allow shortcuts like 'Image1' instead of document.images.Image1
</span><span class="cx"> Document* document = thisObject->impl().frame()->document();
</span><del>- if (is<HTMLDocument>(document)) {
</del><ins>+ if (is<HTMLDocument>(*document)) {
</ins><span class="cx"> AtomicStringImpl* atomicPropertyName = propertyName.publicName();
</span><span class="cx"> if (atomicPropertyName && downcast<HTMLDocument>(*document).hasWindowNamedItem(*atomicPropertyName)) {
</span><span class="cx"> slot.setCustom(thisObject, ReadOnly | DontDelete | DontEnum, namedItemGetter);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSElementCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSElementCustom.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSElementCustom.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/bindings/js/JSElementCustom.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -56,9 +56,9 @@
</span><span class="cx"> ASSERT(!getCachedWrapper(globalObject->world(), element));
</span><span class="cx">
</span><span class="cx"> JSDOMWrapper* wrapper;
</span><del>- if (is<HTMLElement>(element))
</del><ins>+ if (is<HTMLElement>(*element))
</ins><span class="cx"> wrapper = createJSHTMLWrapper(globalObject, downcast<HTMLElement>(element));
</span><del>- else if (is<SVGElement>(element))
</del><ins>+ else if (is<SVGElement>(*element))
</ins><span class="cx"> wrapper = createJSSVGWrapper(globalObject, downcast<SVGElement>(element));
</span><span class="cx"> else
</span><span class="cx"> wrapper = CREATE_DOM_WRAPPER(globalObject, Element, element);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSErrorHandlercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSErrorHandler.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSErrorHandler.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/bindings/js/JSErrorHandler.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx"> void JSErrorHandler::handleEvent(ScriptExecutionContext* scriptExecutionContext, Event* event)
</span><span class="cx"> {
</span><span class="cx">
</span><del>- if (!is<ErrorEvent>(event))
</del><ins>+ if (!is<ErrorEvent>(*event))
</ins><span class="cx"> return JSEventListener::handleEvent(scriptExecutionContext, event);
</span><span class="cx">
</span><span class="cx"> ASSERT(scriptExecutionContext);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSEventListenercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSEventListener.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSEventListener.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/bindings/js/JSEventListener.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -131,7 +131,7 @@
</span><span class="cx">
</span><span class="cx"> globalObject->setCurrentEvent(savedEvent);
</span><span class="cx">
</span><del>- if (is<WorkerGlobalScope>(scriptExecutionContext)) {
</del><ins>+ if (is<WorkerGlobalScope>(*scriptExecutionContext)) {
</ins><span class="cx"> bool terminatorCausedException = (exec->hadException() && isTerminatedExecutionException(exec->exception()));
</span><span class="cx"> if (terminatorCausedException || (vm.watchdog && vm.watchdog->didFire()))
</span><span class="cx"> downcast<WorkerGlobalScope>(*scriptExecutionContext).script()->forbidExecution();
</span><span class="lines">@@ -141,7 +141,7 @@
</span><span class="cx"> event->target()->uncaughtExceptionInEventHandler();
</span><span class="cx"> reportException(exec, exception);
</span><span class="cx"> } else {
</span><del>- if (!retval.isUndefinedOrNull() && is<BeforeUnloadEvent>(event))
</del><ins>+ if (!retval.isUndefinedOrNull() && is<BeforeUnloadEvent>(*event))
</ins><span class="cx"> downcast<BeforeUnloadEvent>(*event).setReturnValue(retval.toString(exec)->value(exec));
</span><span class="cx"> if (m_isAttribute) {
</span><span class="cx"> if (retval.isFalse())
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHTMLDocumentCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> Element* element = document.documentNamedItem(*atomicPropertyName);
</span><del>- if (UNLIKELY(is<HTMLIFrameElement>(element))) {
</del><ins>+ if (UNLIKELY(is<HTMLIFrameElement>(*element))) {
</ins><span class="cx"> if (Frame* frame = downcast<HTMLIFrameElement>(*element).contentFrame())
</span><span class="cx"> return JSValue::encode(toJS(exec, frame));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSLazyEventListenercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSLazyEventListener.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSLazyEventListener.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/bindings/js/JSLazyEventListener.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -72,7 +72,6 @@
</span><span class="cx">
</span><span class="cx"> JSObject* JSLazyEventListener::initializeJSFunction(ScriptExecutionContext* executionContext) const
</span><span class="cx"> {
</span><del>- ASSERT(executionContext);
</del><span class="cx"> ASSERT(is<Document>(executionContext));
</span><span class="cx"> if (!executionContext)
</span><span class="cx"> return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSNodeCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSNodeCustom.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSNodeCustom.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/bindings/js/JSNodeCustom.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx"> static inline bool isReachableFromDOM(JSNode* jsNode, Node* node, SlotVisitor& visitor)
</span><span class="cx"> {
</span><span class="cx"> if (!node->inDocument()) {
</span><del>- if (is<Element>(node)) {
</del><ins>+ if (is<Element>(*node)) {
</ins><span class="cx"> auto& element = downcast<Element>(*node);
</span><span class="cx">
</span><span class="cx"> // If a wrapper is the last reference to an image element
</span><span class="lines">@@ -192,9 +192,9 @@
</span><span class="cx"> JSDOMWrapper* wrapper;
</span><span class="cx"> switch (node->nodeType()) {
</span><span class="cx"> case Node::ELEMENT_NODE:
</span><del>- if (is<HTMLElement>(node))
</del><ins>+ if (is<HTMLElement>(*node))
</ins><span class="cx"> wrapper = createJSHTMLWrapper(globalObject, downcast<HTMLElement>(node));
</span><del>- else if (is<SVGElement>(node))
</del><ins>+ else if (is<SVGElement>(*node))
</ins><span class="cx"> wrapper = createJSSVGWrapper(globalObject, downcast<SVGElement>(node));
</span><span class="cx"> else
</span><span class="cx"> wrapper = CREATE_DOM_WRAPPER(globalObject, Element, node);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsScheduledActioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/ScheduledAction.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/ScheduledAction.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/bindings/js/ScheduledAction.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx">
</span><span class="cx"> void ScheduledAction::execute(ScriptExecutionContext* context)
</span><span class="cx"> {
</span><del>- if (is<Document>(context))
</del><ins>+ if (is<Document>(*context))
</ins><span class="cx"> execute(downcast<Document>(context));
</span><span class="cx"> else
</span><span class="cx"> execute(downcast<WorkerGlobalScope>(context));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsScriptStatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/ScriptState.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/ScriptState.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/bindings/js/ScriptState.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx"> Frame* frameFromExecState(JSC::ExecState* scriptState)
</span><span class="cx"> {
</span><span class="cx"> ScriptExecutionContext* context = scriptExecutionContextFromExecState(scriptState);
</span><del>- Document* document = context && is<Document>(context) ? downcast<Document>(context) : nullptr;
</del><ins>+ Document* document = is<Document>(context) ? downcast<Document>(context) : nullptr;
</ins><span class="cx"> return document ? document->frame() : nullptr;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsobjcDOMmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/objc/DOM.mm (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/objc/DOM.mm        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/bindings/objc/DOM.mm        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -301,7 +301,7 @@
</span><span class="cx"> {
</span><span class="cx"> switch (impl->nodeType()) {
</span><span class="cx"> case WebCore::Node::ELEMENT_NODE:
</span><del>- if (is<HTMLElement>(impl))
</del><ins>+ if (is<HTMLElement>(*impl))
</ins><span class="cx"> return WebCore::elementClass(downcast<HTMLElement>(*impl).tagQName(), [DOMHTMLElement class]);
</span><span class="cx"> return [DOMElement class];
</span><span class="cx"> case WebCore::Node::ATTRIBUTE_NODE:
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSCursorImageValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSCursorImageValue.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSCursorImageValue.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/css/CSSCursorImageValue.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx"> static inline SVGCursorElement* resourceReferencedByCursorElement(const String& url, Document& document)
</span><span class="cx"> {
</span><span class="cx"> Element* element = SVGURIReference::targetElementFromIRIString(url, document);
</span><del>- if (element && is<SVGCursorElement>(element))
</del><ins>+ if (is<SVGCursorElement>(element))
</ins><span class="cx"> return downcast<SVGCursorElement>(element);
</span><span class="cx">
</span><span class="cx"> return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSStyleSheetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSStyleSheet.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSStyleSheet.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/css/CSSStyleSheet.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -68,9 +68,9 @@
</span><span class="cx"> // Only these nodes can be parents of StyleSheets, and they need to call clearOwnerNode() when moved out of document.
</span><span class="cx"> return !parentNode
</span><span class="cx"> || parentNode->isDocumentNode()
</span><del>- || is<HTMLLinkElement>(parentNode)
- || is<HTMLStyleElement>(parentNode)
- || is<SVGStyleElement>(parentNode)
</del><ins>+ || is<HTMLLinkElement>(*parentNode)
+ || is<HTMLStyleElement>(*parentNode)
+ || is<SVGStyleElement>(*parentNode)
</ins><span class="cx"> || parentNode->nodeType() == Node::PROCESSING_INSTRUCTION_NODE;
</span><span class="cx"> }
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorecssSelectorCheckercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/SelectorChecker.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/SelectorChecker.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/css/SelectorChecker.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -556,11 +556,11 @@
</span><span class="cx"> {
</span><span class="cx"> bool result = true;
</span><span class="cx"> for (Node* node = element->firstChild(); node; node = node->nextSibling()) {
</span><del>- if (node->isElementNode()) {
</del><ins>+ if (is<Element>(*node)) {
</ins><span class="cx"> result = false;
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- if (is<Text>(node)) {
</del><ins>+ if (is<Text>(*node)) {
</ins><span class="cx"> Text& textNode = downcast<Text>(*node);
</span><span class="cx"> if (!textNode.data().isEmpty()) {
</span><span class="cx"> result = false;
</span></span></pre></div>
<a id="trunkSourceWebCorecssSelectorCheckerTestFunctionsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/SelectorCheckerTestFunctions.h (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/SelectorCheckerTestFunctions.h        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/css/SelectorCheckerTestFunctions.h        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx">
</span><span class="cx"> ALWAYS_INLINE bool isAutofilled(const Element* element)
</span><span class="cx"> {
</span><del>- if (is<HTMLFormControlElement>(element)) {
</del><ins>+ if (is<HTMLFormControlElement>(*element)) {
</ins><span class="cx"> if (const HTMLInputElement* inputElement = element->toInputElement())
</span><span class="cx"> return inputElement->isAutofilled();
</span><span class="cx"> }
</span><span class="lines">@@ -56,13 +56,13 @@
</span><span class="cx">
</span><span class="cx"> ALWAYS_INLINE bool isDisabled(const Element* element)
</span><span class="cx"> {
</span><del>- return (is<HTMLFormControlElement>(element) || is<HTMLOptionElement>(element) || is<HTMLOptGroupElement>(element))
</del><ins>+ return (is<HTMLFormControlElement>(*element) || is<HTMLOptionElement>(*element) || is<HTMLOptGroupElement>(*element))
</ins><span class="cx"> && element->isDisabledFormControl();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ALWAYS_INLINE bool isEnabled(const Element* element)
</span><span class="cx"> {
</span><del>- return (is<HTMLFormControlElement>(element) || is<HTMLOptionElement>(element) || is<HTMLOptGroupElement>(element))
</del><ins>+ return (is<HTMLFormControlElement>(*element) || is<HTMLOptionElement>(*element) || is<HTMLOptGroupElement>(*element))
</ins><span class="cx"> && !element->isDisabledFormControl();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -79,7 +79,7 @@
</span><span class="cx"> const HTMLInputElement* inputElement = element->toInputElement();
</span><span class="cx"> if (inputElement && inputElement->shouldAppearChecked() && !inputElement->shouldAppearIndeterminate())
</span><span class="cx"> return true;
</span><del>- if (is<HTMLOptionElement>(element) && downcast<HTMLOptionElement>(*element).selected())
</del><ins>+ if (is<HTMLOptionElement>(*element) && downcast<HTMLOptionElement>(*element).selected())
</ins><span class="cx"> return true;
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="lines">@@ -127,7 +127,7 @@
</span><span class="cx"> {
</span><span class="cx"> AtomicString value;
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><del>- if (is<WebVTTElement>(element))
</del><ins>+ if (is<WebVTTElement>(*element))
</ins><span class="cx"> value = downcast<WebVTTElement>(*element).language();
</span><span class="cx"> else
</span><span class="cx"> #endif
</span><span class="lines">@@ -304,12 +304,12 @@
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="cx"> ALWAYS_INLINE bool matchesFutureCuePseudoClass(const Element* element)
</span><span class="cx"> {
</span><del>- return is<WebVTTElement>(element) && !downcast<WebVTTElement>(*element).isPastNode();
</del><ins>+ return is<WebVTTElement>(*element) && !downcast<WebVTTElement>(*element).isPastNode();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ALWAYS_INLINE bool matchesPastCuePseudoClass(const Element* element)
</span><span class="cx"> {
</span><del>- return is<WebVTTElement>(element) && downcast<WebVTTElement>(*element).isPastNode();
</del><ins>+ return is<WebVTTElement>(*element) && downcast<WebVTTElement>(*element).isPastNode();
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorecssStyleResolvercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleResolver.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleResolver.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/css/StyleResolver.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -388,7 +388,7 @@
</span><span class="cx"> inline void StyleResolver::State::initElement(Element* element)
</span><span class="cx"> {
</span><span class="cx"> m_element = element;
</span><del>- m_styledElement = element && is<StyledElement>(element) ? downcast<StyledElement>(element) : nullptr;
</del><ins>+ m_styledElement = element && is<StyledElement>(*element) ? downcast<StyledElement>(element) : nullptr;
</ins><span class="cx"> m_elementLinkState = element ? element->document().visitedLinkState().determineLinkState(*element) : NotInsideLink;
</span><span class="cx"> updateConversionData();
</span><span class="cx"> }
</span><span class="lines">@@ -445,12 +445,12 @@
</span><span class="cx"> {
</span><span class="cx"> if (visitedNodeCount >= cStyleSearchThreshold * cStyleSearchLevelThreshold)
</span><span class="cx"> return nullptr;
</span><del>- if (!parent || !is<StyledElement>(parent))
</del><ins>+ if (!is<StyledElement>(parent))
</ins><span class="cx"> return nullptr;
</span><span class="cx"> StyledElement* styledParent = downcast<StyledElement>(parent);
</span><span class="cx"> if (styledParent->inlineStyle())
</span><span class="cx"> return nullptr;
</span><del>- if (is<SVGElement>(styledParent) && downcast<SVGElement>(*styledParent).animatedSMILStyleProperties())
</del><ins>+ if (is<SVGElement>(*styledParent) && downcast<SVGElement>(*styledParent).animatedSMILStyleProperties())
</ins><span class="cx"> return nullptr;
</span><span class="cx"> if (styledParent->hasID() && m_ruleSets.features().idsInRules.contains(styledParent->idForStyleResolution().impl()))
</span><span class="cx"> return nullptr;
</span><span class="lines">@@ -467,7 +467,7 @@
</span><span class="cx"> while (currentNode) {
</span><span class="cx"> ++subcount;
</span><span class="cx"> if (currentNode->renderStyle() == parentStyle && currentNode->lastChild()
</span><del>- && is<Element>(currentNode) && !parentElementPreventsSharing(downcast<Element>(currentNode))
</del><ins>+ && is<Element>(*currentNode) && !parentElementPreventsSharing(downcast<Element>(currentNode))
</ins><span class="cx"> ) {
</span><span class="cx"> // Adjust for unused reserved tries.
</span><span class="cx"> visitedNodeCount -= cStyleSearchThreshold - subcount;
</span><span class="lines">@@ -546,7 +546,7 @@
</span><span class="cx"> static inline bool elementHasDirectionAuto(Element* element)
</span><span class="cx"> {
</span><span class="cx"> // FIXME: This line is surprisingly hot, we may wish to inline hasDirectionAuto into StyleResolver.
</span><del>- return is<HTMLElement>(element) && downcast<HTMLElement>(*element).hasDirectionAuto();
</del><ins>+ return is<HTMLElement>(*element) && downcast<HTMLElement>(*element).hasDirectionAuto();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes(StyledElement* sharingCandidate) const
</span><span class="lines">@@ -626,9 +626,9 @@
</span><span class="cx"> if (element->hasID() && m_ruleSets.features().idsInRules.contains(element->idForStyleResolution().impl()))
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- bool isControl = is<HTMLFormControlElement>(element);
</del><ins>+ bool isControl = is<HTMLFormControlElement>(*element);
</ins><span class="cx">
</span><del>- if (isControl != is<HTMLFormControlElement>(state.element()))
</del><ins>+ if (isControl != is<HTMLFormControlElement>(*state.element()))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> if (isControl && !canShareStyleWithControl(element))
</span><span class="lines">@@ -650,7 +650,7 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="cx"> // Deny sharing styles between WebVTT and non-WebVTT nodes.
</span><del>- if (is<WebVTTElement>(state.element()))
</del><ins>+ if (is<WebVTTElement>(*state.element()))
</ins><span class="cx"> return false;
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="lines">@@ -664,7 +664,7 @@
</span><span class="cx"> inline StyledElement* StyleResolver::findSiblingForStyleSharing(Node* node, unsigned& count) const
</span><span class="cx"> {
</span><span class="cx"> for (; node; node = node->previousSibling()) {
</span><del>- if (!is<StyledElement>(node))
</del><ins>+ if (!is<StyledElement>(*node))
</ins><span class="cx"> continue;
</span><span class="cx"> if (canShareStyleWithElement(downcast<StyledElement>(node)))
</span><span class="cx"> break;
</span><span class="lines">@@ -1167,7 +1167,7 @@
</span><span class="cx"> if (e->hasTagName(tdTag)) {
</span><span class="cx"> style.setDisplay(TABLE_CELL);
</span><span class="cx"> style.setFloating(NoFloat);
</span><del>- } else if (is<HTMLTableElement>(e))
</del><ins>+ } else if (is<HTMLTableElement>(*e))
</ins><span class="cx"> style.setDisplay(style.isDisplayInlineType() ? INLINE_TABLE : TABLE);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1184,7 +1184,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Tables never support the -webkit-* values for text-align and will reset back to the default.
</span><del>- if (e && is<HTMLTableElement>(e) && (style.textAlign() == WEBKIT_LEFT || style.textAlign() == WEBKIT_CENTER || style.textAlign() == WEBKIT_RIGHT))
</del><ins>+ if (is<HTMLTableElement>(e) && (style.textAlign() == WEBKIT_LEFT || style.textAlign() == WEBKIT_CENTER || style.textAlign() == WEBKIT_RIGHT))
</ins><span class="cx"> style.setTextAlign(TASTART);
</span><span class="cx">
</span><span class="cx"> // Frames and framesets never honor position:relative or position:absolute. This is necessary to
</span><span class="lines">@@ -1267,7 +1267,7 @@
</span><span class="cx"> style.setZIndex(0);
</span><span class="cx">
</span><span class="cx"> // Textarea considers overflow visible as auto.
</span><del>- if (e && is<HTMLTextAreaElement>(e)) {
</del><ins>+ if (is<HTMLTextAreaElement>(e)) {
</ins><span class="cx"> style.setOverflowX(style.overflowX() == OVISIBLE ? OAUTO : style.overflowX());
</span><span class="cx"> style.setOverflowY(style.overflowY() == OVISIBLE ? OAUTO : style.overflowY());
</span><span class="cx"> }
</span><span class="lines">@@ -1332,10 +1332,10 @@
</span><span class="cx">
</span><span class="cx"> // Important: Intrinsic margins get added to controls before the theme has adjusted the style, since the theme will
</span><span class="cx"> // alter fonts and heights/widths.
</span><del>- if (e && is<HTMLFormControlElement>(e) && style.fontSize() >= 11) {
</del><ins>+ if (is<HTMLFormControlElement>(e) && style.fontSize() >= 11) {
</ins><span class="cx"> // Don't apply intrinsic margins to image buttons. The designer knows how big the images are,
</span><span class="cx"> // so we have to treat all image buttons as though they were explicitly sized.
</span><del>- if (!is<HTMLInputElement>(e) || !downcast<HTMLInputElement>(*e).isImageButton())
</del><ins>+ if (!is<HTMLInputElement>(*e) || !downcast<HTMLInputElement>(*e).isImageButton())
</ins><span class="cx"> addIntrinsicMargins(style);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1880,7 +1880,7 @@
</span><span class="cx"> // Scale with/height properties on inline SVG root.
</span><span class="cx"> bool StyleResolver::useSVGZoomRulesForLength()
</span><span class="cx"> {
</span><del>- return m_state.element() && m_state.element()->isSVGElement() && !(is<SVGSVGElement>(m_state.element()) && m_state.element()->parentNode());
</del><ins>+ return is<SVGElement>(m_state.element()) && !(is<SVGSVGElement>(*m_state.element()) && m_state.element()->parentNode());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(CSS_GRID_LAYOUT)
</span></span></pre></div>
<a id="trunkSourceWebCorecssStyleSheetListcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleSheetList.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleSheetList.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/css/StyleSheetList.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx"> // and doesn't look for name attribute.
</span><span class="cx"> // But unicity of stylesheet ids is good practice anyway ;)
</span><span class="cx"> Element* element = m_document->getElementById(name);
</span><del>- if (element && is<HTMLStyleElement>(element))
</del><ins>+ if (is<HTMLStyleElement>(element))
</ins><span class="cx"> return downcast<HTMLStyleElement>(element);
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomAttrcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Attr.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Attr.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/Attr.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -188,7 +188,7 @@
</span><span class="cx"> CSSStyleDeclaration* Attr::style()
</span><span class="cx"> {
</span><span class="cx"> // This function only exists to support the Obj-C bindings.
</span><del>- if (!m_element || !is<StyledElement>(m_element))
</del><ins>+ if (!is<StyledElement>(m_element))
</ins><span class="cx"> return nullptr;
</span><span class="cx"> m_style = MutableStyleProperties::create();
</span><span class="cx"> downcast<StyledElement>(*m_element).collectStyleForPresentationAttribute(qualifiedName(), value(), *m_style);
</span></span></pre></div>
<a id="trunkSourceWebCoredomCharacterDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/CharacterData.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/CharacterData.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/CharacterData.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -87,8 +87,8 @@
</span><span class="cx"> else
</span><span class="cx"> m_data.append(string.characters16() + offset, characterLengthLimit);
</span><span class="cx">
</span><del>- ASSERT(!renderer() || is<Text>(this));
- if (is<Text>(this))
</del><ins>+ ASSERT(!renderer() || is<Text>(*this));
+ if (is<Text>(*this))
</ins><span class="cx"> Style::updateTextRendererAfterContentChange(downcast<Text>(*this), oldLength, 0);
</span><span class="cx">
</span><span class="cx"> document().incDOMTreeVersion();
</span><span class="lines">@@ -194,11 +194,11 @@
</span><span class="cx"> String oldData = m_data;
</span><span class="cx"> m_data = newData;
</span><span class="cx">
</span><del>- ASSERT(!renderer() || is<Text>(this));
- if (is<Text>(this))
</del><ins>+ ASSERT(!renderer() || is<Text>(*this));
+ if (is<Text>(*this))
</ins><span class="cx"> Style::updateTextRendererAfterContentChange(downcast<Text>(*this), offsetOfReplacedData, oldLength);
</span><span class="cx">
</span><del>- if (is<ProcessingInstruction>(this))
</del><ins>+ if (is<ProcessingInstruction>(*this))
</ins><span class="cx"> downcast<ProcessingInstruction>(*this).checkStyleSheet();
</span><span class="cx">
</span><span class="cx"> if (document().frame())
</span></span></pre></div>
<a id="trunkSourceWebCoredomContainerNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ContainerNode.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ContainerNode.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/ContainerNode.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -202,7 +202,7 @@
</span><span class="cx"> if (containsConsideringHostElements(newChild, newParent))
</span><span class="cx"> return HIERARCHY_REQUEST_ERR;
</span><span class="cx">
</span><del>- if (oldChild && is<Document>(newParent)) {
</del><ins>+ if (oldChild && is<Document>(*newParent)) {
</ins><span class="cx"> if (!downcast<Document>(*newParent).canReplaceChild(newChild, oldChild))
</span><span class="cx"> return HIERARCHY_REQUEST_ERR;
</span><span class="cx"> } else if (!isChildTypeAllowed(newParent, newChild))
</span><span class="lines">@@ -348,8 +348,8 @@
</span><span class="cx"> {
</span><span class="cx"> ChildChange change;
</span><span class="cx"> change.type = is<Element>(child) ? ElementRemoved : is<Text>(child) ? TextRemoved : NonContentsChildChanged;
</span><del>- change.previousSiblingElement = (!previousSibling || is<Element>(previousSibling)) ? downcast<Element>(previousSibling) : ElementTraversal::previousSibling(previousSibling);
- change.nextSiblingElement = (!nextSibling || is<Element>(nextSibling)) ? downcast<Element>(nextSibling) : ElementTraversal::nextSibling(nextSibling);
</del><ins>+ change.previousSiblingElement = (!previousSibling || is<Element>(*previousSibling)) ? downcast<Element>(previousSibling) : ElementTraversal::previousSibling(previousSibling);
+ change.nextSiblingElement = (!nextSibling || is<Element>(*nextSibling)) ? downcast<Element>(nextSibling) : ElementTraversal::nextSibling(nextSibling);
</ins><span class="cx"> change.source = source;
</span><span class="cx">
</span><span class="cx"> childrenChanged(change);
</span></span></pre></div>
<a id="trunkSourceWebCoredomContainerNodeAlgorithmscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ContainerNodeAlgorithms.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ContainerNodeAlgorithms.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/ContainerNodeAlgorithms.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> void ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree(ContainerNode& node)
</span><span class="cx"> {
</span><span class="cx"> for (Node* child = node.firstChild(); child; child = child->nextSibling()) {
</span><del>- if (is<ContainerNode>(child))
</del><ins>+ if (is<ContainerNode>(*child))
</ins><span class="cx"> notifyNodeInsertedIntoTree(downcast<ContainerNode>(*child));
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx"> void ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree(ContainerNode& node)
</span><span class="cx"> {
</span><span class="cx"> for (Node* child = node.firstChild(); child; child = child->nextSibling()) {
</span><del>- if (is<ContainerNode>(child))
</del><ins>+ if (is<ContainerNode>(*child))
</ins><span class="cx"> notifyNodeRemovedFromTree(downcast<ContainerNode>(*child));
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoredomCurrentScriptIncrementerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/CurrentScriptIncrementer.h (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/CurrentScriptIncrementer.h        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/CurrentScriptIncrementer.h        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> public:
</span><span class="cx"> CurrentScriptIncrementer(Document* document, Element* element)
</span><span class="cx"> : m_document(document)
</span><del>- , m_isHTMLScriptElement(is<HTMLScriptElement>(element))
</del><ins>+ , m_isHTMLScriptElement(is<HTMLScriptElement>(*element))
</ins><span class="cx"> {
</span><span class="cx"> if (m_isHTMLScriptElement)
</span><span class="cx"> m_document->pushCurrentScript(downcast<HTMLScriptElement>(element));
</span></span></pre></div>
<a id="trunkSourceWebCoredomDataTransfercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DataTransfer.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DataTransfer.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/DataTransfer.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -254,7 +254,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> CachedImage* image = nullptr;
</span><del>- if (element && is<HTMLImageElement>(element) && !element->inDocument())
</del><ins>+ if (is<HTMLImageElement>(element) && !element->inDocument())
</ins><span class="cx"> image = downcast<HTMLImageElement>(*element).cachedImage();
</span><span class="cx">
</span><span class="cx"> m_dragLocation = IntPoint(x, y);
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/Document.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -1415,7 +1415,7 @@
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> Node* node = nodeFromPoint(clientPoint);
</span><del>- while (node && !is<Element>(node))
</del><ins>+ while (node && !is<Element>(*node))
</ins><span class="cx"> node = node->parentNode();
</span><span class="cx">
</span><span class="cx"> if (node)
</span><span class="lines">@@ -1552,7 +1552,7 @@
</span><span class="cx"> // The DOM API has no method of specifying direction, so assume LTR.
</span><span class="cx"> updateTitle(StringWithDirection(title, LTR));
</span><span class="cx">
</span><del>- if (m_titleElement && is<HTMLTitleElement>(*m_titleElement))
</del><ins>+ if (is<HTMLTitleElement>(m_titleElement.get()))
</ins><span class="cx"> downcast<HTMLTitleElement>(*m_titleElement).setText(title);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -4663,7 +4663,7 @@
</span><span class="cx"> unsigned int length = children->length();
</span><span class="cx"> for (unsigned int i = 0; i < length; ++i) {
</span><span class="cx"> Node* child = children->item(i);
</span><del>- if (!is<HTMLLinkElement>(child))
</del><ins>+ if (!is<HTMLLinkElement>(*child))
</ins><span class="cx"> continue;
</span><span class="cx"> HTMLLinkElement& linkElement = downcast<HTMLLinkElement>(*child);
</span><span class="cx"> if (!(linkElement.iconType() & iconTypesMask))
</span><span class="lines">@@ -5918,9 +5918,9 @@
</span><span class="cx"> if (!document)
</span><span class="cx"> return nullptr;
</span><span class="cx"> Element* element = document->focusedElement();
</span><del>- if (!element && is<PluginDocument>(document))
</del><ins>+ if (!element && is<PluginDocument>(*document))
</ins><span class="cx"> element = downcast<PluginDocument>(*document).pluginElement();
</span><del>- if (!element && is<HTMLDocument>(document))
</del><ins>+ if (!element && is<HTMLDocument>(*document))
</ins><span class="cx"> element = document->body();
</span><span class="cx"> if (!element)
</span><span class="cx"> element = document->documentElement();
</span><span class="lines">@@ -6084,7 +6084,7 @@
</span><span class="cx"> elementsToRemoveFromChain.append(element);
</span><span class="cx"> }
</span><span class="cx"> // Unset hovered nodes in sub frame documents if the old hovered node was a frame owner.
</span><del>- if (oldHoveredElement && is<HTMLFrameOwnerElement>(*oldHoveredElement)) {
</del><ins>+ if (is<HTMLFrameOwnerElement>(oldHoveredElement.get())) {
</ins><span class="cx"> if (Document* contentDocument = downcast<HTMLFrameOwnerElement>(*oldHoveredElement).contentDocument())
</span><span class="cx"> contentDocument->updateHoverActiveState(request, nullptr);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentStyleSheetCollectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DocumentStyleSheetCollection.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DocumentStyleSheetCollection.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/DocumentStyleSheetCollection.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -266,7 +266,7 @@
</span><span class="cx">
</span><span class="cx"> for (auto& node : m_styleSheetCandidateNodes) {
</span><span class="cx"> StyleSheet* sheet = nullptr;
</span><del>- if (is<ProcessingInstruction>(node)) {
</del><ins>+ if (is<ProcessingInstruction>(*node)) {
</ins><span class="cx"> // Processing instruction (XML documents only).
</span><span class="cx"> // We don't support linking to embedded CSS stylesheets, see <https://bugs.webkit.org/show_bug.cgi?id=49281> for discussion.
</span><span class="cx"> ProcessingInstruction& pi = downcast<ProcessingInstruction>(*node);
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Element.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Element.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/Element.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -2195,12 +2195,12 @@
</span><span class="cx"> // The language property is inherited, so we iterate over the parents to find the first language.
</span><span class="cx"> const Node* currentNode = this;
</span><span class="cx"> while ((currentNode = currentNode->parentNode())) {
</span><del>- if (is<Element>(currentNode)) {
</del><ins>+ if (is<Element>(*currentNode)) {
</ins><span class="cx"> if (const ElementData* elementData = downcast<Element>(*currentNode).elementData()) {
</span><span class="cx"> if (const Attribute* attribute = elementData->findLanguageAttribute())
</span><span class="cx"> return attribute->value();
</span><span class="cx"> }
</span><del>- } else if (is<Document>(currentNode)) {
</del><ins>+ } else if (is<Document>(*currentNode)) {
</ins><span class="cx"> // checking the MIME content-language
</span><span class="cx"> return downcast<Document>(*currentNode).contentLanguage();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Element.h (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Element.h        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/Element.h        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -679,7 +679,7 @@
</span><span class="cx"> inline Element* Node::parentElement() const
</span><span class="cx"> {
</span><span class="cx"> ContainerNode* parent = parentNode();
</span><del>- return parent && is<Element>(parent) ? downcast<Element>(parent) : nullptr;
</del><ins>+ return is<Element>(parent) ? downcast<Element>(parent) : nullptr;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> inline bool Element::fastHasAttribute(const QualifiedName& name) const
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementTraversalh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ElementTraversal.h (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ElementTraversal.h        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/ElementTraversal.h        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -95,7 +95,7 @@
</span><span class="cx"> inline Element* Traversal<Element>::nextTemplate(CurrentType* current)
</span><span class="cx"> {
</span><span class="cx"> Node* node = NodeTraversal::next(current);
</span><del>- while (node && !is<Element>(node))
</del><ins>+ while (node && !is<Element>(*node))
</ins><span class="cx"> node = NodeTraversal::nextSkippingChildren(node);
</span><span class="cx"> return downcast<Element>(node);
</span><span class="cx"> }
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx"> inline Element* Traversal<Element>::nextTemplate(CurrentType* current, const Node* stayWithin)
</span><span class="cx"> {
</span><span class="cx"> Node* node = NodeTraversal::next(current, stayWithin);
</span><del>- while (node && !is<Element>(node))
</del><ins>+ while (node && !is<Element>(*node))
</ins><span class="cx"> node = NodeTraversal::nextSkippingChildren(node, stayWithin);
</span><span class="cx"> return downcast<Element>(node);
</span><span class="cx"> }
</span><span class="lines">@@ -258,7 +258,7 @@
</span><span class="cx"> inline Element* ElementTraversal::previousIncludingPseudo(const Node* current, const Node* stayWithin)
</span><span class="cx"> {
</span><span class="cx"> Node* node = NodeTraversal::previousIncludingPseudo(current, stayWithin);
</span><del>- while (node && !is<Element>(node))
</del><ins>+ while (node && !is<Element>(*node))
</ins><span class="cx"> node = NodeTraversal::previousIncludingPseudo(node, stayWithin);
</span><span class="cx"> return downcast<Element>(node);
</span><span class="cx"> }
</span><span class="lines">@@ -266,7 +266,7 @@
</span><span class="cx"> inline Element* ElementTraversal::nextIncludingPseudo(const Node* current, const Node* stayWithin)
</span><span class="cx"> {
</span><span class="cx"> Node* node = NodeTraversal::nextIncludingPseudo(current, stayWithin);
</span><del>- while (node && !is<Element>(node))
</del><ins>+ while (node && !is<Element>(*node))
</ins><span class="cx"> node = NodeTraversal::nextIncludingPseudo(node, stayWithin);
</span><span class="cx"> return downcast<Element>(node);
</span><span class="cx"> }
</span><span class="lines">@@ -274,7 +274,7 @@
</span><span class="cx"> inline Element* ElementTraversal::nextIncludingPseudoSkippingChildren(const Node* current, const Node* stayWithin)
</span><span class="cx"> {
</span><span class="cx"> Node* node = NodeTraversal::nextIncludingPseudoSkippingChildren(current, stayWithin);
</span><del>- while (node && !is<Element>(node))
</del><ins>+ while (node && !is<Element>(*node))
</ins><span class="cx"> node = NodeTraversal::nextIncludingPseudoSkippingChildren(node, stayWithin);
</span><span class="cx"> return downcast<Element>(node);
</span><span class="cx"> }
</span><span class="lines">@@ -282,7 +282,7 @@
</span><span class="cx"> inline Element* ElementTraversal::pseudoAwarePreviousSibling(const Node* current)
</span><span class="cx"> {
</span><span class="cx"> Node* node = current->pseudoAwarePreviousSibling();
</span><del>- while (node && !is<Element>(node))
</del><ins>+ while (node && !is<Element>(*node))
</ins><span class="cx"> node = node->pseudoAwarePreviousSibling();
</span><span class="cx"> return downcast<Element>(node);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomEventDispatchercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/EventDispatcher.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/EventDispatcher.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/EventDispatcher.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx"> WindowEventContext::WindowEventContext(PassRefPtr<Node> node, const EventContext* topEventContext)
</span><span class="cx"> {
</span><span class="cx"> Node* topLevelContainer = topEventContext ? topEventContext->node() : node.get();
</span><del>- if (!is<Document>(topLevelContainer))
</del><ins>+ if (!is<Document>(*topLevelContainer))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> m_window = downcast<Document>(*topLevelContainer).domWindow();
</span><span class="lines">@@ -356,7 +356,7 @@
</span><span class="cx"> WindowEventContext windowEventContext(node.get(), eventPath.lastContextIfExists());
</span><span class="cx">
</span><span class="cx"> InputElementClickState clickHandlingState;
</span><del>- if (is<HTMLInputElement>(node.get()))
</del><ins>+ if (is<HTMLInputElement>(*node))
</ins><span class="cx"> downcast<HTMLInputElement>(*node).willDispatchEvent(*event, clickHandlingState);
</span><span class="cx">
</span><span class="cx"> if (!event->propagationStopped() && !eventPath.isEmpty())
</span><span class="lines">@@ -418,7 +418,7 @@
</span><span class="cx">
</span><span class="cx"> static Node* nodeOrHostIfPseudoElement(Node* node)
</span><span class="cx"> {
</span><del>- return is<PseudoElement>(node) ? downcast<PseudoElement>(*node).hostElement() : node;
</del><ins>+ return is<PseudoElement>(*node) ? downcast<PseudoElement>(*node).hostElement() : node;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> EventPath::EventPath(Node& targetNode, Event& event)
</span><span class="lines">@@ -447,7 +447,7 @@
</span><span class="cx"> m_path.append(std::make_unique<EventContext>(node, &currentTarget, target));
</span><span class="cx"> if (!inDocument)
</span><span class="cx"> return;
</span><del>- if (is<ShadowRoot>(node))
</del><ins>+ if (is<ShadowRoot>(*node))
</ins><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> if (!node || !shouldEventCrossShadowBoundary(event, downcast<ShadowRoot>(*node), *target))
</span></span></pre></div>
<a id="trunkSourceWebCoredomEventTargetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/EventTarget.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/EventTarget.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/EventTarget.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -223,7 +223,7 @@
</span><span class="cx"> ScriptExecutionContext* context = scriptExecutionContext();
</span><span class="cx"> Document* document = nullptr;
</span><span class="cx"> InspectorInstrumentationCookie willDispatchEventCookie;
</span><del>- if (context && is<Document>(context)) {
</del><ins>+ if (is<Document>(context)) {
</ins><span class="cx"> document = downcast<Document>(context);
</span><span class="cx"> willDispatchEventCookie = InspectorInstrumentation::willDispatchEvent(document, *event, size > 0);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomKeyboardEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/KeyboardEvent.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/KeyboardEvent.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/KeyboardEvent.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -220,7 +220,7 @@
</span><span class="cx"> KeyboardEvent* findKeyboardEvent(Event* event)
</span><span class="cx"> {
</span><span class="cx"> for (Event* e = event; e; e = e->underlyingEvent())
</span><del>- if (is<KeyboardEvent>(e))
</del><ins>+ if (is<KeyboardEvent>(*e))
</ins><span class="cx"> return downcast<KeyboardEvent>(e);
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomLiveNodeListcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/LiveNodeList.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/LiveNodeList.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/LiveNodeList.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx"> unsigned length = this->length();
</span><span class="cx"> for (unsigned i = 0; i < length; i++) {
</span><span class="cx"> Node* node = item(i);
</span><del>- if (!is<Element>(node))
</del><ins>+ if (!is<Element>(*node))
</ins><span class="cx"> continue;
</span><span class="cx"> Element& element = downcast<Element>(*node);
</span><span class="cx"> // FIXME: This should probably be using getIdAttribute instead of idForStyleResolution.
</span></span></pre></div>
<a id="trunkSourceWebCoredomMessagePortcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MessagePort.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MessagePort.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/MessagePort.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -157,7 +157,7 @@
</span><span class="cx"> while (m_entangledChannel && m_entangledChannel->tryGetMessageFromRemote(message, channels)) {
</span><span class="cx">
</span><span class="cx"> // close() in Worker onmessage handler should prevent next message from dispatching.
</span><del>- if (is<WorkerGlobalScope>(m_scriptExecutionContext) && downcast<WorkerGlobalScope>(*m_scriptExecutionContext).isClosing())
</del><ins>+ if (is<WorkerGlobalScope>(*m_scriptExecutionContext) && downcast<WorkerGlobalScope>(*m_scriptExecutionContext).isClosing())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> std::unique_ptr<MessagePortArray> ports = MessagePort::entanglePorts(*m_scriptExecutionContext, WTF::move(channels));
</span></span></pre></div>
<a id="trunkSourceWebCoredomMouseEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MouseEvent.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MouseEvent.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/MouseEvent.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -276,7 +276,7 @@
</span><span class="cx"> }
</span><span class="cx"> setUnderlyingEvent(underlyingEvent);
</span><span class="cx">
</span><del>- if (this->underlyingEvent() && is<MouseEvent>(this->underlyingEvent())) {
</del><ins>+ if (is<MouseEvent>(this->underlyingEvent())) {
</ins><span class="cx"> MouseEvent& mouseEvent = downcast<MouseEvent>(*this->underlyingEvent());
</span><span class="cx"> m_screenLocation = mouseEvent.screenLocation();
</span><span class="cx"> initCoordinates(mouseEvent.clientLocation());
</span></span></pre></div>
<a id="trunkSourceWebCoredomNamedNodeMapcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/NamedNodeMap.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/NamedNodeMap.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/NamedNodeMap.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Not mentioned in spec: throw a HIERARCHY_REQUEST_ERROR if the user passes in a non-attribute node
</span><del>- if (!is<Attr>(node)) {
</del><ins>+ if (!is<Attr>(*node)) {
</ins><span class="cx"> ec = HIERARCHY_REQUEST_ERR;
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Node.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Node.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/Node.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -137,7 +137,7 @@
</span><span class="cx">
</span><span class="cx"> if (node->hasRareData()) {
</span><span class="cx"> ++nodesWithRareData;
</span><del>- if (is<Element>(node)) {
</del><ins>+ if (is<Element>(*node)) {
</ins><span class="cx"> ++elementsWithRareData;
</span><span class="cx"> if (downcast<Element>(*node).hasNamedNodeMap())
</span><span class="cx"> ++elementsWithNamedNodeMap;
</span><span class="lines">@@ -872,7 +872,7 @@
</span><span class="cx">
</span><span class="cx"> Node* Node::pseudoAwarePreviousSibling() const
</span><span class="cx"> {
</span><del>- Element* parentOrHost = is<PseudoElement>(this) ? downcast<PseudoElement>(*this).hostElement() : parentElement();
</del><ins>+ Element* parentOrHost = is<PseudoElement>(*this) ? downcast<PseudoElement>(*this).hostElement() : parentElement();
</ins><span class="cx"> if (parentOrHost && !previousSibling()) {
</span><span class="cx"> if (isAfterPseudoElement() && parentOrHost->lastChild())
</span><span class="cx"> return parentOrHost->lastChild();
</span><span class="lines">@@ -884,7 +884,7 @@
</span><span class="cx">
</span><span class="cx"> Node* Node::pseudoAwareNextSibling() const
</span><span class="cx"> {
</span><del>- Element* parentOrHost = is<PseudoElement>(this) ? downcast<PseudoElement>(*this).hostElement() : parentElement();
</del><ins>+ Element* parentOrHost = is<PseudoElement>(*this) ? downcast<PseudoElement>(*this).hostElement() : parentElement();
</ins><span class="cx"> if (parentOrHost && !nextSibling()) {
</span><span class="cx"> if (isBeforePseudoElement() && parentOrHost->firstChild())
</span><span class="cx"> return parentOrHost->firstChild();
</span><span class="lines">@@ -927,7 +927,7 @@
</span><span class="cx"> RenderStyle* Node::computedStyle(PseudoId pseudoElementSpecifier)
</span><span class="cx"> {
</span><span class="cx"> for (Node* node = this; node; node = node->parentOrShadowHostNode()) {
</span><del>- if (is<Element>(node))
</del><ins>+ if (is<Element>(*node))
</ins><span class="cx"> return downcast<Element>(*node).computedStyle(pseudoElementSpecifier);
</span><span class="cx"> }
</span><span class="cx"> return nullptr;
</span><span class="lines">@@ -1004,10 +1004,10 @@
</span><span class="cx"> if (!parent)
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><del>- if (is<ShadowRoot>(parent))
- return downcast<ShadowRoot>(parent)->hostElement();
</del><ins>+ if (is<ShadowRoot>(*parent))
+ return downcast<ShadowRoot>(*parent).hostElement();
</ins><span class="cx">
</span><del>- if (!is<Element>(parent))
</del><ins>+ if (!is<Element>(*parent))
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> return downcast<Element>(parent);
</span><span class="lines">@@ -1057,9 +1057,9 @@
</span><span class="cx"> {
</span><span class="cx"> Element* result = nullptr;
</span><span class="cx"> for (Node* node = const_cast<Node*>(this); node && node->hasEditableStyle(); node = node->parentNode()) {
</span><del>- if (is<Element>(node))
</del><ins>+ if (is<Element>(*node))
</ins><span class="cx"> result = downcast<Element>(node);
</span><del>- if (is<HTMLBodyElement>(node))
</del><ins>+ if (is<HTMLBodyElement>(*node))
</ins><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> return result;
</span><span class="lines">@@ -1384,7 +1384,7 @@
</span><span class="cx"> {
</span><span class="cx"> // In theory, there can be EntityReference nodes between elements, but this is currently not supported.
</span><span class="cx"> for (ContainerNode* ancestor = parentNode(); ancestor; ancestor = ancestor->parentNode()) {
</span><del>- if (is<Element>(ancestor))
</del><ins>+ if (is<Element>(*ancestor))
</ins><span class="cx"> return downcast<Element>(ancestor);
</span><span class="cx"> }
</span><span class="cx"> return nullptr;
</span><span class="lines">@@ -1404,8 +1404,8 @@
</span><span class="cx"> if (otherNode == this)
</span><span class="cx"> return DOCUMENT_POSITION_EQUIVALENT;
</span><span class="cx">
</span><del>- Attr* attr1 = is<Attr>(this) ? downcast<Attr>(this) : nullptr;
- Attr* attr2 = is<Attr>(otherNode) ? downcast<Attr>(otherNode) : nullptr;
</del><ins>+ Attr* attr1 = is<Attr>(*this) ? downcast<Attr>(this) : nullptr;
+ Attr* attr2 = is<Attr>(*otherNode) ? downcast<Attr>(otherNode) : nullptr;
</ins><span class="cx">
</span><span class="cx"> Node* start1 = attr1 ? attr1->ownerElement() : this;
</span><span class="cx"> Node* start2 = attr2 ? attr2->ownerElement() : otherNode;
</span><span class="lines">@@ -1529,7 +1529,7 @@
</span><span class="cx">
</span><span class="cx"> static void appendAttributeDesc(const Node* node, StringBuilder& stringBuilder, const QualifiedName& name, const char* attrDesc)
</span><span class="cx"> {
</span><del>- if (!is<Element>(node))
</del><ins>+ if (!is<Element>(*node))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> const AtomicString& attr = downcast<Element>(*node).getAttribute(name);
</span><span class="lines">@@ -1572,7 +1572,7 @@
</span><span class="cx"> }
</span><span class="cx"> for (unsigned index = chain.size(); index > 0; --index) {
</span><span class="cx"> const Node* node = chain[index - 1];
</span><del>- if (is<ShadowRoot>(node)) {
</del><ins>+ if (is<ShadowRoot>(*node)) {
</ins><span class="cx"> int count = 0;
</span><span class="cx"> for (const ShadowRoot* shadowRoot = downcast<ShadowRoot>(node); shadowRoot && shadowRoot != node; shadowRoot = shadowRoot->shadowRoot())
</span><span class="cx"> ++count;
</span><span class="lines">@@ -1723,7 +1723,7 @@
</span><span class="cx"> // For imagemaps, the enclosing link element is the associated area element not the image itself.
</span><span class="cx"> // So we don't let images be the enclosing link element, even though isLink sometimes returns
</span><span class="cx"> // true for them.
</span><del>- if (node->isLink() && !is<HTMLImageElement>(node))
</del><ins>+ if (node->isLink() && !is<HTMLImageElement>(*node))
</ins><span class="cx"> return downcast<Element>(node);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -2032,7 +2032,7 @@
</span><span class="cx"> bool Node::dispatchEvent(PassRefPtr<Event> event)
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(TOUCH_EVENTS) && !PLATFORM(IOS)
</span><del>- if (is<TouchEvent>(event.get()))
</del><ins>+ if (is<TouchEvent>(*event))
</ins><span class="cx"> return dispatchTouchEvent(adoptRef(downcast<TouchEvent>(event.leakRef())));
</span><span class="cx"> #endif
</span><span class="cx"> return EventDispatcher::dispatchEvent(this, event);
</span><span class="lines">@@ -2100,12 +2100,12 @@
</span><span class="cx"> return;
</span><span class="cx"> const AtomicString& eventType = event->type();
</span><span class="cx"> if (eventType == eventNames().keydownEvent || eventType == eventNames().keypressEvent) {
</span><del>- if (is<KeyboardEvent>(event)) {
</del><ins>+ if (is<KeyboardEvent>(*event)) {
</ins><span class="cx"> if (Frame* frame = document().frame())
</span><span class="cx"> frame->eventHandler().defaultKeyboardEventHandler(downcast<KeyboardEvent>(event));
</span><span class="cx"> }
</span><span class="cx"> } else if (eventType == eventNames().clickEvent) {
</span><del>- int detail = is<UIEvent>(event) ? downcast<UIEvent>(*event).detail() : 0;
</del><ins>+ int detail = is<UIEvent>(*event) ? downcast<UIEvent>(*event).detail() : 0;
</ins><span class="cx"> if (dispatchDOMActivateEvent(detail, event))
</span><span class="cx"> event->setDefaultHandled();
</span><span class="cx"> #if ENABLE(CONTEXT_MENUS)
</span><span class="lines">@@ -2115,12 +2115,12 @@
</span><span class="cx"> page->contextMenuController().handleContextMenuEvent(event);
</span><span class="cx"> #endif
</span><span class="cx"> } else if (eventType == eventNames().textInputEvent) {
</span><del>- if (is<TextEvent>(event)) {
</del><ins>+ if (is<TextEvent>(*event)) {
</ins><span class="cx"> if (Frame* frame = document().frame())
</span><span class="cx"> frame->eventHandler().defaultTextInputEventHandler(downcast<TextEvent>(event));
</span><span class="cx"> }
</span><span class="cx"> #if ENABLE(PAN_SCROLLING)
</span><del>- } else if (eventType == eventNames().mousedownEvent && is<MouseEvent>(event)) {
</del><ins>+ } else if (eventType == eventNames().mousedownEvent && is<MouseEvent>(*event)) {
</ins><span class="cx"> if (downcast<MouseEvent>(*event).button() == MiddleButton) {
</span><span class="cx"> if (enclosingLinkEventParentOrSelf())
</span><span class="cx"> return;
</span><span class="lines">@@ -2135,7 +2135,7 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><del>- } else if ((eventType == eventNames().wheelEvent || eventType == eventNames().mousewheelEvent) && is<WheelEvent>(event)) {
</del><ins>+ } else if ((eventType == eventNames().wheelEvent || eventType == eventNames().mousewheelEvent) && is<WheelEvent>(*event)) {
</ins><span class="cx">
</span><span class="cx"> // If we don't have a renderer, send the wheel event to the first node we find with a renderer.
</span><span class="cx"> // This is needed for <option> and <optgroup> elements so that <select>s get a wheel scroll.
</span><span class="lines">@@ -2147,7 +2147,7 @@
</span><span class="cx"> if (Frame* frame = document().frame())
</span><span class="cx"> frame->eventHandler().defaultWheelEventHandler(startNode, downcast<WheelEvent>(event));
</span><span class="cx"> #if ENABLE(TOUCH_EVENTS) && PLATFORM(IOS)
</span><del>- } else if (is<TouchEvent>(event) && eventNames().isTouchEventType(eventType)) {
</del><ins>+ } else if (is<TouchEvent>(*event) && eventNames().isTouchEventType(eventType)) {
</ins><span class="cx"> RenderObject* renderer = this->renderer();
</span><span class="cx"> while (renderer && (!renderer->isBox() || !toRenderBox(renderer)->canBeScrolledAndHasScrollableArea()))
</span><span class="cx"> renderer = renderer->parent();
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodeRenderingTraversalcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/NodeRenderingTraversal.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/NodeRenderingTraversal.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/NodeRenderingTraversal.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> if (parent->isShadowRoot())
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- if (is<Element>(parent) && downcast<Element>(*parent).shadowRoot())
</del><ins>+ if (is<Element>(*parent) && downcast<Element>(*parent).shadowRoot())
</ins><span class="cx"> return true;
</span><span class="cx">
</span><span class="cx"> return false;
</span><span class="lines">@@ -132,10 +132,10 @@
</span><span class="cx"> if (!parent)
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><del>- if (is<ShadowRoot>(parent))
</del><ins>+ if (is<ShadowRoot>(*parent))
</ins><span class="cx"> return shadowRootCrossing == CrossShadowRoot ? downcast<ShadowRoot>(parent)->hostElement() : parent;
</span><span class="cx">
</span><del>- if (is<InsertionPoint>(parent)) {
</del><ins>+ if (is<InsertionPoint>(*parent)) {
</ins><span class="cx"> const InsertionPoint& insertionPoint = downcast<InsertionPoint>(*parent);
</span><span class="cx"> if (insertionPoint.hasDistribution())
</span><span class="cx"> return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodeTraversalcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/NodeTraversal.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/NodeTraversal.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/NodeTraversal.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> previous = previous->pseudoAwareLastChild();
</span><span class="cx"> return previous;
</span><span class="cx"> }
</span><del>- return is<PseudoElement>(current) ? downcast<PseudoElement>(*current).hostElement() : current->parentNode();
</del><ins>+ return is<PseudoElement>(*current) ? downcast<PseudoElement>(*current).hostElement() : current->parentNode();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> Node* nextIncludingPseudo(const Node* current, const Node* stayWithin)
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx"> return nullptr;
</span><span class="cx"> if ((next = current->pseudoAwareNextSibling()))
</span><span class="cx"> return next;
</span><del>- current = is<PseudoElement>(current) ? downcast<PseudoElement>(*current).hostElement() : current->parentNode();
</del><ins>+ current = is<PseudoElement>(*current) ? downcast<PseudoElement>(*current).hostElement() : current->parentNode();
</ins><span class="cx"> for (; current; current = current->parentNode()) {
</span><span class="cx"> if (current == stayWithin)
</span><span class="cx"> return nullptr;
</span><span class="lines">@@ -70,7 +70,7 @@
</span><span class="cx"> return nullptr;
</span><span class="cx"> if ((next = current->pseudoAwareNextSibling()))
</span><span class="cx"> return next;
</span><del>- current = is<PseudoElement>(current) ? downcast<PseudoElement>(*current).hostElement() : current->parentNode();
</del><ins>+ current = is<PseudoElement>(*current) ? downcast<PseudoElement>(*current).hostElement() : current->parentNode();
</ins><span class="cx"> for (; current; current = current->parentNode()) {
</span><span class="cx"> if (current == stayWithin)
</span><span class="cx"> return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCoredomPositioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Position.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Position.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/Position.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -291,7 +291,7 @@
</span><span class="cx"> Element* Position::element() const
</span><span class="cx"> {
</span><span class="cx"> Node* node = anchorNode();
</span><del>- while (node && !is<Element>(node))
</del><ins>+ while (node && !is<Element>(*node))
</ins><span class="cx"> node = node->parentNode();
</span><span class="cx"> return downcast<Element>(node);
</span><span class="cx"> }
</span><span class="lines">@@ -529,7 +529,7 @@
</span><span class="cx"> return true;
</span><span class="cx">
</span><span class="cx"> // Don't include inline tables.
</span><del>- if (is<HTMLTableElement>(node))
</del><ins>+ if (is<HTMLTableElement>(*node))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> // There is a VisiblePosition inside an empty inline-block container.
</span><span class="lines">@@ -950,7 +950,7 @@
</span><span class="cx">
</span><span class="cx"> bool Position::isRenderedCharacter() const
</span><span class="cx"> {
</span><del>- if (isNull() || !is<Text>(deprecatedNode()))
</del><ins>+ if (!is<Text>(deprecatedNode()))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> RenderText* renderer = downcast<Text>(*deprecatedNode()).renderer();
</span><span class="lines">@@ -1062,7 +1062,7 @@
</span><span class="cx"> return Position();
</span><span class="cx">
</span><span class="cx"> Position prev = previousCharacterPosition(affinity);
</span><del>- if (prev != *this && inSameEnclosingBlockFlowElement(deprecatedNode(), prev.deprecatedNode()) && is<Text>(prev.deprecatedNode())) {
</del><ins>+ if (prev != *this && inSameEnclosingBlockFlowElement(deprecatedNode(), prev.deprecatedNode()) && is<Text>(*prev.deprecatedNode())) {
</ins><span class="cx"> String string = downcast<Text>(*prev.deprecatedNode()).data();
</span><span class="cx"> UChar c = string[prev.deprecatedEditingOffset()];
</span><span class="cx"> if (considerNonCollapsibleWhitespace ? (isSpaceOrNewline(c) || c == noBreakSpace) : deprecatedIsCollapsibleWhitespace(c))
</span></span></pre></div>
<a id="trunkSourceWebCoredomRangecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Range.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Range.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/Range.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -978,7 +978,7 @@
</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());
</del><ins>+ bool startIsText = is<Text>(*m_start.container());
</ins><span class="cx"> if (startIsText && !m_start.container()->parentNode()) {
</span><span class="cx"> ec = HIERARCHY_REQUEST_ERR;
</span><span class="cx"> return;
</span><span class="lines">@@ -2224,7 +2224,7 @@
</span><span class="cx"> selectedElementsSet.remove(parent);
</span><span class="cx">
</span><span class="cx"> for (Node* node = firstNode(); node != stopNode; node = NodeTraversal::next(node)) {
</span><del>- if (is<Element>(node) && selectedElementsSet.contains(node) && !selectedElementsSet.contains(node->parentNode())) {
</del><ins>+ if (is<Element>(*node) && selectedElementsSet.contains(node) && !selectedElementsSet.contains(node->parentNode())) {
</ins><span class="cx"> if (RenderBoxModelObject* renderBoxModelObject = downcast<Element>(*node).renderBoxModelObject()) {
</span><span class="cx"> Vector<FloatQuad> elementQuads;
</span><span class="cx"> renderBoxModelObject->absoluteQuads(elementQuads);
</span><span class="lines">@@ -2232,7 +2232,7 @@
</span><span class="cx">
</span><span class="cx"> quads.appendVector(elementQuads);
</span><span class="cx"> }
</span><del>- } else if (is<Text>(node)) {
</del><ins>+ } else if (is<Text>(*node)) {
</ins><span class="cx"> if (RenderObject* renderer = downcast<Text>(*node).renderer()) {
</span><span class="cx"> const RenderText& renderText = toRenderText(*renderer);
</span><span class="cx"> int startOffset = (node == startContainer) ? m_start.offset() : 0;
</span></span></pre></div>
<a id="trunkSourceWebCoredomScriptElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ScriptElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ScriptElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/ScriptElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -382,10 +382,10 @@
</span><span class="cx">
</span><span class="cx"> ScriptElement* toScriptElementIfPossible(Element* element)
</span><span class="cx"> {
</span><del>- if (is<HTMLScriptElement>(element))
</del><ins>+ if (is<HTMLScriptElement>(*element))
</ins><span class="cx"> return downcast<HTMLScriptElement>(element);
</span><span class="cx">
</span><del>- if (is<SVGScriptElement>(element))
</del><ins>+ if (is<SVGScriptElement>(*element))
</ins><span class="cx"> return downcast<SVGScriptElement>(element);
</span><span class="cx">
</span><span class="cx"> return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCoredomShadowRooth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ShadowRoot.h (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ShadowRoot.h        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/ShadowRoot.h        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx"> inline ContainerNode* Node::parentOrShadowHostNode() const
</span><span class="cx"> {
</span><span class="cx"> ASSERT(isMainThreadOrGCThread());
</span><del>- if (is<ShadowRoot>(this))
</del><ins>+ if (is<ShadowRoot>(*this))
</ins><span class="cx"> return downcast<ShadowRoot>(*this).hostElement();
</span><span class="cx"> return parentNode();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomTextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Text.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Text.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/Text.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx"> {
</span><span class="cx"> const Node* node = text;
</span><span class="cx"> while ((node = node->previousSibling())) {
</span><del>- if (!is<Text>(node))
</del><ins>+ if (!is<Text>(*node))
</ins><span class="cx"> break;
</span><span class="cx"> text = downcast<Text>(node);
</span><span class="cx"> }
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx"> {
</span><span class="cx"> const Node* node = text;
</span><span class="cx"> while ((node = node->nextSibling())) {
</span><del>- if (!is<Text>(node))
</del><ins>+ if (!is<Text>(*node))
</ins><span class="cx"> break;
</span><span class="cx"> text = downcast<Text>(node);
</span><span class="cx"> }
</span><span class="lines">@@ -178,7 +178,8 @@
</span><span class="cx"> static bool isSVGShadowText(Text* text)
</span><span class="cx"> {
</span><span class="cx"> Node* parentNode = text->parentNode();
</span><del>- return is<ShadowRoot>(parentNode) && downcast<ShadowRoot>(*parentNode).hostElement()->hasTagName(SVGNames::trefTag);
</del><ins>+ ASSERT(parentNode);
+ return is<ShadowRoot>(*parentNode) && downcast<ShadowRoot>(*parentNode).hostElement()->hasTagName(SVGNames::trefTag);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static bool isSVGText(Text* text)
</span></span></pre></div>
<a id="trunkSourceWebCoredomTextNodeTraversalcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/TextNodeTraversal.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/TextNodeTraversal.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/TextNodeTraversal.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -47,9 +47,10 @@
</span><span class="cx">
</span><span class="cx"> String contentsAsString(const Node* root)
</span><span class="cx"> {
</span><del>- if (is<Text>(root))
</del><ins>+ ASSERT(root);
+ if (is<Text>(*root))
</ins><span class="cx"> return downcast<Text>(*root).data();
</span><del>- if (is<ContainerNode>(root))
</del><ins>+ if (is<ContainerNode>(*root))
</ins><span class="cx"> return contentsAsString(downcast<ContainerNode>(root));
</span><span class="cx"> return String();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomTextNodeTraversalh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/TextNodeTraversal.h (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/TextNodeTraversal.h        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/TextNodeTraversal.h        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx"> inline Text* firstTextChildTemplate(NodeType* current)
</span><span class="cx"> {
</span><span class="cx"> Node* node = current->firstChild();
</span><del>- while (node && !is<Text>(node))
</del><ins>+ while (node && !is<Text>(*node))
</ins><span class="cx"> node = node->nextSibling();
</span><span class="cx"> return downcast<Text>(node);
</span><span class="cx"> }
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx"> inline Text* firstTextWithinTemplate(NodeType* current)
</span><span class="cx"> {
</span><span class="cx"> Node* node = current->firstChild();
</span><del>- while (node && !is<Text>(node))
</del><ins>+ while (node && !is<Text>(*node))
</ins><span class="cx"> node = NodeTraversal::next(node, current);
</span><span class="cx"> return downcast<Text>(node);
</span><span class="cx"> }
</span><span class="lines">@@ -88,7 +88,7 @@
</span><span class="cx"> inline Text* traverseNextTextTemplate(NodeType* current)
</span><span class="cx"> {
</span><span class="cx"> Node* node = NodeTraversal::next(current);
</span><del>- while (node && !is<Text>(node))
</del><ins>+ while (node && !is<Text>(*node))
</ins><span class="cx"> node = NodeTraversal::next(node);
</span><span class="cx"> return downcast<Text>(node);
</span><span class="cx"> }
</span><span class="lines">@@ -99,7 +99,7 @@
</span><span class="cx"> inline Text* traverseNextTextTemplate(NodeType* current, const Node* stayWithin)
</span><span class="cx"> {
</span><span class="cx"> Node* node = NodeTraversal::next(current, stayWithin);
</span><del>- while (node && !is<Text>(node))
</del><ins>+ while (node && !is<Text>(*node))
</ins><span class="cx"> node = NodeTraversal::next(node, stayWithin);
</span><span class="cx"> return downcast<Text>(node);
</span><span class="cx"> }
</span><span class="lines">@@ -109,7 +109,7 @@
</span><span class="cx"> inline Text* nextSibling(const Node* current)
</span><span class="cx"> {
</span><span class="cx"> Node* node = current->nextSibling();
</span><del>- while (node && !is<Text>(node))
</del><ins>+ while (node && !is<Text>(*node))
</ins><span class="cx"> node = node->nextSibling();
</span><span class="cx"> return downcast<Text>(node);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomTreeScopeAdoptercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/TreeScopeAdopter.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/TreeScopeAdopter.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/dom/TreeScopeAdopter.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx"> rareData->nodeLists()->adoptTreeScope();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (!is<Element>(node))
</del><ins>+ if (!is<Element>(*node))
</ins><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> if (node->hasSyntheticAttrChildNodes()) {
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx"> if (oldDocument)
</span><span class="cx"> oldDocument->moveNodeIteratorsToNewDocument(node, newDocument);
</span><span class="cx">
</span><del>- if (is<ShadowRoot>(node))
</del><ins>+ if (is<ShadowRoot>(*node))
</ins><span class="cx"> downcast<ShadowRoot>(*node).setDocumentScope(newDocument);
</span><span class="cx">
</span><span class="cx"> #ifndef NDEBUG
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingApplyBlockElementCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/ApplyBlockElementCommand.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/ApplyBlockElementCommand.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/ApplyBlockElementCommand.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -164,7 +164,7 @@
</span><span class="cx"> {
</span><span class="cx"> Node* textNode = position.containerNode();
</span><span class="cx"> int offset = position.offsetInContainerNode();
</span><del>- if (!textNode || !is<Text>(textNode) || offset < 0 || offset >= textNode->maxCharacterOffset())
</del><ins>+ if (!is<Text>(textNode) || offset < 0 || offset >= textNode->maxCharacterOffset())
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="lines">@@ -267,18 +267,18 @@
</span><span class="cx"> // Avoid this by splitting "\n"
</span><span class="cx"> splitTextNode(text, 1);
</span><span class="cx">
</span><del>- if (text == start.containerNode() && text->previousSibling() && is<Text>(text->previousSibling())) {
</del><ins>+ if (text == start.containerNode() && is<Text>(text->previousSibling())) {
</ins><span class="cx"> ASSERT(start.offsetInContainerNode() < position.offsetInContainerNode());
</span><span class="cx"> start = Position(downcast<Text>(text->previousSibling()), start.offsetInContainerNode());
</span><span class="cx"> }
</span><del>- if (text == end.containerNode() && text->previousSibling() && is<Text>(text->previousSibling())) {
</del><ins>+ if (text == end.containerNode() && is<Text>(text->previousSibling())) {
</ins><span class="cx"> ASSERT(end.offsetInContainerNode() < position.offsetInContainerNode());
</span><span class="cx"> end = Position(downcast<Text>(text->previousSibling()), end.offsetInContainerNode());
</span><span class="cx"> }
</span><span class="cx"> if (text == m_endOfLastParagraph.containerNode()) {
</span><span class="cx"> if (m_endOfLastParagraph.offsetInContainerNode() < position.offsetInContainerNode()) {
</span><span class="cx"> // We can only fix endOfLastParagraph if the previous node was still text and hasn't been modified by script.
</span><del>- if (is<Text>(text->previousSibling())
</del><ins>+ if (is<Text>(*text->previousSibling())
</ins><span class="cx"> && static_cast<unsigned>(m_endOfLastParagraph.offsetInContainerNode()) <= downcast<Text>(text->previousSibling())->length())
</span><span class="cx"> m_endOfLastParagraph = Position(downcast<Text>(text->previousSibling()), m_endOfLastParagraph.offsetInContainerNode());
</span><span class="cx"> } else
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingApplyStyleCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/ApplyStyleCommand.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/ApplyStyleCommand.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/ApplyStyleCommand.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx">
</span><span class="cx"> bool isLegacyAppleStyleSpan(const Node* node)
</span><span class="cx"> {
</span><del>- if (!node || !is<HTMLSpanElement>(node))
</del><ins>+ if (!is<HTMLSpanElement>(node))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> return downcast<HTMLSpanElement>(*node).fastGetAttribute(classAttr) == styleSpanClassString();
</span><span class="lines">@@ -92,21 +92,21 @@
</span><span class="cx">
</span><span class="cx"> bool isStyleSpanOrSpanWithOnlyStyleAttribute(const Element* element)
</span><span class="cx"> {
</span><del>- if (!element || !is<HTMLSpanElement>(element))
</del><ins>+ if (!is<HTMLSpanElement>(element))
</ins><span class="cx"> return false;
</span><span class="cx"> return hasNoAttributeOrOnlyStyleAttribute(downcast<HTMLSpanElement>(element), AllowNonEmptyStyleAttribute);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static inline bool isSpanWithoutAttributesOrUnstyledStyleSpan(const Element* element)
</span><span class="cx"> {
</span><del>- if (!element || !is<HTMLSpanElement>(element))
</del><ins>+ if (!is<HTMLSpanElement>(element))
</ins><span class="cx"> return false;
</span><span class="cx"> return hasNoAttributeOrOnlyStyleAttribute(downcast<HTMLSpanElement>(element), StyleAttributeShouldBeEmpty);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool isEmptyFontTag(const Element* element, ShouldStyleAttributeBeEmpty shouldStyleAttributeBeEmpty)
</span><span class="cx"> {
</span><del>- if (!element || !is<HTMLFontElement>(element))
</del><ins>+ if (!is<HTMLFontElement>(element))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> return hasNoAttributeOrOnlyStyleAttribute(downcast<HTMLFontElement>(element), shouldStyleAttributeBeEmpty);
</span><span class="lines">@@ -277,7 +277,7 @@
</span><span class="cx"> block = newBlock;
</span><span class="cx"> }
</span><span class="cx"> ASSERT(!block || is<HTMLElement>(*block));
</span><del>- if (block && is<HTMLElement>(*block)) {
</del><ins>+ if (is<HTMLElement>(block.get())) {
</ins><span class="cx"> removeCSSStyle(style, downcast<HTMLElement>(block.get()));
</span><span class="cx"> if (!m_removeOnly)
</span><span class="cx"> addBlockStyle(styleChange, downcast<HTMLElement>(block.get()));
</span><span class="lines">@@ -377,7 +377,7 @@
</span><span class="cx"> Node* lastStyledNode = 0;
</span><span class="cx"> for (Node* node = startNode; node != beyondEnd; node = NodeTraversal::next(node)) {
</span><span class="cx"> RefPtr<HTMLElement> element;
</span><del>- if (is<HTMLElement>(node)) {
</del><ins>+ if (is<HTMLElement>(*node)) {
</ins><span class="cx"> // Only work on fully selected nodes.
</span><span class="cx"> if (!nodeFullySelected(node, start, end))
</span><span class="cx"> continue;
</span><span class="lines">@@ -420,7 +420,7 @@
</span><span class="cx">
</span><span class="cx"> static ContainerNode* dummySpanAncestorForNode(const Node* node)
</span><span class="cx"> {
</span><del>- while (node && (!is<Element>(node) || !isStyleSpanOrSpanWithOnlyStyleAttribute(downcast<Element>(node))))
</del><ins>+ while (node && (!is<Element>(*node) || !isStyleSpanOrSpanWithOnlyStyleAttribute(downcast<Element>(node))))
</ins><span class="cx"> node = node->parentNode();
</span><span class="cx">
</span><span class="cx"> return node ? node->parentNode() : nullptr;
</span><span class="lines">@@ -473,7 +473,7 @@
</span><span class="cx"> WritingDirection highestAncestorDirection;
</span><span class="cx"> if (allowedDirection != NaturalWritingDirection
</span><span class="cx"> && highestAncestorUnicodeBidi != CSSValueBidiOverride
</span><del>- && is<HTMLElement>(highestAncestorWithUnicodeBidi)
</del><ins>+ && is<HTMLElement>(*highestAncestorWithUnicodeBidi)
</ins><span class="cx"> && EditingStyle::create(highestAncestorWithUnicodeBidi, EditingStyle::AllProperties)->textDirection(highestAncestorDirection)
</span><span class="cx"> && highestAncestorDirection == allowedDirection) {
</span><span class="cx"> if (!nextHighestAncestorWithUnicodeBidi)
</span><span class="lines">@@ -505,7 +505,7 @@
</span><span class="cx"> Node* parent = nullptr;
</span><span class="cx"> for (Node* ancestor = node->parentNode(); ancestor != block && ancestor != unsplitAncestor; ancestor = parent) {
</span><span class="cx"> parent = ancestor->parentNode();
</span><del>- if (!is<StyledElement>(ancestor))
</del><ins>+ if (!is<StyledElement>(*ancestor))
</ins><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> StyledElement& element = downcast<StyledElement>(*ancestor);
</span><span class="lines">@@ -980,7 +980,7 @@
</span><span class="cx"> Node* unsplittableElement = unsplittableElementForPosition(firstPositionInOrBeforeNode(node));
</span><span class="cx">
</span><span class="cx"> for (Node* ancestor = node; ancestor; ancestor = ancestor->parentNode()) {
</span><del>- if (is<HTMLElement>(ancestor) && shouldRemoveInlineStyleFromElement(style, downcast<HTMLElement>(ancestor)))
</del><ins>+ if (is<HTMLElement>(*ancestor) && shouldRemoveInlineStyleFromElement(style, downcast<HTMLElement>(ancestor)))
</ins><span class="cx"> result = downcast<HTMLElement>(ancestor);
</span><span class="cx"> // Should stop at the editable root (cannot cross editing boundary) and
</span><span class="cx"> // also stop at the unsplittable element to be consistent with other UAs
</span><span class="lines">@@ -997,18 +997,18 @@
</span><span class="cx">
</span><span class="cx"> node->document().updateStyleIfNeeded();
</span><span class="cx">
</span><del>- if (!style || style->isEmpty() || !node->renderer() || is<HTMLIFrameElement>(node))
</del><ins>+ if (!style || style->isEmpty() || !node->renderer() || is<HTMLIFrameElement>(*node))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> RefPtr<EditingStyle> newInlineStyle = style;
</span><del>- if (is<HTMLElement>(node) && downcast<HTMLElement>(node)->inlineStyle()) {
</del><ins>+ if (is<HTMLElement>(*node) && downcast<HTMLElement>(node)->inlineStyle()) {
</ins><span class="cx"> newInlineStyle = style->copy();
</span><span class="cx"> newInlineStyle->mergeInlineStyleOfElement(downcast<HTMLElement>(node), EditingStyle::OverrideValues);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Since addInlineStyleIfNeeded can't add styles to block-flow render objects, add style attribute instead.
</span><span class="cx"> // FIXME: applyInlineStyleToRange should be used here instead.
</span><del>- if ((node->renderer()->isRenderBlockFlow() || node->hasChildNodes()) && is<HTMLElement>(node)) {
</del><ins>+ if ((node->renderer()->isRenderBlockFlow() || node->hasChildNodes()) && is<HTMLElement>(*node)) {
</ins><span class="cx"> setNodeAttribute(downcast<HTMLElement>(node), styleAttr, newInlineStyle->style()->asText());
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -1208,7 +1208,7 @@
</span><span class="cx"> splitTextNode(&text, end.offsetInContainerNode());
</span><span class="cx">
</span><span class="cx"> Node* prevNode = text.previousSibling();
</span><del>- if (!prevNode || !is<Text>(prevNode))
</del><ins>+ if (!is<Text>(prevNode))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> Position newStart = shouldUpdateStart ? Position(downcast<Text>(prevNode), start.offsetInContainerNode()) : start;
</span><span class="lines">@@ -1240,7 +1240,7 @@
</span><span class="cx"> if (!parentElement || !parentElement->previousSibling())
</span><span class="cx"> return;
</span><span class="cx"> Node* firstTextNode = parentElement->previousSibling()->lastChild();
</span><del>- if (!firstTextNode || !is<Text>(firstTextNode))
</del><ins>+ if (!is<Text>(firstTextNode))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> Position newStart = shouldUpdateStart ? Position(downcast<Text>(firstTextNode), start.offsetInContainerNode()) : start;
</span><span class="lines">@@ -1249,7 +1249,7 @@
</span><span class="cx">
</span><span class="cx"> bool ApplyStyleCommand::shouldSplitTextElement(Element* element, EditingStyle* style)
</span><span class="cx"> {
</span><del>- if (!element || !is<HTMLElement>(element))
</del><ins>+ if (!is<HTMLElement>(element))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> return shouldRemoveInlineStyleFromElement(style, downcast<HTMLElement>(element));
</span><span class="lines">@@ -1359,13 +1359,14 @@
</span><span class="cx">
</span><span class="cx"> RefPtr<Node> nextSibling = element->nextSibling();
</span><span class="cx"> RefPtr<Node> previousSibling = element->previousSibling();
</span><del>- if (nextSibling && is<Element>(*nextSibling) && nextSibling->hasEditableStyle()
</del><ins>+ if (is<Element>(nextSibling.get()) && nextSibling->hasEditableStyle()
</ins><span class="cx"> && areIdenticalElements(element.get(), downcast<Element>(nextSibling.get())))
</span><span class="cx"> mergeIdenticalElements(element.get(), downcast<Element>(nextSibling.get()));
</span><span class="cx">
</span><del>- if (previousSibling && is<Element>(*previousSibling) && previousSibling->hasEditableStyle()) {
</del><ins>+ if (is<Element>(previousSibling.get()) && previousSibling->hasEditableStyle()) {
</ins><span class="cx"> Node* mergedElement = previousSibling->nextSibling();
</span><del>- if (is<Element>(mergedElement) && mergedElement->hasEditableStyle()
</del><ins>+ ASSERT(mergedElement);
+ if (is<Element>(*mergedElement) && mergedElement->hasEditableStyle()
</ins><span class="cx"> && areIdenticalElements(downcast<Element>(previousSibling.get()), downcast<Element>(mergedElement)))
</span><span class="cx"> mergeIdenticalElements(downcast<Element>(previousSibling.get()), downcast<Element>(mergedElement));
</span><span class="cx"> }
</span><span class="lines">@@ -1431,10 +1432,10 @@
</span><span class="cx"> HTMLFontElement* fontContainer = nullptr;
</span><span class="cx"> HTMLElement* styleContainer = nullptr;
</span><span class="cx"> for (Node* container = startNode.get(); container && startNode == endNode; container = container->firstChild()) {
</span><del>- if (is<HTMLFontElement>(container))
</del><ins>+ if (is<HTMLFontElement>(*container))
</ins><span class="cx"> fontContainer = downcast<HTMLFontElement>(container);
</span><del>- bool styleContainerIsNotSpan = !styleContainer || !is<HTMLSpanElement>(styleContainer);
- if (is<HTMLElement>(container) && (is<HTMLSpanElement>(container) || (styleContainerIsNotSpan && container->hasChildNodes())))
</del><ins>+ bool styleContainerIsNotSpan = !is<HTMLSpanElement>(styleContainer);
+ if (is<HTMLElement>(*container) && (is<HTMLSpanElement>(*container) || (styleContainerIsNotSpan && container->hasChildNodes())))
</ins><span class="cx"> styleContainer = downcast<HTMLElement>(container);
</span><span class="cx"> if (!container->firstChild())
</span><span class="cx"> break;
</span><span class="lines">@@ -1528,7 +1529,7 @@
</span><span class="cx"> for (size_t i = 0; i < textNodes.size(); ++i) {
</span><span class="cx"> Text* childText = textNodes[i].get();
</span><span class="cx"> Node* next = childText->nextSibling();
</span><del>- if (!next || !is<Text>(next))
</del><ins>+ if (!is<Text>(next))
</ins><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> Text& nextText = downcast<Text>(*next);
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingBreakBlockquoteCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/BreakBlockquoteCommand.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/BreakBlockquoteCommand.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/BreakBlockquoteCommand.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -104,9 +104,9 @@
</span><span class="cx">
</span><span class="cx"> // startNode is the first node that we need to move to the new blockquote.
</span><span class="cx"> Node* startNode = pos.deprecatedNode();
</span><del>-
</del><ins>+ ASSERT(startNode);
</ins><span class="cx"> // Split at pos if in the middle of a text node.
</span><del>- if (is<Text>(startNode)) {
</del><ins>+ if (is<Text>(*startNode)) {
</ins><span class="cx"> Text& textNode = downcast<Text>(*startNode);
</span><span class="cx"> if ((unsigned)pos.deprecatedEditingOffset() >= textNode.length()) {
</span><span class="cx"> startNode = NodeTraversal::next(startNode);
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingCompositeEditCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/CompositeEditCommand.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/CompositeEditCommand.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/CompositeEditCommand.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -324,7 +324,8 @@
</span><span class="cx">
</span><span class="cx"> bool CompositeEditCommand::isRemovableBlock(const Node* node)
</span><span class="cx"> {
</span><del>- if (!is<HTMLDivElement>(node))
</del><ins>+ ASSERT(node);
+ if (!is<HTMLDivElement>(*node))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> Node* parentNode = node->parentNode();
</span><span class="lines">@@ -378,7 +379,7 @@
</span><span class="cx"> appendNode(insertChild, downcast<ContainerNode>(refChild));
</span><span class="cx"> } else if (caretMinOffset(refChild) >= offset)
</span><span class="cx"> insertNodeBefore(insertChild, refChild);
</span><del>- else if (is<Text>(refChild) && caretMaxOffset(refChild) > offset) {
</del><ins>+ else if (is<Text>(*refChild) && caretMaxOffset(refChild) > offset) {
</ins><span class="cx"> splitTextNode(downcast<Text>(refChild), offset);
</span><span class="cx">
</span><span class="cx"> // Mutation events (bug 22634) from the text node insertion may have removed the refChild
</span><span class="lines">@@ -678,7 +679,7 @@
</span><span class="cx"> bool CompositeEditCommand::canRebalance(const Position& position) const
</span><span class="cx"> {
</span><span class="cx"> Node* node = position.containerNode();
</span><del>- if (position.anchorType() != Position::PositionIsOffsetInAnchor || !node || !is<Text>(node))
</del><ins>+ if (position.anchorType() != Position::PositionIsOffsetInAnchor || !is<Text>(node))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> Text& textNode = downcast<Text>(*node);
</span><span class="lines">@@ -750,7 +751,7 @@
</span><span class="cx"> void CompositeEditCommand::prepareWhitespaceAtPositionForSplit(Position& position)
</span><span class="cx"> {
</span><span class="cx"> Node* node = position.deprecatedNode();
</span><del>- if (!node || !is<Text>(node))
</del><ins>+ if (!is<Text>(node))
</ins><span class="cx"> return;
</span><span class="cx"> Text& textNode = downcast<Text>(*node);
</span><span class="cx">
</span><span class="lines">@@ -769,9 +770,9 @@
</span><span class="cx"> VisiblePosition previousVisiblePos(visiblePos.previous());
</span><span class="cx"> Position previous(previousVisiblePos.deepEquivalent());
</span><span class="cx">
</span><del>- if (deprecatedIsCollapsibleWhitespace(previousVisiblePos.characterAfter()) && is<Text>(previous.deprecatedNode()) && !is<HTMLBRElement>(previous.deprecatedNode()))
</del><ins>+ if (deprecatedIsCollapsibleWhitespace(previousVisiblePos.characterAfter()) && is<Text>(*previous.deprecatedNode()) && !is<HTMLBRElement>(*previous.deprecatedNode()))
</ins><span class="cx"> replaceTextInNodePreservingMarkers(downcast<Text>(previous.deprecatedNode()), previous.deprecatedEditingOffset(), 1, nonBreakingSpaceString());
</span><del>- if (deprecatedIsCollapsibleWhitespace(visiblePos.characterAfter()) && is<Text>(position.deprecatedNode()) && !is<HTMLBRElement>(position.deprecatedNode()))
</del><ins>+ if (deprecatedIsCollapsibleWhitespace(visiblePos.characterAfter()) && is<Text>(*position.deprecatedNode()) && !is<HTMLBRElement>(*position.deprecatedNode()))
</ins><span class="cx"> replaceTextInNodePreservingMarkers(downcast<Text>(position.deprecatedNode()), position.deprecatedEditingOffset(), 1, nonBreakingSpaceString());
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -877,7 +878,7 @@
</span><span class="cx">
</span><span class="cx"> Vector<RefPtr<Text>> nodes;
</span><span class="cx"> for (Node* node = start.deprecatedNode(); node; node = NodeTraversal::next(node)) {
</span><del>- if (is<Text>(node))
</del><ins>+ if (is<Text>(*node))
</ins><span class="cx"> nodes.append(downcast<Text>(node));
</span><span class="cx"> if (node == end.deprecatedNode())
</span><span class="cx"> break;
</span><span class="lines">@@ -951,7 +952,7 @@
</span><span class="cx"> ASSERT(lineBreakExistsAtPosition(p));
</span><span class="cx">
</span><span class="cx"> // We are certain that the position is at a line break, but it may be a br or a preserved newline.
</span><del>- if (is<HTMLBRElement>(p.anchorNode())) {
</del><ins>+ if (is<HTMLBRElement>(*p.anchorNode())) {
</ins><span class="cx"> removeNode(p.anchorNode());
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -1120,8 +1121,9 @@
</span><span class="cx"> // Note: We want the rightmost candidate.
</span><span class="cx"> Position position = caretAfterDelete.deepEquivalent().downstream();
</span><span class="cx"> Node* node = position.deprecatedNode();
</span><ins>+ ASSERT(node);
</ins><span class="cx"> // Normally deletion will leave a br as a placeholder.
</span><del>- if (is<HTMLBRElement>(node))
</del><ins>+ if (is<HTMLBRElement>(*node))
</ins><span class="cx"> removeNodeAndPruneAncestors(node);
</span><span class="cx"> // If the selection to move was empty and in an empty block that
</span><span class="cx"> // doesn't require a placeholder to prop itself open (like a bordered
</span><span class="lines">@@ -1347,9 +1349,9 @@
</span><span class="cx"> || listNode == emptyListItem->rootEditableElement())
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- RefPtr<Element> newBlock = 0;
</del><ins>+ RefPtr<Element> newBlock;
</ins><span class="cx"> if (ContainerNode* blockEnclosingList = listNode->parentNode()) {
</span><del>- if (is<HTMLLIElement>(blockEnclosingList)) { // listNode is inside another list item
</del><ins>+ if (is<HTMLLIElement>(*blockEnclosingList)) { // listNode is inside another list item
</ins><span class="cx"> if (visiblePositionAfterNode(blockEnclosingList) == visiblePositionAfterNode(listNode.get())) {
</span><span class="cx"> // If listNode appears at the end of the outer list item, then move listNode outside of this list item
</span><span class="cx"> // e.g. <ul><li>hello <ul><li><br></li></ul> </li></ul> should become <ul><li>hello</li> <ul><li><br></li></ul> </ul> after this section
</span><span class="lines">@@ -1436,7 +1438,7 @@
</span><span class="cx">
</span><span class="cx"> if (caretPos.deprecatedNode()->hasTagName(brTag))
</span><span class="cx"> removeNodeAndPruneAncestors(caretPos.deprecatedNode());
</span><del>- else if (is<Text>(caretPos.deprecatedNode())) {
</del><ins>+ else if (is<Text>(*caretPos.deprecatedNode())) {
</ins><span class="cx"> ASSERT(caretPos.deprecatedEditingOffset() == 0);
</span><span class="cx"> Text& textNode = downcast<Text>(*caretPos.deprecatedNode());
</span><span class="cx"> ContainerNode* parentNode = textNode.parentNode();
</span><span class="lines">@@ -1524,7 +1526,7 @@
</span><span class="cx">
</span><span class="cx"> RefPtr<Node> endNode = end;
</span><span class="cx"> for (node = start; node && node->parentNode() != endNode; node = node->parentNode()) {
</span><del>- if (!is<Element>(node->parentNode()))
</del><ins>+ if (!is<Element>(*node->parentNode()))
</ins><span class="cx"> break;
</span><span class="cx"> // Do not split a node when doing so introduces an empty node.
</span><span class="cx"> VisiblePosition positionInParent = firstPositionInNode(node->parentNode());
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingDeleteButtonControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/DeleteButtonController.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/DeleteButtonController.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/DeleteButtonController.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -156,7 +156,7 @@
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> Node* element = enclosingNodeOfType(firstPositionInNode(container), &isDeletableElement);
</span><del>- return element && is<HTMLElement>(element) ? downcast<HTMLElement>(element) : nullptr;
</del><ins>+ return is<HTMLElement>(element) ? downcast<HTMLElement>(element) : nullptr;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void DeleteButtonController::respondToChangedSelection(const VisibleSelection& oldSelection)
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingDeleteSelectionCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/DeleteSelectionCommand.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/DeleteSelectionCommand.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/DeleteSelectionCommand.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -459,14 +459,14 @@
</span><span class="cx"> makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss();
</span><span class="cx">
</span><span class="cx"> // Never remove the start block unless it's a table, in which case we won't merge content in.
</span><del>- if (startNode == m_startBlock && !startOffset && canHaveChildrenForEditing(startNode) && !is<HTMLTableElement>(startNode)) {
</del><ins>+ if (startNode == m_startBlock && !startOffset && canHaveChildrenForEditing(startNode) && !is<HTMLTableElement>(*startNode)) {
</ins><span class="cx"> startOffset = 0;
</span><span class="cx"> startNode = NodeTraversal::next(startNode);
</span><span class="cx"> if (!startNode)
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (startOffset >= caretMaxOffset(startNode) && is<Text>(startNode)) {
</del><ins>+ if (startOffset >= caretMaxOffset(startNode) && is<Text>(*startNode)) {
</ins><span class="cx"> Text& text = downcast<Text>(*startNode);
</span><span class="cx"> if (text.length() > static_cast<unsigned>(caretMaxOffset(startNode)))
</span><span class="cx"> deleteTextFromNode(&text, caretMaxOffset(startNode), text.length() - caretMaxOffset(startNode));
</span><span class="lines">@@ -483,7 +483,7 @@
</span><span class="cx">
</span><span class="cx"> if (startNode == m_downstreamEnd.deprecatedNode()) {
</span><span class="cx"> if (m_downstreamEnd.deprecatedEditingOffset() - startOffset > 0) {
</span><del>- if (is<Text>(startNode)) {
</del><ins>+ if (is<Text>(*startNode)) {
</ins><span class="cx"> // in a text node that needs to be trimmed
</span><span class="cx"> Text& text = downcast<Text>(*startNode);
</span><span class="cx"> deleteTextFromNode(&text, startOffset, m_downstreamEnd.deprecatedEditingOffset() - startOffset);
</span><span class="lines">@@ -503,7 +503,7 @@
</span><span class="cx"> RefPtr<Node> node(startNode);
</span><span class="cx">
</span><span class="cx"> if (startOffset > 0) {
</span><del>- if (is<Text>(startNode)) {
</del><ins>+ if (is<Text>(*startNode)) {
</ins><span class="cx"> // in a text node that needs to be trimmed
</span><span class="cx"> Text& text = downcast<Text>(*node);
</span><span class="cx"> deleteTextFromNode(&text, startOffset, text.length() - startOffset);
</span><span class="lines">@@ -511,7 +511,7 @@
</span><span class="cx"> } else {
</span><span class="cx"> node = startNode->traverseToChildAt(startOffset);
</span><span class="cx"> }
</span><del>- } else if (startNode == m_upstreamEnd.deprecatedNode() && is<Text>(startNode)) {
</del><ins>+ } else if (startNode == m_upstreamEnd.deprecatedNode() && is<Text>(*startNode)) {
</ins><span class="cx"> Text& text = downcast<Text>(*m_upstreamEnd.deprecatedNode());
</span><span class="cx"> deleteTextFromNode(&text, 0, m_upstreamEnd.deprecatedEditingOffset());
</span><span class="cx"> }
</span><span class="lines">@@ -543,7 +543,7 @@
</span><span class="cx"> // The node itself is fully selected, not just its contents. Delete it.
</span><span class="cx"> removeNode(m_downstreamEnd.deprecatedNode());
</span><span class="cx"> } else {
</span><del>- if (is<Text>(m_downstreamEnd.deprecatedNode())) {
</del><ins>+ if (is<Text>(*m_downstreamEnd.deprecatedNode())) {
</ins><span class="cx"> // in a text node that needs to be trimmed
</span><span class="cx"> Text& text = downcast<Text>(*m_downstreamEnd.deprecatedNode());
</span><span class="cx"> if (m_downstreamEnd.deprecatedEditingOffset() > 0) {
</span><span class="lines">@@ -576,12 +576,12 @@
</span><span class="cx"> {
</span><span class="cx"> document().updateLayoutIgnorePendingStylesheets();
</span><span class="cx"> // FIXME: isRenderedCharacter should be removed, and we should use VisiblePosition::characterAfter and VisiblePosition::characterBefore
</span><del>- if (m_leadingWhitespace.isNotNull() && !m_leadingWhitespace.isRenderedCharacter() && is<Text>(m_leadingWhitespace.deprecatedNode())) {
</del><ins>+ if (m_leadingWhitespace.isNotNull() && !m_leadingWhitespace.isRenderedCharacter() && is<Text>(*m_leadingWhitespace.deprecatedNode())) {
</ins><span class="cx"> Text& textNode = downcast<Text>(*m_leadingWhitespace.deprecatedNode());
</span><span class="cx"> ASSERT(!textNode.renderer() || textNode.renderer()->style().collapseWhiteSpace());
</span><span class="cx"> replaceTextInNodePreservingMarkers(&textNode, m_leadingWhitespace.deprecatedEditingOffset(), 1, nonBreakingSpaceString());
</span><span class="cx"> }
</span><del>- if (m_trailingWhitespace.isNotNull() && !m_trailingWhitespace.isRenderedCharacter() && is<Text>(m_trailingWhitespace.deprecatedNode())) {
</del><ins>+ if (m_trailingWhitespace.isNotNull() && !m_trailingWhitespace.isRenderedCharacter() && is<Text>(*m_trailingWhitespace.deprecatedNode())) {
</ins><span class="cx"> Text& textNode = downcast<Text>(*m_trailingWhitespace.deprecatedNode());
</span><span class="cx"> ASSERT(!textNode.renderer() || textNode.renderer()->style().collapseWhiteSpace());
</span><span class="cx"> replaceTextInNodePreservingMarkers(&textNode, m_trailingWhitespace.deprecatedEditingOffset(), 1, nonBreakingSpaceString());
</span><span class="lines">@@ -866,7 +866,7 @@
</span><span class="cx"> bool shouldRebalaceWhiteSpace = true;
</span><span class="cx"> if (!frame().editor().behavior().shouldRebalanceWhiteSpacesInSecureField()) {
</span><span class="cx"> Node* node = m_endingPosition.deprecatedNode();
</span><del>- if (node && is<Text>(node)) {
</del><ins>+ if (is<Text>(node)) {
</ins><span class="cx"> Text& textNode = downcast<Text>(*node);
</span><span class="cx"> if (textNode.length())
</span><span class="cx"> shouldRebalaceWhiteSpace = textNode.renderer()->style().textSecurity() == TSNONE;
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingEditingStylecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/EditingStyle.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/EditingStyle.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/EditingStyle.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -1036,7 +1036,7 @@
</span><span class="cx">
</span><span class="cx"> // When not annotating for interchange, we only preserve inline style declarations.
</span><span class="cx"> for (Node* node = context; node && !node->isDocumentNode(); node = node->parentNode()) {
</span><del>- if (is<StyledElement>(node) && !isMailBlockquote(node)) {
</del><ins>+ if (is<StyledElement>(*node) && !isMailBlockquote(node)) {
</ins><span class="cx"> wrappingStyle->mergeInlineAndImplicitStyleOfElement(downcast<StyledElement>(node), EditingStyle::DoNotOverrideValues,
</span><span class="cx"> EditingStyle::EditingPropertiesInEffect);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingEditorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/Editor.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/Editor.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/Editor.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -328,8 +328,6 @@
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> Node* node = body->firstChild();
</span><del>- if (!node)
- return nullptr;
</del><span class="cx"> if (!is<HTMLImageElement>(node))
</span><span class="cx"> return nullptr;
</span><span class="cx"> return downcast<HTMLImageElement>(node);
</span><span class="lines">@@ -588,7 +586,7 @@
</span><span class="cx">
</span><span class="cx"> if (fragment) {
</span><span class="cx"> Node* child = fragment->firstChild();
</span><del>- if (child && fragment->lastChild() == child && is<CharacterData>(child))
</del><ins>+ if (is<CharacterData>(child) && fragment->lastChild() == child)
</ins><span class="cx"> return client()->shouldInsertText(downcast<CharacterData>(*child).data(), replacingDOMRange.get(), givenAction);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1660,7 +1658,7 @@
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> Element* focusedElement = document().focusedElement();
</span><del>- if (focusedElement && is<HTMLTextFormControlElement>(*focusedElement)) {
</del><ins>+ if (is<HTMLTextFormControlElement>(focusedElement)) {
</ins><span class="cx"> if (direction == NaturalWritingDirection)
</span><span class="cx"> return;
</span><span class="cx"> downcast<HTMLTextFormControlElement>(*focusedElement).setAttribute(dirAttr, direction == LeftToRightWritingDirection ? "ltr" : "rtl");
</span><span class="lines">@@ -1865,7 +1863,7 @@
</span><span class="cx"> Node* extentNode = extent.deprecatedNode();
</span><span class="cx"> unsigned extentOffset = extent.deprecatedEditingOffset();
</span><span class="cx">
</span><del>- if (baseNode && baseNode == extentNode && is<Text>(baseNode) && baseOffset + text.length() == extentOffset) {
</del><ins>+ if (is<Text>(baseNode) && baseNode == extentNode && baseOffset + text.length() == extentOffset) {
</ins><span class="cx"> m_compositionNode = downcast<Text>(baseNode);
</span><span class="cx"> m_compositionStart = baseOffset;
</span><span class="cx"> m_compositionEnd = extentOffset;
</span><span class="lines">@@ -2378,7 +2376,7 @@
</span><span class="cx"> {
</span><span class="cx"> if (!node)
</span><span class="cx"> return false;
</span><del>- const Element* focusedElement = is<Element>(node) ? downcast<Element>(node) : node->parentElement();
</del><ins>+ const Element* focusedElement = is<Element>(*node) ? downcast<Element>(node) : node->parentElement();
</ins><span class="cx"> if (!focusedElement)
</span><span class="cx"> return false;
</span><span class="cx"> return focusedElement->isSpellCheckingEnabled();
</span><span class="lines">@@ -3105,9 +3103,7 @@
</span><span class="cx">
</span><span class="cx"> void Editor::applyEditingStyleToElement(Element* element) const
</span><span class="cx"> {
</span><del>- if (!element)
- return;
- ASSERT(is<StyledElement>(element));
</del><ins>+ ASSERT(!element || is<StyledElement>(*element));
</ins><span class="cx"> if (!is<StyledElement>(element))
</span><span class="cx"> return;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingFormatBlockCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/FormatBlockCommand.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/FormatBlockCommand.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/FormatBlockCommand.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> static bool isElementForFormatBlock(const QualifiedName& tagName);
</span><span class="cx"> static inline bool isElementForFormatBlock(Node* node)
</span><span class="cx"> {
</span><del>- return is<Element>(node) && isElementForFormatBlock(downcast<Element>(*node).tagQName());
</del><ins>+ return is<Element>(*node) && isElementForFormatBlock(downcast<Element>(*node).tagQName());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> FormatBlockCommand::FormatBlockCommand(Document& document, const QualifiedName& tagName)
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingFrameSelectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/FrameSelection.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/FrameSelection.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/FrameSelection.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -398,7 +398,7 @@
</span><span class="cx"> if (position.anchorNode() == node)
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- if (!is<Element>(node))
</del><ins>+ if (!is<Element>(*node))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> Element* element = downcast<Element>(node);
</span><span class="lines">@@ -1491,7 +1491,7 @@
</span><span class="cx">
</span><span class="cx"> Color caretColor = Color::black;
</span><span class="cx"> ColorSpace colorSpace = ColorSpaceDeviceRGB;
</span><del>- Element* element = is<Element>(node) ? downcast<Element>(node) : node->parentElement();
</del><ins>+ Element* element = is<Element>(*node) ? downcast<Element>(node) : node->parentElement();
</ins><span class="cx"> Element* rootEditableElement = node->rootEditableElement();
</span><span class="cx">
</span><span class="cx"> if (element && element->renderer()) {
</span><span class="lines">@@ -1522,9 +1522,9 @@
</span><span class="cx">
</span><span class="cx"> void FrameSelection::debugRenderer(RenderObject* renderer, bool selected) const
</span><span class="cx"> {
</span><del>- if (is<Element>(renderer->node())) {
- Element* element = downcast<Element>(renderer->node());
- fprintf(stderr, "%s%s\n", selected ? "==> " : " ", element->localName().string().utf8().data());
</del><ins>+ if (is<Element>(*renderer->node())) {
+ Element& element = downcast<Element>(*renderer->node());
+ fprintf(stderr, "%s%s\n", selected ? "==> " : " ", element.localName().string().utf8().data());
</ins><span class="cx"> } else if (renderer->isText()) {
</span><span class="cx"> RenderText* textRenderer = toRenderText(renderer);
</span><span class="cx"> if (!textRenderer->textLength() || !textRenderer->firstTextBox()) {
</span><span class="lines">@@ -1668,7 +1668,7 @@
</span><span class="cx"> Document* document = m_frame->document();
</span><span class="cx">
</span><span class="cx"> Element* focusedElement = document->focusedElement();
</span><del>- if (focusedElement && is<HTMLSelectElement>(focusedElement)) {
</del><ins>+ if (is<HTMLSelectElement>(focusedElement)) {
</ins><span class="cx"> HTMLSelectElement& selectElement = downcast<HTMLSelectElement>(*focusedElement);
</span><span class="cx"> if (selectElement.canSelectAll()) {
</span><span class="cx"> selectElement.selectAll();
</span><span class="lines">@@ -1686,7 +1686,7 @@
</span><span class="cx"> selectStartTarget = root.get();
</span><span class="cx"> } else {
</span><span class="cx"> if (m_selection.isNone() && focusedElement) {
</span><del>- if (is<HTMLTextFormControlElement>(focusedElement)) {
</del><ins>+ if (is<HTMLTextFormControlElement>(*focusedElement)) {
</ins><span class="cx"> downcast<HTMLTextFormControlElement>(*focusedElement).select();
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -2022,8 +2022,8 @@
</span><span class="cx"> auto descendants = descendantsOfType<HTMLElement>(start->document());
</span><span class="cx"> for (auto it = descendants.from(*start), end = descendants.end(); it != end; ++it) {
</span><span class="cx"> HTMLElement& element = *it;
</span><del>- if (is<HTMLFormElement>(&element))
- return downcast<HTMLFormElement>(&element);
</del><ins>+ if (is<HTMLFormElement>(element))
+ return &downcast<HTMLFormElement>(element);
</ins><span class="cx"> if (is<HTMLFormControlElement>(element))
</span><span class="cx"> return downcast<HTMLFormControlElement>(element).form();
</span><span class="cx"> if (is<HTMLFrameElementBase>(element)) {
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingInsertLineBreakCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/InsertLineBreakCommand.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/InsertLineBreakCommand.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/InsertLineBreakCommand.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -115,7 +115,7 @@
</span><span class="cx"> // FIXME: Need to merge text nodes when inserting just after or before text.
</span><span class="cx">
</span><span class="cx"> if (isEndOfParagraph(caret) && !lineBreakExistsAtVisiblePosition(caret)) {
</span><del>- bool needExtraLineBreak = !is<HTMLHRElement>(pos.deprecatedNode()) && !is<HTMLTableElement>(pos.deprecatedNode());
</del><ins>+ bool needExtraLineBreak = !is<HTMLHRElement>(*pos.deprecatedNode()) && !is<HTMLTableElement>(*pos.deprecatedNode());
</ins><span class="cx">
</span><span class="cx"> insertNodeAt(nodeToInsert.get(), pos);
</span><span class="cx">
</span><span class="lines">@@ -137,7 +137,7 @@
</span><span class="cx"> } else if (pos.deprecatedEditingOffset() >= caretMaxOffset(pos.deprecatedNode()) || !pos.deprecatedNode()->isTextNode()) {
</span><span class="cx"> insertNodeAt(nodeToInsert.get(), pos);
</span><span class="cx"> setEndingSelection(VisibleSelection(positionInParentAfterNode(nodeToInsert.get()), DOWNSTREAM, endingSelection().isDirectional()));
</span><del>- } else if (is<Text>(pos.deprecatedNode())) {
</del><ins>+ } else if (is<Text>(*pos.deprecatedNode())) {
</ins><span class="cx"> // Split a text node
</span><span class="cx"> Text& textNode = downcast<Text>(*pos.deprecatedNode());
</span><span class="cx"> splitTextNode(&textNode, pos.deprecatedEditingOffset());
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingInsertListCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/InsertListCommand.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/InsertListCommand.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/InsertListCommand.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx"> if (!list)
</span><span class="cx"> return nullptr;
</span><span class="cx"> Element* sibling = ElementTraversal::nextSibling(list.get());
</span><del>- if (!sibling || !is<HTMLElement>(sibling))
</del><ins>+ if (!is<HTMLElement>(sibling))
</ins><span class="cx"> return list.release();
</span><span class="cx">
</span><span class="cx"> RefPtr<HTMLElement> nextList = downcast<HTMLElement>(sibling);
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingInsertParagraphSeparatorCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/InsertParagraphSeparatorCommand.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/InsertParagraphSeparatorCommand.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/InsertParagraphSeparatorCommand.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -169,7 +169,7 @@
</span><span class="cx"> if (!startBlock
</span><span class="cx"> || !startBlock->nonShadowBoundaryParentNode()
</span><span class="cx"> || isTableCell(startBlock.get())
</span><del>- || is<HTMLFormElement>(startBlock.get())
</del><ins>+ || is<HTMLFormElement>(*startBlock)
</ins><span class="cx"> // FIXME: If the node is hidden, we don't have a canonical position so we will do the wrong thing for tables and <hr>. https://bugs.webkit.org/show_bug.cgi?id=40342
</span><span class="cx"> || (!canonicalPos.isNull() && canonicalPos.deprecatedNode()->renderer() && canonicalPos.deprecatedNode()->renderer()->isTable())
</span><span class="cx"> || (!canonicalPos.isNull() && canonicalPos.deprecatedNode()->hasTagName(hrTag))) {
</span><span class="lines">@@ -331,7 +331,7 @@
</span><span class="cx"> Position leadingWhitespace = insertionPosition.leadingWhitespacePosition(VP_DEFAULT_AFFINITY);
</span><span class="cx"> // FIXME: leadingWhitespacePosition is returning the position before preserved newlines for positions
</span><span class="cx"> // after the preserved newline, causing the newline to be turned into a nbsp.
</span><del>- if (leadingWhitespace.isNotNull() && is<Text>(leadingWhitespace.deprecatedNode())) {
</del><ins>+ if (is<Text>(leadingWhitespace.deprecatedNode())) {
</ins><span class="cx"> Text& textNode = downcast<Text>(*leadingWhitespace.deprecatedNode());
</span><span class="cx"> ASSERT(!textNode.renderer() || textNode.renderer()->style().collapseWhiteSpace());
</span><span class="cx"> replaceTextInNodePreservingMarkers(&textNode, leadingWhitespace.deprecatedEditingOffset(), 1, nonBreakingSpaceString());
</span><span class="lines">@@ -339,7 +339,7 @@
</span><span class="cx">
</span><span class="cx"> // Split at pos if in the middle of a text node.
</span><span class="cx"> Position positionAfterSplit;
</span><del>- if (insertionPosition.anchorType() == Position::PositionIsOffsetInAnchor && is<Text>(insertionPosition.containerNode())) {
</del><ins>+ if (insertionPosition.anchorType() == Position::PositionIsOffsetInAnchor && is<Text>(*insertionPosition.containerNode())) {
</ins><span class="cx"> RefPtr<Text> textNode = downcast<Text>(insertionPosition.containerNode());
</span><span class="cx"> bool atEnd = static_cast<unsigned>(insertionPosition.offsetInContainerNode()) >= textNode->length();
</span><span class="cx"> if (insertionPosition.deprecatedEditingOffset() > 0 && !atEnd) {
</span><span class="lines">@@ -399,7 +399,7 @@
</span><span class="cx"> // Clear out all whitespace and insert one non-breaking space
</span><span class="cx"> ASSERT(!positionAfterSplit.containerNode()->renderer() || positionAfterSplit.containerNode()->renderer()->style().collapseWhiteSpace());
</span><span class="cx"> deleteInsignificantTextDownstream(positionAfterSplit);
</span><del>- if (is<Text>(positionAfterSplit.deprecatedNode()))
</del><ins>+ if (is<Text>(*positionAfterSplit.deprecatedNode()))
</ins><span class="cx"> insertTextIntoNode(downcast<Text>(positionAfterSplit.containerNode()), 0, nonBreakingSpaceString());
</span><span class="cx"> }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingInsertTextCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/InsertTextCommand.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/InsertTextCommand.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/InsertTextCommand.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -250,7 +250,7 @@
</span><span class="cx"> RefPtr<Element> spanNode = createTabSpanElement(document());
</span><span class="cx">
</span><span class="cx"> // place it
</span><del>- if (!is<Text>(node)) {
</del><ins>+ if (!is<Text>(*node)) {
</ins><span class="cx"> insertNodeAt(spanNode.get(), insertPos);
</span><span class="cx"> } else {
</span><span class="cx"> RefPtr<Text> textNode = downcast<Text>(node);
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingReplaceSelectionCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -448,7 +448,7 @@
</span><span class="cx">
</span><span class="cx"> static bool haveSameTagName(Node* a, Node* b)
</span><span class="cx"> {
</span><del>- return a && b && is<Element>(a) && is<Element>(b) && downcast<Element>(*a).tagName() == downcast<Element>(*b).tagName();
</del><ins>+ return is<Element>(a) && is<Element>(b) && downcast<Element>(*a).tagName() == downcast<Element>(*b).tagName();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool ReplaceSelectionCommand::shouldMerge(const VisiblePosition& source, const VisiblePosition& destination)
</span><span class="lines">@@ -488,7 +488,7 @@
</span><span class="cx"> const StyleProperties* inlineStyle = element->inlineStyle();
</span><span class="cx"> RefPtr<EditingStyle> newInlineStyle = EditingStyle::create(inlineStyle);
</span><span class="cx"> if (inlineStyle) {
</span><del>- if (is<HTMLElement>(element)) {
</del><ins>+ if (is<HTMLElement>(*element)) {
</ins><span class="cx"> Vector<QualifiedName> attributes;
</span><span class="cx"> HTMLElement& htmlElement = downcast<HTMLElement>(*element);
</span><span class="cx">
</span><span class="lines">@@ -683,7 +683,7 @@
</span><span class="cx"> document().updateLayoutIgnorePendingStylesheets();
</span><span class="cx">
</span><span class="cx"> Node* lastLeafInserted = insertedNodes.lastLeafInserted();
</span><del>- if (lastLeafInserted && is<Text>(lastLeafInserted) && !hasRenderedText(downcast<Text>(*lastLeafInserted))
</del><ins>+ if (is<Text>(lastLeafInserted) && !hasRenderedText(downcast<Text>(*lastLeafInserted))
</ins><span class="cx"> && !enclosingElementWithTag(firstPositionInOrBeforeNode(lastLeafInserted), selectTag)
</span><span class="cx"> && !enclosingElementWithTag(firstPositionInOrBeforeNode(lastLeafInserted), scriptTag)) {
</span><span class="cx"> insertedNodes.willRemoveNode(lastLeafInserted);
</span><span class="lines">@@ -693,7 +693,7 @@
</span><span class="cx"> // We don't have to make sure that firstNodeInserted isn't inside a select or script element
</span><span class="cx"> // because it is a top level node in the fragment and the user can't insert into those elements.
</span><span class="cx"> Node* firstNodeInserted = insertedNodes.firstNodeInserted();
</span><del>- if (firstNodeInserted && is<Text>(firstNodeInserted) && !hasRenderedText(downcast<Text>(*firstNodeInserted))) {
</del><ins>+ if (is<Text>(firstNodeInserted) && !hasRenderedText(downcast<Text>(*firstNodeInserted))) {
</ins><span class="cx"> insertedNodes.willRemoveNode(firstNodeInserted);
</span><span class="cx"> removeNode(firstNodeInserted);
</span><span class="cx"> }
</span><span class="lines">@@ -1273,7 +1273,7 @@
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> Element* textControl = enclosingTextFormControl(positionAtStartOfInsertedContent().deepEquivalent());
</span><del>- if (textControl && is<HTMLInputElement>(textControl) && downcast<HTMLInputElement>(*textControl).isPasswordField())
</del><ins>+ if (is<HTMLInputElement>(textControl) && downcast<HTMLInputElement>(*textControl).isPasswordField())
</ins><span class="cx"> return false; // Disable smart replace for password fields.
</span><span class="cx">
</span><span class="cx"> return true;
</span><span class="lines">@@ -1291,7 +1291,7 @@
</span><span class="cx">
</span><span class="cx"> Position endUpstream = endOfInsertedContent.deepEquivalent().upstream();
</span><span class="cx"> Node* endNode = endUpstream.computeNodeBeforePosition();
</span><del>- int endOffset = endNode && is<Text>(endNode) ? downcast<Text>(*endNode).length() : 0;
</del><ins>+ int endOffset = is<Text>(endNode) ? downcast<Text>(*endNode).length() : 0;
</ins><span class="cx"> if (endUpstream.anchorType() == Position::PositionIsOffsetInAnchor) {
</span><span class="cx"> endNode = endUpstream.containerNode();
</span><span class="cx"> endOffset = endUpstream.offsetInContainerNode();
</span><span class="lines">@@ -1300,7 +1300,7 @@
</span><span class="cx"> bool needsTrailingSpace = !isEndOfParagraph(endOfInsertedContent) && !isCharacterSmartReplaceExemptConsideringNonBreakingSpace(endOfInsertedContent.characterAfter(), false);
</span><span class="cx"> if (needsTrailingSpace && endNode) {
</span><span class="cx"> bool collapseWhiteSpace = !endNode->renderer() || endNode->renderer()->style().collapseWhiteSpace();
</span><del>- if (is<Text>(endNode)) {
</del><ins>+ if (is<Text>(*endNode)) {
</ins><span class="cx"> insertTextIntoNode(downcast<Text>(endNode), endOffset, collapseWhiteSpace ? nonBreakingSpaceString() : " ");
</span><span class="cx"> if (m_endOfInsertedContent.containerNode() == endNode)
</span><span class="cx"> m_endOfInsertedContent.moveToOffset(m_endOfInsertedContent.offsetInContainerNode() + 1);
</span><span class="lines">@@ -1324,7 +1324,7 @@
</span><span class="cx"> bool needsLeadingSpace = !isStartOfParagraph(startOfInsertedContent) && !isCharacterSmartReplaceExemptConsideringNonBreakingSpace(startOfInsertedContent.previous().characterAfter(), true);
</span><span class="cx"> if (needsLeadingSpace && startNode) {
</span><span class="cx"> bool collapseWhiteSpace = !startNode->renderer() || startNode->renderer()->style().collapseWhiteSpace();
</span><del>- if (is<Text>(startNode)) {
</del><ins>+ if (is<Text>(*startNode)) {
</ins><span class="cx"> insertTextIntoNode(downcast<Text>(startNode), startOffset, collapseWhiteSpace ? nonBreakingSpaceString() : " ");
</span><span class="cx"> if (m_endOfInsertedContent.containerNode() == startNode && m_endOfInsertedContent.offsetInContainerNode())
</span><span class="cx"> m_endOfInsertedContent.moveToOffset(m_endOfInsertedContent.offsetInContainerNode() + 1);
</span><span class="lines">@@ -1375,22 +1375,22 @@
</span><span class="cx"> bool positionIsOffsetInAnchor = position.anchorType() == Position::PositionIsOffsetInAnchor;
</span><span class="cx"> bool positionOnlyToBeUpdatedIsOffsetInAnchor = positionOnlyToBeUpdated.anchorType() == Position::PositionIsOffsetInAnchor;
</span><span class="cx"> RefPtr<Text> text;
</span><del>- if (positionIsOffsetInAnchor && position.containerNode() && is<Text>(position.containerNode()))
</del><ins>+ if (positionIsOffsetInAnchor && is<Text>(position.containerNode()))
</ins><span class="cx"> text = downcast<Text>(position.containerNode());
</span><span class="cx"> else {
</span><span class="cx"> Node* before = position.computeNodeBeforePosition();
</span><del>- if (before && is<Text>(before))
</del><ins>+ if (is<Text>(before))
</ins><span class="cx"> text = downcast<Text>(before);
</span><span class="cx"> else {
</span><span class="cx"> Node* after = position.computeNodeAfterPosition();
</span><del>- if (after && is<Text>(after))
</del><ins>+ if (is<Text>(after))
</ins><span class="cx"> text = downcast<Text>(after);
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx"> if (!text)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if (text->previousSibling() && is<Text>(text->previousSibling())) {
</del><ins>+ if (is<Text>(text->previousSibling())) {
</ins><span class="cx"> RefPtr<Text> previous = downcast<Text>(text->previousSibling());
</span><span class="cx"> insertTextIntoNode(text, 0, previous->data());
</span><span class="cx">
</span><span class="lines">@@ -1409,7 +1409,7 @@
</span><span class="cx">
</span><span class="cx"> removeNode(previous);
</span><span class="cx"> }
</span><del>- if (text->nextSibling() && is<Text>(text->nextSibling())) {
</del><ins>+ if (is<Text>(text->nextSibling())) {
</ins><span class="cx"> RefPtr<Text> next = downcast<Text>(text->nextSibling());
</span><span class="cx"> unsigned originalLength = text->length();
</span><span class="cx"> insertTextIntoNode(text, originalLength, next->data());
</span><span class="lines">@@ -1449,7 +1449,7 @@
</span><span class="cx"> // list items and insert these nodes between them.
</span><span class="cx"> if (isMiddle) {
</span><span class="cx"> int textNodeOffset = insertPos.offsetInContainerNode();
</span><del>- if (is<Text>(insertPos.deprecatedNode()) && textNodeOffset > 0)
</del><ins>+ if (is<Text>(*insertPos.deprecatedNode()) && textNodeOffset > 0)
</ins><span class="cx"> splitTextNode(downcast<Text>(insertPos.deprecatedNode()), textNodeOffset);
</span><span class="cx"> splitTreeToNode(insertPos.deprecatedNode(), lastNode, true);
</span><span class="cx"> }
</span><span class="lines">@@ -1488,7 +1488,7 @@
</span><span class="cx"> // split text nodes.
</span><span class="cx"> bool ReplaceSelectionCommand::performTrivialReplace(const ReplacementFragment& fragment)
</span><span class="cx"> {
</span><del>- if (!fragment.firstChild() || fragment.firstChild() != fragment.lastChild() || !is<Text>(fragment.firstChild()))
</del><ins>+ if (!is<Text>(fragment.firstChild()) || fragment.firstChild() != fragment.lastChild())
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> // FIXME: Would be nice to handle smart replace in the fast path.
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingSpellCheckercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/SpellChecker.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/SpellChecker.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/SpellChecker.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -151,7 +151,7 @@
</span><span class="cx"> if (!range || !range->firstNode() || !range->firstNode()->renderer())
</span><span class="cx"> return false;
</span><span class="cx"> const Node* node = range->startContainer();
</span><del>- if (node && is<Element>(node) && !downcast<Element>(*node).isSpellCheckingEnabled())
</del><ins>+ 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="trunkSourceWebCoreeditingSplitTextNodeContainingElementCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/SplitTextNodeContainingElementCommand.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/SplitTextNodeContainingElementCommand.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/SplitTextNodeContainingElementCommand.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx"> if (!parentRenderer || !parentRenderer->isInline()) {
</span><span class="cx"> wrapContentsInDummySpan(parent);
</span><span class="cx"> Node* firstChild = parent->firstChild();
</span><del>- if (!firstChild || !is<Element>(firstChild))
</del><ins>+ if (!is<Element>(firstChild))
</ins><span class="cx"> return;
</span><span class="cx"> parent = downcast<Element>(firstChild);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingTextIteratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/TextIterator.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/TextIterator.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/TextIterator.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -255,7 +255,7 @@
</span><span class="cx"> if (renderer->isImage() || renderer->isWidget() || renderer->isMedia())
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- if (renderer->node() && is<Element>(renderer->node())) {
</del><ins>+ if (is<Element>(renderer->node())) {
</ins><span class="cx"> Element& element = downcast<Element>(*renderer->node());
</span><span class="cx"> if (is<HTMLFormControlElement>(element) || is<HTMLLegendElement>(element) || is<HTMLMeterElement>(element) || is<HTMLProgressElement>(element))
</span><span class="cx"> return true;
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingVisibleSelectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/VisibleSelection.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/VisibleSelection.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/VisibleSelection.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -664,7 +664,7 @@
</span><span class="cx"> bool VisibleSelection::isInPasswordField() const
</span><span class="cx"> {
</span><span class="cx"> HTMLTextFormControlElement* textControl = enclosingTextFormControl(start());
</span><del>- return textControl && is<HTMLInputElement>(textControl) && downcast<HTMLInputElement>(*textControl).isPasswordField();
</del><ins>+ return is<HTMLInputElement>(textControl) && downcast<HTMLInputElement>(*textControl).isPasswordField();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #ifndef NDEBUG
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingVisibleUnitscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/VisibleUnits.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/VisibleUnits.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/VisibleUnits.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -767,7 +767,7 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- return is<Text>(startNode) ? Position(downcast<Text>(startNode), toInlineTextBox(startBox)->start())
</del><ins>+ return is<Text>(*startNode) ? Position(downcast<Text>(startNode), toInlineTextBox(startBox)->start())
</ins><span class="cx"> : positionBeforeNode(startNode);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -838,7 +838,7 @@
</span><span class="cx"> Position pos;
</span><span class="cx"> if (endNode->hasTagName(brTag))
</span><span class="cx"> pos = positionBeforeNode(endNode);
</span><del>- else if (endBox->isInlineTextBox() && is<Text>(endNode)) {
</del><ins>+ else if (endBox->isInlineTextBox() && is<Text>(*endNode)) {
</ins><span class="cx"> InlineTextBox* endTextBox = toInlineTextBox(endBox);
</span><span class="cx"> int endOffset = endTextBox->start();
</span><span class="cx"> if (!endTextBox->isLineBreak())
</span><span class="lines">@@ -1143,7 +1143,7 @@
</span><span class="cx"> break;
</span><span class="cx">
</span><span class="cx"> if (r->isText() && toRenderText(r)->hasRenderedText()) {
</span><del>- ASSERT_WITH_SECURITY_IMPLICATION(is<Text>(n));
</del><ins>+ ASSERT_WITH_SECURITY_IMPLICATION(is<Text>(*n));
</ins><span class="cx"> type = Position::PositionIsOffsetInAnchor;
</span><span class="cx"> if (style.preserveNewline()) {
</span><span class="cx"> StringImpl& text = *toRenderText(r)->text();
</span><span class="lines">@@ -1226,7 +1226,7 @@
</span><span class="cx">
</span><span class="cx"> // FIXME: We avoid returning a position where the renderer can't accept the caret.
</span><span class="cx"> if (r->isText() && toRenderText(r)->hasRenderedText()) {
</span><del>- ASSERT_WITH_SECURITY_IMPLICATION(is<Text>(n));
</del><ins>+ ASSERT_WITH_SECURITY_IMPLICATION(is<Text>(*n));
</ins><span class="cx"> type = Position::PositionIsOffsetInAnchor;
</span><span class="cx"> if (style.preserveNewline()) {
</span><span class="cx"> StringImpl& text = *toRenderText(r)->text();
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingcocoaHTMLConvertermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -1357,7 +1357,7 @@
</span><span class="cx"> NSDictionary* HTMLConverter::aggregatedAttributesForAncestors(CharacterData& node)
</span><span class="cx"> {
</span><span class="cx"> Node* ancestor = node.parentNode();
</span><del>- while (ancestor && !is<Element>(ancestor))
</del><ins>+ while (ancestor && !is<Element>(*ancestor))
</ins><span class="cx"> ancestor = ancestor->parentNode();
</span><span class="cx"> if (!ancestor)
</span><span class="cx"> return nullptr;
</span><span class="lines">@@ -1374,7 +1374,7 @@
</span><span class="cx"> ASSERT(attributesForCurrentElement);
</span><span class="cx">
</span><span class="cx"> Node* ancestor = element.parentNode();
</span><del>- while (ancestor && !is<Element>(ancestor))
</del><ins>+ while (ancestor && !is<Element>(*ancestor))
</ins><span class="cx"> ancestor = ancestor->parentNode();
</span><span class="cx">
</span><span class="cx"> if (!ancestor) {
</span><span class="lines">@@ -2571,7 +2571,7 @@
</span><span class="cx">
</span><span class="cx"> if (startContainer == endContainer && (startOffset == endOffset - 1)) {
</span><span class="cx"> Node* node = startContainer->traverseToChildAt(startOffset);
</span><del>- if (node && is<HTMLImageElement>(node)) {
</del><ins>+ if (is<HTMLImageElement>(node)) {
</ins><span class="cx"> NSFileWrapper* fileWrapper = fileWrapperForElement(downcast<HTMLImageElement>(node));
</span><span class="cx"> NSTextAttachment* attachment = [[NSTextAttachment alloc] initWithFileWrapper:fileWrapper];
</span><span class="cx"> [string appendAttributedString:[NSAttributedString attributedStringWithAttachment:attachment]];
</span></span></pre></div>
<a id="trunkSourceWebCoreeditinghtmleditingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/htmlediting.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/htmlediting.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/htmlediting.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -316,7 +316,7 @@
</span><span class="cx"> Element* enclosingBlock(Node* node, EditingBoundaryCrossingRule rule)
</span><span class="cx"> {
</span><span class="cx"> Node* enclosingNode = enclosingNodeOfType(firstPositionInOrBeforeNode(node), isBlock, rule);
</span><del>- return enclosingNode && is<Element>(enclosingNode) ? downcast<Element>(enclosingNode) : nullptr;
</del><ins>+ return is<Element>(enclosingNode) ? downcast<Element>(enclosingNode) : nullptr;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> TextDirection directionOfEnclosingBlock(const Position& position)
</span><span class="lines">@@ -550,7 +550,7 @@
</span><span class="cx"> for (Node* node = position.deprecatedNode(); node; node = node->parentNode()) {
</span><span class="cx"> if (root && !node->hasEditableStyle())
</span><span class="cx"> continue;
</span><del>- if (!is<Element>(node))
</del><ins>+ if (!is<Element>(*node))
</ins><span class="cx"> continue;
</span><span class="cx"> if (downcast<Element>(*node).hasTagName(tagName))
</span><span class="cx"> return downcast<Element>(node);
</span><span class="lines">@@ -638,7 +638,7 @@
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> for (Node* node = p.deprecatedNode(); node; node = node->parentNode()) {
</span><del>- if (is<Element>(node) && node->isLink())
</del><ins>+ if (is<Element>(*node) && node->isLink())
</ins><span class="cx"> return downcast<Element>(node);
</span><span class="cx"> }
</span><span class="cx"> return nullptr;
</span><span class="lines">@@ -652,7 +652,7 @@
</span><span class="cx"> Node* root = highestEditableRoot(firstPositionInOrBeforeNode(node));
</span><span class="cx">
</span><span class="cx"> for (ContainerNode* ancestor = node->parentNode(); ancestor; ancestor = ancestor->parentNode()) {
</span><del>- if (is<HTMLUListElement>(ancestor) || is<HTMLOListElement>(ancestor))
</del><ins>+ if (is<HTMLUListElement>(*ancestor) || is<HTMLOListElement>(*ancestor))
</ins><span class="cx"> return downcast<HTMLElement>(ancestor);
</span><span class="cx"> if (ancestor == root)
</span><span class="cx"> return nullptr;
</span><span class="lines">@@ -1055,7 +1055,7 @@
</span><span class="cx"> if (!position.anchorNode()->renderer())
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- if (!is<Text>(position.anchorNode()) || !position.anchorNode()->renderer()->style().preserveNewline())
</del><ins>+ if (!is<Text>(*position.anchorNode()) || !position.anchorNode()->renderer()->style().preserveNewline())
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> Text& textNode = downcast<Text>(*position.anchorNode());
</span><span class="lines">@@ -1184,15 +1184,15 @@
</span><span class="cx">
</span><span class="cx"> bool areIdenticalElements(const Node* first, const Node* second)
</span><span class="cx"> {
</span><del>- if (!is<Element>(first) || !is<Element>(second))
</del><ins>+ if (!is<Element>(*first) || !is<Element>(*second))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><del>- const Element* firstElement = downcast<Element>(first);
- const Element* secondElement = downcast<Element>(second);
- if (!firstElement->hasTagName(secondElement->tagQName()))
</del><ins>+ const Element& firstElement = downcast<Element>(*first);
+ const Element& secondElement = downcast<Element>(*second);
+ if (!firstElement.hasTagName(secondElement.tagQName()))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><del>- return firstElement->hasEquivalentAttributes(secondElement);
</del><ins>+ return firstElement.hasEquivalentAttributes(&secondElement);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool isNonTableCellHTMLBlockElement(const Node* node)
</span><span class="lines">@@ -1200,7 +1200,7 @@
</span><span class="cx"> return node->hasTagName(listingTag)
</span><span class="cx"> || node->hasTagName(olTag)
</span><span class="cx"> || node->hasTagName(preTag)
</span><del>- || is<HTMLTableElement>(node)
</del><ins>+ || is<HTMLTableElement>(*node)
</ins><span class="cx"> || node->hasTagName(ulTag)
</span><span class="cx"> || node->hasTagName(xmpTag)
</span><span class="cx"> || node->hasTagName(h1Tag)
</span><span class="lines">@@ -1251,7 +1251,7 @@
</span><span class="cx"> if (isBlockFlowElement(node))
</span><span class="cx"> return downcast<Element>(node);
</span><span class="cx"> while ((node = node->parentNode())) {
</span><del>- if (isBlockFlowElement(node) || is<HTMLBodyElement>(node))
</del><ins>+ if (isBlockFlowElement(node) || is<HTMLBodyElement>(*node))
</ins><span class="cx"> return downcast<Element>(node);
</span><span class="cx"> }
</span><span class="cx"> return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingiosEditorIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/ios/EditorIOS.mm (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/ios/EditorIOS.mm        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/ios/EditorIOS.mm        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -181,7 +181,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> Element* focusedElement = m_frame.document()->focusedElement();
</span><del>- if (focusedElement && (is<HTMLTextAreaElement>(focusedElement) || (is<HTMLInputElement>(focusedElement)
</del><ins>+ if (focusedElement && (is<HTMLTextAreaElement>(*focusedElement) || (is<HTMLInputElement>(*focusedElement)
</ins><span class="cx"> && (downcast<HTMLInputElement>(*focusedElement).isTextField()
</span><span class="cx"> || downcast<HTMLInputElement>(*focusedElement).isSearchField())))) {
</span><span class="cx"> if (direction == NaturalWritingDirection)
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingmarkupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/markup.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/markup.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/editing/markup.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -234,7 +234,7 @@
</span><span class="cx">
</span><span class="cx"> void StyledMarkupAccumulator::appendText(StringBuilder& out, const Text& text)
</span><span class="cx"> {
</span><del>- const bool parentIsTextarea = text.parentElement() && is<HTMLTextAreaElement>(text.parentElement());
</del><ins>+ const bool parentIsTextarea = is<HTMLTextAreaElement>(text.parentElement());
</ins><span class="cx"> const bool wrappingSpan = shouldApplyWrappingStyle(text) && !parentIsTextarea;
</span><span class="cx"> if (wrappingSpan) {
</span><span class="cx"> RefPtr<EditingStyle> wrappingStyle = m_wrappingStyle->copy();
</span><span class="lines">@@ -452,7 +452,7 @@
</span><span class="cx">
</span><span class="cx"> if (commonAncestorBlock->hasTagName(tbodyTag) || commonAncestorBlock->hasTagName(trTag)) {
</span><span class="cx"> ContainerNode* table = commonAncestorBlock->parentNode();
</span><del>- while (table && !is<HTMLTableElement>(table))
</del><ins>+ while (table && !is<HTMLTableElement>(*table))
</ins><span class="cx"> table = table->parentNode();
</span><span class="cx">
</span><span class="cx"> return table;
</span><span class="lines">@@ -743,7 +743,8 @@
</span><span class="cx">
</span><span class="cx"> bool isPlainTextMarkup(Node* node)
</span><span class="cx"> {
</span><del>- if (!is<HTMLDivElement>(node))
</del><ins>+ ASSERT(node);
+ if (!is<HTMLDivElement>(*node))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> HTMLDivElement& element = downcast<HTMLDivElement>(*node);
</span></span></pre></div>
<a id="trunkSourceWebCorefileapiFileReadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/fileapi/FileReader.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/fileapi/FileReader.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/fileapi/FileReader.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx"> if (!blob)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- LOG(FileAPI, "FileReader: reading as array buffer: %s %s\n", blob->url().string().utf8().data(), is<File>(blob) ? downcast<File>(*blob).path().utf8().data() : "");
</del><ins>+ LOG(FileAPI, "FileReader: reading as array buffer: %s %s\n", blob->url().string().utf8().data(), is<File>(*blob) ? downcast<File>(*blob).path().utf8().data() : "");
</ins><span class="cx">
</span><span class="cx"> readInternal(blob, FileReaderLoader::ReadAsArrayBuffer, ec);
</span><span class="cx"> }
</span><span class="lines">@@ -91,7 +91,7 @@
</span><span class="cx"> if (!blob)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- LOG(FileAPI, "FileReader: reading as binary: %s %s\n", blob->url().string().utf8().data(), is<File>(blob) ? downcast<File>(*blob).path().utf8().data() : "");
</del><ins>+ LOG(FileAPI, "FileReader: reading as binary: %s %s\n", blob->url().string().utf8().data(), is<File>(*blob) ? downcast<File>(*blob).path().utf8().data() : "");
</ins><span class="cx">
</span><span class="cx"> readInternal(blob, FileReaderLoader::ReadAsBinaryString, ec);
</span><span class="cx"> }
</span><span class="lines">@@ -101,7 +101,7 @@
</span><span class="cx"> if (!blob)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- LOG(FileAPI, "FileReader: reading as text: %s %s\n", blob->url().string().utf8().data(), is<File>(blob) ? downcast<File>(*blob).path().utf8().data() : "");
</del><ins>+ LOG(FileAPI, "FileReader: reading as text: %s %s\n", blob->url().string().utf8().data(), is<File>(*blob) ? downcast<File>(*blob).path().utf8().data() : "");
</ins><span class="cx">
</span><span class="cx"> m_encoding = encoding;
</span><span class="cx"> readInternal(blob, FileReaderLoader::ReadAsText, ec);
</span><span class="lines">@@ -117,7 +117,7 @@
</span><span class="cx"> if (!blob)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- LOG(FileAPI, "FileReader: reading as data URL: %s %s\n", blob->url().string().utf8().data(), is<File>(blob) ? downcast<File>(*blob).path().utf8().data() : "");
</del><ins>+ LOG(FileAPI, "FileReader: reading as data URL: %s %s\n", blob->url().string().utf8().data(), is<File>(*blob) ? downcast<File>(*blob).path().utf8().data() : "");
</ins><span class="cx">
</span><span class="cx"> readInternal(blob, FileReaderLoader::ReadAsDataURL, ec);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlBaseChooserOnlyDateAndTimeInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/BaseChooserOnlyDateAndTimeInputType.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/BaseChooserOnlyDateAndTimeInputType.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/BaseChooserOnlyDateAndTimeInputType.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx"> void BaseChooserOnlyDateAndTimeInputType::updateAppearance()
</span><span class="cx"> {
</span><span class="cx"> Node* node = element().userAgentShadowRoot()->firstChild();
</span><del>- if (!node || !is<HTMLElement>(node))
</del><ins>+ if (!is<HTMLElement>(node))
</ins><span class="cx"> return;
</span><span class="cx"> String displayValue = visibleValue();
</span><span class="cx"> if (displayValue.isEmpty()) {
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlFTPDirectoryDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/FTPDirectoryDocument.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/FTPDirectoryDocument.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/FTPDirectoryDocument.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -300,7 +300,7 @@
</span><span class="cx"> RefPtr<Element> tableElement = document()->getElementById(String(ASCIILiteral("ftpDirectoryTable")));
</span><span class="cx"> if (!tableElement)
</span><span class="cx"> LOG_ERROR("Unable to find element by id \"ftpDirectoryTable\" in the template document.");
</span><del>- else if (!is<HTMLTableElement>(tableElement.get()))
</del><ins>+ else if (!is<HTMLTableElement>(*tableElement))
</ins><span class="cx"> LOG_ERROR("Element of id \"ftpDirectoryTable\" is not a table element");
</span><span class="cx"> else
</span><span class="cx"> m_tableElement = downcast<HTMLTableElement>(tableElement.get());
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlFormAssociatedElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/FormAssociatedElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/FormAssociatedElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/FormAssociatedElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -98,7 +98,7 @@
</span><span class="cx"> // treeScope().getElementById() over the given element.
</span><span class="cx"> HTMLFormElement* newForm = nullptr;
</span><span class="cx"> Element* newFormCandidate = element->treeScope().getElementById(formId);
</span><del>- if (newFormCandidate && is<HTMLFormElement>(newFormCandidate))
</del><ins>+ if (is<HTMLFormElement>(newFormCandidate))
</ins><span class="cx"> newForm = downcast<HTMLFormElement>(newFormCandidate);
</span><span class="cx"> return newForm;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLAnchorElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLAnchorElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLAnchorElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLAnchorElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -152,13 +152,14 @@
</span><span class="cx">
</span><span class="cx"> static void appendServerMapMousePosition(StringBuilder& url, Event* event)
</span><span class="cx"> {
</span><del>- if (!is<MouseEvent>(event))
</del><ins>+ ASSERT(event);
+ if (!is<MouseEvent>(*event))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> ASSERT(event->target());
</span><span class="cx"> Node* target = event->target()->toNode();
</span><span class="cx"> ASSERT(target);
</span><del>- if (!is<HTMLImageElement>(target))
</del><ins>+ if (!is<HTMLImageElement>(*target))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> HTMLImageElement& imageElement = downcast<HTMLImageElement>(*target);
</span><span class="lines">@@ -196,7 +197,7 @@
</span><span class="cx"> if (hasEditableStyle()) {
</span><span class="cx"> // This keeps track of the editable block that the selection was in (if it was in one) just before the link was clicked
</span><span class="cx"> // for the LiveWhenNotFocused editable link behavior
</span><del>- if (event->type() == eventNames().mousedownEvent && is<MouseEvent>(event) && downcast<MouseEvent>(*event).button() != RightButton && document().frame()) {
</del><ins>+ if (event->type() == eventNames().mousedownEvent && is<MouseEvent>(*event) && downcast<MouseEvent>(*event).button() != RightButton && document().frame()) {
</ins><span class="cx"> setRootEditableElementForSelectionOnMouseDown(document().frame()->selection().selection().rootEditableElement());
</span><span class="cx"> m_wasShiftKeyDownOnMouseDown = downcast<MouseEvent>(*event).shiftKey();
</span><span class="cx"> } else if (event->type() == eventNames().mouseoverEvent) {
</span><span class="lines">@@ -555,7 +556,8 @@
</span><span class="cx">
</span><span class="cx"> HTMLAnchorElement::EventType HTMLAnchorElement::eventType(Event* event)
</span><span class="cx"> {
</span><del>- if (!is<MouseEvent>(event))
</del><ins>+ ASSERT(event);
+ if (!is<MouseEvent>(*event))
</ins><span class="cx"> return NonMouseEvent;
</span><span class="cx"> return downcast<MouseEvent>(*event).shiftKey() ? MouseEventWithShiftKey : MouseEventWithoutShiftKey;
</span><span class="cx"> }
</span><span class="lines">@@ -592,12 +594,12 @@
</span><span class="cx">
</span><span class="cx"> bool isEnterKeyKeydownEvent(Event* event)
</span><span class="cx"> {
</span><del>- return event->type() == eventNames().keydownEvent && is<KeyboardEvent>(event) && downcast<KeyboardEvent>(*event).keyIdentifier() == "Enter";
</del><ins>+ return event->type() == eventNames().keydownEvent && is<KeyboardEvent>(*event) && downcast<KeyboardEvent>(*event).keyIdentifier() == "Enter";
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool isLinkClick(Event* event)
</span><span class="cx"> {
</span><del>- return event->type() == eventNames().clickEvent && (!is<MouseEvent>(event) || downcast<MouseEvent>(*event).button() != RightButton);
</del><ins>+ return event->type() == eventNames().clickEvent && (!is<MouseEvent>(*event) || downcast<MouseEvent>(*event).button() != RightButton);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool shouldProhibitLinks(Element* element)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLAreaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLAreaElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLAreaElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLAreaElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -182,7 +182,7 @@
</span><span class="cx"> HTMLImageElement* HTMLAreaElement::imageElement() const
</span><span class="cx"> {
</span><span class="cx"> Node* mapElement = parentNode();
</span><del>- if (!mapElement || !is<HTMLMapElement>(mapElement))
</del><ins>+ if (!is<HTMLMapElement>(mapElement))
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> return downcast<HTMLMapElement>(*mapElement).imageElement();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLBodyElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLBodyElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLBodyElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLBodyElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -175,7 +175,7 @@
</span><span class="cx"> // magically appear on the <body> of all documents embedded through <iframe> or <frame>.
</span><span class="cx"> // FIXME: Perhaps this code should be in attach() instead of here.
</span><span class="cx"> HTMLFrameOwnerElement* ownerElement = document().ownerElement();
</span><del>- if (ownerElement && is<HTMLFrameElementBase>(*ownerElement)) {
</del><ins>+ if (is<HTMLFrameElementBase>(ownerElement)) {
</ins><span class="cx"> HTMLFrameElementBase& ownerFrameElement = downcast<HTMLFrameElementBase>(*ownerElement);
</span><span class="cx"> int marginWidth = ownerFrameElement.marginWidth();
</span><span class="cx"> if (marginWidth != -1)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLButtonElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLButtonElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLButtonElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLButtonElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -123,7 +123,7 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (is<KeyboardEvent>(event)) {
</del><ins>+ if (is<KeyboardEvent>(*event)) {
</ins><span class="cx"> KeyboardEvent& keyboardEvent = downcast<KeyboardEvent>(*event);
</span><span class="cx"> if (keyboardEvent.type() == eventNames().keydownEvent && keyboardEvent.keyIdentifier() == "U+0020") {
</span><span class="cx"> setActive(true, true);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLCollectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLCollection.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLCollection.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLCollection.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -400,7 +400,7 @@
</span><span class="cx"> } else if (treeScope.hasElementWithName(*name.impl())) {
</span><span class="cx"> if (!treeScope.containsMultipleElementsWithName(name)) {
</span><span class="cx"> candidate = treeScope.getElementByName(name);
</span><del>- if (candidate && type() == DocAll && (!is<HTMLElement>(candidate) || !nameShouldBeVisibleInDocumentAll(downcast<HTMLElement>(*candidate))))
</del><ins>+ if (candidate && type() == DocAll && (!is<HTMLElement>(*candidate) || !nameShouldBeVisibleInDocumentAll(downcast<HTMLElement>(*candidate))))
</ins><span class="cx"> candidate = nullptr;
</span><span class="cx"> }
</span><span class="cx"> } else
</span><span class="lines">@@ -443,7 +443,7 @@
</span><span class="cx"> const AtomicString& idAttrVal = element->getIdAttribute();
</span><span class="cx"> if (!idAttrVal.isEmpty())
</span><span class="cx"> cache->appendIdCache(idAttrVal, element);
</span><del>- if (!is<HTMLElement>(element))
</del><ins>+ if (!is<HTMLElement>(*element))
</ins><span class="cx"> continue;
</span><span class="cx"> const AtomicString& nameAttrVal = element->getNameAttribute();
</span><span class="cx"> if (!nameAttrVal.isEmpty() && idAttrVal != nameAttrVal && (type() != DocAll || nameShouldBeVisibleInDocumentAll(downcast<HTMLElement>(*element))))
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLDocument.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLDocument.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLDocument.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -139,7 +139,7 @@
</span><span class="cx"> const AtomicString& HTMLDocument::bgColor() const
</span><span class="cx"> {
</span><span class="cx"> HTMLElement* bodyElement = body();
</span><del>- if (!bodyElement || !is<HTMLBodyElement>(bodyElement))
</del><ins>+ if (!is<HTMLBodyElement>(bodyElement))
</ins><span class="cx"> return emptyAtom;
</span><span class="cx"> return bodyElement->fastGetAttribute(bgcolorAttr);
</span><span class="cx"> }
</span><span class="lines">@@ -147,7 +147,7 @@
</span><span class="cx"> void HTMLDocument::setBgColor(const String& value)
</span><span class="cx"> {
</span><span class="cx"> HTMLElement* bodyElement = body();
</span><del>- if (!bodyElement || !is<HTMLBodyElement>(bodyElement))
</del><ins>+ if (!is<HTMLBodyElement>(bodyElement))
</ins><span class="cx"> return;
</span><span class="cx"> bodyElement->setAttribute(bgcolorAttr, value);
</span><span class="cx"> }
</span><span class="lines">@@ -155,7 +155,7 @@
</span><span class="cx"> const AtomicString& HTMLDocument::fgColor() const
</span><span class="cx"> {
</span><span class="cx"> HTMLElement* bodyElement = body();
</span><del>- if (!bodyElement || !is<HTMLBodyElement>(bodyElement))
</del><ins>+ if (!is<HTMLBodyElement>(bodyElement))
</ins><span class="cx"> return emptyAtom;
</span><span class="cx"> return bodyElement->fastGetAttribute(textAttr);
</span><span class="cx"> }
</span><span class="lines">@@ -163,7 +163,7 @@
</span><span class="cx"> void HTMLDocument::setFgColor(const String& value)
</span><span class="cx"> {
</span><span class="cx"> HTMLElement* bodyElement = body();
</span><del>- if (!bodyElement || !is<HTMLBodyElement>(bodyElement))
</del><ins>+ if (!is<HTMLBodyElement>(bodyElement))
</ins><span class="cx"> return;
</span><span class="cx"> bodyElement->setAttribute(textAttr, value);
</span><span class="cx"> }
</span><span class="lines">@@ -171,7 +171,7 @@
</span><span class="cx"> const AtomicString& HTMLDocument::alinkColor() const
</span><span class="cx"> {
</span><span class="cx"> HTMLElement* bodyElement = body();
</span><del>- if (!bodyElement || !is<HTMLBodyElement>(bodyElement))
</del><ins>+ if (!is<HTMLBodyElement>(bodyElement))
</ins><span class="cx"> return emptyAtom;
</span><span class="cx"> return bodyElement->fastGetAttribute(alinkAttr);
</span><span class="cx"> }
</span><span class="lines">@@ -179,7 +179,7 @@
</span><span class="cx"> void HTMLDocument::setAlinkColor(const String& value)
</span><span class="cx"> {
</span><span class="cx"> HTMLElement* bodyElement = body();
</span><del>- if (!bodyElement || !is<HTMLBodyElement>(bodyElement))
</del><ins>+ if (!is<HTMLBodyElement>(bodyElement))
</ins><span class="cx"> return;
</span><span class="cx"> bodyElement->setAttribute(alinkAttr, value);
</span><span class="cx"> }
</span><span class="lines">@@ -187,7 +187,7 @@
</span><span class="cx"> const AtomicString& HTMLDocument::linkColor() const
</span><span class="cx"> {
</span><span class="cx"> HTMLElement* bodyElement = body();
</span><del>- if (!bodyElement || !is<HTMLBodyElement>(bodyElement))
</del><ins>+ if (!is<HTMLBodyElement>(bodyElement))
</ins><span class="cx"> return emptyAtom;
</span><span class="cx"> return bodyElement->fastGetAttribute(linkAttr);
</span><span class="cx"> }
</span><span class="lines">@@ -195,7 +195,7 @@
</span><span class="cx"> void HTMLDocument::setLinkColor(const String& value)
</span><span class="cx"> {
</span><span class="cx"> HTMLElement* bodyElement = body();
</span><del>- if (!bodyElement || !is<HTMLBodyElement>(bodyElement))
</del><ins>+ if (!is<HTMLBodyElement>(bodyElement))
</ins><span class="cx"> return;
</span><span class="cx"> return bodyElement->setAttribute(linkAttr, value);
</span><span class="cx"> }
</span><span class="lines">@@ -203,7 +203,7 @@
</span><span class="cx"> const AtomicString& HTMLDocument::vlinkColor() const
</span><span class="cx"> {
</span><span class="cx"> HTMLElement* bodyElement = body();
</span><del>- if (!bodyElement || !is<HTMLBodyElement>(bodyElement))
</del><ins>+ if (!is<HTMLBodyElement>(bodyElement))
</ins><span class="cx"> return emptyAtom;
</span><span class="cx"> return bodyElement->fastGetAttribute(vlinkAttr);
</span><span class="cx"> }
</span><span class="lines">@@ -211,7 +211,7 @@
</span><span class="cx"> void HTMLDocument::setVlinkColor(const String& value)
</span><span class="cx"> {
</span><span class="cx"> HTMLElement* bodyElement = body();
</span><del>- if (!bodyElement || !is<HTMLBodyElement>(bodyElement))
</del><ins>+ if (!is<HTMLBodyElement>(bodyElement))
</ins><span class="cx"> return;
</span><span class="cx"> return bodyElement->setAttribute(vlinkAttr, value);
</span><span class="cx"> }
</span><span class="lines">@@ -339,8 +339,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLDocument::isFrameSet() const
</span><span class="cx"> {
</span><del>- HTMLElement* bodyElement = body();
- return bodyElement && is<HTMLFrameSetElement>(bodyElement);
</del><ins>+ return is<HTMLFrameSetElement>(body());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> PassRefPtr<Document> HTMLDocument::cloneDocumentWithoutChildren() const
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -364,7 +364,7 @@
</span><span class="cx"> {
</span><span class="cx"> const Element* currentElement = this;
</span><span class="cx"> do {
</span><del>- if (is<HTMLElement>(currentElement)) {
</del><ins>+ if (is<HTMLElement>(*currentElement)) {
</ins><span class="cx"> switch (contentEditableType(downcast<HTMLElement>(*currentElement))) {
</span><span class="cx"> case ContentEditableType::True:
</span><span class="cx"> case ContentEditableType::PlaintextOnly:
</span><span class="lines">@@ -436,7 +436,7 @@
</span><span class="cx"> static void mergeWithNextTextNode(Text& node, ExceptionCode& ec)
</span><span class="cx"> {
</span><span class="cx"> Node* next = node.nextSibling();
</span><del>- if (!next || !is<Text>(next))
</del><ins>+ if (!is<Text>(next))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> Ref<Text> textNode(node);
</span><span class="lines">@@ -450,7 +450,7 @@
</span><span class="cx"> void HTMLElement::setOuterHTML(const String& html, ExceptionCode& ec)
</span><span class="cx"> {
</span><span class="cx"> Element* p = parentElement();
</span><del>- if (!p || !is<HTMLElement>(p)) {
</del><ins>+ if (!is<HTMLElement>(p)) {
</ins><span class="cx"> ec = NO_MODIFICATION_ALLOWED_ERR;
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -464,9 +464,9 @@
</span><span class="cx">
</span><span class="cx"> parent->replaceChild(fragment.release(), this, ec);
</span><span class="cx"> RefPtr<Node> node = next ? next->previousSibling() : nullptr;
</span><del>- if (!ec && node && is<Text>(*node))
</del><ins>+ if (!ec && is<Text>(node.get()))
</ins><span class="cx"> mergeWithNextTextNode(downcast<Text>(*node), ec);
</span><del>- if (!ec && prev && is<Text>(*prev))
</del><ins>+ if (!ec && is<Text>(prev.get()))
</ins><span class="cx"> mergeWithNextTextNode(downcast<Text>(*prev), ec);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -597,9 +597,9 @@
</span><span class="cx"> parent->replaceChild(newChild.release(), this, ec);
</span><span class="cx">
</span><span class="cx"> RefPtr<Node> node = next ? next->previousSibling() : nullptr;
</span><del>- if (!ec && node && is<Text>(*node))
</del><ins>+ if (!ec && is<Text>(node.get()))
</ins><span class="cx"> mergeWithNextTextNode(downcast<Text>(*node), ec);
</span><del>- if (!ec && prev && is<Text>(*prev))
</del><ins>+ if (!ec && is<Text>(prev.get()))
</ins><span class="cx"> mergeWithNextTextNode(downcast<Text>(*prev), ec);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -642,7 +642,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> Node* returnValue = insertAdjacent(where, newChild, ec);
</span><del>- ASSERT_WITH_SECURITY_IMPLICATION(!returnValue || is<Element>(returnValue));
</del><ins>+ ASSERT_WITH_SECURITY_IMPLICATION(!returnValue || is<Element>(*returnValue));
</ins><span class="cx"> return downcast<Element>(returnValue);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -651,11 +651,11 @@
</span><span class="cx"> {
</span><span class="cx"> if (equalIgnoringCase(where, "beforeBegin") || equalIgnoringCase(where, "afterEnd")) {
</span><span class="cx"> ContainerNode* parent = element->parentNode();
</span><del>- if (parent && !is<Element>(parent)) {
</del><ins>+ if (parent && !is<Element>(*parent)) {
</ins><span class="cx"> ec = NO_MODIFICATION_ALLOWED_ERR;
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span><del>- ASSERT_WITH_SECURITY_IMPLICATION(!parent || is<Element>(parent));
</del><ins>+ ASSERT_WITH_SECURITY_IMPLICATION(!parent || is<Element>(*parent));
</ins><span class="cx"> return downcast<Element>(parent);
</span><span class="cx"> }
</span><span class="cx"> if (equalIgnoringCase(where, "afterBegin") || equalIgnoringCase(where, "beforeEnd"))
</span><span class="lines">@@ -934,13 +934,13 @@
</span><span class="cx"> while (node) {
</span><span class="cx"> // Skip bdi, script, style and text form controls.
</span><span class="cx"> if (equalIgnoringCase(node->nodeName(), "bdi") || node->hasTagName(scriptTag) || node->hasTagName(styleTag)
</span><del>- || (is<Element>(node) && downcast<Element>(*node).isTextFormControl())) {
</del><ins>+ || (is<Element>(*node) && downcast<Element>(*node).isTextFormControl())) {
</ins><span class="cx"> node = NodeTraversal::nextSkippingChildren(node, this);
</span><span class="cx"> continue;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Skip elements with valid dir attribute
</span><del>- if (is<Element>(node)) {
</del><ins>+ if (is<Element>(*node)) {
</ins><span class="cx"> AtomicString dirAttributeValue = downcast<Element>(*node).fastGetAttribute(dirAttr);
</span><span class="cx"> if (isLTROrRTLIgnoringCase(dirAttributeValue) || equalIgnoringCase(dirAttributeValue, "auto")) {
</span><span class="cx"> node = NodeTraversal::nextSkippingChildren(node, this);
</span><span class="lines">@@ -968,7 +968,7 @@
</span><span class="cx"> {
</span><span class="cx"> Element* parent = parentElement();
</span><span class="cx">
</span><del>- if (parent && is<HTMLElement>(parent) && parent->selfOrAncestorHasDirAutoAttribute())
</del><ins>+ if (is<HTMLElement>(parent) && parent->selfOrAncestorHasDirAutoAttribute())
</ins><span class="cx"> downcast<HTMLElement>(*parent).adjustDirectionalityIfNeededAfterChildAttributeChanged(this);
</span><span class="cx">
</span><span class="cx"> if (equalIgnoringCase(value, "auto"))
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLEmbedElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLEmbedElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLEmbedElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLEmbedElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -189,7 +189,7 @@
</span><span class="cx"> // If my parent is an <object> and is not set to use fallback content, I
</span><span class="cx"> // should be ignored and not get a renderer.
</span><span class="cx"> ContainerNode* parent = parentNode();
</span><del>- if (parent && is<HTMLObjectElement>(parent)) {
</del><ins>+ if (is<HTMLObjectElement>(parent)) {
</ins><span class="cx"> if (!parent->renderer())
</span><span class="cx"> return false;
</span><span class="cx"> if (!downcast<HTMLObjectElement>(*parent).useFallbackContent()) {
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFieldSetElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFieldSetElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFieldSetElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLFieldSetElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx"> while (control) {
</span><span class="cx"> control->setAncestorDisabled(isDisabled);
</span><span class="cx"> // Don't call setAncestorDisabled(false) on form contorls inside disabled fieldsets.
</span><del>- if (is<HTMLFieldSetElement>(control) && control->fastHasAttribute(disabledAttr))
</del><ins>+ if (is<HTMLFieldSetElement>(*control) && control->fastHasAttribute(disabledAttr))
</ins><span class="cx"> control = Traversal<HTMLFormControlElement>::nextSkippingChildren(control, &startNode);
</span><span class="cx"> else
</span><span class="cx"> control = Traversal<HTMLFormControlElement>::next(control, &startNode);
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx"> bool thisFieldsetIsDisabled = fastHasAttribute(disabledAttr);
</span><span class="cx"> bool hasSeenFirstLegendElement = false;
</span><span class="cx"> for (HTMLElement* control = Traversal<HTMLElement>::firstChild(this); control; control = Traversal<HTMLElement>::nextSibling(control)) {
</span><del>- if (!hasSeenFirstLegendElement && is<HTMLLegendElement>(control)) {
</del><ins>+ if (!hasSeenFirstLegendElement && is<HTMLLegendElement>(*control)) {
</ins><span class="cx"> hasSeenFirstLegendElement = true;
</span><span class="cx"> updateFromControlElementsAncestorDisabledStateUnder(*control, false /* isDisabled */);
</span><span class="cx"> continue;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFormControlElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFormControlElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFormControlElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLFormControlElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -103,9 +103,9 @@
</span><span class="cx"> {
</span><span class="cx"> Element* previousAncestor = nullptr;
</span><span class="cx"> for (Element* ancestor = parentElement(); ancestor; ancestor = ancestor->parentElement()) {
</span><del>- if (is<HTMLFieldSetElement>(ancestor) && ancestor->fastHasAttribute(disabledAttr)) {
</del><ins>+ if (is<HTMLFieldSetElement>(*ancestor) && ancestor->fastHasAttribute(disabledAttr)) {
</ins><span class="cx"> HTMLFieldSetElement& fieldSetAncestor = downcast<HTMLFieldSetElement>(*ancestor);
</span><del>- bool isInFirstLegend = previousAncestor && is<HTMLLegendElement>(previousAncestor) && previousAncestor == fieldSetAncestor.legend();
</del><ins>+ bool isInFirstLegend = is<HTMLLegendElement>(previousAncestor) && previousAncestor == fieldSetAncestor.legend();
</ins><span class="cx"> return !isInFirstLegend;
</span><span class="cx"> }
</span><span class="cx"> previousAncestor = ancestor;
</span><span class="lines">@@ -192,7 +192,7 @@
</span><span class="cx">
</span><span class="cx"> // FIXME: Should this set of hasTagName checks be replaced by a
</span><span class="cx"> // virtual member function?
</span><del>- if (is<HTMLInputElement>(element))
</del><ins>+ if (is<HTMLInputElement>(*element))
</ins><span class="cx"> return !downcast<HTMLInputElement>(*element).isInputTypeHidden();
</span><span class="cx"> if (element->hasTagName(selectTag))
</span><span class="cx"> return true;
</span><span class="lines">@@ -200,7 +200,7 @@
</span><span class="cx"> return true;
</span><span class="cx"> if (element->hasTagName(buttonTag))
</span><span class="cx"> return true;
</span><del>- if (is<HTMLTextAreaElement>(element))
</del><ins>+ if (is<HTMLTextAreaElement>(*element))
</ins><span class="cx"> return true;
</span><span class="cx">
</span><span class="cx"> return false;
</span><span class="lines">@@ -508,7 +508,7 @@
</span><span class="cx"> HTMLFormControlElement* HTMLFormControlElement::enclosingFormControlElement(Node* node)
</span><span class="cx"> {
</span><span class="cx"> for (; node; node = node->parentNode()) {
</span><del>- if (is<HTMLFormControlElement>(node))
</del><ins>+ if (is<HTMLFormControlElement>(*node))
</ins><span class="cx"> return downcast<HTMLFormControlElement>(node);
</span><span class="cx"> }
</span><span class="cx"> return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFormElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFormElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFormElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLFormElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -110,7 +110,7 @@
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> // FIXME: Shouldn't we also check for table caption (see |formIsTablePart| below).
</span><del>- bool parentIsTableElementPart = (parentRenderer->isTable() && is<HTMLTableElement>(parent))
</del><ins>+ bool parentIsTableElementPart = (parentRenderer->isTable() && is<HTMLTableElement>(*parent))
</ins><span class="cx"> || (parentRenderer->isTableRow() && parent->hasTagName(trTag))
</span><span class="cx"> || (parentRenderer->isTableSection() && parent->hasTagName(tbodyTag))
</span><span class="cx"> || (parentRenderer->isRenderTableCol() && parent->hasTagName(colTag))
</span><span class="lines">@@ -182,7 +182,7 @@
</span><span class="cx"> unsigned submissionTriggerCount = 0;
</span><span class="cx"> for (unsigned i = 0; i < m_associatedElements.size(); ++i) {
</span><span class="cx"> FormAssociatedElement* formAssociatedElement = m_associatedElements[i];
</span><del>- if (!is<HTMLFormControlElement>(formAssociatedElement))
</del><ins>+ if (!is<HTMLFormControlElement>(*formAssociatedElement))
</ins><span class="cx"> continue;
</span><span class="cx"> HTMLFormControlElement& formElement = downcast<HTMLFormControlElement>(*formAssociatedElement);
</span><span class="cx"> if (formElement.isSuccessfulSubmitButton()) {
</span><span class="lines">@@ -206,7 +206,7 @@
</span><span class="cx"> static inline HTMLFormControlElement* submitElementFromEvent(const Event* event)
</span><span class="cx"> {
</span><span class="cx"> for (Node* node = event->target()->toNode(); node; node = node->parentNode()) {
</span><del>- if (is<HTMLFormControlElement>(node))
</del><ins>+ if (is<HTMLFormControlElement>(*node))
</ins><span class="cx"> return downcast<HTMLFormControlElement>(node);
</span><span class="cx"> }
</span><span class="cx"> return nullptr;
</span><span class="lines">@@ -223,7 +223,7 @@
</span><span class="cx"> return true;
</span><span class="cx">
</span><span class="cx"> for (unsigned i = 0; i < m_associatedElements.size(); ++i) {
</span><del>- if (is<HTMLFormControlElement>(m_associatedElements[i]))
</del><ins>+ if (is<HTMLFormControlElement>(*m_associatedElements[i]))
</ins><span class="cx"> downcast<HTMLFormControlElement>(*m_associatedElements[i]).hideVisibleValidationMessage();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -345,7 +345,7 @@
</span><span class="cx">
</span><span class="cx"> for (unsigned i = 0; i < m_associatedElements.size(); ++i) {
</span><span class="cx"> FormAssociatedElement* associatedElement = m_associatedElements[i];
</span><del>- if (!is<HTMLFormControlElement>(associatedElement))
</del><ins>+ if (!is<HTMLFormControlElement>(*associatedElement))
</ins><span class="cx"> continue;
</span><span class="cx"> if (needButtonActivation) {
</span><span class="cx"> HTMLFormControlElement& control = downcast<HTMLFormControlElement>(*associatedElement);
</span><span class="lines">@@ -384,7 +384,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> for (unsigned i = 0; i < m_associatedElements.size(); ++i) {
</span><del>- if (is<HTMLFormControlElement>(m_associatedElements[i]))
</del><ins>+ if (is<HTMLFormControlElement>(*m_associatedElements[i]))
</ins><span class="cx"> downcast<HTMLFormControlElement>(*m_associatedElements[i]).reset();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -696,7 +696,7 @@
</span><span class="cx"> HTMLFormControlElement* HTMLFormElement::defaultButton() const
</span><span class="cx"> {
</span><span class="cx"> for (unsigned i = 0; i < m_associatedElements.size(); ++i) {
</span><del>- if (!is<HTMLFormControlElement>(m_associatedElements[i]))
</del><ins>+ if (!is<HTMLFormControlElement>(*m_associatedElements[i]))
</ins><span class="cx"> continue;
</span><span class="cx"> HTMLFormControlElement& control = downcast<HTMLFormControlElement>(*m_associatedElements[i]);
</span><span class="cx"> if (control.isSuccessfulSubmitButton())
</span><span class="lines">@@ -810,7 +810,7 @@
</span><span class="cx"> ASSERT(!shouldAutocomplete());
</span><span class="cx">
</span><span class="cx"> for (unsigned i = 0; i < m_associatedElements.size(); ++i) {
</span><del>- if (is<HTMLFormControlElement>(m_associatedElements[i]))
</del><ins>+ if (is<HTMLFormControlElement>(*m_associatedElements[i]))
</ins><span class="cx"> downcast<HTMLFormControlElement>(*m_associatedElements[i]).reset();
</span><span class="cx"> }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFrameOwnerElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFrameOwnerElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFrameOwnerElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLFrameOwnerElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -114,7 +114,7 @@
</span><span class="cx"> SVGDocument* HTMLFrameOwnerElement::getSVGDocument(ExceptionCode& ec) const
</span><span class="cx"> {
</span><span class="cx"> Document* document = contentDocument();
</span><del>- if (document && is<SVGDocument>(document))
</del><ins>+ if (is<SVGDocument>(document))
</ins><span class="cx"> return downcast<SVGDocument>(document);
</span><span class="cx"> // Spec: http://www.w3.org/TR/SVG/struct.html#InterfaceGetSVGDocument
</span><span class="cx"> ec = NOT_SUPPORTED_ERR;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFrameSetElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFrameSetElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFrameSetElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLFrameSetElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -189,7 +189,8 @@
</span><span class="cx">
</span><span class="cx"> void HTMLFrameSetElement::defaultEventHandler(Event* event)
</span><span class="cx"> {
</span><del>- if (is<MouseEvent>(event) && !m_noresize && renderer() && renderer()->isFrameSet()) {
</del><ins>+ ASSERT(event);
+ if (is<MouseEvent>(*event) && !m_noresize && renderer() && renderer()->isFrameSet()) {
</ins><span class="cx"> if (toRenderFrameSet(renderer())->userResize(downcast<MouseEvent>(event))) {
</span><span class="cx"> event->setDefaultHandled();
</span><span class="cx"> return;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLInputElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLInputElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLInputElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLInputElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -1045,21 +1045,22 @@
</span><span class="cx">
</span><span class="cx"> void HTMLInputElement::defaultEventHandler(Event* evt)
</span><span class="cx"> {
</span><del>- if (is<MouseEvent>(evt) && evt->type() == eventNames().clickEvent && downcast<MouseEvent>(*evt).button() == LeftButton) {
</del><ins>+ ASSERT(evt);
+ if (is<MouseEvent>(*evt) && evt->type() == eventNames().clickEvent && downcast<MouseEvent>(*evt).button() == LeftButton) {
</ins><span class="cx"> m_inputType->handleClickEvent(downcast<MouseEvent>(evt));
</span><span class="cx"> if (evt->defaultHandled())
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(TOUCH_EVENTS)
</span><del>- if (is<TouchEvent>(evt)) {
</del><ins>+ if (is<TouchEvent>(*evt)) {
</ins><span class="cx"> m_inputType->handleTouchEvent(downcast<TouchEvent>(evt));
</span><span class="cx"> if (evt->defaultHandled())
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- if (is<KeyboardEvent>(evt) && evt->type() == eventNames().keydownEvent) {
</del><ins>+ if (is<KeyboardEvent>(*evt) && evt->type() == eventNames().keydownEvent) {
</ins><span class="cx"> m_inputType->handleKeydownEvent(downcast<KeyboardEvent>(evt));
</span><span class="cx"> if (evt->defaultHandled())
</span><span class="cx"> return;
</span><span class="lines">@@ -1086,7 +1087,7 @@
</span><span class="cx">
</span><span class="cx"> // Use key press event here since sending simulated mouse events
</span><span class="cx"> // on key down blocks the proper sending of the key press event.
</span><del>- if (is<KeyboardEvent>(evt)) {
</del><ins>+ if (is<KeyboardEvent>(*evt)) {
</ins><span class="cx"> KeyboardEvent& keyboardEvent = downcast<KeyboardEvent>(*evt);
</span><span class="cx"> if (keyboardEvent.type() == eventNames().keypressEvent) {
</span><span class="cx"> m_inputType->handleKeypressEvent(&keyboardEvent);
</span><span class="lines">@@ -1118,10 +1119,10 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (is<BeforeTextInsertedEvent>(evt))
</del><ins>+ if (is<BeforeTextInsertedEvent>(*evt))
</ins><span class="cx"> m_inputType->handleBeforeTextInsertedEvent(downcast<BeforeTextInsertedEvent>(evt));
</span><span class="cx">
</span><del>- if (is<MouseEvent>(evt) && evt->type() == eventNames().mousedownEvent) {
</del><ins>+ if (is<MouseEvent>(*evt) && evt->type() == eventNames().mousedownEvent) {
</ins><span class="cx"> m_inputType->handleMouseDownEvent(downcast<MouseEvent>(evt));
</span><span class="cx"> if (evt->defaultHandled())
</span><span class="cx"> return;
</span><span class="lines">@@ -1522,7 +1523,7 @@
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> Element* element = treeScope().getElementById(fastGetAttribute(listAttr));
</span><del>- if (!element || !is<HTMLDataListElement>(element))
</del><ins>+ if (!is<HTMLDataListElement>(element))
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> return downcast<HTMLDataListElement>(element);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLLabelElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLLabelElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLLabelElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLLabelElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx">
</span><span class="cx"> static LabelableElement* nodeAsSupportedLabelableElement(Node* node)
</span><span class="cx"> {
</span><del>- if (!node || !is<LabelableElement>(*node))
</del><ins>+ if (!is<LabelableElement>(node))
</ins><span class="cx"> return nullptr;
</span><span class="cx"> LabelableElement& element = downcast<LabelableElement>(*node);
</span><span class="cx"> return element.supportLabels() ? &element : nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLLegendElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLLegendElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLLegendElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLLegendElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -79,7 +79,7 @@
</span><span class="cx"> // its parent, then the form attribute must return the same value as the
</span><span class="cx"> // form attribute on that fieldset element. Otherwise, it must return null.
</span><span class="cx"> ContainerNode* fieldset = parentNode();
</span><del>- if (!fieldset || !is<HTMLFieldSetElement>(fieldset))
</del><ins>+ if (!is<HTMLFieldSetElement>(fieldset))
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> return downcast<HTMLFieldSetElement>(*fieldset).form();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -4877,7 +4877,7 @@
</span><span class="cx"> m_isInVideoFullscreen = true;
</span><span class="cx"> if (hasMediaControls())
</span><span class="cx"> mediaControls()->enteredFullscreen();
</span><del>- if (document().page() && is<HTMLVideoElement>(this)) {
</del><ins>+ if (document().page() && is<HTMLVideoElement>(*this)) {
</ins><span class="cx"> HTMLVideoElement& asVideo = downcast<HTMLVideoElement>(*this);
</span><span class="cx"> if (document().page()->chrome().client().supportsVideoFullscreen()) {
</span><span class="cx"> document().page()->chrome().client().enterVideoFullscreenForVideoElement(&asVideo);
</span><span class="lines">@@ -4901,7 +4901,7 @@
</span><span class="cx"> m_isInVideoFullscreen = false;
</span><span class="cx"> if (hasMediaControls())
</span><span class="cx"> mediaControls()->exitedFullscreen();
</span><del>- if (document().page() && is<HTMLVideoElement>(this)) {
</del><ins>+ if (document().page() && is<HTMLVideoElement>(*this)) {
</ins><span class="cx"> if (m_mediaSession->requiresFullscreenForVideoPlayback(*this))
</span><span class="cx"> pauseInternal();
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLObjectElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLObjectElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLObjectElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLObjectElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -231,10 +231,10 @@
</span><span class="cx"> {
</span><span class="cx"> for (Node* child = firstChild(); child; child = child->nextSibling()) {
</span><span class="cx"> // Ignore whitespace-only text, and <param> tags, any other content is fallback content.
</span><del>- if (is<Text>(child)) {
</del><ins>+ if (is<Text>(*child)) {
</ins><span class="cx"> if (!downcast<Text>(*child).containsOnlyWhitespace())
</span><span class="cx"> return true;
</span><del>- } else if (!is<HTMLParamElement>(child))
</del><ins>+ } else if (!is<HTMLParamElement>(*child))
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx"> return false;
</span><span class="lines">@@ -423,12 +423,12 @@
</span><span class="cx"> bool isNamedItem = true;
</span><span class="cx"> Node* child = firstChild();
</span><span class="cx"> while (child && isNamedItem) {
</span><del>- if (is<Element>(child)) {
</del><ins>+ if (is<Element>(*child)) {
</ins><span class="cx"> Element& element = downcast<Element>(*child);
</span><span class="cx"> // FIXME: Use of isRecognizedTagName is almost certainly wrong here.
</span><span class="cx"> if (isRecognizedTagName(element.tagQName()) && !element.hasTagName(paramTag))
</span><span class="cx"> isNamedItem = false;
</span><del>- } else if (is<Text>(child)) {
</del><ins>+ } else if (is<Text>(*child)) {
</ins><span class="cx"> if (!downcast<Text>(*child).containsOnlyWhitespace())
</span><span class="cx"> isNamedItem = false;
</span><span class="cx"> } else
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLOptGroupElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLOptGroupElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLOptGroupElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLOptGroupElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx"> void HTMLOptGroupElement::recalcSelectOptions()
</span><span class="cx"> {
</span><span class="cx"> ContainerNode* select = parentNode();
</span><del>- while (select && !is<HTMLSelectElement>(select))
</del><ins>+ while (select && !is<HTMLSelectElement>(*select))
</ins><span class="cx"> select = select->parentNode();
</span><span class="cx"> if (select)
</span><span class="cx"> downcast<HTMLSelectElement>(*select).setRecalcListItems();
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx"> HTMLSelectElement* HTMLOptGroupElement::ownerSelectElement() const
</span><span class="cx"> {
</span><span class="cx"> ContainerNode* select = parentNode();
</span><del>- while (select && !is<HTMLSelectElement>(select))
</del><ins>+ while (select && !is<HTMLSelectElement>(*select))
</ins><span class="cx"> select = select->parentNode();
</span><span class="cx">
</span><span class="cx"> if (!select)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLOptionElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLOptionElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLOptionElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLOptionElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -129,7 +129,7 @@
</span><span class="cx">
</span><span class="cx"> // Handle the common special case where there's exactly 1 child node, and it's a text node.
</span><span class="cx"> Node* child = firstChild();
</span><del>- if (child && is<Text>(child) && !child->nextSibling())
</del><ins>+ if (is<Text>(child) && !child->nextSibling())
</ins><span class="cx"> downcast<Text>(*child).setData(text, ec);
</span><span class="cx"> else {
</span><span class="cx"> removeChildren();
</span><span class="lines">@@ -160,7 +160,7 @@
</span><span class="cx"> const Vector<HTMLElement*>& items = selectElement->listItems();
</span><span class="cx"> size_t length = items.size();
</span><span class="cx"> for (size_t i = 0; i < length; ++i) {
</span><del>- if (!is<HTMLOptionElement>(items[i]))
</del><ins>+ if (!is<HTMLOptionElement>(*items[i]))
</ins><span class="cx"> continue;
</span><span class="cx"> if (items[i] == this)
</span><span class="cx"> return optionIndex;
</span><span class="lines">@@ -257,7 +257,7 @@
</span><span class="cx"> HTMLDataListElement* HTMLOptionElement::ownerDataListElement() const
</span><span class="cx"> {
</span><span class="cx"> for (ContainerNode* parent = parentNode(); parent ; parent = parent->parentNode()) {
</span><del>- if (is<HTMLDataListElement>(parent))
</del><ins>+ if (is<HTMLDataListElement>(*parent))
</ins><span class="cx"> return downcast<HTMLDataListElement>(parent);
</span><span class="cx"> }
</span><span class="cx"> return nullptr;
</span><span class="lines">@@ -267,7 +267,7 @@
</span><span class="cx"> HTMLSelectElement* HTMLOptionElement::ownerSelectElement() const
</span><span class="cx"> {
</span><span class="cx"> ContainerNode* select = parentNode();
</span><del>- while (select && !is<HTMLSelectElement>(select))
</del><ins>+ while (select && !is<HTMLSelectElement>(*select))
</ins><span class="cx"> select = select->parentNode();
</span><span class="cx">
</span><span class="cx"> if (!select)
</span><span class="lines">@@ -302,7 +302,7 @@
</span><span class="cx"> String HTMLOptionElement::textIndentedToRespectGroupLabel() const
</span><span class="cx"> {
</span><span class="cx"> ContainerNode* parent = parentNode();
</span><del>- if (parent && is<HTMLOptGroupElement>(parent))
</del><ins>+ if (is<HTMLOptGroupElement>(parent))
</ins><span class="cx"> return " " + text();
</span><span class="cx"> return text();
</span><span class="cx"> }
</span><span class="lines">@@ -312,7 +312,7 @@
</span><span class="cx"> if (ownElementDisabled())
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- if (!parentNode() || !is<HTMLOptGroupElement>(parentNode()))
</del><ins>+ if (!is<HTMLOptGroupElement>(parentNode()))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> return downcast<HTMLOptGroupElement>(*parentNode()).isDisabledFormControl();
</span><span class="lines">@@ -338,10 +338,10 @@
</span><span class="cx"> {
</span><span class="cx"> StringBuilder text;
</span><span class="cx"> for (Node* node = firstChild(); node; ) {
</span><del>- if (is<Text>(node))
</del><ins>+ if (is<Text>(*node))
</ins><span class="cx"> text.append(node->nodeValue());
</span><span class="cx"> // Text nodes inside script elements are not part of the option text.
</span><del>- if (is<Element>(node) && toScriptElementIfPossible(downcast<Element>(node)))
</del><ins>+ if (is<Element>(*node) && toScriptElementIfPossible(downcast<Element>(node)))
</ins><span class="cx"> node = NodeTraversal::nextSkippingChildren(node, this);
</span><span class="cx"> else
</span><span class="cx"> node = NodeTraversal::next(node, this);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLPlugInImageElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -414,7 +414,7 @@
</span><span class="cx"> {
</span><span class="cx"> for (unsigned i = 0, length = collection->length(); i < length; i++) {
</span><span class="cx"> Node* node = collection->item(i);
</span><del>- if (is<HTMLPlugInImageElement>(node)) {
</del><ins>+ if (is<HTMLPlugInImageElement>(*node)) {
</ins><span class="cx"> HTMLPlugInImageElement& plugInImageElement = downcast<HTMLPlugInImageElement>(*node);
</span><span class="cx"> const URL& loadedURL = plugInImageElement.loadedUrl();
</span><span class="cx"> String otherMimeType = plugInImageElement.loadedMimeType();
</span><span class="lines">@@ -747,7 +747,7 @@
</span><span class="cx"> {
</span><span class="cx"> RenderElement* r = renderer();
</span><span class="cx"> if (r && r->isEmbeddedObject()) {
</span><del>- if (displayState() == WaitingForSnapshot && is<MouseEvent>(event) && event->type() == eventNames().clickEvent) {
</del><ins>+ if (displayState() == WaitingForSnapshot && is<MouseEvent>(*event) && event->type() == eventNames().clickEvent) {
</ins><span class="cx"> MouseEvent& mouseEvent = downcast<MouseEvent>(*event);
</span><span class="cx"> if (mouseEvent.button() == LeftButton) {
</span><span class="cx"> userDidClickSnapshot(&mouseEvent, true);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLScriptElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLScriptElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLScriptElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLScriptElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx"> {
</span><span class="cx"> Ref<HTMLScriptElement> protectFromMutationEvents(*this);
</span><span class="cx">
</span><del>- if (hasOneChild() && is<Text>(firstChild())) {
</del><ins>+ if (hasOneChild() && is<Text>(*firstChild())) {
</ins><span class="cx"> downcast<Text>(*firstChild()).setData(value, IGNORE_EXCEPTION);
</span><span class="cx"> return;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLSelectElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLSelectElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLSelectElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLSelectElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -521,7 +521,7 @@
</span><span class="cx"> int size = listItems.size();
</span><span class="cx"> for (listIndex += direction; listIndex >= 0 && listIndex < size; listIndex += direction) {
</span><span class="cx"> --skip;
</span><del>- if (!listItems[listIndex]->isDisabledFormControl() && is<HTMLOptionElement>(listItems[listIndex])) {
</del><ins>+ if (!listItems[listIndex]->isDisabledFormControl() && is<HTMLOptionElement>(*listItems[listIndex])) {
</ins><span class="cx"> lastGoodIndex = listIndex;
</span><span class="cx"> if (skip <= 0)
</span><span class="cx"> break;
</span><span class="lines">@@ -605,7 +605,7 @@
</span><span class="cx"> const Vector<HTMLElement*>& items = listItems();
</span><span class="cx"> for (unsigned i = 0; i < items.size(); ++i) {
</span><span class="cx"> HTMLElement* element = items[i];
</span><del>- m_lastOnChangeSelection.append(is<HTMLOptionElement>(element) && downcast<HTMLOptionElement>(element)->selected());
</del><ins>+ m_lastOnChangeSelection.append(is<HTMLOptionElement>(*element) && downcast<HTMLOptionElement>(*element).selected());
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -620,7 +620,7 @@
</span><span class="cx"> const Vector<HTMLElement*>& items = listItems();
</span><span class="cx"> for (unsigned i = 0; i < items.size(); ++i) {
</span><span class="cx"> HTMLElement* element = items[i];
</span><del>- m_cachedStateForActiveSelection.append(is<HTMLOptionElement>(element) && downcast<HTMLOptionElement>(element)->selected());
</del><ins>+ m_cachedStateForActiveSelection.append(is<HTMLOptionElement>(*element) && downcast<HTMLOptionElement>(*element).selected());
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -644,7 +644,7 @@
</span><span class="cx"> const Vector<HTMLElement*>& items = listItems();
</span><span class="cx"> for (unsigned i = 0; i < items.size(); ++i) {
</span><span class="cx"> HTMLElement* element = items[i];
</span><del>- if (!is<HTMLOptionElement>(element) || downcast<HTMLOptionElement>(*element).isDisabledFormControl())
</del><ins>+ if (!is<HTMLOptionElement>(*element) || downcast<HTMLOptionElement>(*element).isDisabledFormControl())
</ins><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> if (i >= start && i <= end)
</span><span class="lines">@@ -676,7 +676,7 @@
</span><span class="cx"> bool fireOnChange = false;
</span><span class="cx"> for (unsigned i = 0; i < items.size(); ++i) {
</span><span class="cx"> HTMLElement* element = items[i];
</span><del>- bool selected = is<HTMLOptionElement>(element) && downcast<HTMLOptionElement>(*element).selected();
</del><ins>+ bool selected = is<HTMLOptionElement>(*element) && downcast<HTMLOptionElement>(*element).selected();
</ins><span class="cx"> if (selected != m_lastOnChangeSelection[i])
</span><span class="cx"> fireOnChange = true;
</span><span class="cx"> m_lastOnChangeSelection[i] = selected;
</span><span class="lines">@@ -781,28 +781,28 @@
</span><span class="cx"> HTMLOptionElement* foundSelected = 0;
</span><span class="cx"> HTMLOptionElement* firstOption = 0;
</span><span class="cx"> for (Element* currentElement = ElementTraversal::firstWithin(this); currentElement; ) {
</span><del>- if (!currentElement->isHTMLElement()) {
</del><ins>+ if (!is<HTMLElement>(*currentElement)) {
</ins><span class="cx"> currentElement = ElementTraversal::nextSkippingChildren(currentElement, this);
</span><span class="cx"> continue;
</span><span class="cx"> }
</span><del>- HTMLElement* current = downcast<HTMLElement>(currentElement);
</del><ins>+ HTMLElement& current = downcast<HTMLElement>(*currentElement);
</ins><span class="cx">
</span><span class="cx"> // optgroup tags may not nest. However, both FireFox and IE will
</span><span class="cx"> // flatten the tree automatically, so we follow suit.
</span><span class="cx"> // (http://www.w3.org/TR/html401/interact/forms.html#h-17.6)
</span><span class="cx"> if (is<HTMLOptGroupElement>(current)) {
</span><del>- m_listItems.append(current);
- if (Element* nextElement = ElementTraversal::firstWithin(current)) {
</del><ins>+ m_listItems.append(&current);
+ if (Element* nextElement = ElementTraversal::firstWithin(&current)) {
</ins><span class="cx"> currentElement = nextElement;
</span><span class="cx"> continue;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (is<HTMLOptionElement>(current)) {
</span><del>- m_listItems.append(current);
</del><ins>+ m_listItems.append(&current);
</ins><span class="cx">
</span><span class="cx"> if (updateSelectedStates && !m_multiple) {
</span><del>- HTMLOptionElement& option = downcast<HTMLOptionElement>(*current);
</del><ins>+ HTMLOptionElement& option = downcast<HTMLOptionElement>(current);
</ins><span class="cx"> if (!firstOption)
</span><span class="cx"> firstOption = &option;
</span><span class="cx"> if (option.selected()) {
</span><span class="lines">@@ -816,8 +816,8 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (current->hasTagName(hrTag))
- m_listItems.append(current);
</del><ins>+ if (current.hasTagName(hrTag))
+ m_listItems.append(&current);
</ins><span class="cx">
</span><span class="cx"> // In conforming HTML code, only <optgroup> and <option> will be found
</span><span class="cx"> // within a <select>. We call NodeTraversal::nextSkippingChildren so that we only step
</span><span class="lines">@@ -840,7 +840,7 @@
</span><span class="cx"> const Vector<HTMLElement*>& items = listItems();
</span><span class="cx"> for (size_t i = 0; i < items.size(); ++i) {
</span><span class="cx"> HTMLElement* element = items[i];
</span><del>- if (is<HTMLOptionElement>(element)) {
</del><ins>+ if (is<HTMLOptionElement>(*element)) {
</ins><span class="cx"> if (downcast<HTMLOptionElement>(*element).selected())
</span><span class="cx"> return index;
</span><span class="cx"> ++index;
</span><span class="lines">@@ -876,7 +876,7 @@
</span><span class="cx"> HTMLElement* element = nullptr;
</span><span class="cx"> if (listIndex >= 0) {
</span><span class="cx"> element = items[listIndex];
</span><del>- if (is<HTMLOptionElement>(element)) {
</del><ins>+ if (is<HTMLOptionElement>(*element)) {
</ins><span class="cx"> if (m_activeSelectionAnchorIndex < 0 || shouldDeselect)
</span><span class="cx"> setActiveSelectionAnchorIndex(listIndex);
</span><span class="cx"> if (m_activeSelectionEndIndex < 0 || shouldDeselect)
</span><span class="lines">@@ -918,7 +918,7 @@
</span><span class="cx">
</span><span class="cx"> int optionIndex2 = -1;
</span><span class="cx"> for (int listIndex = 0; listIndex < listSize; ++listIndex) {
</span><del>- if (is<HTMLOptionElement>(items[listIndex])) {
</del><ins>+ if (is<HTMLOptionElement>(*items[listIndex])) {
</ins><span class="cx"> ++optionIndex2;
</span><span class="cx"> if (optionIndex2 == optionIndex)
</span><span class="cx"> return listIndex;
</span><span class="lines">@@ -931,13 +931,13 @@
</span><span class="cx"> int HTMLSelectElement::listToOptionIndex(int listIndex) const
</span><span class="cx"> {
</span><span class="cx"> const Vector<HTMLElement*>& items = listItems();
</span><del>- if (listIndex < 0 || listIndex >= static_cast<int>(items.size()) || !is<HTMLOptionElement>(items[listIndex]))
</del><ins>+ if (listIndex < 0 || listIndex >= static_cast<int>(items.size()) || !is<HTMLOptionElement>(*items[listIndex]))
</ins><span class="cx"> return -1;
</span><span class="cx">
</span><span class="cx"> // Actual index of option not counting OPTGROUP entries that may be in list.
</span><span class="cx"> int optionIndex = 0;
</span><span class="cx"> for (int i = 0; i < listIndex; ++i) {
</span><del>- if (is<HTMLOptionElement>(items[i]))
</del><ins>+ if (is<HTMLOptionElement>(*items[i]))
</ins><span class="cx"> ++optionIndex;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -968,7 +968,7 @@
</span><span class="cx"> const Vector<HTMLElement*>& items = listItems();
</span><span class="cx"> for (unsigned i = 0; i < items.size(); ++i) {
</span><span class="cx"> HTMLElement* element = items[i];
</span><del>- if (element != excludeElement && is<HTMLOptionElement>(element))
</del><ins>+ if (element != excludeElement && is<HTMLOptionElement>(*element))
</ins><span class="cx"> downcast<HTMLOptionElement>(*element).setSelectedState(false);
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -979,7 +979,7 @@
</span><span class="cx"> size_t length = items.size();
</span><span class="cx"> FormControlState state;
</span><span class="cx"> for (unsigned i = 0; i < length; ++i) {
</span><del>- if (!is<HTMLOptionElement>(items[i]))
</del><ins>+ if (!is<HTMLOptionElement>(*items[i]))
</ins><span class="cx"> continue;
</span><span class="cx"> HTMLOptionElement& option = downcast<HTMLOptionElement>(*items[i]);
</span><span class="cx"> if (!option.selected())
</span><span class="lines">@@ -996,7 +996,7 @@
</span><span class="cx"> const Vector<HTMLElement*>& items = listItems();
</span><span class="cx"> size_t loopEndIndex = std::min(items.size(), listIndexEnd);
</span><span class="cx"> for (size_t i = listIndexStart; i < loopEndIndex; ++i) {
</span><del>- if (!is<HTMLOptionElement>(items[i]))
</del><ins>+ if (!is<HTMLOptionElement>(*items[i]))
</ins><span class="cx"> continue;
</span><span class="cx"> if (downcast<HTMLOptionElement>(*items[i]).value() == value)
</span><span class="cx"> return i;
</span><span class="lines">@@ -1014,7 +1014,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> for (size_t i = 0; i < itemsSize; ++i) {
</span><del>- if (!is<HTMLOptionElement>(items[i]))
</del><ins>+ if (!is<HTMLOptionElement>(*items[i]))
</ins><span class="cx"> continue;
</span><span class="cx"> downcast<HTMLOptionElement>(*items[i]).setSelectedState(false);
</span><span class="cx"> }
</span><span class="lines">@@ -1061,7 +1061,7 @@
</span><span class="cx">
</span><span class="cx"> for (unsigned i = 0; i < items.size(); ++i) {
</span><span class="cx"> HTMLElement* element = items[i];
</span><del>- if (is<HTMLOptionElement>(element) && downcast<HTMLOptionElement>(*element).selected() && !downcast<HTMLOptionElement>(*element).isDisabledFormControl()) {
</del><ins>+ if (is<HTMLOptionElement>(*element) && downcast<HTMLOptionElement>(*element).selected() && !downcast<HTMLOptionElement>(*element).isDisabledFormControl()) {
</ins><span class="cx"> list.appendData(name, downcast<HTMLOptionElement>(*element).value());
</span><span class="cx"> successful = true;
</span><span class="cx"> }
</span><span class="lines">@@ -1081,7 +1081,7 @@
</span><span class="cx"> const Vector<HTMLElement*>& items = listItems();
</span><span class="cx"> for (unsigned i = 0; i < items.size(); ++i) {
</span><span class="cx"> HTMLElement* element = items[i];
</span><del>- if (!is<HTMLOptionElement>(element))
</del><ins>+ if (!is<HTMLOptionElement>(*element))
</ins><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> HTMLOptionElement& option = downcast<HTMLOptionElement>(*element);
</span><span class="lines">@@ -1146,7 +1146,7 @@
</span><span class="cx"> RefPtr<RenderTheme> renderTheme = page ? &page->theme() : RenderTheme::defaultTheme();
</span><span class="cx">
</span><span class="cx"> if (event->type() == eventNames().keydownEvent) {
</span><del>- if (!is<KeyboardEvent>(event))
</del><ins>+ if (!is<KeyboardEvent>(*event))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> KeyboardEvent& keyboardEvent = downcast<KeyboardEvent>(*event);
</span><span class="lines">@@ -1199,7 +1199,7 @@
</span><span class="cx"> // Use key press event here since sending simulated mouse events
</span><span class="cx"> // on key down blocks the proper sending of the key press event.
</span><span class="cx"> if (event->type() == eventNames().keypressEvent) {
</span><del>- if (!is<KeyboardEvent>(event))
</del><ins>+ if (!is<KeyboardEvent>(*event))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> KeyboardEvent& keyboardEvent = downcast<KeyboardEvent>(*event);
</span><span class="lines">@@ -1258,7 +1258,7 @@
</span><span class="cx"> keyboardEvent.setDefaultHandled();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (event->type() == eventNames().mousedownEvent && is<MouseEvent>(event) && downcast<MouseEvent>(*event).button() == LeftButton) {
</del><ins>+ if (event->type() == eventNames().mousedownEvent && is<MouseEvent>(*event) && downcast<MouseEvent>(*event).button() == LeftButton) {
</ins><span class="cx"> focus();
</span><span class="cx"> #if !PLATFORM(IOS)
</span><span class="cx"> if (renderer() && renderer()->isMenuList()) {
</span><span class="lines">@@ -1299,7 +1299,7 @@
</span><span class="cx"> bool multiSelect = m_multiple && multi && !shift;
</span><span class="cx">
</span><span class="cx"> HTMLElement* clickedElement = listItems()[listIndex];
</span><del>- if (is<HTMLOptionElement>(clickedElement)) {
</del><ins>+ if (is<HTMLOptionElement>(*clickedElement)) {
</ins><span class="cx"> // Keep track of whether an active selection (like during drag
</span><span class="cx"> // selection), should select or deselect.
</span><span class="cx"> if (downcast<HTMLOptionElement>(*clickedElement).selected() && multiSelect)
</span><span class="lines">@@ -1320,7 +1320,7 @@
</span><span class="cx"> setActiveSelectionAnchorIndex(selectedIndex());
</span><span class="cx">
</span><span class="cx"> // Set the selection state of the clicked option.
</span><del>- if (is<HTMLOptionElement>(clickedElement) && !downcast<HTMLOptionElement>(*clickedElement).isDisabledFormControl())
</del><ins>+ if (is<HTMLOptionElement>(*clickedElement) && !downcast<HTMLOptionElement>(*clickedElement).isDisabledFormControl())
</ins><span class="cx"> downcast<HTMLOptionElement>(*clickedElement).setSelectedState(true);
</span><span class="cx">
</span><span class="cx"> // If there was no selectedIndex() for the previous initialization, or If
</span><span class="lines">@@ -1338,7 +1338,7 @@
</span><span class="cx"> {
</span><span class="cx"> const Vector<HTMLElement*>& listItems = this->listItems();
</span><span class="cx">
</span><del>- if (event->type() == eventNames().mousedownEvent && is<MouseEvent>(event) && downcast<MouseEvent>(*event).button() == LeftButton) {
</del><ins>+ if (event->type() == eventNames().mousedownEvent && is<MouseEvent>(*event) && downcast<MouseEvent>(*event).button() == LeftButton) {
</ins><span class="cx"> focus();
</span><span class="cx"> // Calling focus() may remove or change our renderer, in which case we don't want to handle the event further.
</span><span class="cx"> if (!renderer() || !renderer()->isListBox())
</span><span class="lines">@@ -1361,7 +1361,7 @@
</span><span class="cx">
</span><span class="cx"> mouseEvent.setDefaultHandled();
</span><span class="cx"> }
</span><del>- } else if (event->type() == eventNames().mousemoveEvent && is<MouseEvent>(event) && !toRenderBox(renderer())->canBeScrolledAndHasScrollableArea()) {
</del><ins>+ } else if (event->type() == eventNames().mousemoveEvent && is<MouseEvent>(*event) && !toRenderBox(renderer())->canBeScrolledAndHasScrollableArea()) {
</ins><span class="cx"> MouseEvent& mouseEvent = downcast<MouseEvent>(*event);
</span><span class="cx"> if (mouseEvent.button() != LeftButton || !mouseEvent.buttonDown())
</span><span class="cx"> return;
</span><span class="lines">@@ -1385,7 +1385,7 @@
</span><span class="cx"> }
</span><span class="cx"> mouseEvent.setDefaultHandled();
</span><span class="cx"> }
</span><del>- } else if (event->type() == eventNames().mouseupEvent && is<MouseEvent>(event) && downcast<MouseEvent>(*event).button() == LeftButton && document().frame()->eventHandler().autoscrollRenderer() != renderer()) {
</del><ins>+ } else if (event->type() == eventNames().mouseupEvent && is<MouseEvent>(*event) && downcast<MouseEvent>(*event).button() == LeftButton && document().frame()->eventHandler().autoscrollRenderer() != renderer()) {
</ins><span class="cx"> // This click or drag event was not over any of the options.
</span><span class="cx"> if (m_lastOnChangeSelection.isEmpty())
</span><span class="cx"> return;
</span><span class="lines">@@ -1394,7 +1394,7 @@
</span><span class="cx"> // timer stops.
</span><span class="cx"> listBoxOnChange();
</span><span class="cx"> } else if (event->type() == eventNames().keydownEvent) {
</span><del>- if (!is<KeyboardEvent>(event))
</del><ins>+ if (!is<KeyboardEvent>(*event))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> KeyboardEvent& keyboardEvent = downcast<KeyboardEvent>(*event);
</span><span class="lines">@@ -1485,7 +1485,7 @@
</span><span class="cx"> keyboardEvent.setDefaultHandled();
</span><span class="cx"> }
</span><span class="cx"> } else if (event->type() == eventNames().keypressEvent) {
</span><del>- if (!is<KeyboardEvent>(event))
</del><ins>+ if (!is<KeyboardEvent>(*event))
</ins><span class="cx"> return;
</span><span class="cx"> KeyboardEvent& keyboardEvent = downcast<KeyboardEvent>(*event);
</span><span class="cx"> int keyCode = keyboardEvent.keyCode();
</span><span class="lines">@@ -1528,7 +1528,7 @@
</span><span class="cx"> if (event->defaultHandled())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if (event->type() == eventNames().keypressEvent && is<KeyboardEvent>(event)) {
</del><ins>+ if (event->type() == eventNames().keypressEvent && is<KeyboardEvent>(*event)) {
</ins><span class="cx"> KeyboardEvent& keyboardEvent = downcast<KeyboardEvent>(*event);
</span><span class="cx"> if (!keyboardEvent.ctrlKey() && !keyboardEvent.altKey() && !keyboardEvent.metaKey() && u_isprint(keyboardEvent.charCode())) {
</span><span class="cx"> typeAheadFind(keyboardEvent);
</span><span class="lines">@@ -1544,7 +1544,7 @@
</span><span class="cx"> const Vector<HTMLElement*>& items = listItems();
</span><span class="cx"> for (size_t i = items.size(); i;) {
</span><span class="cx"> HTMLElement* element = items[--i];
</span><del>- if (is<HTMLOptionElement>(element) && downcast<HTMLOptionElement>(*element).selected())
</del><ins>+ if (is<HTMLOptionElement>(*element) && downcast<HTMLOptionElement>(*element).selected())
</ins><span class="cx"> return i;
</span><span class="cx"> }
</span><span class="cx"> return -1;
</span><span class="lines">@@ -1565,7 +1565,7 @@
</span><span class="cx"> const Vector<HTMLElement*>& items = listItems();
</span><span class="cx">
</span><span class="cx"> HTMLElement* element = items[index];
</span><del>- if (!is<HTMLOptionElement>(element) || downcast<HTMLOptionElement>(*element).isDisabledFormControl())
</del><ins>+ if (!is<HTMLOptionElement>(*element) || downcast<HTMLOptionElement>(*element).isDisabledFormControl())
</ins><span class="cx"> return String();
</span><span class="cx"> return downcast<HTMLOptionElement>(*element).textIndentedToRespectGroupLabel();
</span><span class="cx"> }
</span><span class="lines">@@ -1601,7 +1601,7 @@
</span><span class="cx"> int listIndex = optionToListIndex(index);
</span><span class="cx"> if (listIndex >= 0) {
</span><span class="cx"> HTMLElement* element = items[listIndex];
</span><del>- if (is<HTMLOptionElement>(element)) {
</del><ins>+ if (is<HTMLOptionElement>(*element)) {
</ins><span class="cx"> if (downcast<HTMLOptionElement>(*element).selected())
</span><span class="cx"> downcast<HTMLOptionElement>(*element).setSelectedState(false);
</span><span class="cx"> else
</span><span class="lines">@@ -1623,7 +1623,7 @@
</span><span class="cx">
</span><span class="cx"> const Vector<HTMLElement*>& items = listItems();
</span><span class="cx"> for (unsigned i = 0; i < items.size(); ++i) {
</span><del>- if (is<HTMLOptionElement>(items[i]))
</del><ins>+ if (is<HTMLOptionElement>(*items[i]))
</ins><span class="cx"> ++options;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLSourceElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLSourceElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLSourceElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLSourceElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx"> {
</span><span class="cx"> HTMLElement::insertedInto(insertionPoint);
</span><span class="cx"> Element* parent = parentElement();
</span><del>- if (parent && is<HTMLMediaElement>(parent))
</del><ins>+ if (is<HTMLMediaElement>(parent))
</ins><span class="cx"> downcast<HTMLMediaElement>(*parent).sourceWasAdded(this);
</span><span class="cx"> return InsertionDone;
</span><span class="cx"> }
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx"> Element* parent = parentElement();
</span><span class="cx"> if (!parent && is<Element>(removalRoot))
</span><span class="cx"> parent = &downcast<Element>(removalRoot);
</span><del>- if (parent && is<HTMLMediaElement>(parent))
</del><ins>+ if (is<HTMLMediaElement>(parent))
</ins><span class="cx"> downcast<HTMLMediaElement>(*parent).sourceWasRemoved(this);
</span><span class="cx"> HTMLElement::removedFrom(removalRoot);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLSummaryElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLSummaryElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLSummaryElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLSummaryElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -102,7 +102,8 @@
</span><span class="cx">
</span><span class="cx"> static bool isClickableControl(Node* node)
</span><span class="cx"> {
</span><del>- if (!is<Element>(node))
</del><ins>+ ASSERT(node);
+ if (!is<Element>(*node))
</ins><span class="cx"> return false;
</span><span class="cx"> Element& element = downcast<Element>(*node);
</span><span class="cx"> if (is<HTMLFormControlElement>(element))
</span><span class="lines">@@ -126,7 +127,7 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (is<KeyboardEvent>(event)) {
</del><ins>+ if (is<KeyboardEvent>(*event)) {
</ins><span class="cx"> KeyboardEvent& keyboardEvent = downcast<KeyboardEvent>(*event);
</span><span class="cx"> if (keyboardEvent.type() == eventNames().keydownEvent && keyboardEvent.keyIdentifier() == "U+0020") {
</span><span class="cx"> setActive(true, true);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTableElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLTableElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -70,7 +70,7 @@
</span><span class="cx"> HTMLTableCaptionElement* HTMLTableElement::caption() const
</span><span class="cx"> {
</span><span class="cx"> for (Node* child = firstChild(); child; child = child->nextSibling()) {
</span><del>- if (is<HTMLTableCaptionElement>(child))
</del><ins>+ if (is<HTMLTableCaptionElement>(*child))
</ins><span class="cx"> return downcast<HTMLTableCaptionElement>(child);
</span><span class="cx"> }
</span><span class="cx"> return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTablePartElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTablePartElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTablePartElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLTablePartElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx"> HTMLTableElement* HTMLTablePartElement::findParentTable() const
</span><span class="cx"> {
</span><span class="cx"> ContainerNode* parent = parentNode();
</span><del>- while (parent && !is<HTMLTableElement>(parent))
</del><ins>+ while (parent && !is<HTMLTableElement>(*parent))
</ins><span class="cx"> parent = parent->parentNode();
</span><span class="cx"> return downcast<HTMLTableElement>(parent);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableRowElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTableRowElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableRowElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLTableRowElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx"> if (!table)
</span><span class="cx"> return -1;
</span><span class="cx"> table = table->parentNode();
</span><del>- if (!table || !is<HTMLTableElement>(table))
</del><ins>+ if (!is<HTMLTableElement>(table))
</ins><span class="cx"> return -1;
</span><span class="cx">
</span><span class="cx"> // To match Firefox, the row indices work like this:
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableRowsCollectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTableRowsCollection.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableRowsCollection.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLTableRowsCollection.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx"> else if (isInSection(*previous, tbodyTag))
</span><span class="cx"> child = ElementTraversal::nextSibling(previous->parentNode());
</span><span class="cx"> for (; child; child = ElementTraversal::nextSibling(child)) {
</span><del>- if (is<HTMLTableRowElement>(child))
</del><ins>+ if (is<HTMLTableRowElement>(*child))
</ins><span class="cx"> return downcast<HTMLTableRowElement>(child);
</span><span class="cx"> if (child->hasTagName(tbodyTag)) {
</span><span class="cx"> if (auto row = childrenOfType<HTMLTableRowElement>(*child).first())
</span><span class="lines">@@ -130,7 +130,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> for (auto* child = ElementTraversal::lastChild(table); child; child = ElementTraversal::previousSibling(child)) {
</span><del>- if (is<HTMLTableRowElement>(child))
</del><ins>+ if (is<HTMLTableRowElement>(*child))
</ins><span class="cx"> return downcast<HTMLTableRowElement>(child);
</span><span class="cx"> if (child->hasTagName(tbodyTag)) {
</span><span class="cx"> if (auto* row = childrenOfType<HTMLTableRowElement>(*child).last())
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTextAreaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTextAreaElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTextAreaElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLTextAreaElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -270,7 +270,7 @@
</span><span class="cx"> {
</span><span class="cx"> if (renderer() && (event->isMouseEvent() || event->isDragEvent() || event->eventInterface() == WheelEventInterfaceType || event->type() == eventNames().blurEvent))
</span><span class="cx"> forwardEvent(event);
</span><del>- else if (renderer() && is<BeforeTextInsertedEvent>(event))
</del><ins>+ else if (renderer() && is<BeforeTextInsertedEvent>(*event))
</ins><span class="cx"> handleBeforeTextInsertedEvent(downcast<BeforeTextInsertedEvent>(event));
</span><span class="cx">
</span><span class="cx"> HTMLTextFormControlElement::defaultEventHandler(event);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTextFormControlElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -561,9 +561,9 @@
</span><span class="cx">
</span><span class="cx"> StringBuilder result;
</span><span class="cx"> for (Node* node = innerText; node; node = NodeTraversal::next(node, innerText)) {
</span><del>- if (is<HTMLBRElement>(node))
</del><ins>+ if (is<HTMLBRElement>(*node))
</ins><span class="cx"> result.append(newlineCharacter);
</span><del>- else if (is<Text>(node))
</del><ins>+ else if (is<Text>(*node))
</ins><span class="cx"> result.append(downcast<Text>(*node).data());
</span><span class="cx"> }
</span><span class="cx"> return finishText(result);
</span><span class="lines">@@ -579,7 +579,7 @@
</span><span class="cx"> return positionBeforeNode(node);
</span><span class="cx"> remainingCharactersToMoveForward--;
</span><span class="cx"> lastBrOrText = node;
</span><del>- } else if (is<Text>(node)) {
</del><ins>+ } else if (is<Text>(*node)) {
</ins><span class="cx"> Text& text = downcast<Text>(*node);
</span><span class="cx"> if (remainingCharactersToMoveForward < text.length())
</span><span class="cx"> return Position(&text, remainingCharactersToMoveForward);
</span><span class="lines">@@ -607,13 +607,13 @@
</span><span class="cx"> ASSERT(innerText->contains(startNode));
</span><span class="cx">
</span><span class="cx"> for (Node* node = startNode; node; node = NodeTraversal::previous(node, innerText)) {
</span><del>- if (is<Text>(node)) {
</del><ins>+ if (is<Text>(*node)) {
</ins><span class="cx"> unsigned length = downcast<Text>(*node).length();
</span><span class="cx"> if (node == passedPosition.containerNode())
</span><span class="cx"> index += std::min<unsigned>(length, passedPosition.offsetInContainerNode());
</span><span class="cx"> else
</span><span class="cx"> index += length;
</span><del>- } else if (is<HTMLBRElement>(node))
</del><ins>+ } else if (is<HTMLBRElement>(*node))
</ins><span class="cx"> ++index;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -685,9 +685,9 @@
</span><span class="cx">
</span><span class="cx"> StringBuilder result;
</span><span class="cx"> for (Node* node = innerText->firstChild(); node; node = NodeTraversal::next(node, innerText)) {
</span><del>- if (is<HTMLBRElement>(node))
</del><ins>+ if (is<HTMLBRElement>(*node))
</ins><span class="cx"> result.append(newlineCharacter);
</span><del>- else if (is<Text>(node)) {
</del><ins>+ else if (is<Text>(*node)) {
</ins><span class="cx"> String data = downcast<Text>(*node).data();
</span><span class="cx"> unsigned length = data.length();
</span><span class="cx"> unsigned position = 0;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTitleElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTitleElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTitleElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLTitleElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx"> {
</span><span class="cx"> Ref<HTMLTitleElement> protectFromMutationEvents(*this);
</span><span class="cx">
</span><del>- if (hasOneChild() && is<Text>(firstChild()))
</del><ins>+ if (hasOneChild() && is<Text>(*firstChild()))
</ins><span class="cx"> downcast<Text>(*firstChild()).setData(value, IGNORE_EXCEPTION);
</span><span class="cx"> else {
</span><span class="cx"> // We make a copy here because entity of "value" argument can be Document::m_title,
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTrackElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTrackElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTrackElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/HTMLTrackElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -343,7 +343,7 @@
</span><span class="cx"> HTMLMediaElement* HTMLTrackElement::mediaElement() const
</span><span class="cx"> {
</span><span class="cx"> Element* parent = parentElement();
</span><del>- if (parent && is<HTMLMediaElement>(parent))
</del><ins>+ if (is<HTMLMediaElement>(parent))
</ins><span class="cx"> return downcast<HTMLMediaElement>(parentNode());
</span><span class="cx">
</span><span class="cx"> return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlImageDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/ImageDocument.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/ImageDocument.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/ImageDocument.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -398,7 +398,7 @@
</span><span class="cx"> {
</span><span class="cx"> if (event->type() == eventNames().resizeEvent)
</span><span class="cx"> m_document.windowSizeChanged();
</span><del>- else if (event->type() == eventNames().clickEvent && is<MouseEvent>(event)) {
</del><ins>+ else if (event->type() == eventNames().clickEvent && is<MouseEvent>(*event)) {
</ins><span class="cx"> MouseEvent& mouseEvent = downcast<MouseEvent>(*event);
</span><span class="cx"> m_document.imageClicked(mouseEvent.x(), mouseEvent.y());
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/InputType.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/InputType.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/InputType.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -471,7 +471,7 @@
</span><span class="cx">
</span><span class="cx"> bool InputType::shouldSubmitImplicitly(Event* event)
</span><span class="cx"> {
</span><del>- return is<KeyboardEvent>(event) && event->type() == eventNames().keypressEvent && downcast<KeyboardEvent>(*event).charCode() == '\r';
</del><ins>+ return is<KeyboardEvent>(*event) && event->type() == eventNames().keypressEvent && downcast<KeyboardEvent>(*event).charCode() == '\r';
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> PassRefPtr<HTMLFormElement> InputType::formForSubmission() const
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlMediaDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/MediaDocument.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/MediaDocument.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/MediaDocument.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -173,7 +173,7 @@
</span><span class="cx">
</span><span class="cx"> static inline HTMLVideoElement* ancestorVideoElement(Node* node)
</span><span class="cx"> {
</span><del>- while (node && !is<HTMLVideoElement>(node))
</del><ins>+ while (node && !is<HTMLVideoElement>(*node))
</ins><span class="cx"> node = node->parentOrShadowHostNode();
</span><span class="cx">
</span><span class="cx"> return downcast<HTMLVideoElement>(node);
</span><span class="lines">@@ -201,10 +201,10 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (!is<ContainerNode>(targetNode))
</del><ins>+ if (!is<ContainerNode>(*targetNode))
</ins><span class="cx"> return;
</span><span class="cx"> ContainerNode& targetContainer = downcast<ContainerNode>(*targetNode);
</span><del>- if (event->type() == eventNames().keydownEvent && is<KeyboardEvent>(event)) {
</del><ins>+ if (event->type() == eventNames().keydownEvent && is<KeyboardEvent>(*event)) {
</ins><span class="cx"> HTMLVideoElement* video = descendentVideoElement(targetContainer);
</span><span class="cx"> if (!video)
</span><span class="cx"> return;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlRadioInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/RadioInputType.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/RadioInputType.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/RadioInputType.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -81,10 +81,10 @@
</span><span class="cx"> Node* node = &element();
</span><span class="cx"> while ((node = (forward ? NodeTraversal::next(node) : NodeTraversal::previous(node)))) {
</span><span class="cx"> // Once we encounter a form element, we know we're through.
</span><del>- if (is<HTMLFormElement>(node))
</del><ins>+ if (is<HTMLFormElement>(*node))
</ins><span class="cx"> break;
</span><span class="cx"> // Look for more radio buttons.
</span><del>- if (!is<HTMLInputElement>(node))
</del><ins>+ if (!is<HTMLInputElement>(*node))
</ins><span class="cx"> continue;
</span><span class="cx"> RefPtr<HTMLInputElement> inputElement = downcast<HTMLInputElement>(node);
</span><span class="cx"> if (inputElement->form() != element().form())
</span><span class="lines">@@ -122,7 +122,7 @@
</span><span class="cx"> // Never allow keyboard tabbing to leave you in the same radio group. Always
</span><span class="cx"> // skip any other elements in the group.
</span><span class="cx"> Element* currentFocusedNode = element().document().focusedElement();
</span><del>- if (currentFocusedNode && is<HTMLInputElement>(currentFocusedNode)) {
</del><ins>+ if (is<HTMLInputElement>(currentFocusedNode)) {
</ins><span class="cx"> HTMLInputElement& focusedInput = downcast<HTMLInputElement>(*currentFocusedNode);
</span><span class="cx"> if (focusedInput.isRadioButton() && focusedInput.form() == element().form() && focusedInput.name() == element().name())
</span><span class="cx"> return false;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlTextFieldInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/TextFieldInputType.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/TextFieldInputType.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/TextFieldInputType.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -206,7 +206,7 @@
</span><span class="cx">
</span><span class="cx"> bool TextFieldInputType::shouldSubmitImplicitly(Event* event)
</span><span class="cx"> {
</span><del>- return (event->type() == eventNames().textInputEvent && is<TextEvent>(event) && downcast<TextEvent>(*event).data() == "\n")
</del><ins>+ return (event->type() == eventNames().textInputEvent && is<TextEvent>(*event) && downcast<TextEvent>(*event).data() == "\n")
</ins><span class="cx"> || InputType::shouldSubmitImplicitly(event);
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLConstructionSitecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -61,8 +61,8 @@
</span><span class="cx"> return item->hasTagName(ddTag)
</span><span class="cx"> || item->hasTagName(dtTag)
</span><span class="cx"> || item->hasTagName(liTag)
</span><del>- || is<HTMLOptionElement>(item->node())
- || is<HTMLOptGroupElement>(item->node())
</del><ins>+ || is<HTMLOptionElement>(*item->node())
+ || is<HTMLOptGroupElement>(*item->node())
</ins><span class="cx"> || item->hasTagName(pTag)
</span><span class="cx"> || item->hasTagName(rbTag)
</span><span class="cx"> || item->hasTagName(rpTag)
</span><span class="lines">@@ -158,7 +158,7 @@
</span><span class="cx">
</span><span class="cx"> void HTMLConstructionSite::attachLater(ContainerNode* parent, PassRefPtr<Node> prpChild, bool selfClosing)
</span><span class="cx"> {
</span><del>- ASSERT(scriptingContentIsAllowed(m_parserContentPolicy) || !is<Element>(prpChild.get()) || !toScriptElementIfPossible(downcast<Element>(prpChild.get())));
</del><ins>+ ASSERT(scriptingContentIsAllowed(m_parserContentPolicy) || !is<Element>(*prpChild) || !toScriptElementIfPossible(downcast<Element>(prpChild.get())));
</ins><span class="cx"> ASSERT(pluginContentIsAllowed(m_parserContentPolicy) || !prpChild->isPluginElement());
</span><span class="cx">
</span><span class="cx"> HTMLConstructionSiteTask task(HTMLConstructionSiteTask::Insert);
</span><span class="lines">@@ -458,7 +458,7 @@
</span><span class="cx"> void HTMLConstructionSite::insertHTMLFormElement(AtomicHTMLToken* token, bool isDemoted)
</span><span class="cx"> {
</span><span class="cx"> RefPtr<Element> element = createHTMLElement(token);
</span><del>- ASSERT(is<HTMLFormElement>(element.get()));
</del><ins>+ ASSERT(is<HTMLFormElement>(*element));
</ins><span class="cx"> RefPtr<HTMLFormElement> form = static_pointer_cast<HTMLFormElement>(element.release());
</span><span class="cx"> if (!insideTemplateElement())
</span><span class="cx"> m_form = form;
</span><span class="lines">@@ -547,7 +547,7 @@
</span><span class="cx"> // for performance, see <https://bugs.webkit.org/show_bug.cgi?id=55898>.
</span><span class="cx">
</span><span class="cx"> Node* previousChild = task.nextChild ? task.nextChild->previousSibling() : task.parent->lastChild();
</span><del>- if (previousChild && is<Text>(previousChild)) {
</del><ins>+ if (is<Text>(previousChild)) {
</ins><span class="cx"> // FIXME: We're only supposed to append to this text node if it
</span><span class="cx"> // was the last text node inserted by the parser.
</span><span class="cx"> Text& textNode = downcast<Text>(*previousChild);
</span><span class="lines">@@ -618,7 +618,7 @@
</span><span class="cx"> inline Document& HTMLConstructionSite::ownerDocumentForCurrentNode()
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><del>- if (is<HTMLTemplateElement>(currentNode()))
</del><ins>+ if (is<HTMLTemplateElement>(*currentNode()))
</ins><span class="cx"> return downcast<HTMLTemplateElement>(*currentElement()).content()->document();
</span><span class="cx"> #endif
</span><span class="cx"> return currentNode()->document();
</span><span class="lines">@@ -727,7 +727,7 @@
</span><span class="cx"> // and instead use the DocumentFragment as a root node. So we must treat the root node (DocumentFragment) as if it is a html element here.
</span><span class="cx"> bool parentCanBeFosterParent = parent && (parent->isElementNode() || (m_isParsingFragment && parent == m_openElements.rootNode()));
</span><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><del>- parentCanBeFosterParent = parentCanBeFosterParent || (parent && is<DocumentFragment>(parent) && downcast<DocumentFragment>(parent)->isTemplateContent());
</del><ins>+ parentCanBeFosterParent = parentCanBeFosterParent || (is<DocumentFragment>(parent) && downcast<DocumentFragment>(parent)->isTemplateContent());
</ins><span class="cx"> #endif
</span><span class="cx"> if (parentCanBeFosterParent) {
</span><span class="cx"> task.parent = parent;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLElementStackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLElementStack.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLElementStack.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/parser/HTMLElementStack.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx"> || item->hasTagName(captionTag)
</span><span class="cx"> || item->hasTagName(marqueeTag)
</span><span class="cx"> || item->hasTagName(objectTag)
</span><del>- || is<HTMLTableElement>(item->node())
</del><ins>+ || is<HTMLTableElement>(*item->node())
</ins><span class="cx"> || item->hasTagName(tdTag)
</span><span class="cx"> || item->hasTagName(thTag)
</span><span class="cx"> || item->hasTagName(MathMLNames::miTag)
</span><span class="lines">@@ -78,7 +78,7 @@
</span><span class="cx">
</span><span class="cx"> inline bool isTableScopeMarker(HTMLStackItem* item)
</span><span class="cx"> {
</span><del>- return is<HTMLTableElement>(item->node())
</del><ins>+ return is<HTMLTableElement>(*item->node())
</ins><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><span class="cx"> || item->hasTagName(templateTag)
</span><span class="cx"> #endif
</span><span class="lines">@@ -120,7 +120,7 @@
</span><span class="cx">
</span><span class="cx"> inline bool isSelectScopeMarker(HTMLStackItem* item)
</span><span class="cx"> {
</span><del>- return !is<HTMLOptGroupElement>(item->node()) && !is<HTMLOptionElement>(item->node());
</del><ins>+ return !is<HTMLOptGroupElement>(*item->node()) && !is<HTMLOptionElement>(*item->node());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLTreeBuildercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -298,7 +298,7 @@
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> resetInsertionModeAppropriately();
</span><del>- m_tree.setForm(!contextElement || is<HTMLFormElement>(contextElement) ? downcast<HTMLFormElement>(contextElement) : HTMLFormElement::findClosestFormAncestor(*contextElement));
</del><ins>+ m_tree.setForm(!contextElement || is<HTMLFormElement>(*contextElement) ? downcast<HTMLFormElement>(contextElement) : HTMLFormElement::findClosestFormAncestor(*contextElement));
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -869,7 +869,7 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (token->name() == optgroupTag || token->name() == optionTag) {
</span><del>- if (is<HTMLOptionElement>(m_tree.currentStackItem()->node())) {
</del><ins>+ if (is<HTMLOptionElement>(*m_tree.currentStackItem()->node())) {
</ins><span class="cx"> AtomicHTMLToken endOption(HTMLToken::EndTag, optionTag.localName());
</span><span class="cx"> processEndTag(&endOption);
</span><span class="cx"> }
</span><span class="lines">@@ -1360,7 +1360,7 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (token->name() == optionTag) {
</span><del>- if (is<HTMLOptionElement>(m_tree.currentStackItem()->node())) {
</del><ins>+ if (is<HTMLOptionElement>(*m_tree.currentStackItem()->node())) {
</ins><span class="cx"> AtomicHTMLToken endOption(HTMLToken::EndTag, optionTag.localName());
</span><span class="cx"> processEndTag(&endOption);
</span><span class="cx"> }
</span><span class="lines">@@ -1368,11 +1368,11 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (token->name() == optgroupTag) {
</span><del>- if (is<HTMLOptionElement>(m_tree.currentStackItem()->node())) {
</del><ins>+ if (is<HTMLOptionElement>(*m_tree.currentStackItem()->node())) {
</ins><span class="cx"> AtomicHTMLToken endOption(HTMLToken::EndTag, optionTag.localName());
</span><span class="cx"> processEndTag(&endOption);
</span><span class="cx"> }
</span><del>- if (is<HTMLOptGroupElement>(m_tree.currentStackItem()->node())) {
</del><ins>+ if (is<HTMLOptGroupElement>(*m_tree.currentStackItem()->node())) {
</ins><span class="cx"> AtomicHTMLToken endOptgroup(HTMLToken::EndTag, optgroupTag.localName());
</span><span class="cx"> processEndTag(&endOptgroup);
</span><span class="cx"> }
</span><span class="lines">@@ -1629,7 +1629,7 @@
</span><span class="cx"> while (item->node() != m_tree.openElements()->rootNode() && !item->hasTagName(templateTag)) {
</span><span class="cx"> nodeRecord = nodeRecord->next();
</span><span class="cx"> item = nodeRecord->stackItem();
</span><del>- if (is<HTMLTableElement>(item->node()))
</del><ins>+ if (is<HTMLTableElement>(*item->node()))
</ins><span class="cx"> return setInsertionMode(InsertionMode::InSelectInTable);
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -1647,7 +1647,7 @@
</span><span class="cx"> if (item->hasTagName(colgroupTag)) {
</span><span class="cx"> return setInsertionMode(InsertionMode::InColumnGroup);
</span><span class="cx"> }
</span><del>- if (is<HTMLTableElement>(item->node()))
</del><ins>+ if (is<HTMLTableElement>(*item->node()))
</ins><span class="cx"> return setInsertionMode(InsertionMode::InTable);
</span><span class="cx"> if (item->hasTagName(headTag)) {
</span><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><span class="lines">@@ -2234,9 +2234,9 @@
</span><span class="cx"> case InsertionMode::InSelect:
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::InSelect || insertionMode() == InsertionMode::InSelectInTable);
</span><span class="cx"> if (token->name() == optgroupTag) {
</span><del>- if (is<HTMLOptionElement>(m_tree.currentStackItem()->node()) && m_tree.oneBelowTop() && is<HTMLOptGroupElement>(m_tree.oneBelowTop()->node()))
</del><ins>+ if (is<HTMLOptionElement>(*m_tree.currentStackItem()->node()) && m_tree.oneBelowTop() && is<HTMLOptGroupElement>(*m_tree.oneBelowTop()->node()))
</ins><span class="cx"> processFakeEndTag(optionTag);
</span><del>- if (is<HTMLOptGroupElement>(m_tree.currentStackItem()->node())) {
</del><ins>+ if (is<HTMLOptGroupElement>(*m_tree.currentStackItem()->node())) {
</ins><span class="cx"> m_tree.openElements()->pop();
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -2244,7 +2244,7 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> if (token->name() == optionTag) {
</span><del>- if (is<HTMLOptionElement>(m_tree.currentStackItem()->node())) {
</del><ins>+ if (is<HTMLOptionElement>(*m_tree.currentStackItem()->node())) {
</ins><span class="cx"> m_tree.openElements()->pop();
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -2486,7 +2486,7 @@
</span><span class="cx"> ASSERT(insertionMode() == InsertionMode::InTable || insertionMode() == InsertionMode::InTableBody || insertionMode() == InsertionMode::InRow);
</span><span class="cx"> ASSERT(m_pendingTableCharacters.isEmpty());
</span><span class="cx"> if (m_tree.currentStackItem()->isElementNode()
</span><del>- && (is<HTMLTableElement>(m_tree.currentStackItem()->node())
</del><ins>+ && (is<HTMLTableElement>(*m_tree.currentStackItem()->node())
</ins><span class="cx"> || m_tree.currentStackItem()->hasTagName(HTMLNames::tbodyTag)
</span><span class="cx"> || m_tree.currentStackItem()->hasTagName(HTMLNames::tfootTag)
</span><span class="cx"> || m_tree.currentStackItem()->hasTagName(HTMLNames::theadTag)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowInsertionPointh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/InsertionPoint.h (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/InsertionPoint.h        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/shadow/InsertionPoint.h        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx">
</span><span class="cx"> inline bool isActiveInsertionPoint(const Node* node)
</span><span class="cx"> {
</span><del>- return node && is<InsertionPoint>(node) && downcast<InsertionPoint>(*node).isActive();
</del><ins>+ return is<InsertionPoint>(node) && downcast<InsertionPoint>(*node).isActive();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> inline Node* parentNodeForDistribution(const Node* node)
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx"> ASSERT(node);
</span><span class="cx">
</span><span class="cx"> if (Node* parent = node->parentNode()) {
</span><del>- if (is<InsertionPoint>(parent) && downcast<InsertionPoint>(*parent).shouldUseFallbackElements())
</del><ins>+ if (is<InsertionPoint>(*parent) && downcast<InsertionPoint>(*parent).shouldUseFallbackElements())
</ins><span class="cx"> return parent->parentNode();
</span><span class="cx"> return parent;
</span><span class="cx"> }
</span><span class="lines">@@ -96,7 +96,7 @@
</span><span class="cx"> inline Element* parentElementForDistribution(const Node* node)
</span><span class="cx"> {
</span><span class="cx"> if (Node* parent = parentNodeForDistribution(node)) {
</span><del>- if (is<Element>(parent))
</del><ins>+ if (is<Element>(*parent))
</ins><span class="cx"> return downcast<Element>(parent);
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowMediaControlElementTypescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/MediaControlElementTypes.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/MediaControlElementTypes.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/shadow/MediaControlElementTypes.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx"> Node* mediaNode = node->shadowHost();
</span><span class="cx"> if (!mediaNode)
</span><span class="cx"> mediaNode = node;
</span><del>- if (!is<HTMLMediaElement>(mediaNode))
</del><ins>+ if (!is<HTMLMediaElement>(*mediaNode))
</ins><span class="cx"> return nullptr;
</span><span class="cx"> return downcast<HTMLMediaElement>(mediaNode);
</span><span class="cx"> }
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx"> MediaControlElementType mediaControlElementType(Node* node)
</span><span class="cx"> {
</span><span class="cx"> ASSERT_WITH_SECURITY_IMPLICATION(node->isMediaControlElement());
</span><del>- if (is<HTMLInputElement>(node))
</del><ins>+ if (is<HTMLInputElement>(*node))
</ins><span class="cx"> return static_cast<MediaControlInputElement*>(node)->displayType();
</span><span class="cx"> return static_cast<MediaControlDivElement*>(node)->displayType();
</span><span class="cx"> }
</span><span class="lines">@@ -196,7 +196,7 @@
</span><span class="cx"> void MediaControlVolumeSliderElement::defaultEventHandler(Event* event)
</span><span class="cx"> {
</span><span class="cx"> // Left button is 0. Rejects mouse events not from left button.
</span><del>- if (is<MouseEvent>(event) && downcast<MouseEvent>(*event).button())
</del><ins>+ if (is<MouseEvent>(*event) && downcast<MouseEvent>(*event).button())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> if (!renderer())
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowMediaControlElementscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/MediaControlElements.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/MediaControlElements.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/shadow/MediaControlElements.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -221,7 +221,7 @@
</span><span class="cx"> {
</span><span class="cx"> MediaControlDivElement::defaultEventHandler(event);
</span><span class="cx">
</span><del>- if (is<MouseEvent>(event)) {
</del><ins>+ if (is<MouseEvent>(*event)) {
</ins><span class="cx"> LayoutPoint location = downcast<MouseEvent>(*event).absoluteLocation();
</span><span class="cx"> if (event->type() == eventNames().mousedownEvent && event->target() == this) {
</span><span class="cx"> startDrag(location);
</span><span class="lines">@@ -337,7 +337,7 @@
</span><span class="cx">
</span><span class="cx"> void MediaControlVolumeSliderContainerElement::defaultEventHandler(Event* event)
</span><span class="cx"> {
</span><del>- if (!is<MouseEvent>(event) || event->type() != eventNames().mouseoutEvent)
</del><ins>+ if (!is<MouseEvent>(*event) || event->type() != eventNames().mouseoutEvent)
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> // Poor man's mouseleave event detection.
</span><span class="lines">@@ -689,7 +689,7 @@
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="cx"> if (event->type() == eventNames().clickEvent) {
</span><span class="cx"> Node* target = event->target()->toNode();
</span><del>- if (!target || !is<Element>(target))
</del><ins>+ if (!is<Element>(target))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> // When we created the elements in the track list, we gave them a custom
</span><span class="lines">@@ -851,7 +851,7 @@
</span><span class="cx"> void MediaControlTimelineElement::defaultEventHandler(Event* event)
</span><span class="cx"> {
</span><span class="cx"> // Left button is 0. Rejects mouse events not from left button.
</span><del>- if (is<MouseEvent>(event) && downcast<MouseEvent>(*event).button())
</del><ins>+ if (is<MouseEvent>(*event) && downcast<MouseEvent>(*event).button())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> if (!renderer())
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowMediaControlscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/MediaControls.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/MediaControls.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/shadow/MediaControls.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -366,7 +366,7 @@
</span><span class="cx">
</span><span class="cx"> bool MediaControls::containsRelatedTarget(Event* event)
</span><span class="cx"> {
</span><del>- if (!is<MouseEvent>(event))
</del><ins>+ if (!is<MouseEvent>(*event))
</ins><span class="cx"> return false;
</span><span class="cx"> EventTarget* relatedTarget = downcast<MouseEvent>(*event).relatedTarget();
</span><span class="cx"> if (!relatedTarget)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowMediaControlsApplecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/MediaControlsApple.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/MediaControlsApple.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/shadow/MediaControlsApple.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -588,7 +588,7 @@
</span><span class="cx"> {
</span><span class="cx"> if (event->type() == eventNames().clickEvent)
</span><span class="cx"> m_mediaControls->handleClickEvent(event);
</span><del>- else if ((event->type() == eventNames().wheelEvent || event->type() == eventNames().mousewheelEvent) && is<WheelEvent>(event)) {
</del><ins>+ else if ((event->type() == eventNames().wheelEvent || event->type() == eventNames().mousewheelEvent) && is<WheelEvent>(*event)) {
</ins><span class="cx"> WheelEvent& wheelEvent = downcast<WheelEvent>(*event);
</span><span class="cx"> if (m_mediaControls->shouldClosedCaptionsContainerPreventPageScrolling(wheelEvent.wheelDeltaY()))
</span><span class="cx"> wheelEvent.preventDefault();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowSliderThumbElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -333,7 +333,7 @@
</span><span class="cx"> #if !PLATFORM(IOS)
</span><span class="cx"> void SliderThumbElement::defaultEventHandler(Event* event)
</span><span class="cx"> {
</span><del>- if (!is<MouseEvent>(event)) {
</del><ins>+ if (!is<MouseEvent>(*event)) {
</ins><span class="cx"> HTMLDivElement::defaultEventHandler(event);
</span><span class="cx"> return;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowSpinButtonElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx">
</span><span class="cx"> void SpinButtonElement::defaultEventHandler(Event* event)
</span><span class="cx"> {
</span><del>- if (!is<MouseEvent>(event)) {
</del><ins>+ if (!is<MouseEvent>(*event)) {
</ins><span class="cx"> if (!event->defaultHandled())
</span><span class="cx"> HTMLDivElement::defaultEventHandler(event);
</span><span class="cx"> return;
</span><span class="lines">@@ -146,7 +146,7 @@
</span><span class="cx"> if (!renderBox())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if (!is<WheelEvent>(event))
</del><ins>+ if (!is<WheelEvent>(*event))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> if (!m_spinButtonOwner)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowTextControlInnerElementscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/TextControlInnerElements.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/TextControlInnerElements.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/shadow/TextControlInnerElements.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -142,7 +142,7 @@
</span><span class="cx"> {
</span><span class="cx"> // On mousedown, bring up a menu, if needed
</span><span class="cx"> HTMLInputElement* input = downcast<HTMLInputElement>(shadowHost());
</span><del>- if (input && event->type() == eventNames().mousedownEvent && is<MouseEvent>(event) && downcast<MouseEvent>(*event).button() == LeftButton) {
</del><ins>+ if (input && event->type() == eventNames().mousedownEvent && is<MouseEvent>(*event) && downcast<MouseEvent>(*event).button() == LeftButton) {
</ins><span class="cx"> input->focus();
</span><span class="cx"> input->select();
</span><span class="cx"> #if !PLATFORM(IOS)
</span><span class="lines">@@ -199,7 +199,7 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (event->type() == eventNames().mousedownEvent && is<MouseEvent>(event) && downcast<MouseEvent>(*event).button() == LeftButton) {
</del><ins>+ if (event->type() == eventNames().mousedownEvent && is<MouseEvent>(*event) && downcast<MouseEvent>(*event).button() == LeftButton) {
</ins><span class="cx"> if (renderer() && renderer()->visibleToHitTesting()) {
</span><span class="cx"> if (Frame* frame = document().frame()) {
</span><span class="cx"> frame->eventHandler().setCapturingMouseEventsElement(this);
</span><span class="lines">@@ -210,7 +210,7 @@
</span><span class="cx"> input->select();
</span><span class="cx"> event->setDefaultHandled();
</span><span class="cx"> }
</span><del>- if (event->type() == eventNames().mouseupEvent && is<MouseEvent>(event) && downcast<MouseEvent>(*event).button() == LeftButton) {
</del><ins>+ if (event->type() == eventNames().mouseupEvent && is<MouseEvent>(*event) && downcast<MouseEvent>(*event).button() == LeftButton) {
</ins><span class="cx"> if (m_capturing) {
</span><span class="cx"> if (Frame* frame = document().frame()) {
</span><span class="cx"> frame->eventHandler().setCapturingMouseEventsElement(nullptr);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackVTTCuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/VTTCue.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/VTTCue.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/html/track/VTTCue.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -497,12 +497,12 @@
</span><span class="cx"> {
</span><span class="cx"> for (Node* node = webVTTNode->firstChild(); node; node = node->nextSibling()) {
</span><span class="cx"> RefPtr<Node> clonedNode;
</span><del>- if (is<WebVTTElement>(node))
</del><ins>+ if (is<WebVTTElement>(*node))
</ins><span class="cx"> clonedNode = downcast<WebVTTElement>(*node).createEquivalentHTMLElement(ownerDocument());
</span><span class="cx"> else
</span><span class="cx"> clonedNode = node->cloneNode(false);
</span><span class="cx"> parent->appendChild(clonedNode, ASSERT_NO_EXCEPTION);
</span><del>- if (is<ContainerNode>(node))
</del><ins>+ if (is<ContainerNode>(*node))
</ins><span class="cx"> copyWebVTTNodeToDOMTree(downcast<ContainerNode>(node), downcast<ContainerNode>(clonedNode.get()));
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -766,7 +766,7 @@
</span><span class="cx"> isPastNode = false;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (is<WebVTTElement>(child)) {
</del><ins>+ if (is<WebVTTElement>(*child)) {
</ins><span class="cx"> downcast<WebVTTElement>(*child).setIsPastNode(isPastNode);
</span><span class="cx"> // Make an elemenet id match a cue id for style matching purposes.
</span><span class="cx"> if (!id().isEmpty())
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorCSSAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -896,7 +896,7 @@
</span><span class="cx"> errorString = ASCIILiteral("No node with given id found");
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span><del>- if (!is<Element>(node)) {
</del><ins>+ if (!is<Element>(*node)) {
</ins><span class="cx"> errorString = ASCIILiteral("Not an element node");
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span><span class="lines">@@ -1086,7 +1086,8 @@
</span><span class="cx">
</span><span class="cx"> PassRefPtr<Inspector::Protocol::CSS::CSSStyle> InspectorCSSAgent::buildObjectForAttributesStyle(Element* element)
</span><span class="cx"> {
</span><del>- if (!is<StyledElement>(element))
</del><ins>+ ASSERT(element);
+ if (!is<StyledElement>(*element))
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> // FIXME: Ugliness below.
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -339,7 +339,7 @@
</span><span class="cx"> unbind(contentDocument, nodesMap);
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (is<Element>(node)) {
</del><ins>+ if (is<Element>(*node)) {
</ins><span class="cx"> if (ShadowRoot* root = downcast<Element>(*node).shadowRoot())
</span><span class="cx"> unbind(root, nodesMap);
</span><span class="cx"> }
</span><span class="lines">@@ -375,7 +375,7 @@
</span><span class="cx"> Node* node = assertNode(errorString, nodeId);
</span><span class="cx"> if (!node)
</span><span class="cx"> return nullptr;
</span><del>- if (!is<Document>(node)) {
</del><ins>+ if (!is<Document>(*node)) {
</ins><span class="cx"> errorString = ASCIILiteral("Document is not available");
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span><span class="lines">@@ -387,7 +387,7 @@
</span><span class="cx"> Node* node = assertNode(errorString, nodeId);
</span><span class="cx"> if (!node)
</span><span class="cx"> return nullptr;
</span><del>- if (!is<Element>(node)) {
</del><ins>+ if (!is<Element>(*node)) {
</ins><span class="cx"> errorString = ASCIILiteral("Node is not an Element");
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span><span class="lines">@@ -520,7 +520,7 @@
</span><span class="cx"> Node* node = assertNode(errorString, nodeId);
</span><span class="cx"> if (!node)
</span><span class="cx"> return;
</span><del>- if (!is<ContainerNode>(node)) {
</del><ins>+ if (!is<ContainerNode>(*node)) {
</ins><span class="cx"> assertElement(errorString, nodeId);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -541,7 +541,7 @@
</span><span class="cx"> Node* node = assertNode(errorString, nodeId);
</span><span class="cx"> if (!node)
</span><span class="cx"> return;
</span><del>- if (!is<ContainerNode>(node)) {
</del><ins>+ if (!is<ContainerNode>(*node)) {
</ins><span class="cx"> assertElement(errorString, nodeId);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -718,7 +718,7 @@
</span><span class="cx"> *newId = 0;
</span><span class="cx">
</span><span class="cx"> Node* oldNode = nodeForId(nodeId);
</span><del>- if (!oldNode || !is<Element>(oldNode))
</del><ins>+ if (!is<Element>(oldNode))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span><span class="lines">@@ -1269,7 +1269,7 @@
</span><span class="cx"> value->setChildren(children.release());
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (is<Element>(node)) {
</del><ins>+ if (is<Element>(*node)) {
</ins><span class="cx"> Element& element = downcast<Element>(*node);
</span><span class="cx"> value->setAttributes(buildArrayForElementAttributes(&element));
</span><span class="cx"> if (is<HTMLFrameOwnerElement>(element)) {
</span><span class="lines">@@ -1293,17 +1293,17 @@
</span><span class="cx"> value->setTemplateContent(buildObjectForNode(downcast<HTMLTemplateElement>(element).content(), 0, nodesMap));
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- } else if (is<Document>(node)) {
</del><ins>+ } else if (is<Document>(*node)) {
</ins><span class="cx"> Document& document = downcast<Document>(*node);
</span><span class="cx"> value->setDocumentURL(documentURLString(&document));
</span><span class="cx"> value->setBaseURL(documentBaseURLString(&document));
</span><span class="cx"> value->setXmlVersion(document.xmlVersion());
</span><del>- } else if (is<DocumentType>(node)) {
</del><ins>+ } else if (is<DocumentType>(*node)) {
</ins><span class="cx"> DocumentType& docType = downcast<DocumentType>(*node);
</span><span class="cx"> value->setPublicId(docType.publicId());
</span><span class="cx"> value->setSystemId(docType.systemId());
</span><span class="cx"> value->setInternalSubset(docType.internalSubset());
</span><del>- } else if (is<Attr>(node)) {
</del><ins>+ } else if (is<Attr>(*node)) {
</ins><span class="cx"> Attr& attribute = downcast<Attr>(*node);
</span><span class="cx"> value->setName(attribute.name());
</span><span class="cx"> value->setValue(attribute.value());
</span><span class="lines">@@ -1522,7 +1522,7 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (is<Element>(node)) {
</del><ins>+ if (is<Element>(*node)) {
</ins><span class="cx"> supportsFocused = downcast<Element>(*node).isFocusable();
</span><span class="cx"> if (supportsFocused)
</span><span class="cx"> focused = axObject->isFocused();
</span><span class="lines">@@ -1720,7 +1720,8 @@
</span><span class="cx">
</span><span class="cx"> Node* InspectorDOMAgent::innerParentNode(Node* node)
</span><span class="cx"> {
</span><del>- if (is<Document>(node))
</del><ins>+ ASSERT(node);
+ if (is<Document>(*node))
</ins><span class="cx"> return downcast<Document>(*node).ownerElement();
</span><span class="cx"> return node->parentNode();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorFrontendHostcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorFrontendHost.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorFrontendHost.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/inspector/InspectorFrontendHost.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -284,7 +284,7 @@
</span><span class="cx"> void InspectorFrontendHost::dispatchEventAsContextMenuEvent(Event* event)
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(CONTEXT_MENUS) && USE(ACCESSIBILITY_CONTEXT_MENUS)
</span><del>- if (!event || !is<MouseEvent>(event))
</del><ins>+ if (!is<MouseEvent>(event))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> Frame* frame = event->target()->toNode()->document().frame();
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -100,8 +100,8 @@
</span><span class="cx"> static Frame* frameForScriptExecutionContext(ScriptExecutionContext* context)
</span><span class="cx"> {
</span><span class="cx"> Frame* frame = nullptr;
</span><del>- if (is<Document>(context))
- frame = downcast<Document>(context)->frame();
</del><ins>+ if (is<Document>(*context))
+ frame = downcast<Document>(*context).frame();
</ins><span class="cx"> return frame;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1262,7 +1262,8 @@
</span><span class="cx">
</span><span class="cx"> InstrumentingAgents* InspectorInstrumentation::instrumentingAgentsForNonDocumentContext(ScriptExecutionContext* context)
</span><span class="cx"> {
</span><del>- if (is<WorkerGlobalScope>(context))
</del><ins>+ ASSERT(context);
+ if (is<WorkerGlobalScope>(*context))
</ins><span class="cx"> return instrumentationForWorkerGlobalScope(downcast<WorkerGlobalScope>(context));
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.h (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.h        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.h        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -2062,7 +2062,7 @@
</span><span class="cx"> {
</span><span class="cx"> if (!context)
</span><span class="cx"> return nullptr;
</span><del>- if (is<Document>(context))
</del><ins>+ if (is<Document>(*context))
</ins><span class="cx"> return instrumentingAgentsForPage(downcast<Document>(context)->page());
</span><span class="cx"> return instrumentingAgentsForNonDocumentContext(context);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorNodeFindercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorNodeFinder.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorNodeFinder.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/inspector/InspectorNodeFinder.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -89,7 +89,7 @@
</span><span class="cx"> m_results.add(node);
</span><span class="cx">
</span><span class="cx"> // Search inside frame elements.
</span><del>- if (is<HTMLFrameOwnerElement>(node)) {
</del><ins>+ if (is<HTMLFrameOwnerElement>(*node)) {
</ins><span class="cx"> HTMLFrameOwnerElement& frameOwner = downcast<HTMLFrameOwnerElement>(*node);
</span><span class="cx"> if (Document* document = frameOwner.contentDocument())
</span><span class="cx"> performSearch(document);
</span><span class="lines">@@ -146,7 +146,7 @@
</span><span class="cx"> if (ec)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if (is<Attr>(node))
</del><ins>+ if (is<Attr>(*node))
</ins><span class="cx"> node = downcast<Attr>(*node).ownerElement();
</span><span class="cx">
</span><span class="cx"> // XPath can get out of the context node that we pass as the starting point to evaluate, so we need to filter for just the nodes we care about.
</span><span class="lines">@@ -157,7 +157,8 @@
</span><span class="cx">
</span><span class="cx"> void InspectorNodeFinder::searchUsingCSSSelectors(Node* parentNode)
</span><span class="cx"> {
</span><del>- if (!is<ContainerNode>(parentNode))
</del><ins>+ ASSERT(parentNode);
+ if (!is<ContainerNode>(*parentNode))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> ExceptionCode ec = 0;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorOverlaycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorOverlay.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorOverlay.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/inspector/InspectorOverlay.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -676,7 +676,8 @@
</span><span class="cx">
</span><span class="cx"> static PassRefPtr<InspectorObject> buildObjectForElementInfo(Node* node)
</span><span class="cx"> {
</span><del>- if (!is<Element>(node) || !node->document().frame())
</del><ins>+ ASSERT(node);
+ if (!is<Element>(*node) || !node->document().frame())
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> RefPtr<InspectorObject> elementInfo = InspectorObject::create();
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorStyleSheetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -1388,7 +1388,7 @@
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> Node* ownerNode = m_pageStyleSheet->ownerNode();
</span><del>- if (!ownerNode || !is<Element>(ownerNode))
</del><ins>+ if (!is<Element>(ownerNode))
</ins><span class="cx"> return false;
</span><span class="cx"> Element& ownerElement = downcast<Element>(*ownerNode);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFormSubmissioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FormSubmission.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FormSubmission.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/loader/FormSubmission.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx"> HTMLFormControlElement* submitButton = 0;
</span><span class="cx"> if (event && event->target()) {
</span><span class="cx"> for (Node* node = event->target()->toNode(); node; node = node->parentNode()) {
</span><del>- if (is<HTMLFormControlElement>(node)) {
</del><ins>+ if (is<HTMLFormControlElement>(*node)) {
</ins><span class="cx"> submitButton = downcast<HTMLFormControlElement>(node);
</span><span class="cx"> break;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoader.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -1033,7 +1033,7 @@
</span><span class="cx"> void FrameLoader::handleFallbackContent()
</span><span class="cx"> {
</span><span class="cx"> HTMLFrameOwnerElement* owner = m_frame.ownerElement();
</span><del>- if (!owner || !is<HTMLObjectElement>(owner))
</del><ins>+ if (!is<HTMLObjectElement>(owner))
</ins><span class="cx"> return;
</span><span class="cx"> downcast<HTMLObjectElement>(*owner).renderFallbackContent();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderSubframeLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/SubframeLoader.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/SubframeLoader.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/loader/SubframeLoader.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -393,7 +393,7 @@
</span><span class="cx"> pluginElement.subframeLoaderWillCreatePlugIn(url);
</span><span class="cx">
</span><span class="cx"> IntSize contentSize = roundedIntSize(LayoutSize(renderer->contentWidth(), renderer->contentHeight()));
</span><del>- bool loadManually = is<PluginDocument>(document()) && !m_containsPlugins && downcast<PluginDocument>(*document()).shouldLoadPluginManually();
</del><ins>+ bool loadManually = is<PluginDocument>(*document()) && !m_containsPlugins && downcast<PluginDocument>(*document()).shouldLoadPluginManually();
</ins><span class="cx">
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx"> // On iOS, we only tell the plugin to be in full page mode if the containing plugin document is the top level document.
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderThreadableLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ThreadableLoader.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ThreadableLoader.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/loader/ThreadableLoader.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx"> ASSERT(client);
</span><span class="cx"> ASSERT(context);
</span><span class="cx">
</span><del>- if (is<WorkerGlobalScope>(context))
</del><ins>+ if (is<WorkerGlobalScope>(*context))
</ins><span class="cx"> return WorkerThreadableLoader::create(downcast<WorkerGlobalScope>(context), client, WorkerRunLoop::defaultMode(), request, options);
</span><span class="cx">
</span><span class="cx"> return DocumentThreadableLoader::create(downcast<Document>(*context), *client, request, options);
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(context);
</span><span class="cx">
</span><del>- if (is<WorkerGlobalScope>(context))
</del><ins>+ if (is<WorkerGlobalScope>(*context))
</ins><span class="cx"> WorkerThreadableLoader::loadResourceSynchronously(downcast<WorkerGlobalScope>(context), request, client, options);
</span><span class="cx"> else
</span><span class="cx"> DocumentThreadableLoader::loadResourceSynchronously(downcast<Document>(*context), request, client, options);
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheMemoryCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/MemoryCache.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/MemoryCache.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/loader/cache/MemoryCache.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -752,7 +752,8 @@
</span><span class="cx">
</span><span class="cx"> void MemoryCache::removeRequestFromCache(ScriptExecutionContext* context, const ResourceRequest& request, SessionID sessionID)
</span><span class="cx"> {
</span><del>- if (is<WorkerGlobalScope>(context)) {
</del><ins>+ ASSERT(context);
+ if (is<WorkerGlobalScope>(*context)) {
</ins><span class="cx"> downcast<WorkerGlobalScope>(*context).thread().workerLoaderProxy().postTaskToLoader(CrossThreadTask(&crossThreadRemoveRequestFromCache, request, sessionID));
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -768,7 +769,8 @@
</span><span class="cx">
</span><span class="cx"> void MemoryCache::removeRequestFromSessionCaches(ScriptExecutionContext* context, const ResourceRequest& request)
</span><span class="cx"> {
</span><del>- if (is<WorkerGlobalScope>(context)) {
</del><ins>+ ASSERT(context);
+ if (is<WorkerGlobalScope>(*context)) {
</ins><span class="cx"> downcast<WorkerGlobalScope>(*context).thread().workerLoaderProxy().postTaskToLoader(CrossThreadTask(&crossThreadRemoveRequestFromSessionCaches, request));
</span><span class="cx"> return;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoremathmlMathMLElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/mathml/MathMLElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/mathml/MathMLElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/mathml/MathMLElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -294,7 +294,7 @@
</span><span class="cx"> {
</span><span class="cx"> if (isSemanticAnnotation() && (name == MathMLNames::srcAttr || name == MathMLNames::encodingAttr)) {
</span><span class="cx"> Element* parent = parentElement();
</span><del>- if (parent && is<MathMLElement>(parent) && parent->hasTagName(semanticsTag))
</del><ins>+ if (is<MathMLElement>(parent) && parent->hasTagName(semanticsTag))
</ins><span class="cx"> downcast<MathMLElement>(*parent).updateSelectedChild();
</span><span class="cx"> }
</span><span class="cx"> StyledElement::attributeChanged(name, oldValue, newValue, reason);
</span></span></pre></div>
<a id="trunkSourceWebCoremathmlMathMLSelectElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/mathml/MathMLSelectElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/mathml/MathMLSelectElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/mathml/MathMLSelectElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -157,7 +157,7 @@
</span><span class="cx"> if (!child)
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><del>- if (!is<MathMLElement>(child) || !downcast<MathMLElement>(*child).isPresentationMathML()) {
</del><ins>+ if (!is<MathMLElement>(*child) || !downcast<MathMLElement>(*child).isPresentationMathML()) {
</ins><span class="cx"> // The first child is not a presentation MathML element. Hence we move to the second child and start searching an annotation child that could be displayed.
</span><span class="cx"> child = child->nextElementSibling();
</span><span class="cx"> } else if (!downcast<MathMLElement>(*child).isSemanticAnnotation()) {
</span><span class="lines">@@ -167,7 +167,7 @@
</span><span class="cx"> // Otherwise, the first child is an <annotation> or <annotation-xml> element. This is invalid, but some people use this syntax so we take care of this case too and start the search from this first child.
</span><span class="cx">
</span><span class="cx"> for ( ; child; child = child->nextElementSibling()) {
</span><del>- if (!is<MathMLElement>(child))
</del><ins>+ if (!is<MathMLElement>(*child))
</ins><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> if (child->hasTagName(MathMLNames::annotationTag)) {
</span></span></pre></div>
<a id="trunkSourceWebCorepageChromecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Chrome.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Chrome.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/page/Chrome.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -408,7 +408,7 @@
</span><span class="cx"> if (toolTip.isEmpty() && m_page.settings().showsURLsInToolTips()) {
</span><span class="cx"> if (Element* element = result.innerNonSharedElement()) {
</span><span class="cx"> // Get tooltip representing form action, if relevant
</span><del>- if (is<HTMLInputElement>(element)) {
</del><ins>+ if (is<HTMLInputElement>(*element)) {
</ins><span class="cx"> HTMLInputElement& input = downcast<HTMLInputElement>(*element);
</span><span class="cx"> if (input.isSubmitButton()) {
</span><span class="cx"> if (HTMLFormElement* form = input.form()) {
</span><span class="lines">@@ -441,7 +441,7 @@
</span><span class="cx"> // Lastly, for <input type="file"> that allow multiple files, we'll consider a tooltip for the selected filenames
</span><span class="cx"> if (toolTip.isEmpty()) {
</span><span class="cx"> if (Element* element = result.innerNonSharedElement()) {
</span><del>- if (is<HTMLInputElement>(element)) {
</del><ins>+ if (is<HTMLInputElement>(*element)) {
</ins><span class="cx"> toolTip = downcast<HTMLInputElement>(*element).defaultToolTip();
</span><span class="cx">
</span><span class="cx"> // FIXME: We should obtain text direction of tooltip from
</span></span></pre></div>
<a id="trunkSourceWebCorepageContextMenuControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/ContextMenuController.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ContextMenuController.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/page/ContextMenuController.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -150,7 +150,7 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(event);
</span><span class="cx">
</span><del>- if (!is<MouseEvent>(event))
</del><ins>+ if (!is<MouseEvent>(*event))
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> MouseEvent& mouseEvent = downcast<MouseEvent>(*event);
</span><span class="lines">@@ -837,7 +837,7 @@
</span><span class="cx"> if (!node)
</span><span class="cx"> return;
</span><span class="cx"> #if PLATFORM(GTK)
</span><del>- if (!m_context.hitTestResult().isContentEditable() && is<HTMLFormControlElement>(node))
</del><ins>+ if (!m_context.hitTestResult().isContentEditable() && is<HTMLFormControlElement>(*node))
</ins><span class="cx"> return;
</span><span class="cx"> #endif
</span><span class="cx"> Frame* frame = node->document().frame();
</span></span></pre></div>
<a id="trunkSourceWebCorepageDOMTimercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DOMTimer.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DOMTimer.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/page/DOMTimer.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -120,7 +120,7 @@
</span><span class="cx"> // is destroyed, or if explicitly cancelled by removeById.
</span><span class="cx"> DOMTimer* timer = new DOMTimer(context, WTF::move(action), timeout, singleShot);
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>- if (is<Document>(context)) {
</del><ins>+ if (is<Document>(*context)) {
</ins><span class="cx"> Document& document = downcast<Document>(*context);
</span><span class="cx"> bool didDeferTimeout = document.frame() && document.frame()->timersPaused();
</span><span class="cx"> if (!didDeferTimeout && timeout <= 100 && singleShot) {
</span><span class="lines">@@ -173,7 +173,7 @@
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx"> Document* document = nullptr;
</span><del>- if (is<Document>(context)) {
</del><ins>+ if (is<Document>(*context)) {
</ins><span class="cx"> document = downcast<Document>(context);
</span><span class="cx"> ASSERT(!document->frame()->timersPaused());
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorepageDragControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DragController.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DragController.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/page/DragController.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -290,7 +290,7 @@
</span><span class="cx"> documentUnderMouse->renderView()->hitTest(HitTestRequest(), result);
</span><span class="cx">
</span><span class="cx"> Node* node = result.innerNode();
</span><del>- while (node && !is<Element>(node))
</del><ins>+ while (node && !is<Element>(*node))
</ins><span class="cx"> node = node->parentNode();
</span><span class="cx"> if (node)
</span><span class="cx"> node = node->deprecatedShadowAncestorNode();
</span><span class="lines">@@ -397,7 +397,7 @@
</span><span class="cx">
</span><span class="cx"> bool pluginDocumentAcceptsDrags = false;
</span><span class="cx">
</span><del>- if (doc && is<PluginDocument>(doc)) {
</del><ins>+ if (is<PluginDocument>(doc)) {
</ins><span class="cx"> const Widget* widget = downcast<PluginDocument>(*doc).pluginWidget();
</span><span class="cx"> const PluginViewBase* pluginView = (widget && widget->isPluginViewBase()) ? toPluginViewBase(widget) : nullptr;
</span><span class="cx">
</span><span class="lines">@@ -552,7 +552,7 @@
</span><span class="cx"> if (dragData.containsFiles() && asFileInput(result.innerNonSharedNode()))
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- if (is<HTMLPlugInElement>(result.innerNonSharedNode())) {
</del><ins>+ if (is<HTMLPlugInElement>(*result.innerNonSharedNode())) {
</ins><span class="cx"> if (!downcast<HTMLPlugInElement>(result.innerNonSharedNode())->canProcessDrag() && !result.innerNonSharedNode()->hasEditableStyle())
</span><span class="cx"> return false;
</span><span class="cx"> } else if (!result.innerNonSharedNode()->hasEditableStyle())
</span><span class="lines">@@ -639,13 +639,13 @@
</span><span class="cx"> }
</span><span class="cx"> if (dragMode == DRAG_AUTO) {
</span><span class="cx"> if ((m_dragSourceAction & DragSourceActionImage)
</span><del>- && is<HTMLImageElement>(element)
</del><ins>+ && is<HTMLImageElement>(*element)
</ins><span class="cx"> && sourceFrame->settings().loadsImagesAutomatically()) {
</span><span class="cx"> state.type = static_cast<DragSourceAction>(state.type | DragSourceActionImage);
</span><span class="cx"> return element;
</span><span class="cx"> }
</span><span class="cx"> if ((m_dragSourceAction & DragSourceActionLink)
</span><del>- && is<HTMLAnchorElement>(element)
</del><ins>+ && is<HTMLAnchorElement>(*element)
</ins><span class="cx"> && downcast<HTMLAnchorElement>(*element).isLiveLink()) {
</span><span class="cx"> state.type = static_cast<DragSourceAction>(state.type | DragSourceActionLink);
</span><span class="cx"> return element;
</span></span></pre></div>
<a id="trunkSourceWebCorepageEventHandlercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/EventHandler.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/EventHandler.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/page/EventHandler.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -759,7 +759,7 @@
</span><span class="cx"> if (event.isOverWidget() && passWidgetMouseDownEventToWidget(event))
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- if (is<SVGDocument>(m_frame.document()) && downcast<SVGDocument>(*m_frame.document()).zoomAndPanEnabled()) {
</del><ins>+ if (is<SVGDocument>(*m_frame.document()) && downcast<SVGDocument>(*m_frame.document()).zoomAndPanEnabled()) {
</ins><span class="cx"> if (event.event().shiftKey() && singleClick) {
</span><span class="cx"> m_svgPan = true;
</span><span class="cx"> downcast<SVGDocument>(*m_frame.document()).startPan(m_frame.view()->windowToContents(event.event().position()));
</span><span class="lines">@@ -1266,7 +1266,7 @@
</span><span class="cx"> #if ENABLE(CURSOR_SUPPORT)
</span><span class="cx"> static bool isSubmitImage(Node* node)
</span><span class="cx"> {
</span><del>- return node && is<HTMLInputElement>(node) && downcast<HTMLInputElement>(*node).isImageButton();
</del><ins>+ return is<HTMLInputElement>(node) && downcast<HTMLInputElement>(*node).isImageButton();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Returns true if the node's editable block is not current focused for editing
</span><span class="lines">@@ -1760,7 +1760,7 @@
</span><span class="cx"> // If a mouse event handler changes the input element type to one that has a widget associated,
</span><span class="cx"> // we'd like to EventHandler::handleMousePressEvent to pass the event to the widget and thus the
</span><span class="cx"> // event target node can't still be the shadow node.
</span><del>- if (is<ShadowRoot>(mouseEvent.targetNode()) && is<HTMLInputElement>(downcast<ShadowRoot>(*mouseEvent.targetNode()).hostElement()))
</del><ins>+ if (is<ShadowRoot>(*mouseEvent.targetNode()) && is<HTMLInputElement>(*downcast<ShadowRoot>(*mouseEvent.targetNode()).hostElement()))
</ins><span class="cx"> mouseEvent = m_frame.document()->prepareMouseEvent(HitTestRequest(), documentPoint, platformMouseEvent);
</span><span class="cx">
</span><span class="cx"> FrameView* view = m_frame.view();
</span><span class="lines">@@ -2141,7 +2141,7 @@
</span><span class="cx">
</span><span class="cx"> static bool targetIsFrame(Node* target, Frame*& frame)
</span><span class="cx"> {
</span><del>- if (!target || !is<HTMLFrameElementBase>(target))
</del><ins>+ if (!is<HTMLFrameElementBase>(target))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> frame = downcast<HTMLFrameElementBase>(*target).contentFrame();
</span><span class="lines">@@ -2186,7 +2186,8 @@
</span><span class="cx">
</span><span class="cx"> static bool findDropZone(Node* target, DataTransfer* dataTransfer)
</span><span class="cx"> {
</span><del>- Element* element = is<Element>(target) ? downcast<Element>(target) : target->parentElement();
</del><ins>+ ASSERT(target);
+ Element* element = is<Element>(*target) ? downcast<Element>(target) : target->parentElement();
</ins><span class="cx"> for (; element; element = element->parentElement()) {
</span><span class="cx"> bool matched = false;
</span><span class="cx"> String dropZoneStr = element->fastGetAttribute(webkitdropzoneAttr);
</span><span class="lines">@@ -2233,7 +2234,7 @@
</span><span class="cx"> RefPtr<Element> newTarget;
</span><span class="cx"> if (Node* targetNode = mouseEvent.targetNode()) {
</span><span class="cx"> // Drag events should never go to non-element nodes (following IE, and proper mouseover/out dispatch)
</span><del>- if (!is<Element>(targetNode))
</del><ins>+ if (!is<Element>(*targetNode))
</ins><span class="cx"> newTarget = targetNode->parentOrShadowHostElement();
</span><span class="cx"> else
</span><span class="cx"> newTarget = downcast<Element>(targetNode);
</span><span class="lines">@@ -2394,7 +2395,7 @@
</span><span class="cx"> targetElement = m_capturingMouseEventsElement.get();
</span><span class="cx"> else if (targetNode) {
</span><span class="cx"> // If the target node is a non-element, dispatch on the parent. <rdar://problem/4196646>
</span><del>- if (!is<Element>(targetNode))
</del><ins>+ if (!is<Element>(*targetNode))
</ins><span class="cx"> targetElement = targetNode->parentOrShadowHostElement();
</span><span class="cx"> else
</span><span class="cx"> targetElement = downcast<Element>(targetNode);
</span><span class="lines">@@ -3523,7 +3524,7 @@
</span><span class="cx"> {
</span><span class="cx"> // Platforms should differentiate real commands like selectAll from text input in disguise (like insertNewline),
</span><span class="cx"> // and avoid dispatching text input events from keydown default handlers.
</span><del>- ASSERT(!underlyingEvent || !is<KeyboardEvent>(underlyingEvent) || downcast<KeyboardEvent>(*underlyingEvent).type() == eventNames().keypressEvent);
</del><ins>+ ASSERT(!is<KeyboardEvent>(underlyingEvent) || downcast<KeyboardEvent>(*underlyingEvent).type() == eventNames().keypressEvent);
</ins><span class="cx">
</span><span class="cx"> EventTarget* target;
</span><span class="cx"> if (underlyingEvent)
</span></span></pre></div>
<a id="trunkSourceWebCorepageFocusControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FocusController.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FocusController.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/page/FocusController.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx"> Element* FocusNavigationScope::owner() const
</span><span class="cx"> {
</span><span class="cx"> ContainerNode* root = rootNode();
</span><del>- if (is<ShadowRoot>(root))
</del><ins>+ if (is<ShadowRoot>(*root))
</ins><span class="cx"> return downcast<ShadowRoot>(*root).hostElement();
</span><span class="cx"> if (Frame* frame = root->document().frame())
</span><span class="cx"> return frame->ownerElement();
</span><span class="lines">@@ -228,7 +228,7 @@
</span><span class="cx"> // The node we found might be a HTMLFrameOwnerElement, so descend down the tree until we find either:
</span><span class="cx"> // 1) a focusable node, or
</span><span class="cx"> // 2) the deepest-nested HTMLFrameOwnerElement.
</span><del>- while (element && is<HTMLFrameOwnerElement>(element)) {
</del><ins>+ while (is<HTMLFrameOwnerElement>(element)) {
</ins><span class="cx"> HTMLFrameOwnerElement& owner = downcast<HTMLFrameOwnerElement>(*element);
</span><span class="cx"> if (!owner.contentFrame())
</span><span class="cx"> break;
</span><span class="lines">@@ -350,7 +350,7 @@
</span><span class="cx">
</span><span class="cx"> Element* FocusController::findFocusableElementAcrossFocusScope(FocusDirection direction, FocusNavigationScope scope, Node* currentNode, KeyboardEvent* event)
</span><span class="cx"> {
</span><del>- ASSERT(!currentNode || !is<Element>(currentNode) || !isNonFocusableShadowHost(*downcast<Element>(currentNode), *event));
</del><ins>+ ASSERT(!is<Element>(currentNode) || !isNonFocusableShadowHost(*downcast<Element>(currentNode), *event));
</ins><span class="cx"> Element* found;
</span><span class="cx"> if (currentNode && direction == FocusDirectionForward && isFocusableShadowHost(*currentNode, *event)) {
</span><span class="cx"> Element* foundInInnerFocusScope = findFocusableElementRecursively(direction, FocusNavigationScope::focusNavigationScopeOwnedByShadowHost(currentNode), 0, event);
</span><span class="lines">@@ -410,7 +410,7 @@
</span><span class="cx"> // Search is inclusive of start
</span><span class="cx"> using namespace NodeRenderingTraversal;
</span><span class="cx"> for (Node* node = start; node; node = direction == FocusDirectionForward ? nextInScope(node) : previousInScope(node)) {
</span><del>- if (!is<Element>(node))
</del><ins>+ if (!is<Element>(*node))
</ins><span class="cx"> continue;
</span><span class="cx"> Element& element = downcast<Element>(*node);
</span><span class="cx"> if (shouldVisit(element, *event) && adjustedTabIndex(element, *event) == tabIndex)
</span><span class="lines">@@ -425,7 +425,7 @@
</span><span class="cx"> int winningTabIndex = std::numeric_limits<short>::max() + 1;
</span><span class="cx"> Element* winner = nullptr;
</span><span class="cx"> for (Node* node = start; node; node = NodeRenderingTraversal::nextInScope(node)) {
</span><del>- if (!is<Element>(node))
</del><ins>+ if (!is<Element>(*node))
</ins><span class="cx"> continue;
</span><span class="cx"> Element& element = downcast<Element>(*node);
</span><span class="cx"> if (shouldVisit(element, event) && element.tabIndex() > tabIndex && element.tabIndex() < winningTabIndex) {
</span><span class="lines">@@ -443,7 +443,7 @@
</span><span class="cx"> int winningTabIndex = 0;
</span><span class="cx"> Element* winner = nullptr;
</span><span class="cx"> for (Node* node = start; node; node = NodeRenderingTraversal::previousInScope(node)) {
</span><del>- if (!is<Element>(node))
</del><ins>+ if (!is<Element>(*node))
</ins><span class="cx"> continue;
</span><span class="cx"> Element& element = downcast<Element>(*node);
</span><span class="cx"> int currentTabIndex = adjustedTabIndex(element, event);
</span><span class="lines">@@ -464,7 +464,7 @@
</span><span class="cx"> // If a node is excluded from the normal tabbing cycle, the next focusable node is determined by tree order
</span><span class="cx"> if (tabIndex < 0) {
</span><span class="cx"> for (Node* node = nextInScope(start); node; node = nextInScope(node)) {
</span><del>- if (!is<Element>(node))
</del><ins>+ if (!is<Element>(*node))
</ins><span class="cx"> continue;
</span><span class="cx"> Element& element = downcast<Element>(*node);
</span><span class="cx"> if (shouldVisit(element, *event) && adjustedTabIndex(element, *event) >= 0)
</span><span class="lines">@@ -516,7 +516,7 @@
</span><span class="cx"> // However, if a node is excluded from the normal tabbing cycle, the previous focusable node is determined by tree order
</span><span class="cx"> if (startingTabIndex < 0) {
</span><span class="cx"> for (Node* node = startingNode; node; node = previousInScope(node)) {
</span><del>- if (!is<Element>(node))
</del><ins>+ if (!is<Element>(*node))
</ins><span class="cx"> continue;
</span><span class="cx"> Element& element = downcast<Element>(*node);
</span><span class="cx"> if (shouldVisit(element, *event) && adjustedTabIndex(element, *event) >= 0)
</span><span class="lines">@@ -575,7 +575,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> if (Node* shadowAncestorNode = root->deprecatedShadowAncestorNode()) {
</span><del>- if (!is<HTMLInputElement>(shadowAncestorNode) && !is<HTMLTextAreaElement>(shadowAncestorNode))
</del><ins>+ if (!is<HTMLInputElement>(*shadowAncestorNode) && !is<HTMLTextAreaElement>(*shadowAncestorNode))
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -876,7 +876,7 @@
</span><span class="cx"> Element* focusedElement = focusedDocument->focusedElement();
</span><span class="cx"> Node* container = focusedDocument;
</span><span class="cx">
</span><del>- if (is<Document>(container))
</del><ins>+ if (is<Document>(*container))
</ins><span class="cx"> downcast<Document>(*container).updateLayoutIgnorePendingStylesheets();
</span><span class="cx">
</span><span class="cx"> // Figure out the starting rect.
</span><span class="lines">@@ -885,7 +885,7 @@
</span><span class="cx"> if (!hasOffscreenRect(focusedElement)) {
</span><span class="cx"> container = scrollableEnclosingBoxOrParentFrameForNodeInDirection(direction, focusedElement);
</span><span class="cx"> startingRect = nodeRectInAbsoluteCoordinates(focusedElement, true /* ignore border */);
</span><del>- } else if (is<HTMLAreaElement>(focusedElement)) {
</del><ins>+ } else if (is<HTMLAreaElement>(*focusedElement)) {
</ins><span class="cx"> HTMLAreaElement& area = downcast<HTMLAreaElement>(*focusedElement);
</span><span class="cx"> container = scrollableEnclosingBoxOrParentFrameForNodeInDirection(direction, area.imageElement());
</span><span class="cx"> startingRect = virtualRectForAreaElementAndDirection(&area, direction);
</span><span class="lines">@@ -900,7 +900,7 @@
</span><span class="cx"> consumed = advanceFocusDirectionallyInContainer(container, startingRect, direction, event);
</span><span class="cx"> startingRect = nodeRectInAbsoluteCoordinates(container, true /* ignore border */);
</span><span class="cx"> container = scrollableEnclosingBoxOrParentFrameForNodeInDirection(direction, container);
</span><del>- if (container && is<Document>(container))
</del><ins>+ if (is<Document>(container))
</ins><span class="cx"> downcast<Document>(*container).updateLayoutIgnorePendingStylesheets();
</span><span class="cx"> } while (!consumed && container);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorepageFramecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Frame.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Frame.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/page/Frame.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -390,12 +390,12 @@
</span><span class="cx"> Node* n;
</span><span class="cx"> for (n = NodeTraversal::previous(element); n && lengthSearched < charsSearchedThreshold; n = NodeTraversal::previous(n)) {
</span><span class="cx"> // We hit another form element or the start of the form - bail out
</span><del>- if (is<HTMLFormElement>(n) || is<HTMLFormControlElement>(n))
</del><ins>+ if (is<HTMLFormElement>(*n) || is<HTMLFormControlElement>(*n))
</ins><span class="cx"> break;
</span><span class="cx">
</span><span class="cx"> if (n->hasTagName(tdTag) && !startingTableCell)
</span><span class="cx"> startingTableCell = downcast<HTMLTableCellElement>(n);
</span><del>- else if (is<HTMLTableRowElement>(n) && startingTableCell) {
</del><ins>+ else if (is<HTMLTableRowElement>(*n) && startingTableCell) {
</ins><span class="cx"> String result = searchForLabelsAboveCell(regExp, startingTableCell, resultDistance);
</span><span class="cx"> if (!result.isEmpty()) {
</span><span class="cx"> if (resultIsInCellAbove)
</span><span class="lines">@@ -968,7 +968,7 @@
</span><span class="cx">
</span><span class="cx"> // Respect SVGs zoomAndPan="disabled" property in standalone SVG documents.
</span><span class="cx"> // FIXME: How to handle compound documents + zoomAndPan="disabled"? Needs SVG WG clarification.
</span><del>- if (is<SVGDocument>(document) && !downcast<SVGDocument>(*document).zoomAndPanEnabled())
</del><ins>+ if (is<SVGDocument>(*document) && !downcast<SVGDocument>(*document).zoomAndPanEnabled())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> if (m_pageZoomFactor != pageZoomFactor) {
</span></span></pre></div>
<a id="trunkSourceWebCorepageFrameViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FrameView.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FrameView.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/page/FrameView.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -322,7 +322,7 @@
</span><span class="cx">
</span><span class="cx"> // Propagate the marginwidth/height and scrolling modes to the view.
</span><span class="cx"> Element* ownerElement = frame().ownerElement();
</span><del>- if (ownerElement && is<HTMLFrameElementBase>(ownerElement)) {
</del><ins>+ if (is<HTMLFrameElementBase>(ownerElement)) {
</ins><span class="cx"> HTMLFrameElementBase& frameElement = downcast<HTMLFrameElementBase>(*ownerElement);
</span><span class="cx"> if (frameElement.scrollingMode() == ScrollbarAlwaysOff)
</span><span class="cx"> setCanHaveScrollbars(false);
</span><span class="lines">@@ -1960,7 +1960,7 @@
</span><span class="cx"> // Setting to null will clear the current target.
</span><span class="cx"> frame().document()->setCSSTarget(anchorElement);
</span><span class="cx">
</span><del>- if (is<SVGDocument>(frame().document())) {
</del><ins>+ if (is<SVGDocument>(*frame().document())) {
</ins><span class="cx"> if (SVGSVGElement* svg = downcast<SVGDocument>(*frame().document()).rootElement()) {
</span><span class="cx"> svg->setupInitialView(name, anchorElement);
</span><span class="cx"> if (!anchorElement)
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageSerializercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PageSerializer.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PageSerializer.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/page/PageSerializer.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -222,7 +222,7 @@
</span><span class="cx">
</span><span class="cx"> for (Vector<Node*>::iterator iter = nodes.begin(); iter != nodes.end(); ++iter) {
</span><span class="cx"> Node* node = *iter;
</span><del>- if (!is<Element>(node))
</del><ins>+ if (!is<Element>(*node))
</ins><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> Element& element = downcast<Element>(*node);
</span></span></pre></div>
<a id="trunkSourceWebCorepageSpatialNavigationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/SpatialNavigation.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/SpatialNavigation.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/page/SpatialNavigation.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -63,10 +63,9 @@
</span><span class="cx"> , isOffscreen(true)
</span><span class="cx"> , isOffscreenAfterScrolling(true)
</span><span class="cx"> {
</span><del>- ASSERT(node);
- ASSERT(node->isElementNode());
</del><ins>+ ASSERT(is<Element>(node));
</ins><span class="cx">
</span><del>- if (is<HTMLAreaElement>(node)) {
</del><ins>+ if (is<HTMLAreaElement>(*node)) {
</ins><span class="cx"> HTMLAreaElement& area = downcast<HTMLAreaElement>(*node);
</span><span class="cx"> HTMLImageElement* image = area.imageElement();
</span><span class="cx"> if (!image || !image->renderer())
</span><span class="lines">@@ -366,7 +365,7 @@
</span><span class="cx"> bool scrollInDirection(Node* container, FocusDirection direction)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(container);
</span><del>- if (is<Document>(container))
</del><ins>+ if (is<Document>(*container))
</ins><span class="cx"> return scrollInDirection(downcast<Document>(*container).frame(), direction);
</span><span class="cx">
</span><span class="cx"> if (!container->renderBox())
</span><span class="lines">@@ -435,11 +434,11 @@
</span><span class="cx"> ASSERT(node);
</span><span class="cx"> Node* parent = node;
</span><span class="cx"> do {
</span><del>- if (is<Document>(parent))
</del><ins>+ if (is<Document>(*parent))
</ins><span class="cx"> parent = downcast<Document>(*parent).document().frame()->ownerElement();
</span><span class="cx"> else
</span><span class="cx"> parent = parent->parentNode();
</span><del>- } while (parent && !canScrollInDirection(parent, direction) && !is<Document>(parent));
</del><ins>+ } while (parent && !canScrollInDirection(parent, direction) && !is<Document>(*parent));
</ins><span class="cx">
</span><span class="cx"> return parent;
</span><span class="cx"> }
</span><span class="lines">@@ -448,10 +447,10 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(container);
</span><span class="cx">
</span><del>- if (is<HTMLSelectElement>(container))
</del><ins>+ if (is<HTMLSelectElement>(*container))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><del>- if (is<Document>(container))
</del><ins>+ if (is<Document>(*container))
</ins><span class="cx"> return canScrollInDirection(downcast<Document>(*container).frame(), direction);
</span><span class="cx">
</span><span class="cx"> if (!isScrollableNode(container))
</span><span class="lines">@@ -520,7 +519,7 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(node && node->renderer() && !node->document().view()->needsLayout());
</span><span class="cx">
</span><del>- if (is<Document>(node))
</del><ins>+ if (is<Document>(*node))
</ins><span class="cx"> return frameRectInAbsoluteCoordinates(downcast<Document>(*node).frame());
</span><span class="cx"> LayoutRect rect = rectToAbsoluteCoordinates(node->document().frame(), node->boundingBox());
</span><span class="cx">
</span><span class="lines">@@ -607,7 +606,7 @@
</span><span class="cx"> if (!firstCandidate.rect.intersects(secondCandidate.rect))
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- if (is<HTMLAreaElement>(firstCandidate.focusableNode) || is<HTMLAreaElement>(secondCandidate.focusableNode))
</del><ins>+ if (is<HTMLAreaElement>(*firstCandidate.focusableNode) || is<HTMLAreaElement>(*secondCandidate.focusableNode))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> if (!firstCandidate.visibleNode->renderer()->isRenderInline() || !secondCandidate.visibleNode->renderer()->isRenderInline())
</span></span></pre></div>
<a id="trunkSourceWebCorepageiosFrameIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/ios/FrameIOS.mm (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ios/FrameIOS.mm        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/page/ios/FrameIOS.mm        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -351,7 +351,7 @@
</span><span class="cx"> // If we are interested about the frame, use it.
</span><span class="cx"> if (nodeBounds) {
</span><span class="cx"> // This is a check to see whether this node is an area element. The only way this can happen is if this is the first check.
</span><del>- if (node == hitTestResult.innerNode() && node != hitTestResult.innerNonSharedNode() && is<HTMLAreaElement>(node))
</del><ins>+ if (node == hitTestResult.innerNode() && node != hitTestResult.innerNonSharedNode() && is<HTMLAreaElement>(*node))
</ins><span class="cx"> *nodeBounds = snappedIntRect(downcast<HTMLAreaElement>(*node).computeRect(hitTestResult.innerNonSharedNode()->renderer()));
</span><span class="cx"> else if (node && node->renderer())
</span><span class="cx"> *nodeBounds = node->renderer()->absoluteBoundingBoxRect(true);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkFormDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/FormData.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/FormData.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/platform/network/FormData.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -180,7 +180,7 @@
</span><span class="cx"> // If the current type is blob, then we also need to include the filename
</span><span class="cx"> if (value.blob()) {
</span><span class="cx"> String name;
</span><del>- if (is<File>(value.blob())) {
</del><ins>+ if (is<File>(*value.blob())) {
</ins><span class="cx"> File& file = downcast<File>(*value.blob());
</span><span class="cx"> name = file.name();
</span><span class="cx"> // Let the application specify a filename if it's going to generate a replacement file for the upload.
</span><span class="lines">@@ -221,7 +221,7 @@
</span><span class="cx"> // Append body
</span><span class="cx"> appendData(header.data(), header.size());
</span><span class="cx"> if (value.blob()) {
</span><del>- if (is<File>(value.blob())) {
</del><ins>+ if (is<File>(*value.blob())) {
</ins><span class="cx"> File& file = downcast<File>(*value.blob());
</span><span class="cx"> // Do not add the file if the path is empty.
</span><span class="cx"> if (!file.path().isEmpty())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingHitTestResultcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/HitTestResult.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/HitTestResult.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/HitTestResult.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -131,14 +131,14 @@
</span><span class="cx">
</span><span class="cx"> void HitTestResult::setInnerNode(Node* node)
</span><span class="cx"> {
</span><del>- if (node && is<PseudoElement>(node))
</del><ins>+ if (is<PseudoElement>(node))
</ins><span class="cx"> node = downcast<PseudoElement>(*node).hostElement();
</span><span class="cx"> m_innerNode = node;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void HitTestResult::setInnerNonSharedNode(Node* node)
</span><span class="cx"> {
</span><del>- if (node && is<PseudoElement>(node))
</del><ins>+ if (is<PseudoElement>(node))
</ins><span class="cx"> node = downcast<PseudoElement>(*node).hostElement();
</span><span class="cx"> m_innerNonSharedNode = node;
</span><span class="cx"> }
</span><span class="lines">@@ -223,7 +223,7 @@
</span><span class="cx"> // Find the title in the nearest enclosing DOM node.
</span><span class="cx"> // For <area> tags in image maps, walk the tree for the <area>, not the <img> using it.
</span><span class="cx"> for (Node* titleNode = m_innerNode.get(); titleNode; titleNode = titleNode->parentNode()) {
</span><del>- if (is<Element>(titleNode)) {
</del><ins>+ if (is<Element>(*titleNode)) {
</ins><span class="cx"> Element& titleElement = downcast<Element>(*titleNode);
</span><span class="cx"> String title = titleElement.title();
</span><span class="cx"> if (!title.isEmpty()) {
</span><span class="lines">@@ -239,7 +239,7 @@
</span><span class="cx"> String HitTestResult::innerTextIfTruncated(TextDirection& dir) const
</span><span class="cx"> {
</span><span class="cx"> for (Node* truncatedNode = m_innerNode.get(); truncatedNode; truncatedNode = truncatedNode->parentNode()) {
</span><del>- if (!is<Element>(truncatedNode))
</del><ins>+ if (!is<Element>(*truncatedNode))
</ins><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> if (auto renderer = downcast<Element>(*truncatedNode).renderer()) {
</span><span class="lines">@@ -363,7 +363,7 @@
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(VIDEO)
</span><span class="cx"> HTMLMediaElement* mediaElt(mediaElement());
</span><del>- return (mediaElt && is<HTMLVideoElement>(mediaElt) && mediaElt->supportsFullscreen());
</del><ins>+ return is<HTMLVideoElement>(mediaElt) && mediaElt->supportsFullscreen();
</ins><span class="cx"> #else
</span><span class="cx"> return false;
</span><span class="cx"> #endif
</span><span class="lines">@@ -425,7 +425,7 @@
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(VIDEO)
</span><span class="cx"> HTMLMediaElement* mediaElement(this->mediaElement());
</span><del>- if (mediaElement && is<HTMLVideoElement>(mediaElement)) {
</del><ins>+ if (is<HTMLVideoElement>(mediaElement)) {
</ins><span class="cx"> HTMLVideoElement& videoElement = downcast<HTMLVideoElement>(*mediaElement);
</span><span class="cx"> if (!videoElement.isFullscreen() && mediaElement->supportsFullscreen()) {
</span><span class="cx"> UserGestureIndicator indicator(DefinitelyProcessingUserGesture);
</span><span class="lines">@@ -483,7 +483,7 @@
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(VIDEO)
</span><span class="cx"> if (HTMLMediaElement* mediaElt = mediaElement())
</span><del>- return is<HTMLVideoElement>(mediaElt);
</del><ins>+ return is<HTMLVideoElement>(*mediaElt);
</ins><span class="cx"> #endif
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="lines">@@ -676,7 +676,7 @@
</span><span class="cx"> Node* node = m_innerNode.get();
</span><span class="cx"> if (!node)
</span><span class="cx"> return nullptr;
</span><del>- if (is<Element>(node))
</del><ins>+ if (is<Element>(*node))
</ins><span class="cx"> return downcast<Element>(node);
</span><span class="cx"> return node->parentElement();
</span><span class="cx"> }
</span><span class="lines">@@ -686,7 +686,7 @@
</span><span class="cx"> Node* node = m_innerNonSharedNode.get();
</span><span class="cx"> if (!node)
</span><span class="cx"> return nullptr;
</span><del>- if (is<Element>(node))
</del><ins>+ if (is<Element>(*node))
</ins><span class="cx"> return downcast<Element>(node);
</span><span class="cx"> return node->parentElement();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockFlowcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlockFlow.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlockFlow.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderBlockFlow.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -3567,7 +3567,7 @@
</span><span class="cx"> auto renderer = render->parent();
</span><span class="cx"> while (renderer) {
</span><span class="cx"> // Get the first non-shadow HTMLElement and see if it's an input.
</span><del>- if (renderer->element() && is<HTMLElement>(renderer->element()) && !renderer->element()->isInShadowTree()) {
</del><ins>+ if (is<HTMLElement>(renderer->element()) && !renderer->element()->isInShadowTree()) {
</ins><span class="cx"> const HTMLElement& element = downcast<HTMLElement>(*renderer->element());
</span><span class="cx"> return !is<HTMLInputElement>(element) && !is<HTMLTextAreaElement>(element);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBox.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -2478,7 +2478,7 @@
</span><span class="cx"> // stretching column flexbox.
</span><span class="cx"> // FIXME: Think about block-flow here.
</span><span class="cx"> // https://bugs.webkit.org/show_bug.cgi?id=46473
</span><del>- if (logicalWidth.type() == Auto && !isStretchingColumnFlexItem(*this) && element() && (is<HTMLInputElement>(element()) || is<HTMLSelectElement>(element()) || is<HTMLButtonElement>(element()) || is<HTMLTextAreaElement>(element()) || is<HTMLLegendElement>(element())))
</del><ins>+ if (logicalWidth.type() == Auto && !isStretchingColumnFlexItem(*this) && element() && (is<HTMLInputElement>(*element()) || is<HTMLSelectElement>(*element()) || is<HTMLButtonElement>(*element()) || is<HTMLTextAreaElement>(*element()) || is<HTMLLegendElement>(*element())))
</ins><span class="cx"> return true;
</span><span class="cx">
</span><span class="cx"> if (isHorizontalWritingMode() != containingBlock()->isHorizontalWritingMode())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderCountercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderCounter.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderCounter.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderCounter.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -142,7 +142,7 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx"> if (Element* element = renderer.element()) {
</span><del>- if (is<HTMLOListElement>(element)) {
</del><ins>+ if (is<HTMLOListElement>(*element)) {
</ins><span class="cx"> value = downcast<HTMLOListElement>(*element).start();
</span><span class="cx"> isReset = true;
</span><span class="cx"> return true;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderDetailsMarkercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderDetailsMarker.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderDetailsMarker.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderDetailsMarker.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -144,9 +144,9 @@
</span><span class="cx"> for (RenderObject* renderer = parent(); renderer; renderer = renderer->parent()) {
</span><span class="cx"> if (!renderer->node())
</span><span class="cx"> continue;
</span><del>- if (is<HTMLDetailsElement>(renderer->node()))
</del><ins>+ if (is<HTMLDetailsElement>(*renderer->node()))
</ins><span class="cx"> return !downcast<HTMLDetailsElement>(*renderer->node()).getAttribute(openAttr).isNull();
</span><del>- if (is<HTMLInputElement>(renderer->node()))
</del><ins>+ if (is<HTMLInputElement>(*renderer->node()))
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderEmbeddedObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderEmbeddedObject.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderEmbeddedObject.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderEmbeddedObject.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -600,7 +600,7 @@
</span><span class="cx"> if (!shouldUnavailablePluginMessageBeButton(document(), m_pluginUnavailabilityReason))
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if (!is<MouseEvent>(event))
</del><ins>+ if (!is<MouseEvent>(*event))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> MouseEvent& mouseEvent = downcast<MouseEvent>(*event);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderFileUploadControlcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -255,7 +255,7 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(inputElement().shadowRoot());
</span><span class="cx"> Node* buttonNode = inputElement().shadowRoot()->firstChild();
</span><del>- return buttonNode && is<HTMLInputElement>(buttonNode) ? downcast<HTMLInputElement>(buttonNode) : nullptr;
</del><ins>+ return is<HTMLInputElement>(buttonNode) ? downcast<HTMLInputElement>(buttonNode) : nullptr;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> String RenderFileUploadControl::buttonValue()
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderImagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderImage.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderImage.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderImage.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -514,7 +514,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> Element* focusedElement = document().focusedElement();
</span><del>- if (!focusedElement || !is<HTMLAreaElement>(focusedElement))
</del><ins>+ if (!is<HTMLAreaElement>(focusedElement))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> HTMLAreaElement& areaElement = downcast<HTMLAreaElement>(*focusedElement);
</span><span class="lines">@@ -560,7 +560,7 @@
</span><span class="cx"> if (!img || img->isNull())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- HTMLImageElement* imageElement = (element() && is<HTMLImageElement>(element())) ? downcast<HTMLImageElement>(element()) : nullptr;
</del><ins>+ HTMLImageElement* imageElement = is<HTMLImageElement>(element()) ? downcast<HTMLImageElement>(element()) : nullptr;
</ins><span class="cx"> CompositeOperator compositeOperator = imageElement ? imageElement->compositeOperator() : CompositeSourceOver;
</span><span class="cx"> Image* image = imageResource().image().get();
</span><span class="cx"> bool useLowQualityScaling = shouldPaintAtLowQuality(context, image, image, LayoutSize(rect.size()));
</span><span class="lines">@@ -622,7 +622,7 @@
</span><span class="cx">
</span><span class="cx"> HTMLMapElement* RenderImage::imageMap() const
</span><span class="cx"> {
</span><del>- HTMLImageElement* image = element() && is<HTMLImageElement>(element()) ? downcast<HTMLImageElement>(element()) : nullptr;
</del><ins>+ HTMLImageElement* image = is<HTMLImageElement>(element()) ? downcast<HTMLImageElement>(element()) : nullptr;
</ins><span class="cx"> return image ? image->treeScope().getImageMap(image->fastGetAttribute(usemapAttr)) : nullptr;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayer.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -2380,7 +2380,7 @@
</span><span class="cx"> if (ownerElement && ownerElement->renderer()) {
</span><span class="cx"> HTMLFrameElementBase* frameElementBase = nullptr;
</span><span class="cx">
</span><del>- if (is<HTMLFrameElementBase>(ownerElement))
</del><ins>+ if (is<HTMLFrameElementBase>(*ownerElement))
</ins><span class="cx"> frameElementBase = downcast<HTMLFrameElementBase>(ownerElement);
</span><span class="cx">
</span><span class="cx"> if (frameElementAndViewPermitScroll(frameElementBase, &frameView)) {
</span><span class="lines">@@ -2574,7 +2574,7 @@
</span><span class="cx">
</span><span class="cx"> EResize resize = renderer->style().resize();
</span><span class="cx"> if (resize != RESIZE_VERTICAL && difference.width()) {
</span><del>- if (is<HTMLFormControlElement>(element)) {
</del><ins>+ if (is<HTMLFormControlElement>(*element)) {
</ins><span class="cx"> // Make implicit margins from the theme explicit (see <http://bugs.webkit.org/show_bug.cgi?id=9547>).
</span><span class="cx"> styledElement->setInlineStyleProperty(CSSPropertyMarginLeft, renderer->marginLeft() / zoomFactor, CSSPrimitiveValue::CSS_PX);
</span><span class="cx"> styledElement->setInlineStyleProperty(CSSPropertyMarginRight, renderer->marginRight() / zoomFactor, CSSPrimitiveValue::CSS_PX);
</span><span class="lines">@@ -2585,7 +2585,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (resize != RESIZE_HORIZONTAL && difference.height()) {
</span><del>- if (is<HTMLFormControlElement>(element)) {
</del><ins>+ if (is<HTMLFormControlElement>(*element)) {
</ins><span class="cx"> // Make implicit margins from the theme explicit (see <http://bugs.webkit.org/show_bug.cgi?id=9547>).
</span><span class="cx"> styledElement->setInlineStyleProperty(CSSPropertyMarginTop, renderer->marginTop() / zoomFactor, CSSPrimitiveValue::CSS_PX);
</span><span class="cx"> styledElement->setInlineStyleProperty(CSSPropertyMarginBottom, renderer->marginBottom() / zoomFactor, CSSPrimitiveValue::CSS_PX);
</span><span class="lines">@@ -3089,7 +3089,7 @@
</span><span class="cx"> void RenderLayer::updateSnapOffsets()
</span><span class="cx"> {
</span><span class="cx"> // FIXME: Extend support beyond HTMLElements.
</span><del>- if (!enclosingElement() || !enclosingElement()->renderBox() || !is<HTMLElement>(enclosingElement()))
</del><ins>+ if (!is<HTMLElement>(enclosingElement()) || !enclosingElement()->renderBox())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> RenderBox* box = enclosingElement()->renderBox();
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayerBackingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -1681,7 +1681,7 @@
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> Element* element = downcast<Element>(renderer->node());
</span><del>- if (!element || !is<HTMLPlugInElement>(element))
</del><ins>+ if (!is<HTMLPlugInElement>(element))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> return downcast<HTMLPlugInElement>(*element).isRestartedPlugin();
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderListBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderListBox.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderListBox.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderListBox.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -116,9 +116,9 @@
</span><span class="cx"> HTMLElement* element = listItems[i];
</span><span class="cx"> String text;
</span><span class="cx"> Font itemFont = style().font();
</span><del>- if (is<HTMLOptionElement>(element))
</del><ins>+ if (is<HTMLOptionElement>(*element))
</ins><span class="cx"> text = downcast<HTMLOptionElement>(*element).textIndentedToRespectGroupLabel();
</span><del>- else if (is<HTMLOptGroupElement>(element)) {
</del><ins>+ else if (is<HTMLOptGroupElement>(*element)) {
</ins><span class="cx"> text = downcast<HTMLOptGroupElement>(*element).groupLabelText();
</span><span class="cx"> FontDescription d = itemFont.fontDescription();
</span><span class="cx"> d.setWeight(d.bolderWeight());
</span><span class="lines">@@ -330,7 +330,7 @@
</span><span class="cx"> const Vector<HTMLElement*>& listItems = selectElement().listItems();
</span><span class="cx"> for (int i = 0; i < size; ++i) {
</span><span class="cx"> HTMLElement* element = listItems[i];
</span><del>- if (is<HTMLOptionElement>(element) && !element->isDisabledFormControl()) {
</del><ins>+ if (is<HTMLOptionElement>(*element) && !element->isDisabledFormControl()) {
</ins><span class="cx"> selectElement().setActiveSelectionEndIndex(i);
</span><span class="cx"> rects.append(snappedIntRect(itemBoundingBoxRect(additionalOffset, i)));
</span><span class="cx"> return;
</span><span class="lines">@@ -385,10 +385,10 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> String itemText;
</span><del>- bool isOptionElement = is<HTMLOptionElement>(listItemElement);
</del><ins>+ bool isOptionElement = is<HTMLOptionElement>(*listItemElement);
</ins><span class="cx"> if (isOptionElement)
</span><span class="cx"> itemText = downcast<HTMLOptionElement>(*listItemElement).textIndentedToRespectGroupLabel();
</span><del>- else if (is<HTMLOptGroupElement>(listItemElement))
</del><ins>+ else if (is<HTMLOptGroupElement>(*listItemElement))
</ins><span class="cx"> itemText = downcast<HTMLOptGroupElement>(*listItemElement).groupLabelText();
</span><span class="cx"> applyTextTransform(style(), itemText, ' ');
</span><span class="cx">
</span><span class="lines">@@ -409,7 +409,7 @@
</span><span class="cx"> LayoutRect r = itemBoundingBoxRect(paintOffset, listIndex);
</span><span class="cx"> r.move(itemOffsetForAlignment(textRun, itemStyle, itemFont, r));
</span><span class="cx">
</span><del>- if (is<HTMLOptGroupElement>(listItemElement)) {
</del><ins>+ if (is<HTMLOptGroupElement>(*listItemElement)) {
</ins><span class="cx"> FontDescription d = itemFont.fontDescription();
</span><span class="cx"> d.setWeight(d.bolderWeight());
</span><span class="cx"> itemFont = Font(d, itemFont.letterSpacing(), itemFont.wordSpacing());
</span><span class="lines">@@ -426,7 +426,7 @@
</span><span class="cx"> HTMLElement* listItemElement = listItems[listIndex];
</span><span class="cx">
</span><span class="cx"> Color backColor;
</span><del>- if (is<HTMLOptionElement>(listItemElement) && downcast<HTMLOptionElement>(*listItemElement).selected()) {
</del><ins>+ if (is<HTMLOptionElement>(*listItemElement) && downcast<HTMLOptionElement>(*listItemElement).selected()) {
</ins><span class="cx"> if (frame().selection().isFocusedAndActive() && document().focusedElement() == &selectElement())
</span><span class="cx"> backColor = theme().activeListBoxSelectionBackgroundColor();
</span><span class="cx"> else
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderMarqueecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderMarquee.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderMarquee.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderMarquee.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx"> {
</span><span class="cx"> int result = m_layer->renderer().style().marqueeSpeed();
</span><span class="cx"> Element* element = m_layer->renderer().element();
</span><del>- if (element && is<HTMLMarqueeElement>(element))
</del><ins>+ if (is<HTMLMarqueeElement>(element))
</ins><span class="cx"> result = std::max(result, downcast<HTMLMarqueeElement>(*element).minimumDelay());
</span><span class="cx"> return result;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderMenuListcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderMenuList.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderMenuList.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderMenuList.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx">
</span><span class="cx"> size_t count = 0;
</span><span class="cx"> for (size_t i = 0; i < numberOfItems; ++i) {
</span><del>- if (is<HTMLOptionElement>(listItems[i]) && downcast<HTMLOptionElement>(*listItems[i]).selected())
</del><ins>+ if (is<HTMLOptionElement>(*listItems[i]) && downcast<HTMLOptionElement>(*listItems[i]).selected())
</ins><span class="cx"> ++count;
</span><span class="cx"> }
</span><span class="cx"> return count;
</span><span class="lines">@@ -214,7 +214,7 @@
</span><span class="cx">
</span><span class="cx"> for (int i = 0; i < size; ++i) {
</span><span class="cx"> HTMLElement* element = listItems[i];
</span><del>- if (!is<HTMLOptionElement>(element))
</del><ins>+ if (!is<HTMLOptionElement>(*element))
</ins><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> String text = downcast<HTMLOptionElement>(*element).textIndentedToRespectGroupLabel();
</span><span class="lines">@@ -270,7 +270,7 @@
</span><span class="cx"> String text = emptyString();
</span><span class="cx"> if (i >= 0 && i < size) {
</span><span class="cx"> Element* element = listItems[i];
</span><del>- if (is<HTMLOptionElement>(element)) {
</del><ins>+ if (is<HTMLOptionElement>(*element)) {
</ins><span class="cx"> text = downcast<HTMLOptionElement>(*element).textIndentedToRespectGroupLabel();
</span><span class="cx"> m_optionStyle = element->computedStyle();
</span><span class="cx"> }
</span><span class="lines">@@ -450,9 +450,9 @@
</span><span class="cx">
</span><span class="cx"> String itemString;
</span><span class="cx"> Element* element = listItems[listIndex];
</span><del>- if (is<HTMLOptGroupElement>(element))
</del><ins>+ if (is<HTMLOptGroupElement>(*element))
</ins><span class="cx"> itemString = downcast<HTMLOptGroupElement>(*element).groupLabelText();
</span><del>- else if (is<HTMLOptionElement>(element))
</del><ins>+ else if (is<HTMLOptionElement>(*element))
</ins><span class="cx"> itemString = downcast<HTMLOptionElement>(*element).textIndentedToRespectGroupLabel();
</span><span class="cx">
</span><span class="cx"> applyTextTransform(style(), itemString, ' ');
</span><span class="lines">@@ -492,12 +492,12 @@
</span><span class="cx"> if (listIndex >= listItems.size())
</span><span class="cx"> return false;
</span><span class="cx"> HTMLElement* element = listItems[listIndex];
</span><del>- if (!is<HTMLOptionElement>(element))
</del><ins>+ if (!is<HTMLOptionElement>(*element))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> bool groupEnabled = true;
</span><span class="cx"> if (Element* parentElement = element->parentElement()) {
</span><del>- if (is<HTMLOptGroupElement>(parentElement))
</del><ins>+ if (is<HTMLOptGroupElement>(*parentElement))
</ins><span class="cx"> groupEnabled = !parentElement->isDisabledFormControl();
</span><span class="cx"> }
</span><span class="cx"> if (!groupEnabled)
</span><span class="lines">@@ -645,7 +645,7 @@
</span><span class="cx"> bool RenderMenuList::itemIsLabel(unsigned listIndex) const
</span><span class="cx"> {
</span><span class="cx"> const Vector<HTMLElement*>& listItems = selectElement().listItems();
</span><del>- return listIndex < listItems.size() && is<HTMLOptGroupElement>(listItems[listIndex]);
</del><ins>+ return listIndex < listItems.size() && is<HTMLOptGroupElement>(*listItems[listIndex]);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool RenderMenuList::itemIsSelected(unsigned listIndex) const
</span><span class="lines">@@ -654,7 +654,7 @@
</span><span class="cx"> if (listIndex >= listItems.size())
</span><span class="cx"> return false;
</span><span class="cx"> HTMLElement* element = listItems[listIndex];
</span><del>- return is<HTMLOptionElement>(element) && downcast<HTMLOptionElement>(*element).selected();
</del><ins>+ return is<HTMLOptionElement>(*element) && downcast<HTMLOptionElement>(*element).selected();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void RenderMenuList::setTextFromItem(unsigned listIndex)
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderMetercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderMeter.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderMeter.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderMeter.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(element());
</span><span class="cx">
</span><del>- if (is<HTMLMeterElement>(element()))
</del><ins>+ if (is<HTMLMeterElement>(*element()))
</ins><span class="cx"> return downcast<HTMLMeterElement>(element());
</span><span class="cx">
</span><span class="cx"> ASSERT(element()->shadowHost());
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderNamedFlowThreadcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderNamedFlowThread.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderNamedFlowThread.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderNamedFlowThread.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -545,10 +545,10 @@
</span><span class="cx"> if (!child.node())
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- ASSERT(is<Element>(child.node()));
</del><ins>+ ASSERT(is<Element>(*child.node()));
</ins><span class="cx">
</span><span class="cx"> Node* originalParent = NodeRenderingTraversal::parent(child.node());
</span><del>- if (!originalParent || !is<Element>(originalParent) || !originalParent->renderer())
</del><ins>+ if (!is<Element>(originalParent) || !originalParent->renderer())
</ins><span class="cx"> return true;
</span><span class="cx">
</span><span class="cx"> return downcast<Element>(*originalParent).renderer()->isChildAllowed(child, style);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderObject.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -1034,7 +1034,7 @@
</span><span class="cx"> if (urlRect.isEmpty())
</span><span class="cx"> return;
</span><span class="cx"> Node* node = this->node();
</span><del>- if (!node || !node->isLink() || !is<Element>(node))
</del><ins>+ if (!is<Element>(node) || !node->isLink())
</ins><span class="cx"> return;
</span><span class="cx"> const AtomicString& href = downcast<Element>(*node).getAttribute(hrefAttr);
</span><span class="cx"> if (href.isNull())
</span><span class="lines">@@ -1918,7 +1918,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> // Respect the image's orientation if it's being used as a full-page image or it's
</span><span class="cx"> // an <img> and the setting to respect it everywhere is set.
</span><del>- return (frame().settings().shouldRespectImageOrientation() && node() && is<HTMLImageElement>(node())) ? RespectImageOrientation : DoNotRespectImageOrientation;
</del><ins>+ return (frame().settings().shouldRespectImageOrientation() && is<HTMLImageElement>(node())) ? RespectImageOrientation : DoNotRespectImageOrientation;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool RenderObject::hasOutlineAnnotation() const
</span><span class="lines">@@ -2141,7 +2141,7 @@
</span><span class="cx"> {
</span><span class="cx"> bool valueChanged = (dragOn != isDragging());
</span><span class="cx"> setIsDragging(dragOn);
</span><del>- if (valueChanged && node() && (style().affectedByDrag() || (is<Element>(node()) && downcast<Element>(*node()).childrenAffectedByDrag())))
</del><ins>+ if (valueChanged && node() && (style().affectedByDrag() || (is<Element>(*node()) && downcast<Element>(*node()).childrenAffectedByDrag())))
</ins><span class="cx"> node()->setNeedsStyleRecalc();
</span><span class="cx"> for (RenderObject* curr = firstChildSlow(); curr; curr = curr->nextSibling())
</span><span class="cx"> curr->updateDragState(dragOn);
</span><span class="lines">@@ -2234,7 +2234,7 @@
</span><span class="cx">
</span><span class="cx"> // FIXME: This "find nearest element parent" should be a helper function.
</span><span class="cx"> Node* node = this->node();
</span><del>- while (node && !is<Element>(node))
</del><ins>+ while (node && !is<Element>(*node))
</ins><span class="cx"> node = node->parentNode();
</span><span class="cx"> if (!node)
</span><span class="cx"> return nullptr;
</span><span class="lines">@@ -2298,7 +2298,7 @@
</span><span class="cx"> curr = curr->parent();
</span><span class="cx"> if (curr && curr->isAnonymousBlock() && toRenderBlock(curr)->continuation())
</span><span class="cx"> curr = toRenderBlock(curr)->continuation();
</span><del>- } while (curr && decorations && (!quirksMode || !curr->node() || (!is<HTMLAnchorElement>(curr->node()) && !curr->node()->hasTagName(fontTag))));
</del><ins>+ } while (curr && decorations && (!quirksMode || !curr->node() || (!is<HTMLAnchorElement>(*curr->node()) && !curr->node()->hasTagName(fontTag))));
</ins><span class="cx">
</span><span class="cx"> // If we bailed out, use the element we bailed out at (typically a <font> or <a> element).
</span><span class="cx"> if (decorations && curr) {
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderProgresscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderProgress.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderProgress.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderProgress.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -110,7 +110,7 @@
</span><span class="cx"> if (!element())
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><del>- if (is<HTMLProgressElement>(element()))
</del><ins>+ if (is<HTMLProgressElement>(*element()))
</ins><span class="cx"> return downcast<HTMLProgressElement>(element());
</span><span class="cx">
</span><span class="cx"> ASSERT(element()->shadowHost());
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderSnapshottedPlugIncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -155,7 +155,7 @@
</span><span class="cx">
</span><span class="cx"> void RenderSnapshottedPlugIn::handleEvent(Event* event)
</span><span class="cx"> {
</span><del>- if (!is<MouseEvent>(event))
</del><ins>+ if (!is<MouseEvent>(*event))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> MouseEvent& mouseEvent = downcast<MouseEvent>(*event);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTable.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTable.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderTable.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -350,7 +350,7 @@
</span><span class="cx">
</span><span class="cx"> // HTML tables' width styles already include borders and paddings, but CSS tables' width styles do not.
</span><span class="cx"> LayoutUnit borders = 0;
</span><del>- bool isCSSTable = !element() || !is<HTMLTableElement>(element());
</del><ins>+ bool isCSSTable = !is<HTMLTableElement>(element());
</ins><span class="cx"> if (isCSSTable && styleLogicalWidth.isSpecified() && styleLogicalWidth.isPositive() && style().boxSizing() == CONTENT_BOX)
</span><span class="cx"> borders = borderStart() + borderEnd() + (collapseBorders() ? LayoutUnit() : paddingStart() + paddingEnd());
</span><span class="cx">
</span><span class="lines">@@ -364,7 +364,7 @@
</span><span class="cx"> // HTML tables size as though CSS height includes border/padding, CSS tables do not.
</span><span class="cx"> LayoutUnit borders = LayoutUnit();
</span><span class="cx"> // FIXME: We cannot apply box-sizing: content-box on <table> which other browsers allow.
</span><del>- if ((element() && is<HTMLTableElement>(element())) || style().boxSizing() == BORDER_BOX) {
</del><ins>+ if (is<HTMLTableElement>(element()) || style().boxSizing() == BORDER_BOX) {
</ins><span class="cx"> LayoutUnit borderAndPaddingBefore = borderBefore() + (collapseBorders() ? LayoutUnit() : paddingBefore());
</span><span class="cx"> LayoutUnit borderAndPaddingAfter = borderAfter() + (collapseBorders() ? LayoutUnit() : paddingAfter());
</span><span class="cx"> borders = borderAndPaddingBefore + borderAndPaddingAfter;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTableCellcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTableCell.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTableCell.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderTableCell.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -88,7 +88,7 @@
</span><span class="cx"> unsigned RenderTableCell::parseColSpanFromDOM() const
</span><span class="cx"> {
</span><span class="cx"> ASSERT(element());
</span><del>- if (is<HTMLTableCellElement>(element()))
</del><ins>+ if (is<HTMLTableCellElement>(*element()))
</ins><span class="cx"> return std::min<unsigned>(downcast<HTMLTableCellElement>(*element()).colSpan(), maxColumnIndex);
</span><span class="cx"> #if ENABLE(MATHML)
</span><span class="cx"> if (element()->hasTagName(MathMLNames::mtdTag))
</span><span class="lines">@@ -100,7 +100,7 @@
</span><span class="cx"> unsigned RenderTableCell::parseRowSpanFromDOM() const
</span><span class="cx"> {
</span><span class="cx"> ASSERT(element());
</span><del>- if (is<HTMLTableCellElement>(element()))
</del><ins>+ if (is<HTMLTableCellElement>(*element()))
</ins><span class="cx"> return std::min<unsigned>(downcast<HTMLTableCellElement>(*element()).rowSpan(), maxRowIndex);
</span><span class="cx"> #if ENABLE(MATHML)
</span><span class="cx"> if (element()->hasTagName(MathMLNames::mtdTag))
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTheme.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTheme.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderTheme.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -805,7 +805,7 @@
</span><span class="cx"> bool RenderTheme::isEnabled(const RenderObject& renderer) const
</span><span class="cx"> {
</span><span class="cx"> Node* node = renderer.node();
</span><del>- if (!node || !is<Element>(node))
</del><ins>+ if (!is<Element>(node))
</ins><span class="cx"> return true;
</span><span class="cx"> return !downcast<Element>(*node).isDisabledFormControl();
</span><span class="cx"> }
</span><span class="lines">@@ -813,7 +813,7 @@
</span><span class="cx"> bool RenderTheme::isFocused(const RenderObject& renderer) const
</span><span class="cx"> {
</span><span class="cx"> Node* node = renderer.node();
</span><del>- if (!node || !is<Element>(node))
</del><ins>+ if (!is<Element>(node))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> Element* focusDelegate = downcast<Element>(*node).focusDelegate();
</span><span class="lines">@@ -824,7 +824,7 @@
</span><span class="cx">
</span><span class="cx"> bool RenderTheme::isPressed(const RenderObject& renderer) const
</span><span class="cx"> {
</span><del>- if (!renderer.node() || !is<Element>(renderer.node()))
</del><ins>+ if (!is<Element>(renderer.node()))
</ins><span class="cx"> return false;
</span><span class="cx"> return downcast<Element>(*renderer.node()).active();
</span><span class="cx"> }
</span><span class="lines">@@ -832,7 +832,7 @@
</span><span class="cx"> bool RenderTheme::isSpinUpButtonPartPressed(const RenderObject& renderer) const
</span><span class="cx"> {
</span><span class="cx"> Node* node = renderer.node();
</span><del>- if (!node || !is<Element>(node))
</del><ins>+ if (!is<Element>(node))
</ins><span class="cx"> return false;
</span><span class="cx"> Element& element = downcast<Element>(*node);
</span><span class="cx"> if (!element.active() || !element.isSpinButtonElement())
</span><span class="lines">@@ -843,7 +843,7 @@
</span><span class="cx"> bool RenderTheme::isReadOnlyControl(const RenderObject& renderer) const
</span><span class="cx"> {
</span><span class="cx"> Node* node = renderer.node();
</span><del>- if (!node || !is<HTMLFormControlElement>(node))
</del><ins>+ if (!is<HTMLFormControlElement>(node))
</ins><span class="cx"> return false;
</span><span class="cx"> return !downcast<Element>(*node).matchesReadWritePseudoClass();
</span><span class="cx"> }
</span><span class="lines">@@ -851,7 +851,7 @@
</span><span class="cx"> bool RenderTheme::isHovered(const RenderObject& renderer) const
</span><span class="cx"> {
</span><span class="cx"> Node* node = renderer.node();
</span><del>- if (!node || !is<Element>(node))
</del><ins>+ if (!is<Element>(node))
</ins><span class="cx"> return false;
</span><span class="cx"> if (!downcast<Element>(*node).isSpinButtonElement())
</span><span class="cx"> return downcast<Element>(*node).hovered();
</span><span class="lines">@@ -862,7 +862,7 @@
</span><span class="cx"> bool RenderTheme::isSpinUpButtonPartHovered(const RenderObject& renderer) const
</span><span class="cx"> {
</span><span class="cx"> Node* node = renderer.node();
</span><del>- if (!node || !is<Element>(node) || !downcast<Element>(*node).isSpinButtonElement())
</del><ins>+ if (!is<Element>(node) || !downcast<Element>(*node).isSpinButtonElement())
</ins><span class="cx"> return false;
</span><span class="cx"> SpinButtonElement* element = static_cast<SpinButtonElement*>(node);
</span><span class="cx"> return element->upDownState() == SpinButtonElement::Up;
</span><span class="lines">@@ -1035,7 +1035,7 @@
</span><span class="cx"> GraphicsContextStateSaver stateSaver(*paintInfo.context);
</span><span class="cx"> paintInfo.context->setFillColor(o.style().visitedDependentColor(CSSPropertyColor), ColorSpaceDeviceRGB);
</span><span class="cx"> for (unsigned i = 0; Node* node = options->item(i); i++) {
</span><del>- ASSERT(is<HTMLOptionElement>(node));
</del><ins>+ ASSERT(is<HTMLOptionElement>(*node));
</ins><span class="cx"> HTMLOptionElement& optionElement = downcast<HTMLOptionElement>(*node);
</span><span class="cx"> String value = optionElement.value();
</span><span class="cx"> if (!input->isValidValue(value))
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeGtk.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeGtk.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderThemeGtk.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -261,7 +261,7 @@
</span><span class="cx"> Node* mediaNode = node ? node->shadowHost() : nullptr;
</span><span class="cx"> if (!mediaNode)
</span><span class="cx"> mediaNode = node;
</span><del>- if (!mediaNode || !is<HTMLMediaElement>(mediaNode))
</del><ins>+ if (!is<HTMLMediaElement>(mediaNode))
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> return downcast<HTMLMediaElement>(mediaNode);
</span><span class="lines">@@ -316,7 +316,7 @@
</span><span class="cx">
</span><span class="cx"> static bool nodeHasClass(Node* node, const char* className)
</span><span class="cx"> {
</span><del>- if (!is<Element>(node))
</del><ins>+ if (!is<Element>(*node))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> Element& element = downcast<Element>(*node);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeMac.mm (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeMac.mm        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderThemeMac.mm        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -729,7 +729,7 @@
</span><span class="cx"> void RenderThemeMac::updatePressedState(NSCell* cell, const RenderObject& o)
</span><span class="cx"> {
</span><span class="cx"> bool oldPressed = [cell isHighlighted];
</span><del>- bool pressed = o.node() && is<Element>(o.node()) && downcast<Element>(*o.node()).active();
</del><ins>+ bool pressed = is<Element>(o.node()) && downcast<Element>(*o.node()).active();
</ins><span class="cx"> if (pressed != oldPressed)
</span><span class="cx"> [cell setHighlighted:pressed];
</span><span class="cx"> }
</span><span class="lines">@@ -1531,7 +1531,7 @@
</span><span class="cx">
</span><span class="cx"> // Update the various states we respond to.
</span><span class="cx"> updateEnabledState(sliderThumbCell, o);
</span><del>- Element* focusDelegate = (o.node() && is<Element>(o.node())) ? downcast<Element>(o.node())->focusDelegate() : nullptr;
</del><ins>+ Element* focusDelegate = is<Element>(o.node()) ? downcast<Element>(*o.node()).focusDelegate() : nullptr;
</ins><span class="cx"> if (focusDelegate)
</span><span class="cx"> updateFocusedState(sliderThumbCell, *focusDelegate->renderer());
</span><span class="cx">
</span><span class="lines">@@ -1683,7 +1683,7 @@
</span><span class="cx">
</span><span class="cx"> NSSearchFieldCell* search = this->search();
</span><span class="cx">
</span><del>- if (!input->isDisabledFormControl() && (is<HTMLTextFormControlElement>(input) && !downcast<HTMLTextFormControlElement>(*input).isReadOnly()))
</del><ins>+ if (!input->isDisabledFormControl() && (is<HTMLTextFormControlElement>(*input) && !downcast<HTMLTextFormControlElement>(*input).isReadOnly()))
</ins><span class="cx"> updatePressedState([search cancelButtonCell], o);
</span><span class="cx"> else if ([[search cancelButtonCell] isHighlighted])
</span><span class="cx"> [[search cancelButtonCell] setHighlighted:NO];
</span><span class="lines">@@ -1851,12 +1851,12 @@
</span><span class="cx"> // from our node. Assuming this node is the plugin overlay element, we should get to the
</span><span class="cx"> // plugin itself by asking for the shadow root parent, and then its parent.
</span><span class="cx">
</span><del>- if (!is<HTMLElement>(renderBlock.element()))
</del><ins>+ if (!is<HTMLElement>(*renderBlock.element()))
</ins><span class="cx"> return true;
</span><span class="cx">
</span><span class="cx"> HTMLElement& plugInOverlay = downcast<HTMLElement>(*renderBlock.element());
</span><span class="cx"> Element* parent = plugInOverlay.parentOrShadowHostElement();
</span><del>- while (parent && !is<HTMLPlugInElement>(parent))
</del><ins>+ while (parent && !is<HTMLPlugInElement>(*parent))
</ins><span class="cx"> parent = parent->parentOrShadowHostElement();
</span><span class="cx">
</span><span class="cx"> if (!parent)
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTreeAsTextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTreeAsText.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTreeAsText.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/RenderTreeAsText.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -125,7 +125,7 @@
</span><span class="cx">
</span><span class="cx"> static bool isEmptyOrUnstyledAppleStyleSpan(const Node* node)
</span><span class="cx"> {
</span><del>- if (!node || !is<HTMLSpanElement>(node))
</del><ins>+ if (!is<HTMLSpanElement>(node))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> const HTMLElement& element = downcast<HTMLSpanElement>(*node);
</span><span class="lines">@@ -393,7 +393,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (behavior & RenderAsTextShowIDAndClass) {
</span><del>- if (Element* element = o.node() && is<Element>(o.node()) ? downcast<Element>(o.node()) : nullptr) {
</del><ins>+ if (Element* element = is<Element>(o.node()) ? downcast<Element>(o.node()) : nullptr) {
</ins><span class="cx"> if (element->hasID())
</span><span class="cx"> ts << " id=\"" + element->getIdAttribute() + "\"";
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingTextAutosizercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/TextAutosizer.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/TextAutosizer.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/TextAutosizer.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -277,7 +277,7 @@
</span><span class="cx"> return renderer->isFloating() || renderer->isOutOfFlowPositioned();
</span><span class="cx"> // Avoid creating containers for text within text controls, buttons, or <select> buttons.
</span><span class="cx"> Node* parentNode = renderer->parent() ? renderer->parent()->generatingNode() : nullptr;
</span><del>- if (parentNode && is<Element>(parentNode) && formInputTags().contains(downcast<Element>(*parentNode).tagQName()))
</del><ins>+ if (is<Element>(parentNode) && formInputTags().contains(downcast<Element>(*parentNode).tagQName()))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> return true;
</span><span class="lines">@@ -388,7 +388,7 @@
</span><span class="cx"> const RenderObject* renderer = container;
</span><span class="cx"> while (renderer) {
</span><span class="cx"> const Node* rendererNode = renderer->node();
</span><del>- if (rendererNode && is<Element>(rendererNode)) {
</del><ins>+ if (is<Element>(rendererNode)) {
</ins><span class="cx"> if (tags.contains(downcast<Element>(*rendererNode).tagQName()))
</span><span class="cx"> return true;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingmathmlRenderMathMLBlockcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/mathml/RenderMathMLBlock.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/mathml/RenderMathMLBlock.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/mathml/RenderMathMLBlock.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx">
</span><span class="cx"> bool RenderMathMLBlock::isChildAllowed(const RenderObject& child, const RenderStyle&) const
</span><span class="cx"> {
</span><del>- return child.node() && is<Element>(*child.node());
</del><ins>+ return is<Element>(child.node());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> RenderPtr<RenderMathMLBlock> RenderMathMLBlock::createAnonymousMathMLBlock()
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgRenderSVGGradientStopcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -67,8 +67,8 @@
</span><span class="cx">
</span><span class="cx"> SVGGradientElement* RenderSVGGradientStop::gradientElement()
</span><span class="cx"> {
</span><del>- if (element().parentElement() && is<SVGGradientElement>(*element().parentElement()))
- return &downcast<SVGGradientElement>(*element().parentElement());
</del><ins>+ if (is<SVGGradientElement>(element().parentElement()))
+ return downcast<SVGGradientElement>(element().parentElement());
</ins><span class="cx"> return nullptr;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgRenderSVGTransformableContainercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/RenderSVGTransformableContainer.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/RenderSVGTransformableContainer.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGTransformableContainer.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> useElement = &downcast<SVGUseElement>(element);
</span><span class="cx"> else if (element.isInShadowTree() && is<SVGGElement>(element)) {
</span><span class="cx"> SVGElement* correspondingElement = element.correspondingElement();
</span><del>- if (correspondingElement && is<SVGUseElement>(correspondingElement))
</del><ins>+ if (is<SVGUseElement>(correspondingElement))
</ins><span class="cx"> useElement = downcast<SVGUseElement>(correspondingElement);
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgSVGRenderingContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/SVGRenderingContext.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/SVGRenderingContext.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/rendering/svg/SVGRenderingContext.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx"> bool isolateMaskForBlending = false;
</span><span class="cx">
</span><span class="cx"> #if ENABLE(CSS_COMPOSITING)
</span><del>- if (svgStyle.hasMasker() && is<SVGGraphicsElement>(downcast<SVGElement>(renderer.element()))) {
</del><ins>+ if (svgStyle.hasMasker() && is<SVGGraphicsElement>(downcast<SVGElement>(*renderer.element()))) {
</ins><span class="cx"> SVGGraphicsElement& graphicsElement = downcast<SVGGraphicsElement>(*renderer.element());
</span><span class="cx"> isolateMaskForBlending = graphicsElement.shouldIsolateBlending();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorestyleStyleResolveTreecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/style/StyleResolveTree.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/style/StyleResolveTree.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/style/StyleResolveTree.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -359,13 +359,13 @@
</span><span class="cx"> for (Node* sibling = current.nextSibling(); sibling; sibling = sibling->nextSibling()) {
</span><span class="cx"> if (sibling->needsStyleRecalc())
</span><span class="cx"> return;
</span><del>- if (sibling->isElementNode()) {
</del><ins>+ if (is<Element>(*sibling)) {
</ins><span class="cx"> // Text renderers beyond rendered elements can't be affected.
</span><span class="cx"> if (!sibling->renderer() || isRendererReparented(sibling->renderer()))
</span><span class="cx"> continue;
</span><span class="cx"> return;
</span><span class="cx"> }
</span><del>- if (!is<Text>(sibling))
</del><ins>+ if (!is<Text>(*sibling))
</ins><span class="cx"> continue;
</span><span class="cx"> Text& textSibling = downcast<Text>(*sibling);
</span><span class="cx"> if (!textSibling.containsOnlyWhitespace())
</span><span class="lines">@@ -478,11 +478,11 @@
</span><span class="cx"> renderTreePosition.invalidateNextSibling(*child->renderer());
</span><span class="cx"> continue;
</span><span class="cx"> }
</span><del>- if (is<Text>(child)) {
</del><ins>+ if (is<Text>(*child)) {
</ins><span class="cx"> attachTextRenderer(downcast<Text>(*child), renderTreePosition);
</span><span class="cx"> continue;
</span><span class="cx"> }
</span><del>- if (is<Element>(child))
</del><ins>+ if (is<Element>(*child))
</ins><span class="cx"> attachRenderTree(downcast<Element>(*child), inheritedStyle, renderTreePosition, nullptr);
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -495,13 +495,13 @@
</span><span class="cx"> for (Node* current = insertionPoint.firstDistributed(); current; current = insertionPoint.nextDistributedTo(current)) {
</span><span class="cx"> if (current->renderer())
</span><span class="cx"> renderTreePosition.invalidateNextSibling(*current->renderer());
</span><del>- if (is<Text>(current)) {
</del><ins>+ if (is<Text>(*current)) {
</ins><span class="cx"> if (current->renderer())
</span><span class="cx"> continue;
</span><span class="cx"> attachTextRenderer(downcast<Text>(*current), renderTreePosition);
</span><span class="cx"> continue;
</span><span class="cx"> }
</span><del>- if (is<Element>(current)) {
</del><ins>+ if (is<Element>(*current)) {
</ins><span class="cx"> Element& currentElement = downcast<Element>(*current);
</span><span class="cx"> if (currentElement.renderer())
</span><span class="cx"> detachRenderTree(currentElement);
</span><span class="lines">@@ -651,11 +651,11 @@
</span><span class="cx"> static void detachDistributedChildren(InsertionPoint& insertionPoint)
</span><span class="cx"> {
</span><span class="cx"> for (Node* current = insertionPoint.firstDistributed(); current; current = insertionPoint.nextDistributedTo(current)) {
</span><del>- if (is<Text>(current)) {
</del><ins>+ if (is<Text>(*current)) {
</ins><span class="cx"> detachTextRenderer(downcast<Text>(*current));
</span><span class="cx"> continue;
</span><span class="cx"> }
</span><del>- if (is<Element>(current))
</del><ins>+ if (is<Element>(*current))
</ins><span class="cx"> detachRenderTree(downcast<Element>(*current));
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -666,11 +666,11 @@
</span><span class="cx"> detachDistributedChildren(downcast<InsertionPoint>(current));
</span><span class="cx">
</span><span class="cx"> for (Node* child = current.firstChild(); child; child = child->nextSibling()) {
</span><del>- if (is<Text>(child)) {
</del><ins>+ if (is<Text>(*child)) {
</ins><span class="cx"> Style::detachTextRenderer(downcast<Text>(*child));
</span><span class="cx"> continue;
</span><span class="cx"> }
</span><del>- if (is<Element>(child))
</del><ins>+ if (is<Element>(*child))
</ins><span class="cx"> detachRenderTree(downcast<Element>(*child), detachType);
</span><span class="cx"> }
</span><span class="cx"> current.clearChildNeedsStyleRecalc();
</span><span class="lines">@@ -815,11 +815,11 @@
</span><span class="cx"> for (Node* child = shadowRoot.firstChild(); child; child = child->nextSibling()) {
</span><span class="cx"> if (child->renderer())
</span><span class="cx"> renderTreePosition.invalidateNextSibling(*child->renderer());
</span><del>- if (is<Text>(child) && child->needsStyleRecalc()) {
</del><ins>+ if (is<Text>(*child) && child->needsStyleRecalc()) {
</ins><span class="cx"> resolveTextNode(downcast<Text>(*child), renderTreePosition);
</span><span class="cx"> continue;
</span><span class="cx"> }
</span><del>- if (is<Element>(child))
</del><ins>+ if (is<Element>(*child))
</ins><span class="cx"> resolveTree(downcast<Element>(*child), host.renderer()->style(), renderTreePosition, change);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -939,11 +939,11 @@
</span><span class="cx"> for (Node* child = current.firstChild(); child; child = child->nextSibling()) {
</span><span class="cx"> if (RenderObject* childRenderer = child->renderer())
</span><span class="cx"> childRenderTreePosition.invalidateNextSibling(*childRenderer);
</span><del>- if (is<Text>(child) && child->needsStyleRecalc()) {
</del><ins>+ if (is<Text>(*child) && child->needsStyleRecalc()) {
</ins><span class="cx"> resolveTextNode(downcast<Text>(*child), childRenderTreePosition);
</span><span class="cx"> continue;
</span><span class="cx"> }
</span><del>- if (!is<Element>(child))
</del><ins>+ if (!is<Element>(*child))
</ins><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> Element& childElement = downcast<Element>(*child);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGAElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -160,7 +160,7 @@
</span><span class="cx">
</span><span class="cx"> if (url[0] == '#') {
</span><span class="cx"> Element* targetElement = treeScope().getElementById(url.substringSharingImpl(1));
</span><del>- if (targetElement && is<SVGSMILElement>(*targetElement)) {
</del><ins>+ if (is<SVGSMILElement>(targetElement)) {
</ins><span class="cx"> downcast<SVGSMILElement>(*targetElement).beginByLinkActivation();
</span><span class="cx"> event->setDefaultHandled();
</span><span class="cx"> return;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAltGlyphElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAltGlyphElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAltGlyphElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGAltGlyphElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -94,12 +94,12 @@
</span><span class="cx"> if (!element)
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- if (is<SVGGlyphElement>(element)) {
</del><ins>+ if (is<SVGGlyphElement>(*element)) {
</ins><span class="cx"> glyphNames.append(target);
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (is<SVGAltGlyphDefElement>(element)
</del><ins>+ if (is<SVGAltGlyphDefElement>(*element)
</ins><span class="cx"> && downcast<SVGAltGlyphDefElement>(*element).hasValidGlyphElements(glyphNames))
</span><span class="cx"> return true;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimateMotionElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimateMotionElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimateMotionElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGAnimateMotionElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx"> if (targetElement->hasTagName(gTag)
</span><span class="cx"> || targetElement->hasTagName(defsTag)
</span><span class="cx"> || targetElement->hasTagName(useTag)
</span><del>- || is<SVGImageElement>(targetElement)
</del><ins>+ || is<SVGImageElement>(*targetElement)
</ins><span class="cx"> || targetElement->hasTagName(switchTag)
</span><span class="cx"> || targetElement->hasTagName(pathTag)
</span><span class="cx"> || targetElement->hasTagName(rectTag)
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGDocument.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGDocument.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGDocument.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx"> SVGSVGElement* SVGDocument::rootElement() const
</span><span class="cx"> {
</span><span class="cx"> Element* element = documentElement();
</span><del>- if (element && is<SVGSVGElement>(element))
</del><ins>+ if (is<SVGSVGElement>(element))
</ins><span class="cx"> return downcast<SVGSVGElement>(element);
</span><span class="cx">
</span><span class="cx"> return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -320,7 +320,7 @@
</span><span class="cx">
</span><span class="cx"> bool SVGElement::isOutermostSVGSVGElement() const
</span><span class="cx"> {
</span><del>- if (!is<SVGSVGElement>(this))
</del><ins>+ if (!is<SVGSVGElement>(*this))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> // If we're living in a shadow tree, we're a <svg> element that got created as replacement
</span><span class="lines">@@ -396,7 +396,7 @@
</span><span class="cx"> {
</span><span class="cx"> ContainerNode* node = parentOrShadowHostNode();
</span><span class="cx"> while (node) {
</span><del>- if (is<SVGSVGElement>(node))
</del><ins>+ if (is<SVGSVGElement>(*node))
</ins><span class="cx"> return downcast<SVGSVGElement>(node);
</span><span class="cx">
</span><span class="cx"> node = node->parentOrShadowHostNode();
</span><span class="lines">@@ -411,7 +411,7 @@
</span><span class="cx"> // to determine the "overflow" property. <use> on <symbol> wouldn't work otherwhise.
</span><span class="cx"> ContainerNode* node = parentOrShadowHostNode();
</span><span class="cx"> while (node) {
</span><del>- if (is<SVGSVGElement>(node) || is<SVGImageElement>(node) || node->hasTagName(SVGNames::symbolTag))
</del><ins>+ if (is<SVGSVGElement>(*node) || is<SVGImageElement>(*node) || node->hasTagName(SVGNames::symbolTag))
</ins><span class="cx"> return downcast<SVGElement>(node);
</span><span class="cx">
</span><span class="cx"> node = node->parentOrShadowHostNode();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFontDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFontData.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFontData.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGFontData.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -159,7 +159,7 @@
</span><span class="cx"> if (Element* parentRendererElement = parentRenderer->element()) {
</span><span class="cx"> language = parentRendererElement->getAttribute(XMLNames::langAttr);
</span><span class="cx">
</span><del>- if (is<SVGAltGlyphElement>(parentRendererElement)) {
</del><ins>+ if (is<SVGAltGlyphElement>(*parentRendererElement)) {
</ins><span class="cx"> SVGAltGlyphElement& altGlyph = downcast<SVGAltGlyphElement>(*parentRendererElement);
</span><span class="cx"> if (!altGlyph.hasValidGlyphElements(altGlyphNames))
</span><span class="cx"> altGlyphNames.clear();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFontFaceElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFontFaceElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFontFaceElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGFontFaceElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -216,7 +216,7 @@
</span><span class="cx"> SVGFontElement* SVGFontFaceElement::associatedFontElement() const
</span><span class="cx"> {
</span><span class="cx"> ASSERT(parentNode() == m_fontElement);
</span><del>- ASSERT(!parentNode() || is<SVGFontElement>(parentNode()));
</del><ins>+ ASSERT(!parentNode() || is<SVGFontElement>(*parentNode()));
</ins><span class="cx"> return m_fontElement;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -230,7 +230,7 @@
</span><span class="cx"> // we currently ignore all but the first src element, alternatively we could concat them
</span><span class="cx"> auto srcElement = childrenOfType<SVGFontFaceSrcElement>(*this).first();
</span><span class="cx">
</span><del>- bool describesParentFont = is<SVGFontElement>(parentNode());
</del><ins>+ bool describesParentFont = is<SVGFontElement>(*parentNode());
</ins><span class="cx"> RefPtr<CSSValueList> list;
</span><span class="cx">
</span><span class="cx"> if (describesParentFont) {
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFontFaceSrcElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFontFaceSrcElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFontFaceSrcElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGFontFaceSrcElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx"> void SVGFontFaceSrcElement::childrenChanged(const ChildChange& change)
</span><span class="cx"> {
</span><span class="cx"> SVGElement::childrenChanged(change);
</span><del>- if (parentNode() && is<SVGFontFaceElement>(parentNode()))
</del><ins>+ if (is<SVGFontFaceElement>(parentNode()))
</ins><span class="cx"> downcast<SVGFontFaceElement>(*parentNode()).rebuildFontFace();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGGlyphElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGGlyphElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGGlyphElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGGlyphElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx"> void SVGGlyphElement::invalidateGlyphCache()
</span><span class="cx"> {
</span><span class="cx"> ContainerNode* fontNode = parentNode();
</span><del>- if (fontNode && is<SVGFontElement>(fontNode))
</del><ins>+ if (is<SVGFontElement>(fontNode))
</ins><span class="cx"> downcast<SVGFontElement>(*fontNode).invalidateGlyphCache();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGHKernElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGHKernElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGHKernElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGHKernElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx"> Node::InsertionNotificationRequest SVGHKernElement::insertedInto(ContainerNode& rootParent)
</span><span class="cx"> {
</span><span class="cx"> ContainerNode* fontNode = parentNode();
</span><del>- if (fontNode && is<SVGFontElement>(fontNode))
</del><ins>+ if (is<SVGFontElement>(fontNode))
</ins><span class="cx"> downcast<SVGFontElement>(*fontNode).invalidateGlyphCache();
</span><span class="cx">
</span><span class="cx"> return SVGElement::insertedInto(rootParent);
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx"> void SVGHKernElement::removedFrom(ContainerNode& rootParent)
</span><span class="cx"> {
</span><span class="cx"> ContainerNode* fontNode = parentNode();
</span><del>- if (fontNode && is<SVGFontElement>(fontNode))
</del><ins>+ if (is<SVGFontElement>(fontNode))
</ins><span class="cx"> downcast<SVGFontElement>(*fontNode).invalidateGlyphCache();
</span><span class="cx">
</span><span class="cx"> SVGElement::removedFrom(rootParent);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGLengthContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGLengthContext.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGLengthContext.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGLengthContext.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -318,7 +318,7 @@
</span><span class="cx">
</span><span class="cx"> // Take size from nearest viewport element.
</span><span class="cx"> SVGElement* viewportElement = m_context->viewportElement();
</span><del>- if (!viewportElement || !is<SVGSVGElement>(viewportElement))
</del><ins>+ if (!is<SVGSVGElement>(viewportElement))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> const SVGSVGElement& svg = downcast<SVGSVGElement>(*viewportElement);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGLinearGradientElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGLinearGradientElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGLinearGradientElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGLinearGradientElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -173,7 +173,7 @@
</span><span class="cx"> while (true) {
</span><span class="cx"> // Respect xlink:href, take attributes from referenced element
</span><span class="cx"> Node* refNode = SVGURIReference::targetElementFromIRIString(current->href(), document());
</span><del>- if (refNode && is<SVGGradientElement>(*refNode)) {
</del><ins>+ if (is<SVGGradientElement>(refNode)) {
</ins><span class="cx"> current = downcast<SVGGradientElement>(refNode);
</span><span class="cx">
</span><span class="cx"> // Cycle detection
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGLocatablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGLocatable.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGLocatable.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGLocatable.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> return (node->hasTagName(SVGNames::svgTag)
</span><span class="cx"> || node->hasTagName(SVGNames::symbolTag)
</span><span class="cx"> || node->hasTagName(SVGNames::foreignObjectTag)
</span><del>- || is<SVGImageElement>(node));
</del><ins>+ || is<SVGImageElement>(*node));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> SVGElement* SVGLocatable::nearestViewportElement(const SVGElement* element)
</span><span class="lines">@@ -101,7 +101,7 @@
</span><span class="cx"> {
</span><span class="cx"> AffineTransform ctm = getCTM(styleUpdateStrategy);
</span><span class="cx">
</span><del>- if (target && is<SVGGraphicsElement>(target)) {
</del><ins>+ if (is<SVGGraphicsElement>(target)) {
</ins><span class="cx"> AffineTransform targetCTM = downcast<SVGGraphicsElement>(*target).getCTM(styleUpdateStrategy);
</span><span class="cx"> if (!targetCTM.isInvertible()) {
</span><span class="cx"> ec = SVGException::SVG_MATRIX_NOT_INVERTABLE;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGMPathElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGMPathElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGMPathElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGMPathElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -156,7 +156,7 @@
</span><span class="cx"> SVGPathElement* SVGMPathElement::pathElement()
</span><span class="cx"> {
</span><span class="cx"> Element* target = targetElementFromIRIString(href(), document());
</span><del>- if (target && is<SVGPathElement>(target))
</del><ins>+ if (is<SVGPathElement>(target))
</ins><span class="cx"> return downcast<SVGPathElement>(target);
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span><span class="lines">@@ -168,7 +168,7 @@
</span><span class="cx">
</span><span class="cx"> void SVGMPathElement::notifyParentOfPathChange(ContainerNode* parent)
</span><span class="cx"> {
</span><del>- if (parent && is<SVGAnimateMotionElement>(parent))
</del><ins>+ if (is<SVGAnimateMotionElement>(parent))
</ins><span class="cx"> downcast<SVGAnimateMotionElement>(*parent).updateAnimationPath();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGPathElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -286,7 +286,7 @@
</span><span class="cx"> // markForLayoutAndParentResourceInvalidation so we update any mpath dependencies manually.
</span><span class="cx"> if (HashSet<SVGElement*>* dependencies = document().accessSVGExtensions().setOfElementsReferencingTarget(this)) {
</span><span class="cx"> for (auto* element : *dependencies) {
</span><del>- if (is<SVGMPathElement>(element))
</del><ins>+ if (is<SVGMPathElement>(*element))
</ins><span class="cx"> downcast<SVGMPathElement>(*element).targetPathChanged();
</span><span class="cx"> }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPatternElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPatternElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPatternElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGPatternElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -236,7 +236,7 @@
</span><span class="cx">
</span><span class="cx"> // Respect xlink:href, take attributes from referenced element
</span><span class="cx"> Element* refElement = SVGURIReference::targetElementFromIRIString(current->href(), document());
</span><del>- if (refElement && is<SVGPatternElement>(refElement)) {
</del><ins>+ if (is<SVGPatternElement>(refElement)) {
</ins><span class="cx"> current = downcast<SVGPatternElement>(refElement);
</span><span class="cx">
</span><span class="cx"> // Cycle detection
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGRadialGradientElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGRadialGradientElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGRadialGradientElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGRadialGradientElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -191,7 +191,7 @@
</span><span class="cx"> while (true) {
</span><span class="cx"> // Respect xlink:href, take attributes from referenced element
</span><span class="cx"> Node* refNode = SVGURIReference::targetElementFromIRIString(current->href(), document());
</span><del>- if (refNode && is<SVGGradientElement>(*refNode)) {
</del><ins>+ if (is<SVGGradientElement>(refNode)) {
</ins><span class="cx"> current = downcast<SVGGradientElement>(refNode);
</span><span class="cx">
</span><span class="cx"> // Cycle detection
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGSVGElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGSVGElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGSVGElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGSVGElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -661,10 +661,10 @@
</span><span class="cx"> // or MyDrawing.svg#xpointer(id('MyView'))) then the closest ancestor ‘svg’ element is displayed in the viewport.
</span><span class="cx"> // Any view specification attributes included on the given ‘view’ element override the corresponding view specification
</span><span class="cx"> // attributes on the closest ancestor ‘svg’ element.
</span><del>- if (anchorNode && is<SVGViewElement>(anchorNode)) {
</del><ins>+ if (is<SVGViewElement>(anchorNode)) {
</ins><span class="cx"> SVGViewElement& viewElement = downcast<SVGViewElement>(*anchorNode);
</span><span class="cx"> SVGElement* element = SVGLocatable::nearestViewportElement(&viewElement);
</span><del>- if (is<SVGSVGElement>(element)) {
</del><ins>+ if (is<SVGSVGElement>(*element)) {
</ins><span class="cx"> SVGSVGElement& svg = downcast<SVGSVGElement>(*element);
</span><span class="cx"> svg.inheritViewAttributes(&viewElement);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGTextContentElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGTextContentElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGTextContentElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGTextContentElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -296,7 +296,7 @@
</span><span class="cx"> SVGElement* element = downcast<SVGElement>(renderer->node());
</span><span class="cx"> ASSERT(element);
</span><span class="cx">
</span><del>- if (!is<SVGTextContentElement>(element))
</del><ins>+ if (!is<SVGTextContentElement>(*element))
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> return downcast<SVGTextContentElement>(element);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGUseElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGUseElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGUseElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGUseElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -282,7 +282,7 @@
</span><span class="cx"> SVGElement* element = targetInstance->correspondingElement();
</span><span class="cx"> ASSERT(element);
</span><span class="cx">
</span><del>- if (is<SVGUseElement>(element)) {
</del><ins>+ if (is<SVGUseElement>(*element)) {
</ins><span class="cx"> if (downcast<SVGUseElement>(*element).cachedDocumentIsStillLoading())
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -544,9 +544,6 @@
</span><span class="cx"> ASSERT(path.isEmpty());
</span><span class="cx">
</span><span class="cx"> SVGElement* element = m_targetElementInstance ? m_targetElementInstance->shadowTreeElement() : nullptr;
</span><del>- if (!element)
- return;
-
</del><span class="cx"> if (is<SVGGraphicsElement>(element)) {
</span><span class="cx"> if (!isDirectReference(*element)) {
</span><span class="cx"> // Spec: Indirect references are an error (14.3.5)
</span><span class="lines">@@ -710,7 +707,7 @@
</span><span class="cx"> // contains <use> tags, we'd miss them. So once we're done with settin' up the
</span><span class="cx"> // actual shadow tree (after the special case modification for svg/symbol) we have
</span><span class="cx"> // to walk it completely and expand all <use> elements.
</span><del>- if (is<SVGUseElement>(element)) {
</del><ins>+ if (is<SVGUseElement>(*element)) {
</ins><span class="cx"> SVGUseElement& use = downcast<SVGUseElement>(*element);
</span><span class="cx"> ASSERT(!use.cachedDocumentIsStillLoading());
</span><span class="cx">
</span><span class="lines">@@ -762,7 +759,7 @@
</span><span class="cx">
</span><span class="cx"> void SVGUseElement::expandSymbolElementsInShadowTree(Node* node)
</span><span class="cx"> {
</span><del>- if (is<SVGSymbolElement>(node)) {
</del><ins>+ if (is<SVGSymbolElement>(*node)) {
</ins><span class="cx"> // Spec: The referenced 'symbol' and its contents are deep-cloned into the generated tree,
</span><span class="cx"> // with the exception that the 'symbol' is replaced by an 'svg'. This generated 'svg' will
</span><span class="cx"> // always have explicit values for attributes width and height. If attributes width and/or
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGVKernElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGVKernElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGVKernElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/SVGVKernElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx"> {
</span><span class="cx"> if (rootParent.inDocument()) {
</span><span class="cx"> ContainerNode* fontNode = parentNode();
</span><del>- if (fontNode && is<SVGFontElement>(fontNode))
</del><ins>+ if (is<SVGFontElement>(fontNode))
</ins><span class="cx"> downcast<SVGFontElement>(*fontNode).invalidateGlyphCache();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx"> void SVGVKernElement::removedFrom(ContainerNode& rootParent)
</span><span class="cx"> {
</span><span class="cx"> ContainerNode* fontNode = parentNode();
</span><del>- if (fontNode && is<SVGFontElement>(fontNode))
</del><ins>+ if (is<SVGFontElement>(fontNode))
</ins><span class="cx"> downcast<SVGFontElement>(*fontNode).invalidateGlyphCache();
</span><span class="cx">
</span><span class="cx"> SVGElement::removedFrom(rootParent);
</span></span></pre></div>
<a id="trunkSourceWebCoresvganimationSVGSMILElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -165,10 +165,10 @@
</span><span class="cx"> String href = getAttribute(XLinkNames::hrefAttr);
</span><span class="cx"> Element* target;
</span><span class="cx"> if (href.isEmpty())
</span><del>- target = parentNode() && is<Element>(parentNode()) ? downcast<Element>(parentNode()) : nullptr;
</del><ins>+ target = is<Element>(parentNode()) ? downcast<Element>(parentNode()) : nullptr;
</ins><span class="cx"> else
</span><span class="cx"> target = SVGURIReference::targetElementFromIRIString(href, document(), &id);
</span><del>- SVGElement* svgTarget = target && is<SVGElement>(target) ? downcast<SVGElement>(target) : nullptr;
</del><ins>+ SVGElement* svgTarget = is<SVGElement>(target) ? downcast<SVGElement>(target) : nullptr;
</ins><span class="cx">
</span><span class="cx"> if (svgTarget && !svgTarget->inDocument())
</span><span class="cx"> svgTarget = nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCoresvggraphicsSVGImageCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/graphics/SVGImageCache.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/graphics/SVGImageCache.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/svg/graphics/SVGImageCache.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -92,7 +92,7 @@
</span><span class="cx"> RefPtr<SVGImageForContainer> imageForContainer = it->value;
</span><span class="cx">
</span><span class="cx"> Node* node = renderer->node();
</span><del>- if (node && is<HTMLImageElement>(node)) {
</del><ins>+ if (is<HTMLImageElement>(node)) {
</ins><span class="cx"> const AtomicString& urlString = downcast<HTMLImageElement>(*node).imageSourceURL();
</span><span class="cx"> URL url = node->document().completeURL(urlString);
</span><span class="cx"> imageForContainer->setURL(url);
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/testing/Internals.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -581,7 +581,7 @@
</span><span class="cx">
</span><span class="cx"> String Internals::shadowRootType(const Node* root, ExceptionCode& ec) const
</span><span class="cx"> {
</span><del>- if (!root || !is<ShadowRoot>(root)) {
</del><ins>+ if (!is<ShadowRoot>(root)) {
</ins><span class="cx"> ec = INVALID_ACCESS_ERR;
</span><span class="cx"> return String();
</span><span class="cx"> }
</span><span class="lines">@@ -623,7 +623,7 @@
</span><span class="cx">
</span><span class="cx"> String Internals::visiblePlaceholder(Element* element)
</span><span class="cx"> {
</span><del>- if (element && is<HTMLTextFormControlElement>(*element)) {
</del><ins>+ if (is<HTMLTextFormControlElement>(element)) {
</ins><span class="cx"> const HTMLTextFormControlElement& textFormControlElement = downcast<HTMLTextFormControlElement>(*element);
</span><span class="cx"> if (!textFormControlElement.isPlaceholderVisible())
</span><span class="cx"> return String();
</span><span class="lines">@@ -637,7 +637,7 @@
</span><span class="cx"> #if ENABLE(INPUT_TYPE_COLOR)
</span><span class="cx"> void Internals::selectColorInColorChooser(Element* element, const String& colorValue)
</span><span class="cx"> {
</span><del>- if (!is<HTMLInputElement>(element))
</del><ins>+ if (!is<HTMLInputElement>(*element))
</ins><span class="cx"> return;
</span><span class="cx"> HTMLInputElement* inputElement = element->toInputElement();
</span><span class="cx"> if (!inputElement)
</span><span class="lines">@@ -912,7 +912,7 @@
</span><span class="cx"> if (HTMLInputElement* inputElement = textField->toInputElement())
</span><span class="cx"> return inputElement->lastChangeWasUserEdit();
</span><span class="cx">
</span><del>- if (is<HTMLTextAreaElement>(textField))
</del><ins>+ if (is<HTMLTextAreaElement>(*textField))
</ins><span class="cx"> return downcast<HTMLTextAreaElement>(*textField).lastChangeWasUserEdit();
</span><span class="cx">
</span><span class="cx"> ec = INVALID_NODE_TYPE_ERR;
</span><span class="lines">@@ -1916,9 +1916,9 @@
</span><span class="cx"> Document* document;
</span><span class="cx"> if (!node)
</span><span class="cx"> document = contextDocument();
</span><del>- else if (is<Document>(node))
</del><ins>+ else if (is<Document>(*node))
</ins><span class="cx"> document = downcast<Document>(node);
</span><del>- else if (is<HTMLIFrameElement>(node))
</del><ins>+ else if (is<HTMLIFrameElement>(*node))
</ins><span class="cx"> document = downcast<HTMLIFrameElement>(*node).contentDocument();
</span><span class="cx"> else {
</span><span class="cx"> ec = TypeError;
</span><span class="lines">@@ -2083,7 +2083,7 @@
</span><span class="cx">
</span><span class="cx"> bool Internals::isSelectPopupVisible(Node* node)
</span><span class="cx"> {
</span><del>- if (!is<HTMLSelectElement>(node))
</del><ins>+ if (!is<HTMLSelectElement>(*node))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> HTMLSelectElement& select = downcast<HTMLSelectElement>(*node);
</span></span></pre></div>
<a id="trunkSourceWebCoretestingjsWebCoreTestSupportcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/js/WebCoreTestSupport.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/js/WebCoreTestSupport.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/testing/js/WebCoreTestSupport.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> JSLockHolder lock(exec);
</span><span class="cx"> JSDOMGlobalObject* globalObject = jsCast<JSDOMGlobalObject*>(exec->lexicalGlobalObject());
</span><span class="cx"> ScriptExecutionContext* scriptContext = globalObject->scriptExecutionContext();
</span><del>- if (is<Document>(scriptContext))
</del><ins>+ if (is<Document>(*scriptContext))
</ins><span class="cx"> globalObject->putDirect(exec->vm(), Identifier(exec, Internals::internalsId), toJS(exec, globalObject, Internals::create(downcast<Document>(scriptContext))));
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXMLHttpRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XMLHttpRequest.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XMLHttpRequest.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/xml/XMLHttpRequest.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -487,7 +487,7 @@
</span><span class="cx">
</span><span class="cx"> // FIXME: Convert this to check the isolated world's Content Security Policy once webkit.org/b/104520 is solved.
</span><span class="cx"> bool shouldBypassMainWorldContentSecurityPolicy = false;
</span><del>- if (is<Document>(scriptExecutionContext())) {
</del><ins>+ if (is<Document>(*scriptExecutionContext())) {
</ins><span class="cx"> Document& document = downcast<Document>(*scriptExecutionContext());
</span><span class="cx"> if (document.frame())
</span><span class="cx"> shouldBypassMainWorldContentSecurityPolicy = document.frame()->script().shouldBypassMainWorldContentSecurityPolicy();
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXPathFunctionscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XPathFunctions.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XPathFunctions.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/xml/XPathFunctions.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -362,7 +362,7 @@
</span><span class="cx"> {
</span><span class="cx"> // The local part of an XPath expanded-name matches DOM local name for most node types, except for namespace nodes and processing instruction nodes.
</span><span class="cx"> ASSERT(node->nodeType() != Node::XPATH_NAMESPACE_NODE); // Not supported yet.
</span><del>- if (is<ProcessingInstruction>(node))
</del><ins>+ if (is<ProcessingInstruction>(*node))
</ins><span class="cx"> return downcast<ProcessingInstruction>(*node).target();
</span><span class="cx"> return node->localName().string();
</span><span class="cx"> }
</span><span class="lines">@@ -583,7 +583,7 @@
</span><span class="cx"> const Attribute* languageAttribute = nullptr;
</span><span class="cx"> Node* node = evaluationContext().node.get();
</span><span class="cx"> while (node) {
</span><del>- if (is<Element>(node)) {
</del><ins>+ if (is<Element>(*node)) {
</ins><span class="cx"> Element& element = downcast<Element>(*node);
</span><span class="cx"> if (element.hasAttributes())
</span><span class="cx"> languageAttribute = element.findAttributeByName(XMLNames::langAttr);
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXPathNodeSetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XPathNodeSet.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XPathNodeSet.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/xml/XPathNodeSet.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -95,7 +95,7 @@
</span><span class="cx"> // FIXME: namespace nodes are not implemented.
</span><span class="cx"> for (unsigned i = sortedEnd; i < to; ++i) {
</span><span class="cx"> Node* node = parentMatrix[i][0];
</span><del>- if (is<Attr>(node) && downcast<Attr>(*node).ownerElement() == commonAncestor)
</del><ins>+ if (is<Attr>(*node) && downcast<Attr>(*node).ownerElement() == commonAncestor)
</ins><span class="cx"> parentMatrix[i].swap(parentMatrix[sortedEnd++]);
</span><span class="cx"> }
</span><span class="cx"> if (sortedEnd != from) {
</span><span class="lines">@@ -157,7 +157,7 @@
</span><span class="cx"> Vector<Node*>& parentsVector = parentMatrix[i];
</span><span class="cx"> Node* node = m_nodes[i].get();
</span><span class="cx"> parentsVector.append(node);
</span><del>- if (is<Attr>(node)) {
</del><ins>+ if (is<Attr>(*node)) {
</ins><span class="cx"> node = downcast<Attr>(*node).ownerElement();
</span><span class="cx"> parentsVector.append(node);
</span><span class="cx"> containsAttributeNodes = true;
</span><span class="lines">@@ -179,7 +179,7 @@
</span><span class="cx">
</span><span class="cx"> static Node* findRootNode(Node* node)
</span><span class="cx"> {
</span><del>- if (is<Attr>(node))
</del><ins>+ if (is<Attr>(*node))
</ins><span class="cx"> node = downcast<Attr>(*node).ownerElement();
</span><span class="cx"> if (node->inDocument())
</span><span class="cx"> node = &node->document();
</span><span class="lines">@@ -211,7 +211,7 @@
</span><span class="cx"> if (nodes.contains(node))
</span><span class="cx"> sortedNodes.append(node);
</span><span class="cx">
</span><del>- if (!containsAttributeNodes || !is<Element>(node))
</del><ins>+ if (!containsAttributeNodes || !is<Element>(*node))
</ins><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> Element& element = downcast<Element>(*node);
</span></span></pre></div>
<a id="trunkSourceWebCorexmlparserXMLDocumentParserLibxml2cpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -622,7 +622,7 @@
</span><span class="cx"> elemStack.append(parentElement);
</span><span class="cx">
</span><span class="cx"> ContainerNode* node = parentElement->parentNode();
</span><del>- if (!node || !is<Element>(node))
</del><ins>+ if (!is<Element>(node))
</ins><span class="cx"> break;
</span><span class="cx"> parentElement = downcast<Element>(node);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitiosChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ios/ChangeLog (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ios/ChangeLog        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit/ios/ChangeLog        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -1,3 +1,20 @@
</span><ins>+2014-10-01 Christophe Dumez <cdumez@apple.com>
+
+ Have is<>(T*) function do a null check on the pointer argument
+ https://bugs.webkit.org/show_bug.cgi?id=137333
+
+ Reviewed by Gavin Barraclough.
+
+ Have is<>(T*) function do a null check on the argument instead of a
+ simple assertion. This makes sense for 2 reasons:
+ 1. It is more consistent with downcast<>(T*), which will succeed even
+ if the argument is a nullptr.
+ 2. It simplifies the code a bit as it gets rid of a lot of explicit
+ null checks.
+
+ * WebCoreSupport/WebChromeClientIOS.mm:
+ (WebChromeClientIOS::focusedElementChanged):
+
</ins><span class="cx"> 2014-09-29 Daniel Bates <dabates@apple.com>
</span><span class="cx">
</span><span class="cx"> [iOS] Remove CoreLocation workaround
</span></span></pre></div>
<a id="trunkSourceWebKitiosWebCoreSupportWebChromeClientIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.mm (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.mm        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.mm        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -309,8 +309,6 @@
</span><span class="cx">
</span><span class="cx"> void WebChromeClientIOS::focusedElementChanged(Element* element)
</span><span class="cx"> {
</span><del>- if (!element)
- return;
</del><span class="cx"> if (!is<HTMLInputElement>(element))
</span><span class="cx"> return;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit/mac/ChangeLog        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -1,3 +1,32 @@
</span><ins>+2014-10-01 Christophe Dumez <cdumez@apple.com>
+
+ Have is<>(T*) function do a null check on the pointer argument
+ https://bugs.webkit.org/show_bug.cgi?id=137333
+
+ Reviewed by Gavin Barraclough.
+
+ Have is<>(T*) function do a null check on the argument instead of a
+ simple assertion. This makes sense for 2 reasons:
+ 1. It is more consistent with downcast<>(T*), which will succeed even
+ if the argument is a nullptr.
+ 2. It simplifies the code a bit as it gets rid of a lot of explicit
+ null checks.
+
+ * WebCoreSupport/WebChromeClient.mm:
+ (WebChromeClient::focusedElementChanged):
+ * WebCoreSupport/WebEditorClient.mm:
+ (WebEditorClient::textFieldDidBeginEditing):
+ (WebEditorClient::textFieldDidEndEditing):
+ (WebEditorClient::textDidChangeInTextField):
+ (WebEditorClient::doTextFieldCommandFromEvent):
+ (WebEditorClient::textWillBeDeletedInTextField):
+ (WebEditorClient::textDidChangeInTextArea):
+ * WebView/WebHTMLRepresentation.mm:
+ (inputElementFromDOMElement):
+ (searchForLabelsBeforeElement):
+ * WebView/WebRenderLayer.mm:
+ (+[WebRenderLayer nameForLayer:]):
+
</ins><span class="cx"> 2014-10-01 Mark Rowe <mrowe@apple.com>
</span><span class="cx">
</span><span class="cx"> <https://webkit.org/b/137308> WebKit should build on OS X Yosemite for external users
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebCoreSupportWebChromeClientmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -218,8 +218,6 @@
</span><span class="cx">
</span><span class="cx"> void WebChromeClient::focusedElementChanged(Element* element)
</span><span class="cx"> {
</span><del>- if (!element)
- return;
</del><span class="cx"> if (!is<HTMLInputElement>(element))
</span><span class="cx"> return;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebCoreSupportWebEditorClientmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -705,7 +705,7 @@
</span><span class="cx">
</span><span class="cx"> void WebEditorClient::textFieldDidBeginEditing(Element* element)
</span><span class="cx"> {
</span><del>- if (!is<HTMLInputElement>(element))
</del><ins>+ if (!is<HTMLInputElement>(*element))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> DOMHTMLInputElement* inputElement = kit(downcast<HTMLInputElement>(element));
</span><span class="lines">@@ -715,7 +715,7 @@
</span><span class="cx">
</span><span class="cx"> void WebEditorClient::textFieldDidEndEditing(Element* element)
</span><span class="cx"> {
</span><del>- if (!is<HTMLInputElement>(element))
</del><ins>+ if (!is<HTMLInputElement>(*element))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> DOMHTMLInputElement* inputElement = kit(downcast<HTMLInputElement>(element));
</span><span class="lines">@@ -725,7 +725,7 @@
</span><span class="cx">
</span><span class="cx"> void WebEditorClient::textDidChangeInTextField(Element* element)
</span><span class="cx"> {
</span><del>- if (!is<HTMLInputElement>(element))
</del><ins>+ if (!is<HTMLInputElement>(*element))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> #if !PLATFORM(IOS)
</span><span class="lines">@@ -763,7 +763,7 @@
</span><span class="cx">
</span><span class="cx"> bool WebEditorClient::doTextFieldCommandFromEvent(Element* element, KeyboardEvent* event)
</span><span class="cx"> {
</span><del>- if (!is<HTMLInputElement>(element))
</del><ins>+ if (!is<HTMLInputElement>(*element))
</ins><span class="cx"> return NO;
</span><span class="cx">
</span><span class="cx"> DOMHTMLInputElement* inputElement = kit(downcast<HTMLInputElement>(element));
</span><span class="lines">@@ -775,7 +775,7 @@
</span><span class="cx">
</span><span class="cx"> void WebEditorClient::textWillBeDeletedInTextField(Element* element)
</span><span class="cx"> {
</span><del>- if (!is<HTMLInputElement>(element))
</del><ins>+ if (!is<HTMLInputElement>(*element))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> DOMHTMLInputElement* inputElement = kit(downcast<HTMLInputElement>(element));
</span><span class="lines">@@ -786,7 +786,7 @@
</span><span class="cx">
</span><span class="cx"> void WebEditorClient::textDidChangeInTextArea(Element* element)
</span><span class="cx"> {
</span><del>- if (!is<HTMLTextAreaElement>(element))
</del><ins>+ if (!is<HTMLTextAreaElement>(*element))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> DOMHTMLTextAreaElement* textAreaElement = kit(downcast<HTMLTextAreaElement>(element));
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebHTMLRepresentationmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebHTMLRepresentation.mm (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebHTMLRepresentation.mm        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit/mac/WebView/WebHTMLRepresentation.mm        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -305,7 +305,7 @@
</span><span class="cx"> static HTMLInputElement* inputElementFromDOMElement(DOMElement* element)
</span><span class="cx"> {
</span><span class="cx"> Element* node = core(element);
</span><del>- return node && is<HTMLInputElement>(node) ? downcast<HTMLInputElement>(node) : nullptr;
</del><ins>+ return is<HTMLInputElement>(node) ? downcast<HTMLInputElement>(node) : nullptr;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> - (BOOL)elementDoesAutoComplete:(DOMElement *)element
</span><span class="lines">@@ -447,7 +447,7 @@
</span><span class="cx"> for (n = NodeTraversal::previous(element);
</span><span class="cx"> n && lengthSearched < charsSearchedThreshold;
</span><span class="cx"> n = NodeTraversal::previous(n)) {
</span><del>- if (is<HTMLFormElement>(n) || is<HTMLFormControlElement>(n)) {
</del><ins>+ if (is<HTMLFormElement>(*n) || is<HTMLFormControlElement>(*n)) {
</ins><span class="cx"> // We hit another form element or the start of the form - bail out
</span><span class="cx"> break;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebRenderLayermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebRenderLayer.mm (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebRenderLayer.mm        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit/mac/WebView/WebRenderLayer.mm        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> const RenderObject& renderer = layer->renderer();
</span><span class="cx"> NSString *name = [NSString stringWithUTF8String:renderer.renderName()];
</span><span class="cx">
</span><del>- if (Element* element = renderer.node() && is<Element>(renderer.node()) ? downcast<Element>(renderer.node()) : nullptr) {
</del><ins>+ if (Element* element = is<Element>(renderer.node()) ? downcast<Element>(renderer.node()) : nullptr) {
</ins><span class="cx"> name = [name stringByAppendingFormat:@" %@", (NSString *)element->tagName()];
</span><span class="cx"> if (element->hasID())
</span><span class="cx"> name = [name stringByAppendingFormat:@" id=\"%@\"", (NSString *)element->getIdAttribute()];
</span></span></pre></div>
<a id="trunkSourceWebKitwinChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/ChangeLog (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/ChangeLog        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit/win/ChangeLog        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -1,3 +1,58 @@
</span><ins>+2014-10-01 Christophe Dumez <cdumez@apple.com>
+
+ Have is<>(T*) function do a null check on the pointer argument
+ https://bugs.webkit.org/show_bug.cgi?id=137333
+
+ Reviewed by Gavin Barraclough.
+
+ Have is<>(T*) function do a null check on the argument instead of a
+ simple assertion. This makes sense for 2 reasons:
+ 1. It is more consistent with downcast<>(T*), which will succeed even
+ if the argument is a nullptr.
+ 2. It simplifies the code a bit as it gets rid of a lot of explicit
+ null checks.
+
+ * DOMCoreClasses.cpp:
+ (DOMElement::createInstance):
+ * DOMHTMLClasses.cpp:
+ (DOMHTMLDocument::body):
+ (DOMHTMLDocument::forms):
+ (DOMHTMLElement::idName):
+ (DOMHTMLElement::innerText):
+ (DOMHTMLElement::setInnerText):
+ (DOMHTMLFormElement::action):
+ (DOMHTMLFormElement::method):
+ (DOMHTMLOptionElement::text):
+ (DOMHTMLOptionElement::label):
+ (DOMHTMLInputElement::form):
+ (DOMHTMLInputElement::disabled):
+ (DOMHTMLInputElement::readOnly):
+ (DOMHTMLInputElement::setType):
+ (DOMHTMLInputElement::value):
+ (DOMHTMLInputElement::setValue):
+ (DOMHTMLInputElement::setValueForUser):
+ (DOMHTMLInputElement::select):
+ (DOMHTMLInputElement::setSelectionStart):
+ (DOMHTMLInputElement::selectionStart):
+ (DOMHTMLInputElement::setSelectionEnd):
+ (DOMHTMLInputElement::selectionEnd):
+ (DOMHTMLInputElement::isTextField):
+ (DOMHTMLInputElement::rectOnScreen):
+ (DOMHTMLInputElement::replaceCharactersInRange):
+ (DOMHTMLInputElement::selectedRange):
+ (DOMHTMLInputElement::setAutofilled):
+ (DOMHTMLInputElement::isAutofilled):
+ (DOMHTMLInputElement::isUserEdited):
+ (DOMHTMLTextAreaElement::form):
+ (DOMHTMLTextAreaElement::value):
+ (DOMHTMLTextAreaElement::setValue):
+ (DOMHTMLTextAreaElement::select):
+ (DOMHTMLTextAreaElement::isUserEdited):
+ * WebFrame.cpp:
+ (formElementFromDOMElement):
+ (inputElementFromDOMElement):
+ (WebFrame::elementWithName):
+
</ins><span class="cx"> 2014-09-30 Christophe Dumez <cdumez@apple.com>
</span><span class="cx">
</span><span class="cx"> Generalize is<>() / downcast<>() support to all types
</span></span></pre></div>
<a id="trunkSourceWebKitwinDOMCoreClassescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/DOMCoreClasses.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/DOMCoreClasses.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit/win/DOMCoreClasses.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -1495,27 +1495,27 @@
</span><span class="cx"> IDOMElement* DOMElement::createInstance(WebCore::Element* e)
</span><span class="cx"> {
</span><span class="cx"> if (!e)
</span><del>- return 0;
</del><ins>+ return nullptr;
</ins><span class="cx">
</span><span class="cx"> HRESULT hr;
</span><span class="cx"> IDOMElement* domElement = 0;
</span><span class="cx">
</span><del>- if (is<WebCore::HTMLFormElement>(e)) {
</del><ins>+ if (is<WebCore::HTMLFormElement>(*e)) {
</ins><span class="cx"> DOMHTMLFormElement* newElement = new DOMHTMLFormElement(e);
</span><span class="cx"> hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement);
</span><span class="cx"> } else if (e->hasTagName(iframeTag)) {
</span><span class="cx"> DOMHTMLIFrameElement* newElement = new DOMHTMLIFrameElement(e);
</span><span class="cx"> hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement);
</span><del>- } else if (is<WebCore::HTMLInputElement>(e)) {
</del><ins>+ } else if (is<WebCore::HTMLInputElement>(*e)) {
</ins><span class="cx"> DOMHTMLInputElement* newElement = new DOMHTMLInputElement(e);
</span><span class="cx"> hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement);
</span><del>- } else if (is<WebCore::HTMLOptionElement>(e)) {
</del><ins>+ } else if (is<WebCore::HTMLOptionElement>(*e)) {
</ins><span class="cx"> DOMHTMLOptionElement* newElement = new DOMHTMLOptionElement(e);
</span><span class="cx"> hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement);
</span><span class="cx"> } else if (e->hasTagName(selectTag)) {
</span><span class="cx"> DOMHTMLSelectElement* newElement = new DOMHTMLSelectElement(e);
</span><span class="cx"> hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement);
</span><del>- } else if (is<WebCore::HTMLTextAreaElement>(e)) {
</del><ins>+ } else if (is<WebCore::HTMLTextAreaElement>(*e)) {
</ins><span class="cx"> DOMHTMLTextAreaElement* newElement = new DOMHTMLTextAreaElement(e);
</span><span class="cx"> hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement);
</span><span class="cx"> } else if (e->isHTMLElement()) {
</span></span></pre></div>
<a id="trunkSourceWebKitwinDOMHTMLClassescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/DOMHTMLClasses.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/DOMHTMLClasses.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit/win/DOMHTMLClasses.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -258,7 +258,7 @@
</span><span class="cx"> /* [retval][out] */ IDOMHTMLElement** bodyElement)
</span><span class="cx"> {
</span><span class="cx"> *bodyElement = nullptr;
</span><del>- if (!m_document || !is<HTMLDocument>(m_document))
</del><ins>+ if (!is<HTMLDocument>(m_document))
</ins><span class="cx"> return E_FAIL;
</span><span class="cx">
</span><span class="cx"> HTMLDocument& htmlDoc = downcast<HTMLDocument>(*m_document);
</span><span class="lines">@@ -301,7 +301,7 @@
</span><span class="cx"> /* [retval][out] */ IDOMHTMLCollection** collection)
</span><span class="cx"> {
</span><span class="cx"> *collection = nullptr;
</span><del>- if (!m_document || !is<HTMLDocument>(m_document))
</del><ins>+ if (!is<HTMLDocument>(m_document))
</ins><span class="cx"> return E_FAIL;
</span><span class="cx">
</span><span class="cx"> HTMLDocument& htmlDoc = downcast<HTMLDocument>(*m_document);
</span><span class="lines">@@ -395,7 +395,7 @@
</span><span class="cx"> if (!result)
</span><span class="cx"> return E_POINTER;
</span><span class="cx">
</span><del>- ASSERT(m_element && is<HTMLElement>(m_element));
</del><ins>+ ASSERT(is<HTMLElement>(m_element));
</ins><span class="cx"> String idString = downcast<HTMLElement>(m_element)->getAttribute(idAttr);
</span><span class="cx"> *result = BString(idString).release();
</span><span class="cx"> return S_OK;
</span><span class="lines">@@ -481,7 +481,7 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLElement::innerText(
</span><span class="cx"> /* [retval][out] */ BSTR* result)
</span><span class="cx"> {
</span><del>- ASSERT(m_element && is<HTMLElement>(m_element));
</del><ins>+ ASSERT(is<HTMLElement>(m_element));
</ins><span class="cx"> WTF::String innerTextString = downcast<HTMLElement>(m_element)->innerText();
</span><span class="cx"> *result = BString(innerTextString).release();
</span><span class="cx"> return S_OK;
</span><span class="lines">@@ -490,7 +490,7 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLElement::setInnerText(
</span><span class="cx"> /* [in] */ BSTR text)
</span><span class="cx"> {
</span><del>- ASSERT(m_element && is<HTMLElement>(m_element));
</del><ins>+ ASSERT(is<HTMLElement>(m_element));
</ins><span class="cx"> HTMLElement* htmlEle = downcast<HTMLElement>(m_element);
</span><span class="cx"> WTF::String textString(text, SysStringLen(text));
</span><span class="cx"> WebCore::ExceptionCode ec = 0;
</span><span class="lines">@@ -559,7 +559,7 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::action(
</span><span class="cx"> /* [retval][out] */ BSTR* result)
</span><span class="cx"> {
</span><del>- ASSERT(m_element && is<HTMLFormElement>(m_element));
</del><ins>+ ASSERT(is<HTMLFormElement>(m_element));
</ins><span class="cx"> WTF::String actionString = downcast<HTMLFormElement>(*m_element).action();
</span><span class="cx"> *result = BString(actionString).release();
</span><span class="cx"> return S_OK;
</span><span class="lines">@@ -589,7 +589,7 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::method(
</span><span class="cx"> /* [retval][out] */ BSTR* result)
</span><span class="cx"> {
</span><del>- ASSERT(m_element && is<HTMLFormElement>(m_element));
</del><ins>+ ASSERT(is<HTMLFormElement>(m_element));
</ins><span class="cx"> WTF::String methodString = downcast<HTMLFormElement>(*m_element).method();
</span><span class="cx"> *result = BString(methodString).release();
</span><span class="cx"> return S_OK;
</span><span class="lines">@@ -858,7 +858,6 @@
</span><span class="cx">
</span><span class="cx"> *result = 0;
</span><span class="cx">
</span><del>- ASSERT(m_element);
</del><span class="cx"> ASSERT(is<HTMLOptionElement>(m_element));
</span><span class="cx"> HTMLOptionElement& optionElement = downcast<HTMLOptionElement>(*m_element);
</span><span class="cx">
</span><span class="lines">@@ -895,7 +894,6 @@
</span><span class="cx">
</span><span class="cx"> *result = 0;
</span><span class="cx">
</span><del>- ASSERT(m_element);
</del><span class="cx"> ASSERT(is<HTMLOptionElement>(m_element));
</span><span class="cx"> HTMLOptionElement& optionElement = downcast<HTMLOptionElement>(*m_element);
</span><span class="cx">
</span><span class="lines">@@ -992,7 +990,7 @@
</span><span class="cx"> if (!result)
</span><span class="cx"> return E_POINTER;
</span><span class="cx"> *result = nullptr;
</span><del>- ASSERT(m_element && is<HTMLInputElement>(m_element));
</del><ins>+ ASSERT(is<HTMLInputElement>(m_element));
</ins><span class="cx"> HTMLInputElement& inputElement = downcast<HTMLInputElement>(*m_element);
</span><span class="cx"> COMPtr<IDOMElement> domElement;
</span><span class="cx"> domElement.adoptRef(DOMHTMLElement::createInstance(inputElement.form()));
</span><span class="lines">@@ -1074,7 +1072,7 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::disabled(
</span><span class="cx"> /* [retval][out] */ BOOL* result)
</span><span class="cx"> {
</span><del>- ASSERT(m_element && is<HTMLInputElement>(m_element));
</del><ins>+ ASSERT(is<HTMLInputElement>(m_element));
</ins><span class="cx"> HTMLInputElement& inputElement = downcast<HTMLInputElement>(*m_element);
</span><span class="cx"> *result = inputElement.isDisabledFormControl() ? TRUE : FALSE;
</span><span class="cx"> return S_OK;
</span><span class="lines">@@ -1118,7 +1116,7 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::readOnly(
</span><span class="cx"> /* [retval][out] */ BOOL* result)
</span><span class="cx"> {
</span><del>- ASSERT(m_element && is<HTMLInputElement>(m_element));
</del><ins>+ ASSERT(is<HTMLInputElement>(m_element));
</ins><span class="cx"> HTMLInputElement& inputElement = downcast<HTMLInputElement>(*m_element);
</span><span class="cx"> *result = inputElement.isReadOnly() ? TRUE : FALSE;
</span><span class="cx"> return S_OK;
</span><span class="lines">@@ -1183,7 +1181,7 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setType(
</span><span class="cx"> /* [in] */ BSTR type)
</span><span class="cx"> {
</span><del>- ASSERT(m_element && is<HTMLInputElement>(m_element));
</del><ins>+ ASSERT(is<HTMLInputElement>(m_element));
</ins><span class="cx"> HTMLInputElement& inputElement = downcast<HTMLInputElement>(*m_element);
</span><span class="cx"> WTF::String typeString(type, SysStringLen(type));
</span><span class="cx"> inputElement.setType(typeString);
</span><span class="lines">@@ -1207,7 +1205,7 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::value(
</span><span class="cx"> /* [retval][out] */ BSTR* result)
</span><span class="cx"> {
</span><del>- ASSERT(m_element && is<HTMLInputElement>(m_element));
</del><ins>+ ASSERT(is<HTMLInputElement>(m_element));
</ins><span class="cx"> HTMLInputElement& inputElement = downcast<HTMLInputElement>(*m_element);
</span><span class="cx"> WTF::String valueString = inputElement.value();
</span><span class="cx"> *result = BString(valueString).release();
</span><span class="lines">@@ -1219,7 +1217,7 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setValue(
</span><span class="cx"> /* [in] */ BSTR value)
</span><span class="cx"> {
</span><del>- ASSERT(m_element && is<HTMLInputElement>(m_element));
</del><ins>+ ASSERT(is<HTMLInputElement>(m_element));
</ins><span class="cx"> HTMLInputElement& inputElement = downcast<HTMLInputElement>(*m_element);
</span><span class="cx"> inputElement.setValue(String((UChar*) value, SysStringLen(value)));
</span><span class="cx"> return S_OK;
</span><span class="lines">@@ -1228,7 +1226,6 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setValueForUser(
</span><span class="cx"> /* [in] */ BSTR value)
</span><span class="cx"> {
</span><del>- ASSERT(m_element);
</del><span class="cx"> ASSERT(is<HTMLInputElement>(m_element));
</span><span class="cx"> HTMLInputElement& inputElement = downcast<HTMLInputElement>(*m_element);
</span><span class="cx"> inputElement.setValueForUser(String(static_cast<UChar*>(value), SysStringLen(value)));
</span><span class="lines">@@ -1237,7 +1234,7 @@
</span><span class="cx">
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::select( void)
</span><span class="cx"> {
</span><del>- ASSERT(m_element && is<HTMLInputElement>(m_element));
</del><ins>+ ASSERT(is<HTMLInputElement>(m_element));
</ins><span class="cx"> HTMLInputElement& inputElement = downcast<HTMLInputElement>(*m_element);
</span><span class="cx"> inputElement.select();
</span><span class="cx"> return S_OK;
</span><span class="lines">@@ -1252,7 +1249,7 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setSelectionStart(
</span><span class="cx"> /* [in] */ long start)
</span><span class="cx"> {
</span><del>- ASSERT(m_element && is<HTMLInputElement>(m_element));
</del><ins>+ ASSERT(is<HTMLInputElement>(m_element));
</ins><span class="cx"> HTMLInputElement& inputElement = downcast<HTMLInputElement>(*m_element);
</span><span class="cx"> inputElement.setSelectionStart(start);
</span><span class="cx"> return S_OK;
</span><span class="lines">@@ -1261,7 +1258,7 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::selectionStart(
</span><span class="cx"> /* [retval][out] */ long *start)
</span><span class="cx"> {
</span><del>- ASSERT(m_element && is<HTMLInputElement>(m_element));
</del><ins>+ ASSERT(is<HTMLInputElement>(m_element));
</ins><span class="cx"> HTMLInputElement& inputElement = downcast<HTMLInputElement>(*m_element);
</span><span class="cx"> *start = inputElement.selectionStart();
</span><span class="cx"> return S_OK;
</span><span class="lines">@@ -1270,7 +1267,7 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setSelectionEnd(
</span><span class="cx"> /* [in] */ long end)
</span><span class="cx"> {
</span><del>- ASSERT(m_element && is<HTMLInputElement>(m_element));
</del><ins>+ ASSERT(is<HTMLInputElement>(m_element));
</ins><span class="cx"> HTMLInputElement& inputElement = downcast<HTMLInputElement>(*m_element);
</span><span class="cx"> inputElement.setSelectionEnd(end);
</span><span class="cx"> return S_OK;
</span><span class="lines">@@ -1279,7 +1276,7 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::selectionEnd(
</span><span class="cx"> /* [retval][out] */ long *end)
</span><span class="cx"> {
</span><del>- ASSERT(m_element && is<HTMLInputElement>(m_element));
</del><ins>+ ASSERT(is<HTMLInputElement>(m_element));
</ins><span class="cx"> HTMLInputElement& inputElement = downcast<HTMLInputElement>(*m_element);
</span><span class="cx"> *end = inputElement.selectionEnd();
</span><span class="cx"> return S_OK;
</span><span class="lines">@@ -1290,7 +1287,6 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::isTextField(
</span><span class="cx"> /* [retval][out] */ BOOL* result)
</span><span class="cx"> {
</span><del>- ASSERT(m_element);
</del><span class="cx"> ASSERT(is<HTMLInputElement>(m_element));
</span><span class="cx"> HTMLInputElement& inputElement = downcast<HTMLInputElement>(*m_element);
</span><span class="cx"> *result = inputElement.isTextField() ? TRUE : FALSE;
</span><span class="lines">@@ -1300,7 +1296,6 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::rectOnScreen(
</span><span class="cx"> /* [retval][out] */ LPRECT rect)
</span><span class="cx"> {
</span><del>- ASSERT(m_element);
</del><span class="cx"> ASSERT(is<HTMLInputElement>(m_element));
</span><span class="cx"> rect->left = rect->top = rect->right = rect->bottom = 0;
</span><span class="cx"> RenderObject* renderer = m_element->renderer();
</span><span class="lines">@@ -1326,7 +1321,6 @@
</span><span class="cx"> if (!replacementString)
</span><span class="cx"> return E_POINTER;
</span><span class="cx">
</span><del>- ASSERT(m_element);
</del><span class="cx"> ASSERT(is<HTMLInputElement>(m_element));
</span><span class="cx"> HTMLInputElement& inputElement = downcast<HTMLInputElement>(*m_element);
</span><span class="cx">
</span><span class="lines">@@ -1343,7 +1337,6 @@
</span><span class="cx"> /* [out] */ int* start,
</span><span class="cx"> /* [out] */ int* end)
</span><span class="cx"> {
</span><del>- ASSERT(m_element);
</del><span class="cx"> ASSERT(is<HTMLInputElement>(m_element));
</span><span class="cx"> HTMLInputElement& inputElement = downcast<HTMLInputElement>(*m_element);
</span><span class="cx"> *start = inputElement.selectionStart();
</span><span class="lines">@@ -1354,7 +1347,6 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setAutofilled(
</span><span class="cx"> /* [in] */ BOOL filled)
</span><span class="cx"> {
</span><del>- ASSERT(m_element);
</del><span class="cx"> ASSERT(is<HTMLInputElement>(m_element));
</span><span class="cx"> HTMLInputElement& inputElement = downcast<HTMLInputElement>(*m_element);
</span><span class="cx"> inputElement.setAutofilled(!!filled);
</span><span class="lines">@@ -1364,7 +1356,6 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::isAutofilled(
</span><span class="cx"> /* [retval][out] */ BOOL* result)
</span><span class="cx"> {
</span><del>- ASSERT(m_element);
</del><span class="cx"> ASSERT(is<HTMLInputElement>(m_element));
</span><span class="cx"> HTMLInputElement& inputElement = downcast<HTMLInputElement>(*m_element);
</span><span class="cx"> *result = inputElement.isAutofilled() ? TRUE : FALSE;
</span><span class="lines">@@ -1380,7 +1371,7 @@
</span><span class="cx"> return E_POINTER;
</span><span class="cx">
</span><span class="cx"> *result = FALSE;
</span><del>- ASSERT(m_element && is<HTMLInputElement>(m_element));
</del><ins>+ ASSERT(is<HTMLInputElement>(m_element));
</ins><span class="cx"> BOOL textField = FALSE;
</span><span class="cx"> if (FAILED(isTextField(&textField)) || !textField)
</span><span class="cx"> return S_OK;
</span><span class="lines">@@ -1426,8 +1417,8 @@
</span><span class="cx"> {
</span><span class="cx"> if (!result)
</span><span class="cx"> return E_POINTER;
</span><del>- *result = 0;
- ASSERT(m_element && is<HTMLTextAreaElement>(m_element));
</del><ins>+ *result = nullptr;
+ ASSERT(is<HTMLTextAreaElement>(m_element));
</ins><span class="cx"> HTMLTextAreaElement& textareaElement = downcast<HTMLTextAreaElement>(*m_element);
</span><span class="cx"> COMPtr<IDOMElement> domElement;
</span><span class="cx"> domElement.adoptRef(DOMHTMLElement::createInstance(textareaElement.form()));
</span><span class="lines">@@ -1544,7 +1535,7 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::value(
</span><span class="cx"> /* [retval][out] */ BSTR* result)
</span><span class="cx"> {
</span><del>- ASSERT(m_element && is<HTMLTextAreaElement>(m_element));
</del><ins>+ ASSERT(is<HTMLTextAreaElement>(m_element));
</ins><span class="cx"> HTMLTextAreaElement& textareaElement = downcast<HTMLTextAreaElement>(*m_element);
</span><span class="cx"> WTF::String valueString = textareaElement.value();
</span><span class="cx"> *result = BString(valueString).release();
</span><span class="lines">@@ -1556,7 +1547,7 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setValue(
</span><span class="cx"> /* [in] */ BSTR value)
</span><span class="cx"> {
</span><del>- ASSERT(m_element && is<HTMLTextAreaElement>(m_element));
</del><ins>+ ASSERT(is<HTMLTextAreaElement>(m_element));
</ins><span class="cx"> HTMLTextAreaElement& textareaElement = downcast<HTMLTextAreaElement>(*m_element);
</span><span class="cx"> textareaElement.setValue(String((UChar*) value, SysStringLen(value)));
</span><span class="cx"> return S_OK;
</span><span class="lines">@@ -1564,7 +1555,7 @@
</span><span class="cx">
</span><span class="cx"> HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::select( void)
</span><span class="cx"> {
</span><del>- ASSERT(m_element && is<HTMLTextAreaElement>(m_element));
</del><ins>+ ASSERT(is<HTMLTextAreaElement>(m_element));
</ins><span class="cx"> HTMLTextAreaElement& textareaElement = downcast<HTMLTextAreaElement>(*m_element);
</span><span class="cx"> textareaElement.select();
</span><span class="cx"> return S_OK;
</span><span class="lines">@@ -1579,7 +1570,7 @@
</span><span class="cx"> return E_POINTER;
</span><span class="cx">
</span><span class="cx"> *result = FALSE;
</span><del>- ASSERT(m_element && is<HTMLTextAreaElement>(m_element));
</del><ins>+ ASSERT(is<HTMLTextAreaElement>(m_element));
</ins><span class="cx"> if (downcast<HTMLTextAreaElement>(*m_element).lastChangeWasUserEdit())
</span><span class="cx"> *result = TRUE;
</span><span class="cx"> return S_OK;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebFramecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebFrame.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebFrame.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit/win/WebFrame.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -202,7 +202,7 @@
</span><span class="cx"> Element* ele;
</span><span class="cx"> hr = elePriv->coreElement((void**)&ele);
</span><span class="cx"> elePriv->Release();
</span><del>- if (SUCCEEDED(hr) && ele && is<HTMLFormElement>(ele))
</del><ins>+ if (SUCCEEDED(hr) && is<HTMLFormElement>(ele))
</ins><span class="cx"> return downcast<HTMLFormElement>(ele);
</span><span class="cx"> }
</span><span class="cx"> return nullptr;
</span><span class="lines">@@ -219,7 +219,7 @@
</span><span class="cx"> Element* ele;
</span><span class="cx"> hr = elePriv->coreElement((void**)&ele);
</span><span class="cx"> elePriv->Release();
</span><del>- if (SUCCEEDED(hr) && ele && is<HTMLInputElement>(ele))
</del><ins>+ if (SUCCEEDED(hr) && is<HTMLInputElement>(ele))
</ins><span class="cx"> return downcast<HTMLInputElement>(ele);
</span><span class="cx"> }
</span><span class="cx"> return nullptr;
</span><span class="lines">@@ -1101,7 +1101,7 @@
</span><span class="cx"> const Vector<FormAssociatedElement*>& elements = formElement->associatedElements();
</span><span class="cx"> AtomicString targetName((UChar*)name, SysStringLen(name));
</span><span class="cx"> for (unsigned int i = 0; i < elements.size(); i++) {
</span><del>- if (!is<HTMLFormControlElement>(elements[i]))
</del><ins>+ if (!is<HTMLFormControlElement>(*elements[i]))
</ins><span class="cx"> continue;
</span><span class="cx"> HTMLFormControlElement& elt = downcast<HTMLFormControlElement>(*elements[i]);
</span><span class="cx"> // Skip option elements, other duds
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit2/ChangeLog        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -1,3 +1,48 @@
</span><ins>+2014-10-01 Christophe Dumez <cdumez@apple.com>
+
+ Have is<>(T*) function do a null check on the pointer argument
+ https://bugs.webkit.org/show_bug.cgi?id=137333
+
+ Reviewed by Gavin Barraclough.
+
+ Have is<>(T*) function do a null check on the argument instead of a
+ simple assertion. This makes sense for 2 reasons:
+ 1. It is more consistent with downcast<>(T*), which will succeed even
+ if the argument is a nullptr.
+ 2. It simplifies the code a bit as it gets rid of a lot of explicit
+ null checks.
+
+ * Shared/WebRenderObject.cpp:
+ (WebKit::WebRenderObject::WebRenderObject):
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
+ (WebKit::InjectedBundleHitTestResult::mediaType):
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::handleEvent):
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::focusedElementChanged):
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::textFieldDidBeginEditing):
+ (WebKit::WebEditorClient::textFieldDidEndEditing):
+ (WebKit::WebEditorClient::textDidChangeInTextField):
+ (WebKit::WebEditorClient::textDidChangeInTextArea):
+ (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
+ (WebKit::WebEditorClient::textWillBeDeletedInTextField):
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::containsAnyFormElements):
+ (WebKit::WebFrame::containsAnyFormControls):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::pdfDocumentForPrintingFrame):
+ (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
+ * WebProcess/WebPage/ios/WebPageIOS.mm:
+ (WebKit::WebPage::blurAssistedNode):
+ (WebKit::WebPage::setAssistedNodeValue):
+ (WebKit::WebPage::setAssistedNodeValueAsNumber):
+ (WebKit::WebPage::setAssistedNodeSelectedIndex):
+ (WebKit::WebPage::getPositionInformation):
+ (WebKit::WebPage::performActionOnElement):
+ (WebKit::isAssistableNode):
+ (WebKit::WebPage::getAssistedNodeInformation):
+
</ins><span class="cx"> 2014-10-02 Daniel Bates <dabates@apple.com>
</span><span class="cx">
</span><span class="cx"> Clean up: Move XPC forward declarations in JavaScriptCore to WTF SPI wrapper header
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebRenderObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebRenderObject.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebRenderObject.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit2/Shared/WebRenderObject.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx"> m_name = renderer->renderName();
</span><span class="cx">
</span><span class="cx"> if (Node* node = renderer->node()) {
</span><del>- if (is<Element>(node)) {
</del><ins>+ if (is<Element>(*node)) {
</ins><span class="cx"> Element& element = downcast<Element>(*node);
</span><span class="cx"> m_elementTagName = element.tagName();
</span><span class="cx"> m_elementID = element.getIdAttribute();
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleInjectedBundleHitTestResultcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -114,7 +114,7 @@
</span><span class="cx"> return BundleHitTestResultMediaTypeNone;
</span><span class="cx"> #else
</span><span class="cx"> WebCore::Node* node = m_hitTestResult.innerNonSharedNode();
</span><del>- if (!is<Element>(node))
</del><ins>+ if (!is<Element>(*node))
</ins><span class="cx"> return BundleHitTestResultMediaTypeNone;
</span><span class="cx">
</span><span class="cx"> if (!downcast<Element>(*node).isMediaElement())
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessPluginsPluginViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -892,7 +892,7 @@
</span><span class="cx">
</span><span class="cx"> const WebEvent* currentEvent = WebPage::currentEvent();
</span><span class="cx"> std::unique_ptr<WebEvent> simulatedWebEvent;
</span><del>- if (is<MouseEvent>(event) && downcast<MouseEvent>(*event).isSimulated()) {
</del><ins>+ if (is<MouseEvent>(*event) && downcast<MouseEvent>(*event).isSimulated()) {
</ins><span class="cx"> simulatedWebEvent = createWebEvent(downcast<MouseEvent>(event));
</span><span class="cx"> currentEvent = simulatedWebEvent.get();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebChromeClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -176,8 +176,6 @@
</span><span class="cx">
</span><span class="cx"> void WebChromeClient::focusedElementChanged(Element* element)
</span><span class="cx"> {
</span><del>- if (!element)
- return;
</del><span class="cx"> if (!is<HTMLInputElement>(element))
</span><span class="cx"> return;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebEditorClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -295,7 +295,7 @@
</span><span class="cx">
</span><span class="cx"> void WebEditorClient::textFieldDidBeginEditing(Element* element)
</span><span class="cx"> {
</span><del>- if (!is<HTMLInputElement>(element))
</del><ins>+ if (!is<HTMLInputElement>(*element))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> WebFrame* webFrame = WebFrame::fromCoreFrame(*element->document().frame());
</span><span class="lines">@@ -306,7 +306,7 @@
</span><span class="cx">
</span><span class="cx"> void WebEditorClient::textFieldDidEndEditing(Element* element)
</span><span class="cx"> {
</span><del>- if (!is<HTMLInputElement>(element))
</del><ins>+ if (!is<HTMLInputElement>(*element))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> WebFrame* webFrame = WebFrame::fromCoreFrame(*element->document().frame());
</span><span class="lines">@@ -317,7 +317,7 @@
</span><span class="cx">
</span><span class="cx"> void WebEditorClient::textDidChangeInTextField(Element* element)
</span><span class="cx"> {
</span><del>- if (!is<HTMLInputElement>(element))
</del><ins>+ if (!is<HTMLInputElement>(*element))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> bool initiatedByUserTyping = UserTypingGestureIndicator::processingUserTypingGesture() && UserTypingGestureIndicator::focusedElementAtGestureStart() == element;
</span><span class="lines">@@ -330,7 +330,7 @@
</span><span class="cx">
</span><span class="cx"> void WebEditorClient::textDidChangeInTextArea(Element* element)
</span><span class="cx"> {
</span><del>- if (!is<HTMLTextAreaElement>(element))
</del><ins>+ if (!is<HTMLTextAreaElement>(*element))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> WebFrame* webFrame = WebFrame::fromCoreFrame(*element->document().frame());
</span><span class="lines">@@ -393,7 +393,7 @@
</span><span class="cx">
</span><span class="cx"> bool WebEditorClient::doTextFieldCommandFromEvent(Element* element, KeyboardEvent* event)
</span><span class="cx"> {
</span><del>- if (!is<HTMLInputElement>(element))
</del><ins>+ if (!is<HTMLInputElement>(*element))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> WKInputFieldActionType actionType = static_cast<WKInputFieldActionType>(0);
</span><span class="lines">@@ -408,7 +408,7 @@
</span><span class="cx">
</span><span class="cx"> void WebEditorClient::textWillBeDeletedInTextField(Element* element)
</span><span class="cx"> {
</span><del>- if (!is<HTMLInputElement>(element))
</del><ins>+ if (!is<HTMLInputElement>(*element))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> WebFrame* webFrame = WebFrame::fromCoreFrame(*element->document().frame());
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebFramecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebFrame.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebFrame.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebFrame.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -613,9 +613,9 @@
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> for (Node* node = document->documentElement(); node; node = NodeTraversal::next(node)) {
</span><del>- if (!node->isElementNode())
</del><ins>+ if (!is<Element>(*node))
</ins><span class="cx"> continue;
</span><del>- if (is<HTMLFormElement>(node))
</del><ins>+ if (is<HTMLFormElement>(*node))
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx"> return false;
</span><span class="lines">@@ -631,9 +631,9 @@
</span><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> for (Node* node = document->documentElement(); node; node = NodeTraversal::next(node)) {
</span><del>- if (!node->isElementNode())
</del><ins>+ if (!is<Element>(*node))
</ins><span class="cx"> continue;
</span><del>- if (is<HTMLInputElement>(node) || is<HTMLSelectElement>(node) || is<HTMLTextAreaElement>(node))
</del><ins>+ if (is<HTMLInputElement>(*node) || is<HTMLSelectElement>(*node) || is<HTMLTextAreaElement>(*node))
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx"> return false;
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -3700,9 +3700,6 @@
</span><span class="cx"> RetainPtr<PDFDocument> WebPage::pdfDocumentForPrintingFrame(Frame* coreFrame)
</span><span class="cx"> {
</span><span class="cx"> Document* document = coreFrame->document();
</span><del>- if (!document)
- return nullptr;
-
</del><span class="cx"> if (!is<PluginDocument>(document))
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="lines">@@ -4622,7 +4619,7 @@
</span><span class="cx"> inflatedPluginRect.inflateY(yOffset);
</span><span class="cx">
</span><span class="cx"> if (element != &plugInImageElement) {
</span><del>- if (!(is<HTMLImageElement>(element)
</del><ins>+ if (!(is<HTMLImageElement>(*element)
</ins><span class="cx"> && inflatedPluginRect.contains(elementRectRelativeToTopDocument)
</span><span class="cx"> && elementRectRelativeToTopDocument.width() > pluginRenderBox.width() * minimumOverlappingImageToPluginDimensionScale
</span><span class="cx"> && elementRectRelativeToTopDocument.height() > pluginRenderBox.height() * minimumOverlappingImageToPluginDimensionScale))
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageiosWebPageIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm (174224 => 174225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm        2014-10-02 19:38:08 UTC (rev 174224)
+++ trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm        2014-10-02 19:39:41 UTC (rev 174225)
</span><span class="lines">@@ -604,15 +604,13 @@
</span><span class="cx">
</span><span class="cx"> void WebPage::blurAssistedNode()
</span><span class="cx"> {
</span><del>- if (m_assistedNode && is<Element>(*m_assistedNode))
</del><ins>+ if (is<Element>(m_assistedNode))
</ins><span class="cx"> downcast<Element>(*m_assistedNode).blur();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebPage::setAssistedNodeValue(const String& value)
</span><span class="cx"> {
</span><del>- if (!m_assistedNode)
- return;
- if (is<HTMLInputElement>(*m_assistedNode)) {
</del><ins>+ if (is<HTMLInputElement>(m_assistedNode)) {
</ins><span class="cx"> HTMLInputElement& element = downcast<HTMLInputElement>(*m_assistedNode);
</span><span class="cx"> element.setValue(value, DispatchInputAndChangeEvent);
</span><span class="cx"> }
</span><span class="lines">@@ -621,9 +619,7 @@
</span><span class="cx">
</span><span class="cx"> void WebPage::setAssistedNodeValueAsNumber(double value)
</span><span class="cx"> {
</span><del>- if (!m_assistedNode)
- return;
- if (is<HTMLInputElement>(*m_assistedNode)) {
</del><ins>+ if (is<HTMLInputElement>(m_assistedNode)) {
</ins><span class="cx"> HTMLInputElement& element = downcast<HTMLInputElement>(*m_assistedNode);
</span><span class="cx"> element.setValueAsNumber(value, ASSERT_NO_EXCEPTION, DispatchInputAndChangeEvent);
</span><span class="cx"> }
</span><span class="lines">@@ -631,7 +627,7 @@
</span><span class="cx">
</span><span class="cx"> void WebPage::setAssistedNodeSelectedIndex(uint32_t index, bool allowMultipleSelection)
</span><span class="cx"> {
</span><del>- if (!m_assistedNode || !is<HTMLSelectElement>(*m_assistedNode))
</del><ins>+ if (!is<HTMLSelectElement>(m_assistedNode))
</ins><span class="cx"> return;
</span><span class="cx"> HTMLSelectElement& select = downcast<HTMLSelectElement>(*m_assistedNode);
</span><span class="cx"> select.optionSelectedByUser(index, true, allowMultipleSelection);
</span><span class="lines">@@ -1888,7 +1884,7 @@
</span><span class="cx"> if (hitNode) {
</span><span class="cx"> info.clickableElementName = hitNode->nodeName();
</span><span class="cx">
</span><del>- Element* element = is<Element>(hitNode) ? downcast<Element>(hitNode) : nullptr;
</del><ins>+ Element* element = is<Element>(*hitNode) ? downcast<Element>(hitNode) : nullptr;
</ins><span class="cx"> if (element) {
</span><span class="cx"> Element* linkElement = nullptr;
</span><span class="cx"> if (element->renderer() && element->renderer()->isRenderImage()) {
</span><span class="lines">@@ -1952,7 +1948,7 @@
</span><span class="cx">
</span><span class="cx"> void WebPage::performActionOnElement(uint32_t action)
</span><span class="cx"> {
</span><del>- if (!m_interactionNode || !is<HTMLElement>(m_interactionNode.get()))
</del><ins>+ if (!is<HTMLElement>(m_interactionNode.get()))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> HTMLElement* element = downcast<HTMLElement>(m_interactionNode.get());
</span><span class="lines">@@ -1990,11 +1986,11 @@
</span><span class="cx">
</span><span class="cx"> static inline bool isAssistableNode(Node* node)
</span><span class="cx"> {
</span><del>- if (is<HTMLSelectElement>(node))
</del><ins>+ if (is<HTMLSelectElement>(*node))
</ins><span class="cx"> return true;
</span><del>- if (is<HTMLTextAreaElement>(node))
</del><ins>+ if (is<HTMLTextAreaElement>(*node))
</ins><span class="cx"> return !downcast<HTMLTextAreaElement>(*node).isReadOnlyNode();
</span><del>- if (is<HTMLInputElement>(node)) {
</del><ins>+ if (is<HTMLInputElement>(*node)) {
</ins><span class="cx"> HTMLInputElement& element = downcast<HTMLInputElement>(*node);
</span><span class="cx"> return !element.isReadOnlyNode() && (element.isTextField() || element.isDateField() || element.isDateTimeLocalField() || element.isMonthField() || element.isTimeField());
</span><span class="cx"> }
</span><span class="lines">@@ -2077,10 +2073,10 @@
</span><span class="cx"> // If a select does not have groups, all the option elements have group ID 0.
</span><span class="cx"> for (size_t i = 0; i < count; ++i) {
</span><span class="cx"> HTMLElement* item = items[i];
</span><del>- if (is<HTMLOptionElement>(item)) {
</del><ins>+ if (is<HTMLOptionElement>(*item)) {
</ins><span class="cx"> HTMLOptionElement& option = downcast<HTMLOptionElement>(*item);
</span><span class="cx"> information.selectOptions.append(OptionItem(option.text(), false, parentGroupID, option.selected(), option.fastHasAttribute(WebCore::HTMLNames::disabledAttr)));
</span><del>- } else if (is<HTMLOptGroupElement>(item)) {
</del><ins>+ } else if (is<HTMLOptGroupElement>(*item)) {
</ins><span class="cx"> HTMLOptGroupElement& group = downcast<HTMLOptGroupElement>(*item);
</span><span class="cx"> parentGroupID++;
</span><span class="cx"> information.selectOptions.append(OptionItem(group.groupLabelText(), true, 0, false, group.fastHasAttribute(WebCore::HTMLNames::disabledAttr)));
</span></span></pre>
</div>
</div>
</body>
</html>