<!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&lt;&gt;(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&lt;&gt;(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&lt;&gt;(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&lt;Element&gt;::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  &lt;cdumez@apple.com&gt;
+
+        Have is&lt;&gt;(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&lt;&gt;(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&lt;&gt;(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  &lt;dabates@apple.com&gt;
</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 &lt;typename ExpectedType, typename ArgType&gt;
</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&lt;ExpectedType, ArgType&gt;::value, &quot;Unnecessary type check&quot;);
</span><del>-    return TypeCastTraits&lt;const ExpectedType, const ArgType&gt;::isOfType(*source);
</del><ins>+    return source &amp;&amp; TypeCastTraits&lt;const ExpectedType, const ArgType&gt;::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  &lt;cdumez@apple.com&gt;
+
+        Have is&lt;&gt;(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&lt;&gt;(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&lt;&gt;(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&lt;Element&gt;::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  &lt;cabanier@adobe.com&gt;
</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&lt;Document&gt;(context) || context-&gt;isWorkerGlobalScope());
-    if (is&lt;Document&gt;(context)) {
</del><ins>+    ASSERT(is&lt;Document&gt;(*context) || context-&gt;isWorkerGlobalScope());
+    if (is&lt;Document&gt;(*context)) {
</ins><span class="cx">         Document&amp; document = downcast&lt;Document&gt;(*context);
</span><span class="cx">         return document.frame() &amp;&amp; document.page() &amp;&amp; (!document.page()-&gt;usesEphemeralSession() || SchemeRegistry::allowsDatabaseAccessInPrivateBrowsing(document.securityOrigin()-&gt;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&lt;Document&gt;(context)) {
</del><ins>+    if (is&lt;Document&gt;(*context)) {
</ins><span class="cx">         Document&amp; document = downcast&lt;Document&gt;(*context);
</span><span class="cx">         return document.page()-&gt;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&lt;WorkerGlobalScope&gt;(context)) {
</del><ins>+    if (is&lt;WorkerGlobalScope&gt;(*context)) {
</ins><span class="cx">         WorkerGlobalScope&amp; workerGlobalScope = downcast&lt;WorkerGlobalScope&gt;(*context);
</span><span class="cx">         WorkerRunLoop&amp; 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&lt;Document&gt;(scriptExecutionContext())) {
</del><ins>+    if (is&lt;Document&gt;(*scriptExecutionContext())) {
</ins><span class="cx">         Document&amp; document = downcast&lt;Document&gt;(*scriptExecutionContext());
</span><span class="cx">         shouldBypassMainWorldContentSecurityPolicy = document.frame()-&gt;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(&quot;Sec-WebSocket-Protocol: &quot; + m_clientProtocol);
</span><span class="cx"> 
</span><span class="cx">     URL url = httpURLForAuthenticationAndCookies();
</span><del>-    if (is&lt;Document&gt;(m_context)) {
</del><ins>+    if (is&lt;Document&gt;(*m_context)) {
</ins><span class="cx">         Document&amp; document = downcast&lt;Document&gt;(*m_context);
</span><span class="cx">         String cookie = cookieRequestHeaderFieldValue(&amp;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-&gt;focusController().focusedOrMainFrame().document();
</span><span class="cx">     Element* focusedElement = focusedDocument-&gt;focusedElement();
</span><del>-    if (focusedElement &amp;&amp; is&lt;HTMLAreaElement&gt;(focusedElement))
</del><ins>+    if (is&lt;HTMLAreaElement&gt;(focusedElement))
</ins><span class="cx">         return focusedImageMapUIElement(downcast&lt;HTMLAreaElement&gt;(focusedElement));
</span><span class="cx"> 
</span><span class="cx">     AccessibilityObject* obj = focusedDocument-&gt;axObjectCache()-&gt;getOrCreate(focusedElement ? static_cast&lt;Node*&gt;(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 &amp;&amp; is&lt;Element&gt;(node) &amp;&amp; downcast&lt;Element&gt;(*node).isSearchFieldCancelButtonElement())
</del><ins>+    if (is&lt;Element&gt;(node) &amp;&amp; downcast&lt;Element&gt;(*node).isSearchFieldCancelButtonElement())
</ins><span class="cx">         return AccessibilitySearchFieldCancelButton::create(renderer);
</span><span class="cx">     
</span><span class="cx">     if (renderer-&gt;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&lt;HTMLMeterElement&gt;(node-&gt;parentElement());
</del><ins>+    insideMeterElement = is&lt;HTMLMeterElement&gt;(*node-&gt;parentElement());
</ins><span class="cx"> #endif
</span><span class="cx">     
</span><span class="cx">     if (!inCanvasSubtree &amp;&amp; !isHidden &amp;&amp; !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-&gt;renderer() || !is&lt;Element&gt;(node))
</del><ins>+    if (!is&lt;Element&gt;(node) || !node-&gt;renderer())
</ins><span class="cx">         return;
</span><span class="cx">     
</span><span class="cx">     Element* element = downcast&lt;Element&gt;(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 &amp;&amp; is&lt;HTMLLabelElement&gt;(element))
</del><ins>+    else if (attrName == forAttr &amp;&amp; is&lt;HTMLLabelElement&gt;(*element))
</ins><span class="cx">         labelChanged(element);
</span><span class="cx"> 
</span><span class="cx">     if (!attrName.localName().string().startsWith(&quot;aria-&quot;))
</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&lt;HTMLLabelElement&gt;(element));
-    HTMLElement* correspondingControl = downcast&lt;HTMLLabelElement&gt;(element)-&gt;control();
</del><ins>+    ASSERT(is&lt;HTMLLabelElement&gt;(*element));
+    HTMLElement* correspondingControl = downcast&lt;HTMLLabelElement&gt;(*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-&gt;rootEditableElement();
</span><del>-    const Element* element = is&lt;Element&gt;(node) ? downcast&lt;Element&gt;(node) : node-&gt;parentElement();
</del><ins>+    const Element* element = is&lt;Element&gt;(*node) ? downcast&lt;Element&gt;(node) : node-&gt;parentElement();
</ins><span class="cx"> 
</span><span class="cx">     for (; element; element = element-&gt;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-&gt;parentNode()) {
</span><del>-        if (is&lt;Element&gt;(testNode)) {
</del><ins>+        if (is&lt;Element&gt;(*testNode)) {
</ins><span class="cx">             const AtomicString&amp; ariaHiddenValue = downcast&lt;Element&gt;(*testNode).fastGetAttribute(aria_hiddenAttr);
</span><span class="cx">             if (equalIgnoringCase(ariaHiddenValue, &quot;false&quot;))
</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&lt;HTMLOptGroupElement&gt;(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&lt;HTMLOptionElement&gt;(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&lt;HTMLOptionElement&gt;(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&lt;HTMLOptionElement&gt;(m_optionElement))
</del><ins>+    if (is&lt;HTMLOptionElement&gt;(*m_optionElement))
</ins><span class="cx">         return downcast&lt;HTMLOptionElement&gt;(*m_optionElement).text();
</span><span class="cx">     
</span><del>-    if (is&lt;HTMLOptGroupElement&gt;(m_optionElement))
</del><ins>+    if (is&lt;HTMLOptGroupElement&gt;(*m_optionElement))
</ins><span class="cx">         return downcast&lt;HTMLOptGroupElement&gt;(*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&lt;HTMLOptionElement&gt;(m_optionElement))
</del><ins>+    if (is&lt;HTMLOptionElement&gt;(*m_optionElement))
</ins><span class="cx">         return downcast&lt;HTMLOptionElement&gt;(*m_optionElement).ownerSelectElement();
</span><span class="cx"> 
</span><del>-    if (is&lt;HTMLOptGroupElement&gt;(m_optionElement))
</del><ins>+    if (is&lt;HTMLOptGroupElement&gt;(*m_optionElement))
</ins><span class="cx">         return downcast&lt;HTMLOptGroupElement&gt;(*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-&gt;node();
</span><del>-    if (!is&lt;HTMLInputElement&gt;(node))
</del><ins>+    if (!is&lt;HTMLInputElement&gt;(*node))
</ins><span class="cx">         return String();
</span><span class="cx"> 
</span><span class="cx">     float time = downcast&lt;HTMLInputElement&gt;(*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&lt;HTMLOptionElement&gt;(element) || !element-&gt;inRenderedDocument())
</del><ins>+    if (!is&lt;HTMLOptionElement&gt;(element) || !element-&gt;inRenderedDocument())
</ins><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     AccessibilityObject* object = document()-&gt;axObjectCache()-&gt;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()-&gt;hasTagName(buttonTag))
</span><span class="cx">         return buttonRoleType();
</span><del>-    if (is&lt;HTMLInputElement&gt;(node())) {
</del><ins>+    if (is&lt;HTMLInputElement&gt;(*node())) {
</ins><span class="cx">         HTMLInputElement&amp; input = downcast&lt;HTMLInputElement&gt;(*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&amp; selectElement = downcast&lt;HTMLSelectElement&gt;(*node());
</span><span class="cx">         return selectElement.multiple() ? ListBoxRole : PopUpButtonRole;
</span><span class="cx">     }
</span><del>-    if (is&lt;HTMLTextAreaElement&gt;(node()))
</del><ins>+    if (is&lt;HTMLTextAreaElement&gt;(*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()-&gt;hasTagName(pTag))
</span><span class="cx">         return ParagraphRole;
</span><del>-    if (is&lt;HTMLLabelElement&gt;(node()))
</del><ins>+    if (is&lt;HTMLLabelElement&gt;(*node()))
</ins><span class="cx">         return LabelRole;
</span><del>-    if (is&lt;Element&gt;(node()) &amp;&amp; downcast&lt;Element&gt;(*node()).isFocusable())
</del><ins>+    if (is&lt;Element&gt;(*node()) &amp;&amp; downcast&lt;Element&gt;(*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-&gt;node();
</span><del>-    if (!node || !is&lt;HTMLCanvasElement&gt;(node))
</del><ins>+    if (!is&lt;HTMLCanvasElement&gt;(node))
</ins><span class="cx">         return false;
</span><span class="cx">     HTMLCanvasElement&amp; canvasElement = downcast&lt;HTMLCanvasElement&gt;(*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&lt;HTMLTextAreaElement&gt;(node))
</del><ins>+    if (is&lt;HTMLTextAreaElement&gt;(*node))
</ins><span class="cx">         return true;
</span><span class="cx"> 
</span><del>-    if (is&lt;HTMLInputElement&gt;(node)) {
</del><ins>+    if (is&lt;HTMLInputElement&gt;(*node)) {
</ins><span class="cx">         HTMLInputElement&amp; input = downcast&lt;HTMLInputElement&gt;(*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&lt;HTMLImageElement&gt;(node))
</del><ins>+    if (is&lt;HTMLImageElement&gt;(*node))
</ins><span class="cx">         return true;
</span><span class="cx"> 
</span><span class="cx">     if (node-&gt;hasTagName(appletTag) || node-&gt;hasTagName(embedTag) || node-&gt;hasTagName(objectTag))
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><del>-    if (is&lt;HTMLInputElement&gt;(node)) {
</del><ins>+    if (is&lt;HTMLInputElement&gt;(*node)) {
</ins><span class="cx">         HTMLInputElement&amp; input = downcast&lt;HTMLInputElement&gt;(*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-&gt;node();
</span><del>-    if (!node)
-        return false;

-    if (roleValue() == ButtonRole &amp;&amp; is&lt;HTMLInputElement&gt;(node)) {
</del><ins>+    if (is&lt;HTMLInputElement&gt;(node) &amp;&amp; roleValue() == ButtonRole) {
</ins><span class="cx">         HTMLInputElement&amp; input = downcast&lt;HTMLInputElement&gt;(*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-&gt;node();
</span><del>-    if (!node || !is&lt;Element&gt;(node))
</del><ins>+    if (!is&lt;Element&gt;(node))
</ins><span class="cx">         return true;
</span><span class="cx"> 
</span><span class="cx">     return !downcast&lt;Element&gt;(*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&lt;Element&gt;(node))
</del><ins>+    if (!is&lt;Element&gt;(*node))
</ins><span class="cx">         return false;
</span><span class="cx">     return downcast&lt;Element&gt;(*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-&gt;node();
</span><del>-    if (!node)
-        return false;
-
</del><span class="cx">     return is&lt;Element&gt;(node) &amp;&amp; downcast&lt;Element&gt;(*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&lt;HTMLTextAreaElement&gt;(node))
-        return downcast&lt;HTMLTextAreaElement&gt;(node)-&gt;isReadOnly();
</del><ins>+    if (is&lt;HTMLTextAreaElement&gt;(*node))
+        return downcast&lt;HTMLTextAreaElement&gt;(*node).isReadOnly();
</ins><span class="cx"> 
</span><del>-    if (is&lt;HTMLInputElement&gt;(node)) {
</del><ins>+    if (is&lt;HTMLInputElement&gt;(*node)) {
</ins><span class="cx">         HTMLInputElement&amp; input = downcast&lt;HTMLInputElement&gt;(*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-&gt;node();
</span><del>-    if (n &amp;&amp; is&lt;HTMLFormControlElement&gt;(n))
-        return downcast&lt;HTMLFormControlElement&gt;(n)-&gt;isRequired();
</del><ins>+    if (is&lt;HTMLFormControlElement&gt;(n))
+        return downcast&lt;HTMLFormControlElement&gt;(*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() &amp;&amp; is&lt;HTMLInputElement&gt;(node())) {
</del><ins>+    if (is&lt;HTMLInputElement&gt;(node())) {
</ins><span class="cx">         HTMLInputElement&amp; input = downcast&lt;HTMLInputElement&gt;(*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() &amp;&amp; is&lt;HTMLInputElement&gt;(node())) {
</del><ins>+    if (is&lt;HTMLInputElement&gt;(node())) {
</ins><span class="cx">         HTMLInputElement&amp; input = downcast&lt;HTMLInputElement&gt;(*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() &amp;&amp; is&lt;HTMLInputElement&gt;(node())) {
</del><ins>+    if (is&lt;HTMLInputElement&gt;(node())) {
</ins><span class="cx">         HTMLInputElement&amp; input = downcast&lt;HTMLInputElement&gt;(*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&lt;HTMLFormControlElement&gt;(node) || AccessibilityObject::isARIAControl(ariaRoleAttribute());
</del><ins>+    return is&lt;HTMLFormControlElement&gt;(*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-&gt;parentNode()) {
</span><del>-        if (is&lt;HTMLAnchorElement&gt;(node) || (node-&gt;renderer() &amp;&amp; cache-&gt;getOrCreate(node-&gt;renderer())-&gt;isAnchor()))
</del><ins>+        if (is&lt;HTMLAnchorElement&gt;(*node) || (node-&gt;renderer() &amp;&amp; cache-&gt;getOrCreate(node-&gt;renderer())-&gt;isAnchor()))
</ins><span class="cx">             return downcast&lt;Element&gt;(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&lt;HTMLInputElement&gt;(node)) {
</del><ins>+    if (is&lt;HTMLInputElement&gt;(*node)) {
</ins><span class="cx">         HTMLInputElement&amp; input = downcast&lt;HTMLInputElement&gt;(*node);
</span><span class="cx">         if (!input.isDisabledFormControl() &amp;&amp; (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&amp; element : elementLineage(is&lt;Element&gt;(node) ? downcast&lt;Element&gt;(node) : node-&gt;parentElement())) {
</del><ins>+    for (auto&amp; element : elementLineage(is&lt;Element&gt;(*node) ? downcast&lt;Element&gt;(node) : node-&gt;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) &amp;&amp; isStaticText() &amp;&amp; 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&lt;HTMLElement&gt;(element) || !downcast&lt;HTMLElement&gt;(element)-&gt;isLabelable())
</del><ins>+    if (!is&lt;HTMLElement&gt;(*element) || !downcast&lt;HTMLElement&gt;(*element).isLabelable())
</ins><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     const AtomicString&amp; id = element-&gt;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&lt;HTMLInputElement&gt;(node);
</del><ins>+    bool isInputTag = is&lt;HTMLInputElement&gt;(*node);
</ins><span class="cx">     if (isInputTag || AccessibilityObject::isARIAInput(ariaRoleAttribute()) || isControl()) {
</span><span class="cx">         if (HTMLLabelElement* label = labelForElement(downcast&lt;Element&gt;(node))) {
</span><span class="cx">             AccessibilityObject* labelObject = axObjectCache()-&gt;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&lt;HTMLFieldSetElement&gt;(node)) {
</del><ins>+    if (is&lt;HTMLFieldSetElement&gt;(*node)) {
</ins><span class="cx">         AccessibilityObject* object = axObjectCache()-&gt;getOrCreate(downcast&lt;HTMLFieldSetElement&gt;(*node).legend());
</span><span class="cx">         if (object &amp;&amp; !object-&gt;isHidden())
</span><span class="cx">             textOrder.append(AccessibilityText(accessibleNameForNode(object-&gt;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&lt;HTMLInputElement&gt;(node);
</del><ins>+    bool isInputTag = is&lt;HTMLInputElement&gt;(*node);
</ins><span class="cx">     if (isInputTag) {
</span><span class="cx">         HTMLInputElement&amp; input = downcast&lt;HTMLInputElement&gt;(*node);
</span><span class="cx">         if (input.isTextButton()) {
</span><span class="lines">@@ -1503,7 +1497,7 @@
</span><span class="cx">         return downcast&lt;SVGElement&gt;(*m_node).title();
</span><span class="cx">     
</span><span class="cx"> #if ENABLE(MATHML)
</span><del>-    if (m_node &amp;&amp; is&lt;MathMLElement&gt;(*m_node))
</del><ins>+    if (is&lt;MathMLElement&gt;(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-&gt;parentNode()) {
</span><del>-        if (is&lt;HTMLElement&gt;(ancestor)) {
</del><ins>+        if (is&lt;HTMLElement&gt;(*ancestor)) {
</ins><span class="cx">             HTMLElement&amp; element = downcast&lt;HTMLElement&gt;(*ancestor);
</span><span class="cx">             const AtomicString&amp; 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-&gt;node();
</span><del>-    if (!node || !is&lt;Element&gt;(node))
</del><ins>+    if (!is&lt;Element&gt;(node))
</ins><span class="cx">         return 0;
</span><span class="cx">     Element&amp; element = downcast&lt;Element&gt;(*node);
</span><span class="cx">     const AtomicString&amp; 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-&gt;node();
</span><del>-    if (node &amp;&amp; is&lt;Text&gt;(node))
</del><ins>+    if (is&lt;Text&gt;(node))
</ins><span class="cx">         return downcast&lt;Text&gt;(*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&lt;HTMLInputElement&gt;(node);
</del><ins>+    bool isInputTag = is&lt;HTMLInputElement&gt;(*node);
</ins><span class="cx">     if (isInputTag) {
</span><span class="cx">         HTMLInputElement&amp; input = downcast&lt;HTMLInputElement&gt;(*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&lt;HTMLInputElement&gt;(node()))
</del><ins>+    if (!is&lt;HTMLInputElement&gt;(node()))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     HTMLInputElement&amp; input = downcast&lt;HTMLInputElement&gt;(*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&lt;Element&gt;(node))
</del><ins>+    if (!is&lt;Element&gt;(node))
</ins><span class="cx">         return String();
</span><span class="cx">     
</span><span class="cx">     Element&amp; element = downcast&lt;Element&gt;(*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&lt;HTMLInputElement&gt;(node))
</del><ins>+    if (is&lt;HTMLInputElement&gt;(*node))
</ins><span class="cx">         return downcast&lt;HTMLInputElement&gt;(*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&lt;Element&gt;(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-&gt;renderView()-&gt;hitTest(request, hitTestResult);
</span><span class="cx">         if (hitTestResult.innerNode()) {
</span><span class="cx">             Node* innerNode = hitTestResult.innerNode()-&gt;deprecatedShadowAncestorNode();
</span><del>-            if (is&lt;Element&gt;(innerNode))
</del><ins>+            if (is&lt;Element&gt;(*innerNode))
</ins><span class="cx">                 hitTestElement = downcast&lt;Element&gt;(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&amp; tagName) const
</span><span class="cx"> {
</span><span class="cx">     Node* node = this-&gt;node();
</span><del>-    return node &amp;&amp; is&lt;Element&gt;(node) &amp;&amp; downcast&lt;Element&gt;(*node).hasTagName(tagName);
</del><ins>+    return is&lt;Element&gt;(node) &amp;&amp; downcast&lt;Element&gt;(*node).hasTagName(tagName);
</ins><span class="cx"> }
</span><span class="cx">     
</span><span class="cx"> bool AccessibilityObject::hasAttribute(const QualifiedName&amp; attribute) const
</span><span class="cx"> {
</span><span class="cx">     Node* node = this-&gt;node();
</span><del>-    if (!node)
-        return false;
-    
</del><span class="cx">     if (!is&lt;Element&gt;(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-&gt;node();
</span><del>-    if (node &amp;&amp; is&lt;Element&gt;(node))
</del><ins>+    if (is&lt;Element&gt;(node))
</ins><span class="cx">         return downcast&lt;Element&gt;(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&lt;String&gt;&amp; classList) const
</span><span class="cx"> {
</span><span class="cx">     Node* node = this-&gt;node();
</span><del>-    if (!node || !is&lt;Element&gt;(node))
</del><ins>+    if (!is&lt;Element&gt;(node))
</ins><span class="cx">         return;
</span><span class="cx">     
</span><span class="cx">     Element* element = downcast&lt;Element&gt;(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 &amp;&amp; m_renderer-&gt;node() &amp;&amp; is&lt;HTMLInputElement&gt;(m_renderer-&gt;node())) {
</del><ins>+    if (m_renderer &amp;&amp; is&lt;HTMLInputElement&gt;(m_renderer-&gt;node())) {
</ins><span class="cx">         HTMLInputElement&amp; input = downcast&lt;HTMLInputElement&gt;(*m_renderer-&gt;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-&gt;node();
</span><span class="cx">     for ( ; node; node = node-&gt;parentNode()) {
</span><del>-        if (is&lt;HTMLAnchorElement&gt;(node) || (node-&gt;renderer() &amp;&amp; cache-&gt;getOrCreate(node-&gt;renderer())-&gt;isAnchor()))
</del><ins>+        if (is&lt;HTMLAnchorElement&gt;(*node) || (node-&gt;renderer() &amp;&amp; cache-&gt;getOrCreate(node-&gt;renderer())-&gt;isAnchor()))
</ins><span class="cx">             return downcast&lt;Element&gt;(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-&gt;parent()) {
</span><del>-        if (ancestor-&gt;node() &amp;&amp; is&lt;HTMLElement&gt;(ancestor-&gt;node())) {
</del><ins>+        if (is&lt;HTMLElement&gt;(ancestor-&gt;node())) {
</ins><span class="cx">             HTMLElement&amp; element = downcast&lt;HTMLElement&gt;(*ancestor-&gt;node());
</span><span class="cx">             const AtomicString&amp; 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-&gt;node(); parentNode; parentNode = parentNode-&gt;parentNode()) {
</span><del>-        if (is&lt;HTMLLabelElement&gt;(parentNode))
</del><ins>+        if (is&lt;HTMLLabelElement&gt;(*parentNode))
</ins><span class="cx">             return downcast&lt;HTMLLabelElement&gt;(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&lt;HTMLAnchorElement&gt;(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-&gt;node();
</span><del>-    if (!node || !is&lt;HTMLInputElement&gt;(node))
</del><ins>+    if (!is&lt;HTMLInputElement&gt;(node))
</ins><span class="cx">         return;
</span><span class="cx">     
</span><span class="cx">     HTMLInputElement&amp; input = downcast&lt;HTMLInputElement&gt;(*node);
</span><span class="lines">@@ -969,7 +966,7 @@
</span><span class="cx">         unsigned length = list-&gt;length();
</span><span class="cx">         for (unsigned i = 0; i &lt; length; ++i) {
</span><span class="cx">             Node* item = list-&gt;item(i);
</span><del>-            if (is&lt;HTMLInputElement&gt;(item)) {
</del><ins>+            if (is&lt;HTMLInputElement&gt;(*item)) {
</ins><span class="cx">                 HTMLInputElement&amp; associateElement = downcast&lt;HTMLInputElement&gt;(*item);
</span><span class="cx">                 if (associateElement.isRadioButton() &amp;&amp; associateElement.name() == input.name()) {
</span><span class="cx">                     if (AccessibilityObject* object = axObjectCache()-&gt;getOrCreate(&amp;associateElement))
</span><span class="lines">@@ -1106,7 +1103,7 @@
</span><span class="cx">         return axObjectCache()-&gt;getOrCreate(toRenderFieldset(m_renderer)-&gt;findLegend(RenderFieldset::IncludeFloatingOrOutOfFlow));
</span><span class="cx">     
</span><span class="cx">     Node* node = m_renderer-&gt;node();
</span><del>-    if (!node || !is&lt;Element&gt;(node))
</del><ins>+    if (!is&lt;Element&gt;(node))
</ins><span class="cx">         return nullptr;
</span><span class="cx">     HTMLLabelElement* label = labelForElement(downcast&lt;Element&gt;(node));
</span><span class="cx">     if (label &amp;&amp; label-&gt;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-&gt;node();
</span><del>-    if (node &amp;&amp; is&lt;HTMLLabelElement&gt;(node))
</del><ins>+    if (is&lt;HTMLLabelElement&gt;(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&amp; AccessibilityRenderObject::accessKey() const
</span><span class="cx"> {
</span><span class="cx">     Node* node = m_renderer-&gt;node();
</span><del>-    if (!node)
-        return nullAtom;
</del><span class="cx">     if (!is&lt;Element&gt;(node))
</span><span class="cx">         return nullAtom;
</span><span class="cx">     return downcast&lt;Element&gt;(*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() &amp;&amp; is&lt;HTMLAnchorElement&gt;(m_renderer-&gt;node())) {
</del><ins>+    if (isAnchor() &amp;&amp; is&lt;HTMLAnchorElement&gt;(*m_renderer-&gt;node())) {
</ins><span class="cx">         if (HTMLAnchorElement* anchor = downcast&lt;HTMLAnchorElement&gt;(anchorElement()))
</span><span class="cx">             return anchor-&gt;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-&gt;document().url();
</span><span class="cx">     
</span><del>-    if (isImage() &amp;&amp; m_renderer-&gt;node() &amp;&amp; is&lt;HTMLImageElement&gt;(m_renderer-&gt;node()))
</del><ins>+    if (isImage() &amp;&amp; is&lt;HTMLImageElement&gt;(m_renderer-&gt;node()))
</ins><span class="cx">         return downcast&lt;HTMLImageElement&gt;(*m_renderer-&gt;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-&gt;node();
</span><del>-    if (!node || !is&lt;Element&gt;(node))
</del><ins>+    if (!is&lt;Element&gt;(node))
</ins><span class="cx">         return;
</span><span class="cx">     
</span><span class="cx">     downcast&lt;Element&gt;(*node).setAttribute(attributeName, (value) ? &quot;true&quot; : &quot;false&quot;);
</span><span class="lines">@@ -1646,7 +1641,7 @@
</span><span class="cx">     Document* document = this-&gt;document();
</span><span class="cx">     Node* node = this-&gt;node();
</span><span class="cx"> 
</span><del>-    if (!on || !node || !is&lt;Element&gt;(node)) {
</del><ins>+    if (!on || !is&lt;Element&gt;(node)) {
</ins><span class="cx">         document-&gt;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&amp; string)
</span><span class="cx"> {
</span><del>-    if (!m_renderer || !m_renderer-&gt;node() || !is&lt;Element&gt;(m_renderer-&gt;node()))
</del><ins>+    if (!m_renderer || !is&lt;Element&gt;(m_renderer-&gt;node()))
</ins><span class="cx">         return;
</span><span class="cx">     Element&amp; element = downcast&lt;Element&gt;(*m_renderer-&gt;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-&gt;parentNode();
</span><del>-            if (parent &amp;&amp; is&lt;HTMLAreaElement&gt;(curr) &amp;&amp; is&lt;HTMLMapElement&gt;(parent)) {
</del><ins>+            if (is&lt;HTMLAreaElement&gt;(*curr) &amp;&amp; is&lt;HTMLMapElement&gt;(parent)) {
</ins><span class="cx">                 AccessibilityImageMapLink* areaObject = toAccessibilityImageMapLink(axObjectCache()-&gt;getOrCreate(ImageMapLinkRole));
</span><span class="cx">                 HTMLMapElement&amp; map = downcast&lt;HTMLMapElement&gt;(*parent);
</span><span class="cx">                 areaObject-&gt;setHTMLAreaElement(downcast&lt;HTMLAreaElement&gt;(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-&gt;parentElement(); mapParent; mapParent = mapParent-&gt;parentElement()) {
</span><del>-        if (is&lt;HTMLMapElement&gt;(mapParent)) {
</del><ins>+        if (is&lt;HTMLMapElement&gt;(*mapParent)) {
</ins><span class="cx">             parent = accessibilityParentForImageMap(downcast&lt;HTMLMapElement&gt;(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()-&gt;deprecatedShadowAncestorNode();
</span><ins>+    ASSERT(node);
</ins><span class="cx"> 
</span><del>-    if (is&lt;HTMLAreaElement&gt;(node))
</del><ins>+    if (is&lt;HTMLAreaElement&gt;(*node))
</ins><span class="cx">         return accessibilityImageMapHitTest(downcast&lt;HTMLAreaElement&gt;(node), point);
</span><span class="cx">     
</span><del>-    if (is&lt;HTMLOptionElement&gt;(node))
</del><ins>+    if (is&lt;HTMLOptionElement&gt;(*node))
</ins><span class="cx">         node = downcast&lt;HTMLOptionElement&gt;(*node).ownerSelectElement();
</span><span class="cx">     
</span><span class="cx">     RenderObject* obj = node-&gt;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-&gt;node();
</span><del>-    if (node &amp;&amp; is&lt;HTMLElement&gt;(node)) {
</del><ins>+    if (is&lt;HTMLElement&gt;(node)) {
</ins><span class="cx">         if (HTMLLabelElement* label = labelForElement(downcast&lt;HTMLElement&gt;(node)))
</span><span class="cx">             return axObjectCache()-&gt;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, &quot;textbox&quot;) || (is&lt;Element&gt;(node) &amp;&amp; contentEditableAttributeIsEnabled(downcast&lt;Element&gt;(node))))
</del><ins>+    if (nodeHasRole(node, &quot;textbox&quot;) || (is&lt;Element&gt;(*node) &amp;&amp; contentEditableAttributeIsEnabled(downcast&lt;Element&gt;(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-&gt;isText())
</span><span class="cx">         return StaticTextRole;
</span><span class="cx">     if (cssBox &amp;&amp; cssBox-&gt;isImage()) {
</span><del>-        if (node &amp;&amp; is&lt;HTMLInputElement&gt;(node))
</del><ins>+        if (is&lt;HTMLInputElement&gt;(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 &amp;&amp; cssBox-&gt;isTextArea())
</span><span class="cx">         return TextAreaRole;
</span><span class="cx"> 
</span><del>-    if (node &amp;&amp; is&lt;HTMLInputElement&gt;(node)) {
</del><ins>+    if (is&lt;HTMLInputElement&gt;(node)) {
</ins><span class="cx">         HTMLInputElement&amp; input = downcast&lt;HTMLInputElement&gt;(*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 &amp;&amp; node-&gt;hasTagName(trTag))
</span><span class="cx">         return RowRole;
</span><span class="cx"> 
</span><del>-    if (node &amp;&amp; is&lt;HTMLTableElement&gt;(node))
</del><ins>+    if (is&lt;HTMLTableElement&gt;(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 &amp;&amp; node-&gt;hasTagName(pTag))
</span><span class="cx">         return ParagraphRole;
</span><span class="cx"> 
</span><del>-    if (node &amp;&amp; is&lt;HTMLLabelElement&gt;(node))
</del><ins>+    if (is&lt;HTMLLabelElement&gt;(node))
</ins><span class="cx">         return LabelRole;
</span><span class="cx"> 
</span><span class="cx">     if (node &amp;&amp; node-&gt;hasTagName(dfnTag))
</span><span class="lines">@@ -2594,7 +2590,7 @@
</span><span class="cx">     if (node &amp;&amp; node-&gt;hasTagName(divTag))
</span><span class="cx">         return DivRole;
</span><span class="cx"> 
</span><del>-    if (node &amp;&amp; is&lt;HTMLFormElement&gt;(node))
</del><ins>+    if (is&lt;HTMLFormElement&gt;(node))
</ins><span class="cx">         return FormRole;
</span><span class="cx"> 
</span><span class="cx">     if (node &amp;&amp; node-&gt;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 &amp;&amp; is&lt;HTMLVideoElement&gt;(node))
</del><ins>+    if (is&lt;HTMLVideoElement&gt;(node))
</ins><span class="cx">         return VideoRole;
</span><del>-    if (node &amp;&amp; is&lt;HTMLAudioElement&gt;(node))
</del><ins>+    if (is&lt;HTMLAudioElement&gt;(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)-&gt;node();
</span><del>-        if (!node || !is&lt;Element&gt;(node))
</del><ins>+        if (!is&lt;Element&gt;(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-&gt;node();
</span><del>-    if (!node || !is&lt;HTMLInputElement&gt;(node))
</del><ins>+    if (!is&lt;HTMLInputElement&gt;(node))
</ins><span class="cx">         return;
</span><span class="cx">     
</span><span class="cx">     HTMLInputElement&amp; input = downcast&lt;HTMLInputElement&gt;(*node);
</span><span class="lines">@@ -2883,7 +2879,7 @@
</span><span class="cx">     Frame&amp; frame = frameView-&gt;frame();
</span><span class="cx">     
</span><span class="cx">     Document* document = frame.document();
</span><del>-    if (!document || !is&lt;SVGDocument&gt;(document))
</del><ins>+    if (!is&lt;SVGDocument&gt;(document))
</ins><span class="cx">         return nullptr;
</span><span class="cx">     
</span><span class="cx">     SVGSVGElement* rootElement = downcast&lt;SVGDocument&gt;(*document).rootElement();
</span><span class="lines">@@ -3253,7 +3249,7 @@
</span><span class="cx">     else
</span><span class="cx">         node = m_renderer-&gt;node();
</span><span class="cx"> 
</span><del>-    if (node &amp;&amp; is&lt;Element&gt;(node))
</del><ins>+    if (is&lt;Element&gt;(node))
</ins><span class="cx">         downcast&lt;Element&gt;(*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 &amp;&amp; is&lt;HTMLAnchorElement&gt;(anchor))
</del><ins>+        if (is&lt;HTMLAnchorElement&gt;(anchor))
</ins><span class="cx">             return downcast&lt;HTMLAnchorElement&gt;(*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&lt;HTMLAnchorElement&gt;(anchor))
</del><ins>+    if (!is&lt;HTMLAnchorElement&gt;(anchor))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     return !downcast&lt;HTMLAnchorElement&gt;(*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-&gt;node();
</span><del>-    if (!node || !is&lt;Element&gt;(node))
</del><ins>+    if (!is&lt;Element&gt;(node))
</ins><span class="cx">         return String();
</span><span class="cx"> 
</span><span class="cx">     Element&amp; element = downcast&lt;Element&gt;(*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-&gt;node();
-    if (!m_renderer || !node)
</del><ins>+    if (!m_renderer)
</ins><span class="cx">         return false;
</span><span class="cx">     
</span><del>-    return is&lt;MathMLElement&gt;(node);
</del><ins>+    return is&lt;MathMLElement&gt;(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-&gt;node();
</span><del>-    if (!node || !is&lt;Element&gt;(node))
</del><ins>+    if (!is&lt;Element&gt;(node))
</ins><span class="cx">         return false;
</span><span class="cx">     
</span><span class="cx">     Element&amp; element = downcast&lt;Element&gt;(*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-&gt;element() &amp;&amp; is&lt;HTMLTableElement&gt;(table-&gt;element()))
</del><ins>+    if (is&lt;HTMLTableElement&gt;(table-&gt;element()))
</ins><span class="cx">         return downcast&lt;HTMLTableElement&gt;(table-&gt;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-&gt;element()-&gt;parentElement();
</span><del>-    if (!actualTable || !is&lt;HTMLTableElement&gt;(actualTable))
</del><ins>+    if (!is&lt;HTMLTableElement&gt;(actualTable))
</ins><span class="cx">         return nullptr;
</span><span class="cx">     
</span><span class="cx">     return downcast&lt;HTMLTableElement&gt;(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 &quot;data&quot; table attribute.
</span><del>-            if (is&lt;HTMLTableCellElement&gt;(cellElement)) {
</del><ins>+            if (is&lt;HTMLTableCellElement&gt;(*cellElement)) {
</ins><span class="cx">                 HTMLTableCellElement&amp; tableCellElement = downcast&lt;HTMLTableCellElement&gt;(*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)-&gt;element();
</span><del>-    return tableNode &amp;&amp; is&lt;HTMLTableElement&gt;(tableNode);
</del><ins>+    return is&lt;HTMLTableElement&gt;(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-&gt;node();
</span><del>-    if (tableElement &amp;&amp; is&lt;HTMLTableElement&gt;(tableElement)) {
</del><ins>+    if (is&lt;HTMLTableElement&gt;(tableElement)) {
</ins><span class="cx">         if (HTMLTableCaptionElement* caption = downcast&lt;HTMLTableElement&gt;(*tableElement).caption())
</span><span class="cx">             title = caption-&gt;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-&gt;node();
</span><del>-    if (!node || !is&lt;HTMLSelectElement&gt;(node))
</del><ins>+    if (!is&lt;HTMLSelectElement&gt;(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-&gt;isAccessibilityRenderObject()) {
</span><span class="cx">         Node* node = accTable-&gt;node();
</span><del>-        if (node &amp;&amp; is&lt;HTMLTableElement&gt;(node)) {
</del><ins>+        if (is&lt;HTMLTableElement&gt;(node)) {
</ins><span class="cx">             HTMLTableCaptionElement* caption = downcast&lt;HTMLTableElement&gt;(*node).caption();
</span><span class="cx">             if (caption)
</span><span class="cx">                 return AccessibilityObject::firstAccessibleObjectFromNode(caption-&gt;renderer()-&gt;element())-&gt;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-&gt;isImage() || coreObject-&gt;isInputImage()) {
</span><span class="cx">         Node* node = coreObject-&gt;node();
</span><del>-        if (node &amp;&amp; is&lt;HTMLElement&gt;(node)) {
</del><ins>+        if (is&lt;HTMLElement&gt;(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&amp; alt = downcast&lt;HTMLElement&gt;(*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-&gt;isAccessibilityRenderObject())
</span><span class="cx">         node = coreObject-&gt;node();
</span><del>-    if (!node || !is&lt;HTMLElement&gt;(node) || coreObject-&gt;ariaRoleAttribute() != UnknownRole || coreObject-&gt;isImage())
</del><ins>+    if (!is&lt;HTMLElement&gt;(node) || coreObject-&gt;ariaRoleAttribute() != UnknownRole || coreObject-&gt;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-&gt;node();
</span><del>-    if (node &amp;&amp; is&lt;Element&gt;(node)) {
</del><ins>+    if (is&lt;Element&gt;(node)) {
</ins><span class="cx">         String id = downcast&lt;Element&gt;(*node).getIdAttribute().string();
</span><span class="cx">         if (!id.isEmpty())
</span><span class="cx">             attributeSet = addToAtkAttributeSet(attributeSet, &quot;html-id&quot;, 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-&gt;nodeType()) {
</span><span class="cx">     case Node::ELEMENT_NODE:
</span><del>-        if (is&lt;HTMLElement&gt;(node))
</del><ins>+        if (is&lt;HTMLElement&gt;(*node))
</ins><span class="cx">             return WEBKIT_DOM_NODE(wrap(downcast&lt;HTMLElement&gt;(node)));
</span><span class="cx">         return WEBKIT_DOM_NODE(wrapElement(downcast&lt;Element&gt;(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&lt;Comment*&gt;(node)));
</span><span class="cx">     case Node::DOCUMENT_NODE:
</span><del>-        if (is&lt;HTMLDocument&gt;(node))
</del><ins>+        if (is&lt;HTMLDocument&gt;(*node))
</ins><span class="cx">             return WEBKIT_DOM_NODE(wrapHTMLDocument(downcast&lt;HTMLDocument&gt;(node)));
</span><span class="cx">         return WEBKIT_DOM_NODE(wrapDocument(downcast&lt;Document&gt;(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, &quot;AudioContext constructor script execution context is unavailable&quot;));
</span><span class="cx">         
</span><del>-    if (!is&lt;Document&gt;(scriptExecutionContext))
</del><ins>+    if (!is&lt;Document&gt;(*scriptExecutionContext))
</ins><span class="cx">         return throwVMError(exec, createReferenceError(exec, &quot;AudioContext constructor called in a script execution context which is not a document&quot;));
</span><span class="cx"> 
</span><span class="cx">     Document&amp; document = downcast&lt;Document&gt;(*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&lt;Document&gt;(scriptExecutionContext))
</del><ins>+    if (is&lt;Document&gt;(*scriptExecutionContext))
</ins><span class="cx">         return toJSDOMGlobalObject(downcast&lt;Document&gt;(scriptExecutionContext), exec);
</span><span class="cx"> 
</span><del>-    if (is&lt;WorkerGlobalScope&gt;(scriptExecutionContext))
</del><ins>+    if (is&lt;WorkerGlobalScope&gt;(*scriptExecutionContext))
</ins><span class="cx">         return downcast&lt;WorkerGlobalScope&gt;(*scriptExecutionContext).script()-&gt;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&amp; world)
</span><span class="cx"> {
</span><del>-    if (is&lt;Document&gt;(scriptExecutionContext))
</del><ins>+    if (is&lt;Document&gt;(*scriptExecutionContext))
</ins><span class="cx">         return toJSDOMGlobalObject(downcast&lt;Document&gt;(scriptExecutionContext), world);
</span><span class="cx"> 
</span><del>-    if (is&lt;WorkerGlobalScope&gt;(scriptExecutionContext))
</del><ins>+    if (is&lt;WorkerGlobalScope&gt;(*scriptExecutionContext))
</ins><span class="cx">         return downcast&lt;WorkerGlobalScope&gt;(*scriptExecutionContext).script()-&gt;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-&gt;impl().frame()-&gt;document();
</span><span class="cx"> 
</span><span class="cx">     ASSERT(BindingSecurity::shouldAllowAccessToDOMWindow(exec, thisObj-&gt;impl()));
</span><del>-    ASSERT(document);
</del><span class="cx">     ASSERT(is&lt;HTMLDocument&gt;(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-&gt;impl().frame()-&gt;document();
</span><del>-    if (is&lt;HTMLDocument&gt;(document)) {
</del><ins>+    if (is&lt;HTMLDocument&gt;(*document)) {
</ins><span class="cx">         AtomicStringImpl* atomicPropertyName = propertyName.publicName();
</span><span class="cx">         if (atomicPropertyName &amp;&amp; downcast&lt;HTMLDocument&gt;(*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-&gt;impl().frame()-&gt;document();
</span><del>-    if (is&lt;HTMLDocument&gt;(document)) {
</del><ins>+    if (is&lt;HTMLDocument&gt;(*document)) {
</ins><span class="cx">         AtomicStringImpl* atomicPropertyName = propertyName.publicName();
</span><span class="cx">         if (atomicPropertyName &amp;&amp; downcast&lt;HTMLDocument&gt;(*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-&gt;world(), element));
</span><span class="cx"> 
</span><span class="cx">     JSDOMWrapper* wrapper;        
</span><del>-    if (is&lt;HTMLElement&gt;(element))
</del><ins>+    if (is&lt;HTMLElement&gt;(*element))
</ins><span class="cx">         wrapper = createJSHTMLWrapper(globalObject, downcast&lt;HTMLElement&gt;(element));
</span><del>-    else if (is&lt;SVGElement&gt;(element))
</del><ins>+    else if (is&lt;SVGElement&gt;(*element))
</ins><span class="cx">         wrapper = createJSSVGWrapper(globalObject, downcast&lt;SVGElement&gt;(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&lt;ErrorEvent&gt;(event))
</del><ins>+    if (!is&lt;ErrorEvent&gt;(*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-&gt;setCurrentEvent(savedEvent);
</span><span class="cx"> 
</span><del>-        if (is&lt;WorkerGlobalScope&gt;(scriptExecutionContext)) {
</del><ins>+        if (is&lt;WorkerGlobalScope&gt;(*scriptExecutionContext)) {
</ins><span class="cx">             bool terminatorCausedException = (exec-&gt;hadException() &amp;&amp; isTerminatedExecutionException(exec-&gt;exception()));
</span><span class="cx">             if (terminatorCausedException || (vm.watchdog &amp;&amp; vm.watchdog-&gt;didFire()))
</span><span class="cx">                 downcast&lt;WorkerGlobalScope&gt;(*scriptExecutionContext).script()-&gt;forbidExecution();
</span><span class="lines">@@ -141,7 +141,7 @@
</span><span class="cx">             event-&gt;target()-&gt;uncaughtExceptionInEventHandler();
</span><span class="cx">             reportException(exec, exception);
</span><span class="cx">         } else {
</span><del>-            if (!retval.isUndefinedOrNull() &amp;&amp; is&lt;BeforeUnloadEvent&gt;(event))
</del><ins>+            if (!retval.isUndefinedOrNull() &amp;&amp; is&lt;BeforeUnloadEvent&gt;(*event))
</ins><span class="cx">                 downcast&lt;BeforeUnloadEvent&gt;(*event).setReturnValue(retval.toString(exec)-&gt;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&lt;HTMLIFrameElement&gt;(element))) {
</del><ins>+    if (UNLIKELY(is&lt;HTMLIFrameElement&gt;(*element))) {
</ins><span class="cx">         if (Frame* frame = downcast&lt;HTMLIFrameElement&gt;(*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&lt;Document&gt;(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&amp; visitor)
</span><span class="cx"> {
</span><span class="cx">     if (!node-&gt;inDocument()) {
</span><del>-        if (is&lt;Element&gt;(node)) {
</del><ins>+        if (is&lt;Element&gt;(*node)) {
</ins><span class="cx">             auto&amp; element = downcast&lt;Element&gt;(*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-&gt;nodeType()) {
</span><span class="cx">         case Node::ELEMENT_NODE:
</span><del>-            if (is&lt;HTMLElement&gt;(node))
</del><ins>+            if (is&lt;HTMLElement&gt;(*node))
</ins><span class="cx">                 wrapper = createJSHTMLWrapper(globalObject, downcast&lt;HTMLElement&gt;(node));
</span><del>-            else if (is&lt;SVGElement&gt;(node))
</del><ins>+            else if (is&lt;SVGElement&gt;(*node))
</ins><span class="cx">                 wrapper = createJSSVGWrapper(globalObject, downcast&lt;SVGElement&gt;(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&lt;Document&gt;(context))
</del><ins>+    if (is&lt;Document&gt;(*context))
</ins><span class="cx">         execute(downcast&lt;Document&gt;(context));
</span><span class="cx">     else
</span><span class="cx">         execute(downcast&lt;WorkerGlobalScope&gt;(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 &amp;&amp; is&lt;Document&gt;(context) ? downcast&lt;Document&gt;(context) : nullptr;
</del><ins>+    Document* document = is&lt;Document&gt;(context) ? downcast&lt;Document&gt;(context) : nullptr;
</ins><span class="cx">     return document ? document-&gt;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-&gt;nodeType()) {
</span><span class="cx">         case WebCore::Node::ELEMENT_NODE:
</span><del>-            if (is&lt;HTMLElement&gt;(impl))
</del><ins>+            if (is&lt;HTMLElement&gt;(*impl))
</ins><span class="cx">                 return WebCore::elementClass(downcast&lt;HTMLElement&gt;(*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&amp; url, Document&amp; document)
</span><span class="cx"> {
</span><span class="cx">     Element* element = SVGURIReference::targetElementFromIRIString(url, document);
</span><del>-    if (element &amp;&amp; is&lt;SVGCursorElement&gt;(element))
</del><ins>+    if (is&lt;SVGCursorElement&gt;(element))
</ins><span class="cx">         return downcast&lt;SVGCursorElement&gt;(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-&gt;isDocumentNode()
</span><del>-        || is&lt;HTMLLinkElement&gt;(parentNode)
-        || is&lt;HTMLStyleElement&gt;(parentNode)
-        || is&lt;SVGStyleElement&gt;(parentNode)
</del><ins>+        || is&lt;HTMLLinkElement&gt;(*parentNode)
+        || is&lt;HTMLStyleElement&gt;(*parentNode)
+        || is&lt;SVGStyleElement&gt;(*parentNode)
</ins><span class="cx">         || parentNode-&gt;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-&gt;firstChild(); node; node = node-&gt;nextSibling()) {
</span><del>-                    if (node-&gt;isElementNode()) {
</del><ins>+                    if (is&lt;Element&gt;(*node)) {
</ins><span class="cx">                         result = false;
</span><span class="cx">                         break;
</span><span class="cx">                     }
</span><del>-                    if (is&lt;Text&gt;(node)) {
</del><ins>+                    if (is&lt;Text&gt;(*node)) {
</ins><span class="cx">                         Text&amp; textNode = downcast&lt;Text&gt;(*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&lt;HTMLFormControlElement&gt;(element)) {
</del><ins>+    if (is&lt;HTMLFormControlElement&gt;(*element)) {
</ins><span class="cx">         if (const HTMLInputElement* inputElement = element-&gt;toInputElement())
</span><span class="cx">             return inputElement-&gt;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&lt;HTMLFormControlElement&gt;(element) || is&lt;HTMLOptionElement&gt;(element) || is&lt;HTMLOptGroupElement&gt;(element))
</del><ins>+    return (is&lt;HTMLFormControlElement&gt;(*element) || is&lt;HTMLOptionElement&gt;(*element) || is&lt;HTMLOptGroupElement&gt;(*element))
</ins><span class="cx">         &amp;&amp; element-&gt;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&lt;HTMLFormControlElement&gt;(element) || is&lt;HTMLOptionElement&gt;(element) || is&lt;HTMLOptGroupElement&gt;(element))
</del><ins>+    return (is&lt;HTMLFormControlElement&gt;(*element) || is&lt;HTMLOptionElement&gt;(*element) || is&lt;HTMLOptGroupElement&gt;(*element))
</ins><span class="cx">         &amp;&amp; !element-&gt;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-&gt;toInputElement();
</span><span class="cx">     if (inputElement &amp;&amp; inputElement-&gt;shouldAppearChecked() &amp;&amp; !inputElement-&gt;shouldAppearIndeterminate())
</span><span class="cx">         return true;
</span><del>-    if (is&lt;HTMLOptionElement&gt;(element) &amp;&amp; downcast&lt;HTMLOptionElement&gt;(*element).selected())
</del><ins>+    if (is&lt;HTMLOptionElement&gt;(*element) &amp;&amp; downcast&lt;HTMLOptionElement&gt;(*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&lt;WebVTTElement&gt;(element))
</del><ins>+    if (is&lt;WebVTTElement&gt;(*element))
</ins><span class="cx">         value = downcast&lt;WebVTTElement&gt;(*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&lt;WebVTTElement&gt;(element) &amp;&amp; !downcast&lt;WebVTTElement&gt;(*element).isPastNode();
</del><ins>+    return is&lt;WebVTTElement&gt;(*element) &amp;&amp; !downcast&lt;WebVTTElement&gt;(*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&lt;WebVTTElement&gt;(element) &amp;&amp; downcast&lt;WebVTTElement&gt;(*element).isPastNode();
</del><ins>+    return is&lt;WebVTTElement&gt;(*element) &amp;&amp; downcast&lt;WebVTTElement&gt;(*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 &amp;&amp; is&lt;StyledElement&gt;(element) ? downcast&lt;StyledElement&gt;(element) : nullptr;
</del><ins>+    m_styledElement = element &amp;&amp; is&lt;StyledElement&gt;(*element) ? downcast&lt;StyledElement&gt;(element) : nullptr;
</ins><span class="cx">     m_elementLinkState = element ? element-&gt;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 &gt;= cStyleSearchThreshold * cStyleSearchLevelThreshold)
</span><span class="cx">         return nullptr;
</span><del>-    if (!parent || !is&lt;StyledElement&gt;(parent))
</del><ins>+    if (!is&lt;StyledElement&gt;(parent))
</ins><span class="cx">         return nullptr;
</span><span class="cx">     StyledElement* styledParent = downcast&lt;StyledElement&gt;(parent);
</span><span class="cx">     if (styledParent-&gt;inlineStyle())
</span><span class="cx">         return nullptr;
</span><del>-    if (is&lt;SVGElement&gt;(styledParent) &amp;&amp; downcast&lt;SVGElement&gt;(*styledParent).animatedSMILStyleProperties())
</del><ins>+    if (is&lt;SVGElement&gt;(*styledParent) &amp;&amp; downcast&lt;SVGElement&gt;(*styledParent).animatedSMILStyleProperties())
</ins><span class="cx">         return nullptr;
</span><span class="cx">     if (styledParent-&gt;hasID() &amp;&amp; m_ruleSets.features().idsInRules.contains(styledParent-&gt;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-&gt;renderStyle() == parentStyle &amp;&amp; currentNode-&gt;lastChild()
</span><del>-                &amp;&amp; is&lt;Element&gt;(currentNode) &amp;&amp; !parentElementPreventsSharing(downcast&lt;Element&gt;(currentNode))
</del><ins>+                &amp;&amp; is&lt;Element&gt;(*currentNode) &amp;&amp; !parentElementPreventsSharing(downcast&lt;Element&gt;(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&lt;HTMLElement&gt;(element) &amp;&amp; downcast&lt;HTMLElement&gt;(*element).hasDirectionAuto();
</del><ins>+    return is&lt;HTMLElement&gt;(*element) &amp;&amp; downcast&lt;HTMLElement&gt;(*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-&gt;hasID() &amp;&amp; m_ruleSets.features().idsInRules.contains(element-&gt;idForStyleResolution().impl()))
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    bool isControl = is&lt;HTMLFormControlElement&gt;(element);
</del><ins>+    bool isControl = is&lt;HTMLFormControlElement&gt;(*element);
</ins><span class="cx"> 
</span><del>-    if (isControl != is&lt;HTMLFormControlElement&gt;(state.element()))
</del><ins>+    if (isControl != is&lt;HTMLFormControlElement&gt;(*state.element()))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     if (isControl &amp;&amp; !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&lt;WebVTTElement&gt;(state.element()))
</del><ins>+    if (is&lt;WebVTTElement&gt;(*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&amp; count) const
</span><span class="cx"> {
</span><span class="cx">     for (; node; node = node-&gt;previousSibling()) {
</span><del>-        if (!is&lt;StyledElement&gt;(node))
</del><ins>+        if (!is&lt;StyledElement&gt;(*node))
</ins><span class="cx">             continue;
</span><span class="cx">         if (canShareStyleWithElement(downcast&lt;StyledElement&gt;(node)))
</span><span class="cx">             break;
</span><span class="lines">@@ -1167,7 +1167,7 @@
</span><span class="cx">             if (e-&gt;hasTagName(tdTag)) {
</span><span class="cx">                 style.setDisplay(TABLE_CELL);
</span><span class="cx">                 style.setFloating(NoFloat);
</span><del>-            } else if (is&lt;HTMLTableElement&gt;(e))
</del><ins>+            } else if (is&lt;HTMLTableElement&gt;(*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 &amp;&amp; is&lt;HTMLTableElement&gt;(e) &amp;&amp; (style.textAlign() == WEBKIT_LEFT || style.textAlign() == WEBKIT_CENTER || style.textAlign() == WEBKIT_RIGHT))
</del><ins>+        if (is&lt;HTMLTableElement&gt;(e) &amp;&amp; (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 &amp;&amp; is&lt;HTMLTextAreaElement&gt;(e)) {
</del><ins>+    if (is&lt;HTMLTextAreaElement&gt;(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 &amp;&amp; is&lt;HTMLFormControlElement&gt;(e) &amp;&amp; style.fontSize() &gt;= 11) {
</del><ins>+    if (is&lt;HTMLFormControlElement&gt;(e) &amp;&amp; style.fontSize() &gt;= 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&lt;HTMLInputElement&gt;(e) || !downcast&lt;HTMLInputElement&gt;(*e).isImageButton())
</del><ins>+        if (!is&lt;HTMLInputElement&gt;(*e) || !downcast&lt;HTMLInputElement&gt;(*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() &amp;&amp; m_state.element()-&gt;isSVGElement() &amp;&amp; !(is&lt;SVGSVGElement&gt;(m_state.element()) &amp;&amp; m_state.element()-&gt;parentNode());
</del><ins>+    return is&lt;SVGElement&gt;(m_state.element()) &amp;&amp; !(is&lt;SVGSVGElement&gt;(*m_state.element()) &amp;&amp; m_state.element()-&gt;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-&gt;getElementById(name);
</span><del>-    if (element &amp;&amp; is&lt;HTMLStyleElement&gt;(element))
</del><ins>+    if (is&lt;HTMLStyleElement&gt;(element))
</ins><span class="cx">         return downcast&lt;HTMLStyleElement&gt;(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&lt;StyledElement&gt;(m_element))
</del><ins>+    if (!is&lt;StyledElement&gt;(m_element))
</ins><span class="cx">         return nullptr;
</span><span class="cx">     m_style = MutableStyleProperties::create();
</span><span class="cx">     downcast&lt;StyledElement&gt;(*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&lt;Text&gt;(this));
-    if (is&lt;Text&gt;(this))
</del><ins>+    ASSERT(!renderer() || is&lt;Text&gt;(*this));
+    if (is&lt;Text&gt;(*this))
</ins><span class="cx">         Style::updateTextRendererAfterContentChange(downcast&lt;Text&gt;(*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&lt;Text&gt;(this));
-    if (is&lt;Text&gt;(this))
</del><ins>+    ASSERT(!renderer() || is&lt;Text&gt;(*this));
+    if (is&lt;Text&gt;(*this))
</ins><span class="cx">         Style::updateTextRendererAfterContentChange(downcast&lt;Text&gt;(*this), offsetOfReplacedData, oldLength);
</span><span class="cx"> 
</span><del>-    if (is&lt;ProcessingInstruction&gt;(this))
</del><ins>+    if (is&lt;ProcessingInstruction&gt;(*this))
</ins><span class="cx">         downcast&lt;ProcessingInstruction&gt;(*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 &amp;&amp; is&lt;Document&gt;(newParent)) {
</del><ins>+    if (oldChild &amp;&amp; is&lt;Document&gt;(*newParent)) {
</ins><span class="cx">         if (!downcast&lt;Document&gt;(*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&lt;Element&gt;(child) ? ElementRemoved : is&lt;Text&gt;(child) ? TextRemoved : NonContentsChildChanged;
</span><del>-    change.previousSiblingElement = (!previousSibling || is&lt;Element&gt;(previousSibling)) ? downcast&lt;Element&gt;(previousSibling) : ElementTraversal::previousSibling(previousSibling);
-    change.nextSiblingElement = (!nextSibling || is&lt;Element&gt;(nextSibling)) ? downcast&lt;Element&gt;(nextSibling) : ElementTraversal::nextSibling(nextSibling);
</del><ins>+    change.previousSiblingElement = (!previousSibling || is&lt;Element&gt;(*previousSibling)) ? downcast&lt;Element&gt;(previousSibling) : ElementTraversal::previousSibling(previousSibling);
+    change.nextSiblingElement = (!nextSibling || is&lt;Element&gt;(*nextSibling)) ? downcast&lt;Element&gt;(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&amp; node)
</span><span class="cx"> {
</span><span class="cx">     for (Node* child = node.firstChild(); child; child = child-&gt;nextSibling()) {
</span><del>-        if (is&lt;ContainerNode&gt;(child))
</del><ins>+        if (is&lt;ContainerNode&gt;(*child))
</ins><span class="cx">             notifyNodeInsertedIntoTree(downcast&lt;ContainerNode&gt;(*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&amp; node)
</span><span class="cx"> {
</span><span class="cx">     for (Node* child = node.firstChild(); child; child = child-&gt;nextSibling()) {
</span><del>-        if (is&lt;ContainerNode&gt;(child))
</del><ins>+        if (is&lt;ContainerNode&gt;(*child))
</ins><span class="cx">             notifyNodeRemovedFromTree(downcast&lt;ContainerNode&gt;(*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&lt;HTMLScriptElement&gt;(element))
</del><ins>+        , m_isHTMLScriptElement(is&lt;HTMLScriptElement&gt;(*element))
</ins><span class="cx">     {
</span><span class="cx">         if (m_isHTMLScriptElement)
</span><span class="cx">             m_document-&gt;pushCurrentScript(downcast&lt;HTMLScriptElement&gt;(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 &amp;&amp; is&lt;HTMLImageElement&gt;(element) &amp;&amp; !element-&gt;inDocument())
</del><ins>+    if (is&lt;HTMLImageElement&gt;(element) &amp;&amp; !element-&gt;inDocument())
</ins><span class="cx">         image = downcast&lt;HTMLImageElement&gt;(*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 &amp;&amp; !is&lt;Element&gt;(node))
</del><ins>+    while (node &amp;&amp; !is&lt;Element&gt;(*node))
</ins><span class="cx">         node = node-&gt;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 &amp;&amp; is&lt;HTMLTitleElement&gt;(*m_titleElement))
</del><ins>+    if (is&lt;HTMLTitleElement&gt;(m_titleElement.get()))
</ins><span class="cx">         downcast&lt;HTMLTitleElement&gt;(*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-&gt;length();
</span><span class="cx">     for (unsigned int i = 0; i &lt; length; ++i) {
</span><span class="cx">         Node* child = children-&gt;item(i);
</span><del>-        if (!is&lt;HTMLLinkElement&gt;(child))
</del><ins>+        if (!is&lt;HTMLLinkElement&gt;(*child))
</ins><span class="cx">             continue;
</span><span class="cx">         HTMLLinkElement&amp; linkElement = downcast&lt;HTMLLinkElement&gt;(*child);
</span><span class="cx">         if (!(linkElement.iconType() &amp; 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-&gt;focusedElement();
</span><del>-    if (!element &amp;&amp; is&lt;PluginDocument&gt;(document))
</del><ins>+    if (!element &amp;&amp; is&lt;PluginDocument&gt;(*document))
</ins><span class="cx">         element = downcast&lt;PluginDocument&gt;(*document).pluginElement();
</span><del>-    if (!element &amp;&amp; is&lt;HTMLDocument&gt;(document))
</del><ins>+    if (!element &amp;&amp; is&lt;HTMLDocument&gt;(*document))
</ins><span class="cx">         element = document-&gt;body();
</span><span class="cx">     if (!element)
</span><span class="cx">         element = document-&gt;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 &amp;&amp; is&lt;HTMLFrameOwnerElement&gt;(*oldHoveredElement)) {
</del><ins>+        if (is&lt;HTMLFrameOwnerElement&gt;(oldHoveredElement.get())) {
</ins><span class="cx">             if (Document* contentDocument = downcast&lt;HTMLFrameOwnerElement&gt;(*oldHoveredElement).contentDocument())
</span><span class="cx">                 contentDocument-&gt;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&amp; node : m_styleSheetCandidateNodes) {
</span><span class="cx">         StyleSheet* sheet = nullptr;
</span><del>-        if (is&lt;ProcessingInstruction&gt;(node)) {
</del><ins>+        if (is&lt;ProcessingInstruction&gt;(*node)) {
</ins><span class="cx">             // Processing instruction (XML documents only).
</span><span class="cx">             // We don't support linking to embedded CSS stylesheets, see &lt;https://bugs.webkit.org/show_bug.cgi?id=49281&gt; for discussion.
</span><span class="cx">             ProcessingInstruction&amp; pi = downcast&lt;ProcessingInstruction&gt;(*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-&gt;parentNode())) {
</span><del>-        if (is&lt;Element&gt;(currentNode)) {
</del><ins>+        if (is&lt;Element&gt;(*currentNode)) {
</ins><span class="cx">             if (const ElementData* elementData = downcast&lt;Element&gt;(*currentNode).elementData()) {
</span><span class="cx">                 if (const Attribute* attribute = elementData-&gt;findLanguageAttribute())
</span><span class="cx">                     return attribute-&gt;value();
</span><span class="cx">             }
</span><del>-        } else if (is&lt;Document&gt;(currentNode)) {
</del><ins>+        } else if (is&lt;Document&gt;(*currentNode)) {
</ins><span class="cx">             // checking the MIME content-language
</span><span class="cx">             return downcast&lt;Document&gt;(*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 &amp;&amp; is&lt;Element&gt;(parent) ? downcast&lt;Element&gt;(parent) : nullptr;
</del><ins>+    return is&lt;Element&gt;(parent) ? downcast&lt;Element&gt;(parent) : nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> inline bool Element::fastHasAttribute(const QualifiedName&amp; 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&lt;Element&gt;::nextTemplate(CurrentType* current)
</span><span class="cx"> {
</span><span class="cx">     Node* node = NodeTraversal::next(current);
</span><del>-    while (node &amp;&amp; !is&lt;Element&gt;(node))
</del><ins>+    while (node &amp;&amp; !is&lt;Element&gt;(*node))
</ins><span class="cx">         node = NodeTraversal::nextSkippingChildren(node);
</span><span class="cx">     return downcast&lt;Element&gt;(node);
</span><span class="cx"> }
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx"> inline Element* Traversal&lt;Element&gt;::nextTemplate(CurrentType* current, const Node* stayWithin)
</span><span class="cx"> {
</span><span class="cx">     Node* node = NodeTraversal::next(current, stayWithin);
</span><del>-    while (node &amp;&amp; !is&lt;Element&gt;(node))
</del><ins>+    while (node &amp;&amp; !is&lt;Element&gt;(*node))
</ins><span class="cx">         node = NodeTraversal::nextSkippingChildren(node, stayWithin);
</span><span class="cx">     return downcast&lt;Element&gt;(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 &amp;&amp; !is&lt;Element&gt;(node))
</del><ins>+    while (node &amp;&amp; !is&lt;Element&gt;(*node))
</ins><span class="cx">         node = NodeTraversal::previousIncludingPseudo(node, stayWithin);
</span><span class="cx">     return downcast&lt;Element&gt;(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 &amp;&amp; !is&lt;Element&gt;(node))
</del><ins>+    while (node &amp;&amp; !is&lt;Element&gt;(*node))
</ins><span class="cx">         node = NodeTraversal::nextIncludingPseudo(node, stayWithin);
</span><span class="cx">     return downcast&lt;Element&gt;(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 &amp;&amp; !is&lt;Element&gt;(node))
</del><ins>+    while (node &amp;&amp; !is&lt;Element&gt;(*node))
</ins><span class="cx">         node = NodeTraversal::nextIncludingPseudoSkippingChildren(node, stayWithin);
</span><span class="cx">     return downcast&lt;Element&gt;(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-&gt;pseudoAwarePreviousSibling();
</span><del>-    while (node &amp;&amp; !is&lt;Element&gt;(node))
</del><ins>+    while (node &amp;&amp; !is&lt;Element&gt;(*node))
</ins><span class="cx">         node = node-&gt;pseudoAwarePreviousSibling();
</span><span class="cx">     return downcast&lt;Element&gt;(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&lt;Node&gt; node, const EventContext* topEventContext)
</span><span class="cx"> {
</span><span class="cx">     Node* topLevelContainer = topEventContext ? topEventContext-&gt;node() : node.get();
</span><del>-    if (!is&lt;Document&gt;(topLevelContainer))
</del><ins>+    if (!is&lt;Document&gt;(*topLevelContainer))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     m_window = downcast&lt;Document&gt;(*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&lt;HTMLInputElement&gt;(node.get()))
</del><ins>+    if (is&lt;HTMLInputElement&gt;(*node))
</ins><span class="cx">         downcast&lt;HTMLInputElement&gt;(*node).willDispatchEvent(*event, clickHandlingState);
</span><span class="cx"> 
</span><span class="cx">     if (!event-&gt;propagationStopped() &amp;&amp; !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&lt;PseudoElement&gt;(node) ? downcast&lt;PseudoElement&gt;(*node).hostElement() : node;
</del><ins>+    return is&lt;PseudoElement&gt;(*node) ? downcast&lt;PseudoElement&gt;(*node).hostElement() : node;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> EventPath::EventPath(Node&amp; targetNode, Event&amp; event)
</span><span class="lines">@@ -447,7 +447,7 @@
</span><span class="cx">                 m_path.append(std::make_unique&lt;EventContext&gt;(node, &amp;currentTarget, target));
</span><span class="cx">             if (!inDocument)
</span><span class="cx">                 return;
</span><del>-            if (is&lt;ShadowRoot&gt;(node))
</del><ins>+            if (is&lt;ShadowRoot&gt;(*node))
</ins><span class="cx">                 break;
</span><span class="cx">         }
</span><span class="cx">         if (!node || !shouldEventCrossShadowBoundary(event, downcast&lt;ShadowRoot&gt;(*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 &amp;&amp; is&lt;Document&gt;(context)) {
</del><ins>+    if (is&lt;Document&gt;(context)) {
</ins><span class="cx">         document = downcast&lt;Document&gt;(context);
</span><span class="cx">         willDispatchEventCookie = InspectorInstrumentation::willDispatchEvent(document, *event, size &gt; 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-&gt;underlyingEvent())
</span><del>-        if (is&lt;KeyboardEvent&gt;(e))
</del><ins>+        if (is&lt;KeyboardEvent&gt;(*e))
</ins><span class="cx">             return downcast&lt;KeyboardEvent&gt;(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-&gt;length();
</span><span class="cx">     for (unsigned i = 0; i &lt; length; i++) {
</span><span class="cx">         Node* node = item(i);
</span><del>-        if (!is&lt;Element&gt;(node))
</del><ins>+        if (!is&lt;Element&gt;(*node))
</ins><span class="cx">             continue;
</span><span class="cx">         Element&amp; element = downcast&lt;Element&gt;(*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 &amp;&amp; m_entangledChannel-&gt;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&lt;WorkerGlobalScope&gt;(m_scriptExecutionContext) &amp;&amp; downcast&lt;WorkerGlobalScope&gt;(*m_scriptExecutionContext).isClosing())
</del><ins>+        if (is&lt;WorkerGlobalScope&gt;(*m_scriptExecutionContext) &amp;&amp; downcast&lt;WorkerGlobalScope&gt;(*m_scriptExecutionContext).isClosing())
</ins><span class="cx">             return;
</span><span class="cx"> 
</span><span class="cx">         std::unique_ptr&lt;MessagePortArray&gt; 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-&gt;underlyingEvent() &amp;&amp; is&lt;MouseEvent&gt;(this-&gt;underlyingEvent())) {
</del><ins>+    if (is&lt;MouseEvent&gt;(this-&gt;underlyingEvent())) {
</ins><span class="cx">         MouseEvent&amp; mouseEvent = downcast&lt;MouseEvent&gt;(*this-&gt;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&lt;Attr&gt;(node)) {
</del><ins>+    if (!is&lt;Attr&gt;(*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-&gt;hasRareData()) {
</span><span class="cx">             ++nodesWithRareData;
</span><del>-            if (is&lt;Element&gt;(node)) {
</del><ins>+            if (is&lt;Element&gt;(*node)) {
</ins><span class="cx">                 ++elementsWithRareData;
</span><span class="cx">                 if (downcast&lt;Element&gt;(*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&lt;PseudoElement&gt;(this) ? downcast&lt;PseudoElement&gt;(*this).hostElement() : parentElement();
</del><ins>+    Element* parentOrHost = is&lt;PseudoElement&gt;(*this) ? downcast&lt;PseudoElement&gt;(*this).hostElement() : parentElement();
</ins><span class="cx">     if (parentOrHost &amp;&amp; !previousSibling()) {
</span><span class="cx">         if (isAfterPseudoElement() &amp;&amp; parentOrHost-&gt;lastChild())
</span><span class="cx">             return parentOrHost-&gt;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&lt;PseudoElement&gt;(this) ? downcast&lt;PseudoElement&gt;(*this).hostElement() : parentElement();
</del><ins>+    Element* parentOrHost = is&lt;PseudoElement&gt;(*this) ? downcast&lt;PseudoElement&gt;(*this).hostElement() : parentElement();
</ins><span class="cx">     if (parentOrHost &amp;&amp; !nextSibling()) {
</span><span class="cx">         if (isBeforePseudoElement() &amp;&amp; parentOrHost-&gt;firstChild())
</span><span class="cx">             return parentOrHost-&gt;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-&gt;parentOrShadowHostNode()) {
</span><del>-        if (is&lt;Element&gt;(node))
</del><ins>+        if (is&lt;Element&gt;(*node))
</ins><span class="cx">             return downcast&lt;Element&gt;(*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&lt;ShadowRoot&gt;(parent))
-        return downcast&lt;ShadowRoot&gt;(parent)-&gt;hostElement();
</del><ins>+    if (is&lt;ShadowRoot&gt;(*parent))
+        return downcast&lt;ShadowRoot&gt;(*parent).hostElement();
</ins><span class="cx"> 
</span><del>-    if (!is&lt;Element&gt;(parent))
</del><ins>+    if (!is&lt;Element&gt;(*parent))
</ins><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     return downcast&lt;Element&gt;(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&lt;Node*&gt;(this); node &amp;&amp; node-&gt;hasEditableStyle(); node = node-&gt;parentNode()) {
</span><del>-        if (is&lt;Element&gt;(node))
</del><ins>+        if (is&lt;Element&gt;(*node))
</ins><span class="cx">             result = downcast&lt;Element&gt;(node);
</span><del>-        if (is&lt;HTMLBodyElement&gt;(node))
</del><ins>+        if (is&lt;HTMLBodyElement&gt;(*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-&gt;parentNode()) {
</span><del>-        if (is&lt;Element&gt;(ancestor))
</del><ins>+        if (is&lt;Element&gt;(*ancestor))
</ins><span class="cx">             return downcast&lt;Element&gt;(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&lt;Attr&gt;(this) ? downcast&lt;Attr&gt;(this) : nullptr;
-    Attr* attr2 = is&lt;Attr&gt;(otherNode) ? downcast&lt;Attr&gt;(otherNode) : nullptr;
</del><ins>+    Attr* attr1 = is&lt;Attr&gt;(*this) ? downcast&lt;Attr&gt;(this) : nullptr;
+    Attr* attr2 = is&lt;Attr&gt;(*otherNode) ? downcast&lt;Attr&gt;(otherNode) : nullptr;
</ins><span class="cx">     
</span><span class="cx">     Node* start1 = attr1 ? attr1-&gt;ownerElement() : this;
</span><span class="cx">     Node* start2 = attr2 ? attr2-&gt;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&amp; stringBuilder, const QualifiedName&amp; name, const char* attrDesc)
</span><span class="cx"> {
</span><del>-    if (!is&lt;Element&gt;(node))
</del><ins>+    if (!is&lt;Element&gt;(*node))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     const AtomicString&amp; attr = downcast&lt;Element&gt;(*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 &gt; 0; --index) {
</span><span class="cx">         const Node* node = chain[index - 1];
</span><del>-        if (is&lt;ShadowRoot&gt;(node)) {
</del><ins>+        if (is&lt;ShadowRoot&gt;(*node)) {
</ins><span class="cx">             int count = 0;
</span><span class="cx">             for (const ShadowRoot* shadowRoot = downcast&lt;ShadowRoot&gt;(node); shadowRoot &amp;&amp; shadowRoot != node; shadowRoot = shadowRoot-&gt;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-&gt;isLink() &amp;&amp; !is&lt;HTMLImageElement&gt;(node))
</del><ins>+        if (node-&gt;isLink() &amp;&amp; !is&lt;HTMLImageElement&gt;(*node))
</ins><span class="cx">             return downcast&lt;Element&gt;(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&lt;Event&gt; event)
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(TOUCH_EVENTS) &amp;&amp; !PLATFORM(IOS)
</span><del>-    if (is&lt;TouchEvent&gt;(event.get()))
</del><ins>+    if (is&lt;TouchEvent&gt;(*event))
</ins><span class="cx">         return dispatchTouchEvent(adoptRef(downcast&lt;TouchEvent&gt;(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&amp; eventType = event-&gt;type();
</span><span class="cx">     if (eventType == eventNames().keydownEvent || eventType == eventNames().keypressEvent) {
</span><del>-        if (is&lt;KeyboardEvent&gt;(event)) {
</del><ins>+        if (is&lt;KeyboardEvent&gt;(*event)) {
</ins><span class="cx">             if (Frame* frame = document().frame())
</span><span class="cx">                 frame-&gt;eventHandler().defaultKeyboardEventHandler(downcast&lt;KeyboardEvent&gt;(event));
</span><span class="cx">         }
</span><span class="cx">     } else if (eventType == eventNames().clickEvent) {
</span><del>-        int detail = is&lt;UIEvent&gt;(event) ? downcast&lt;UIEvent&gt;(*event).detail() : 0;
</del><ins>+        int detail = is&lt;UIEvent&gt;(*event) ? downcast&lt;UIEvent&gt;(*event).detail() : 0;
</ins><span class="cx">         if (dispatchDOMActivateEvent(detail, event))
</span><span class="cx">             event-&gt;setDefaultHandled();
</span><span class="cx"> #if ENABLE(CONTEXT_MENUS)
</span><span class="lines">@@ -2115,12 +2115,12 @@
</span><span class="cx">                 page-&gt;contextMenuController().handleContextMenuEvent(event);
</span><span class="cx"> #endif
</span><span class="cx">     } else if (eventType == eventNames().textInputEvent) {
</span><del>-        if (is&lt;TextEvent&gt;(event)) {
</del><ins>+        if (is&lt;TextEvent&gt;(*event)) {
</ins><span class="cx">             if (Frame* frame = document().frame())
</span><span class="cx">                 frame-&gt;eventHandler().defaultTextInputEventHandler(downcast&lt;TextEvent&gt;(event));
</span><span class="cx">         }
</span><span class="cx"> #if ENABLE(PAN_SCROLLING)
</span><del>-    } else if (eventType == eventNames().mousedownEvent &amp;&amp; is&lt;MouseEvent&gt;(event)) {
</del><ins>+    } else if (eventType == eventNames().mousedownEvent &amp;&amp; is&lt;MouseEvent&gt;(*event)) {
</ins><span class="cx">         if (downcast&lt;MouseEvent&gt;(*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) &amp;&amp; is&lt;WheelEvent&gt;(event)) {
</del><ins>+    } else if ((eventType == eventNames().wheelEvent || eventType == eventNames().mousewheelEvent) &amp;&amp; is&lt;WheelEvent&gt;(*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 &lt;option&gt; and &lt;optgroup&gt; elements so that &lt;select&gt;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-&gt;eventHandler().defaultWheelEventHandler(startNode, downcast&lt;WheelEvent&gt;(event));
</span><span class="cx"> #if ENABLE(TOUCH_EVENTS) &amp;&amp; PLATFORM(IOS)
</span><del>-    } else if (is&lt;TouchEvent&gt;(event) &amp;&amp; eventNames().isTouchEventType(eventType)) {
</del><ins>+    } else if (is&lt;TouchEvent&gt;(*event) &amp;&amp; eventNames().isTouchEventType(eventType)) {
</ins><span class="cx">         RenderObject* renderer = this-&gt;renderer();
</span><span class="cx">         while (renderer &amp;&amp; (!renderer-&gt;isBox() || !toRenderBox(renderer)-&gt;canBeScrolledAndHasScrollableArea()))
</span><span class="cx">             renderer = renderer-&gt;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-&gt;isShadowRoot())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    if (is&lt;Element&gt;(parent) &amp;&amp; downcast&lt;Element&gt;(*parent).shadowRoot())
</del><ins>+    if (is&lt;Element&gt;(*parent) &amp;&amp; downcast&lt;Element&gt;(*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&lt;ShadowRoot&gt;(parent))
</del><ins>+    if (is&lt;ShadowRoot&gt;(*parent))
</ins><span class="cx">         return shadowRootCrossing == CrossShadowRoot ? downcast&lt;ShadowRoot&gt;(parent)-&gt;hostElement() : parent;
</span><span class="cx"> 
</span><del>-    if (is&lt;InsertionPoint&gt;(parent)) {
</del><ins>+    if (is&lt;InsertionPoint&gt;(*parent)) {
</ins><span class="cx">         const InsertionPoint&amp; insertionPoint = downcast&lt;InsertionPoint&gt;(*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-&gt;pseudoAwareLastChild();
</span><span class="cx">         return previous;
</span><span class="cx">     }
</span><del>-    return is&lt;PseudoElement&gt;(current) ? downcast&lt;PseudoElement&gt;(*current).hostElement() : current-&gt;parentNode();
</del><ins>+    return is&lt;PseudoElement&gt;(*current) ? downcast&lt;PseudoElement&gt;(*current).hostElement() : current-&gt;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-&gt;pseudoAwareNextSibling()))
</span><span class="cx">         return next;
</span><del>-    current = is&lt;PseudoElement&gt;(current) ? downcast&lt;PseudoElement&gt;(*current).hostElement() : current-&gt;parentNode();
</del><ins>+    current = is&lt;PseudoElement&gt;(*current) ? downcast&lt;PseudoElement&gt;(*current).hostElement() : current-&gt;parentNode();
</ins><span class="cx">     for (; current; current = current-&gt;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-&gt;pseudoAwareNextSibling()))
</span><span class="cx">         return next;
</span><del>-    current = is&lt;PseudoElement&gt;(current) ? downcast&lt;PseudoElement&gt;(*current).hostElement() : current-&gt;parentNode();
</del><ins>+    current = is&lt;PseudoElement&gt;(*current) ? downcast&lt;PseudoElement&gt;(*current).hostElement() : current-&gt;parentNode();
</ins><span class="cx">     for (; current; current = current-&gt;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 &amp;&amp; !is&lt;Element&gt;(node))
</del><ins>+    while (node &amp;&amp; !is&lt;Element&gt;(*node))
</ins><span class="cx">         node = node-&gt;parentNode();
</span><span class="cx">     return downcast&lt;Element&gt;(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&lt;HTMLTableElement&gt;(node))
</del><ins>+    if (is&lt;HTMLTableElement&gt;(*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&lt;Text&gt;(deprecatedNode()))
</del><ins>+    if (!is&lt;Text&gt;(deprecatedNode()))
</ins><span class="cx">         return false;
</span><span class="cx">         
</span><span class="cx">     RenderText* renderer = downcast&lt;Text&gt;(*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 &amp;&amp; inSameEnclosingBlockFlowElement(deprecatedNode(), prev.deprecatedNode()) &amp;&amp; is&lt;Text&gt;(prev.deprecatedNode())) {
</del><ins>+    if (prev != *this &amp;&amp; inSameEnclosingBlockFlowElement(deprecatedNode(), prev.deprecatedNode()) &amp;&amp; is&lt;Text&gt;(*prev.deprecatedNode())) {
</ins><span class="cx">         String string = downcast&lt;Text&gt;(*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&lt;Text&gt;(m_start.container());
</del><ins>+    bool startIsText = is&lt;Text&gt;(*m_start.container());
</ins><span class="cx">     if (startIsText &amp;&amp; !m_start.container()-&gt;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&lt;Element&gt;(node) &amp;&amp; selectedElementsSet.contains(node) &amp;&amp; !selectedElementsSet.contains(node-&gt;parentNode())) {
</del><ins>+        if (is&lt;Element&gt;(*node) &amp;&amp; selectedElementsSet.contains(node) &amp;&amp; !selectedElementsSet.contains(node-&gt;parentNode())) {
</ins><span class="cx">             if (RenderBoxModelObject* renderBoxModelObject = downcast&lt;Element&gt;(*node).renderBoxModelObject()) {
</span><span class="cx">                 Vector&lt;FloatQuad&gt; elementQuads;
</span><span class="cx">                 renderBoxModelObject-&gt;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&lt;Text&gt;(node)) {
</del><ins>+        } else if (is&lt;Text&gt;(*node)) {
</ins><span class="cx">             if (RenderObject* renderer = downcast&lt;Text&gt;(*node).renderer()) {
</span><span class="cx">                 const RenderText&amp; 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&lt;HTMLScriptElement&gt;(element))
</del><ins>+    if (is&lt;HTMLScriptElement&gt;(*element))
</ins><span class="cx">         return downcast&lt;HTMLScriptElement&gt;(element);
</span><span class="cx"> 
</span><del>-    if (is&lt;SVGScriptElement&gt;(element))
</del><ins>+    if (is&lt;SVGScriptElement&gt;(*element))
</ins><span class="cx">         return downcast&lt;SVGScriptElement&gt;(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&lt;ShadowRoot&gt;(this))
</del><ins>+    if (is&lt;ShadowRoot&gt;(*this))
</ins><span class="cx">         return downcast&lt;ShadowRoot&gt;(*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-&gt;previousSibling())) {
</span><del>-        if (!is&lt;Text&gt;(node))
</del><ins>+        if (!is&lt;Text&gt;(*node))
</ins><span class="cx">             break;
</span><span class="cx">         text = downcast&lt;Text&gt;(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-&gt;nextSibling())) {
</span><del>-        if (!is&lt;Text&gt;(node))
</del><ins>+        if (!is&lt;Text&gt;(*node))
</ins><span class="cx">             break;
</span><span class="cx">         text = downcast&lt;Text&gt;(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-&gt;parentNode();
</span><del>-    return is&lt;ShadowRoot&gt;(parentNode) &amp;&amp; downcast&lt;ShadowRoot&gt;(*parentNode).hostElement()-&gt;hasTagName(SVGNames::trefTag);
</del><ins>+    ASSERT(parentNode);
+    return is&lt;ShadowRoot&gt;(*parentNode) &amp;&amp; downcast&lt;ShadowRoot&gt;(*parentNode).hostElement()-&gt;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&lt;Text&gt;(root))
</del><ins>+    ASSERT(root);
+    if (is&lt;Text&gt;(*root))
</ins><span class="cx">         return downcast&lt;Text&gt;(*root).data();
</span><del>-    if (is&lt;ContainerNode&gt;(root))
</del><ins>+    if (is&lt;ContainerNode&gt;(*root))
</ins><span class="cx">         return contentsAsString(downcast&lt;ContainerNode&gt;(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-&gt;firstChild();
</span><del>-    while (node &amp;&amp; !is&lt;Text&gt;(node))
</del><ins>+    while (node &amp;&amp; !is&lt;Text&gt;(*node))
</ins><span class="cx">         node = node-&gt;nextSibling();
</span><span class="cx">     return downcast&lt;Text&gt;(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-&gt;firstChild();
</span><del>-    while (node &amp;&amp; !is&lt;Text&gt;(node))
</del><ins>+    while (node &amp;&amp; !is&lt;Text&gt;(*node))
</ins><span class="cx">         node = NodeTraversal::next(node, current);
</span><span class="cx">     return downcast&lt;Text&gt;(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 &amp;&amp; !is&lt;Text&gt;(node))
</del><ins>+    while (node &amp;&amp; !is&lt;Text&gt;(*node))
</ins><span class="cx">         node = NodeTraversal::next(node);
</span><span class="cx">     return downcast&lt;Text&gt;(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 &amp;&amp; !is&lt;Text&gt;(node))
</del><ins>+    while (node &amp;&amp; !is&lt;Text&gt;(*node))
</ins><span class="cx">         node = NodeTraversal::next(node, stayWithin);
</span><span class="cx">     return downcast&lt;Text&gt;(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-&gt;nextSibling();
</span><del>-    while (node &amp;&amp; !is&lt;Text&gt;(node))
</del><ins>+    while (node &amp;&amp; !is&lt;Text&gt;(*node))
</ins><span class="cx">         node = node-&gt;nextSibling();
</span><span class="cx">     return downcast&lt;Text&gt;(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-&gt;nodeLists()-&gt;adoptTreeScope();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        if (!is&lt;Element&gt;(node))
</del><ins>+        if (!is&lt;Element&gt;(*node))
</ins><span class="cx">             continue;
</span><span class="cx"> 
</span><span class="cx">         if (node-&gt;hasSyntheticAttrChildNodes()) {
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx">     if (oldDocument)
</span><span class="cx">         oldDocument-&gt;moveNodeIteratorsToNewDocument(node, newDocument);
</span><span class="cx"> 
</span><del>-    if (is&lt;ShadowRoot&gt;(node))
</del><ins>+    if (is&lt;ShadowRoot&gt;(*node))
</ins><span class="cx">         downcast&lt;ShadowRoot&gt;(*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&lt;Text&gt;(textNode) || offset &lt; 0 || offset &gt;= textNode-&gt;maxCharacterOffset())
</del><ins>+    if (!is&lt;Text&gt;(textNode) || offset &lt; 0 || offset &gt;= textNode-&gt;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 &quot;\n&quot;
</span><span class="cx">     splitTextNode(text, 1);
</span><span class="cx"> 
</span><del>-    if (text == start.containerNode() &amp;&amp; text-&gt;previousSibling() &amp;&amp; is&lt;Text&gt;(text-&gt;previousSibling())) {
</del><ins>+    if (text == start.containerNode() &amp;&amp; is&lt;Text&gt;(text-&gt;previousSibling())) {
</ins><span class="cx">         ASSERT(start.offsetInContainerNode() &lt; position.offsetInContainerNode());
</span><span class="cx">         start = Position(downcast&lt;Text&gt;(text-&gt;previousSibling()), start.offsetInContainerNode());
</span><span class="cx">     }
</span><del>-    if (text == end.containerNode() &amp;&amp; text-&gt;previousSibling() &amp;&amp; is&lt;Text&gt;(text-&gt;previousSibling())) {
</del><ins>+    if (text == end.containerNode() &amp;&amp; is&lt;Text&gt;(text-&gt;previousSibling())) {
</ins><span class="cx">         ASSERT(end.offsetInContainerNode() &lt; position.offsetInContainerNode());
</span><span class="cx">         end = Position(downcast&lt;Text&gt;(text-&gt;previousSibling()), end.offsetInContainerNode());
</span><span class="cx">     }
</span><span class="cx">     if (text == m_endOfLastParagraph.containerNode()) {
</span><span class="cx">         if (m_endOfLastParagraph.offsetInContainerNode() &lt; 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&lt;Text&gt;(text-&gt;previousSibling())
</del><ins>+            if (is&lt;Text&gt;(*text-&gt;previousSibling())
</ins><span class="cx">                 &amp;&amp; static_cast&lt;unsigned&gt;(m_endOfLastParagraph.offsetInContainerNode()) &lt;= downcast&lt;Text&gt;(text-&gt;previousSibling())-&gt;length())
</span><span class="cx">                 m_endOfLastParagraph = Position(downcast&lt;Text&gt;(text-&gt;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&lt;HTMLSpanElement&gt;(node))
</del><ins>+    if (!is&lt;HTMLSpanElement&gt;(node))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     return downcast&lt;HTMLSpanElement&gt;(*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&lt;HTMLSpanElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLSpanElement&gt;(element))
</ins><span class="cx">         return false;
</span><span class="cx">     return hasNoAttributeOrOnlyStyleAttribute(downcast&lt;HTMLSpanElement&gt;(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&lt;HTMLSpanElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLSpanElement&gt;(element))
</ins><span class="cx">         return false;
</span><span class="cx">     return hasNoAttributeOrOnlyStyleAttribute(downcast&lt;HTMLSpanElement&gt;(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&lt;HTMLFontElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLFontElement&gt;(element))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     return hasNoAttributeOrOnlyStyleAttribute(downcast&lt;HTMLFontElement&gt;(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&lt;HTMLElement&gt;(*block));
</span><del>-            if (block &amp;&amp; is&lt;HTMLElement&gt;(*block)) {
</del><ins>+            if (is&lt;HTMLElement&gt;(block.get())) {
</ins><span class="cx">                 removeCSSStyle(style, downcast&lt;HTMLElement&gt;(block.get()));
</span><span class="cx">                 if (!m_removeOnly)
</span><span class="cx">                     addBlockStyle(styleChange, downcast&lt;HTMLElement&gt;(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&lt;HTMLElement&gt; element;
</span><del>-        if (is&lt;HTMLElement&gt;(node)) {
</del><ins>+        if (is&lt;HTMLElement&gt;(*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 &amp;&amp; (!is&lt;Element&gt;(node) || !isStyleSpanOrSpanWithOnlyStyleAttribute(downcast&lt;Element&gt;(node))))
</del><ins>+    while (node &amp;&amp; (!is&lt;Element&gt;(*node) || !isStyleSpanOrSpanWithOnlyStyleAttribute(downcast&lt;Element&gt;(node))))
</ins><span class="cx">         node = node-&gt;parentNode();
</span><span class="cx">     
</span><span class="cx">     return node ? node-&gt;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">         &amp;&amp; highestAncestorUnicodeBidi != CSSValueBidiOverride
</span><del>-        &amp;&amp; is&lt;HTMLElement&gt;(highestAncestorWithUnicodeBidi)
</del><ins>+        &amp;&amp; is&lt;HTMLElement&gt;(*highestAncestorWithUnicodeBidi)
</ins><span class="cx">         &amp;&amp; EditingStyle::create(highestAncestorWithUnicodeBidi, EditingStyle::AllProperties)-&gt;textDirection(highestAncestorDirection)
</span><span class="cx">         &amp;&amp; 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-&gt;parentNode(); ancestor != block &amp;&amp; ancestor != unsplitAncestor; ancestor = parent) {
</span><span class="cx">         parent = ancestor-&gt;parentNode();
</span><del>-        if (!is&lt;StyledElement&gt;(ancestor))
</del><ins>+        if (!is&lt;StyledElement&gt;(*ancestor))
</ins><span class="cx">             continue;
</span><span class="cx"> 
</span><span class="cx">         StyledElement&amp; element = downcast&lt;StyledElement&gt;(*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-&gt;parentNode()) {
</span><del>-        if (is&lt;HTMLElement&gt;(ancestor) &amp;&amp; shouldRemoveInlineStyleFromElement(style, downcast&lt;HTMLElement&gt;(ancestor)))
</del><ins>+        if (is&lt;HTMLElement&gt;(*ancestor) &amp;&amp; shouldRemoveInlineStyleFromElement(style, downcast&lt;HTMLElement&gt;(ancestor)))
</ins><span class="cx">             result = downcast&lt;HTMLElement&gt;(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-&gt;document().updateStyleIfNeeded();
</span><span class="cx"> 
</span><del>-    if (!style || style-&gt;isEmpty() || !node-&gt;renderer() || is&lt;HTMLIFrameElement&gt;(node))
</del><ins>+    if (!style || style-&gt;isEmpty() || !node-&gt;renderer() || is&lt;HTMLIFrameElement&gt;(*node))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;EditingStyle&gt; newInlineStyle = style;
</span><del>-    if (is&lt;HTMLElement&gt;(node) &amp;&amp; downcast&lt;HTMLElement&gt;(node)-&gt;inlineStyle()) {
</del><ins>+    if (is&lt;HTMLElement&gt;(*node) &amp;&amp; downcast&lt;HTMLElement&gt;(node)-&gt;inlineStyle()) {
</ins><span class="cx">         newInlineStyle = style-&gt;copy();
</span><span class="cx">         newInlineStyle-&gt;mergeInlineStyleOfElement(downcast&lt;HTMLElement&gt;(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-&gt;renderer()-&gt;isRenderBlockFlow() || node-&gt;hasChildNodes()) &amp;&amp; is&lt;HTMLElement&gt;(node)) {
</del><ins>+    if ((node-&gt;renderer()-&gt;isRenderBlockFlow() || node-&gt;hasChildNodes()) &amp;&amp; is&lt;HTMLElement&gt;(*node)) {
</ins><span class="cx">         setNodeAttribute(downcast&lt;HTMLElement&gt;(node), styleAttr, newInlineStyle-&gt;style()-&gt;asText());
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -1208,7 +1208,7 @@
</span><span class="cx">     splitTextNode(&amp;text, end.offsetInContainerNode());
</span><span class="cx"> 
</span><span class="cx">     Node* prevNode = text.previousSibling();
</span><del>-    if (!prevNode || !is&lt;Text&gt;(prevNode))
</del><ins>+    if (!is&lt;Text&gt;(prevNode))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     Position newStart = shouldUpdateStart ? Position(downcast&lt;Text&gt;(prevNode), start.offsetInContainerNode()) : start;
</span><span class="lines">@@ -1240,7 +1240,7 @@
</span><span class="cx">     if (!parentElement || !parentElement-&gt;previousSibling())
</span><span class="cx">         return;
</span><span class="cx">     Node* firstTextNode = parentElement-&gt;previousSibling()-&gt;lastChild();
</span><del>-    if (!firstTextNode || !is&lt;Text&gt;(firstTextNode))
</del><ins>+    if (!is&lt;Text&gt;(firstTextNode))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     Position newStart = shouldUpdateStart ? Position(downcast&lt;Text&gt;(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&lt;HTMLElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLElement&gt;(element))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     return shouldRemoveInlineStyleFromElement(style, downcast&lt;HTMLElement&gt;(element));
</span><span class="lines">@@ -1359,13 +1359,14 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;Node&gt; nextSibling = element-&gt;nextSibling();
</span><span class="cx">     RefPtr&lt;Node&gt; previousSibling = element-&gt;previousSibling();
</span><del>-    if (nextSibling &amp;&amp; is&lt;Element&gt;(*nextSibling) &amp;&amp; nextSibling-&gt;hasEditableStyle()
</del><ins>+    if (is&lt;Element&gt;(nextSibling.get()) &amp;&amp; nextSibling-&gt;hasEditableStyle()
</ins><span class="cx">         &amp;&amp; areIdenticalElements(element.get(), downcast&lt;Element&gt;(nextSibling.get())))
</span><span class="cx">         mergeIdenticalElements(element.get(), downcast&lt;Element&gt;(nextSibling.get()));
</span><span class="cx"> 
</span><del>-    if (previousSibling &amp;&amp; is&lt;Element&gt;(*previousSibling) &amp;&amp; previousSibling-&gt;hasEditableStyle()) {
</del><ins>+    if (is&lt;Element&gt;(previousSibling.get()) &amp;&amp; previousSibling-&gt;hasEditableStyle()) {
</ins><span class="cx">         Node* mergedElement = previousSibling-&gt;nextSibling();
</span><del>-        if (is&lt;Element&gt;(mergedElement) &amp;&amp; mergedElement-&gt;hasEditableStyle()
</del><ins>+        ASSERT(mergedElement);
+        if (is&lt;Element&gt;(*mergedElement) &amp;&amp; mergedElement-&gt;hasEditableStyle()
</ins><span class="cx">             &amp;&amp; areIdenticalElements(downcast&lt;Element&gt;(previousSibling.get()), downcast&lt;Element&gt;(mergedElement)))
</span><span class="cx">             mergeIdenticalElements(downcast&lt;Element&gt;(previousSibling.get()), downcast&lt;Element&gt;(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 &amp;&amp; startNode == endNode; container = container-&gt;firstChild()) {
</span><del>-        if (is&lt;HTMLFontElement&gt;(container))
</del><ins>+        if (is&lt;HTMLFontElement&gt;(*container))
</ins><span class="cx">             fontContainer = downcast&lt;HTMLFontElement&gt;(container);
</span><del>-        bool styleContainerIsNotSpan = !styleContainer || !is&lt;HTMLSpanElement&gt;(styleContainer);
-        if (is&lt;HTMLElement&gt;(container) &amp;&amp; (is&lt;HTMLSpanElement&gt;(container) || (styleContainerIsNotSpan &amp;&amp; container-&gt;hasChildNodes())))
</del><ins>+        bool styleContainerIsNotSpan = !is&lt;HTMLSpanElement&gt;(styleContainer);
+        if (is&lt;HTMLElement&gt;(*container) &amp;&amp; (is&lt;HTMLSpanElement&gt;(*container) || (styleContainerIsNotSpan &amp;&amp; container-&gt;hasChildNodes())))
</ins><span class="cx">             styleContainer = downcast&lt;HTMLElement&gt;(container);
</span><span class="cx">         if (!container-&gt;firstChild())
</span><span class="cx">             break;
</span><span class="lines">@@ -1528,7 +1529,7 @@
</span><span class="cx">     for (size_t i = 0; i &lt; textNodes.size(); ++i) {
</span><span class="cx">         Text* childText = textNodes[i].get();
</span><span class="cx">         Node* next = childText-&gt;nextSibling();
</span><del>-        if (!next || !is&lt;Text&gt;(next))
</del><ins>+        if (!is&lt;Text&gt;(next))
</ins><span class="cx">             continue;
</span><span class="cx">     
</span><span class="cx">         Text&amp; nextText = downcast&lt;Text&gt;(*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&lt;Text&gt;(startNode)) {
</del><ins>+    if (is&lt;Text&gt;(*startNode)) {
</ins><span class="cx">         Text&amp; textNode = downcast&lt;Text&gt;(*startNode);
</span><span class="cx">         if ((unsigned)pos.deprecatedEditingOffset() &gt;= 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&lt;HTMLDivElement&gt;(node))
</del><ins>+    ASSERT(node);
+    if (!is&lt;HTMLDivElement&gt;(*node))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     Node* parentNode = node-&gt;parentNode();
</span><span class="lines">@@ -378,7 +379,7 @@
</span><span class="cx">             appendNode(insertChild, downcast&lt;ContainerNode&gt;(refChild));
</span><span class="cx">     } else if (caretMinOffset(refChild) &gt;= offset)
</span><span class="cx">         insertNodeBefore(insertChild, refChild);
</span><del>-    else if (is&lt;Text&gt;(refChild) &amp;&amp; caretMaxOffset(refChild) &gt; offset) {
</del><ins>+    else if (is&lt;Text&gt;(*refChild) &amp;&amp; caretMaxOffset(refChild) &gt; offset) {
</ins><span class="cx">         splitTextNode(downcast&lt;Text&gt;(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&amp; position) const
</span><span class="cx"> {
</span><span class="cx">     Node* node = position.containerNode();
</span><del>-    if (position.anchorType() != Position::PositionIsOffsetInAnchor || !node || !is&lt;Text&gt;(node))
</del><ins>+    if (position.anchorType() != Position::PositionIsOffsetInAnchor || !is&lt;Text&gt;(node))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     Text&amp; textNode = downcast&lt;Text&gt;(*node);
</span><span class="lines">@@ -750,7 +751,7 @@
</span><span class="cx"> void CompositeEditCommand::prepareWhitespaceAtPositionForSplit(Position&amp; position)
</span><span class="cx"> {
</span><span class="cx">     Node* node = position.deprecatedNode();
</span><del>-    if (!node || !is&lt;Text&gt;(node))
</del><ins>+    if (!is&lt;Text&gt;(node))
</ins><span class="cx">         return;
</span><span class="cx">     Text&amp; textNode = downcast&lt;Text&gt;(*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()) &amp;&amp; is&lt;Text&gt;(previous.deprecatedNode()) &amp;&amp; !is&lt;HTMLBRElement&gt;(previous.deprecatedNode()))
</del><ins>+    if (deprecatedIsCollapsibleWhitespace(previousVisiblePos.characterAfter()) &amp;&amp; is&lt;Text&gt;(*previous.deprecatedNode()) &amp;&amp; !is&lt;HTMLBRElement&gt;(*previous.deprecatedNode()))
</ins><span class="cx">         replaceTextInNodePreservingMarkers(downcast&lt;Text&gt;(previous.deprecatedNode()), previous.deprecatedEditingOffset(), 1, nonBreakingSpaceString());
</span><del>-    if (deprecatedIsCollapsibleWhitespace(visiblePos.characterAfter()) &amp;&amp; is&lt;Text&gt;(position.deprecatedNode()) &amp;&amp; !is&lt;HTMLBRElement&gt;(position.deprecatedNode()))
</del><ins>+    if (deprecatedIsCollapsibleWhitespace(visiblePos.characterAfter()) &amp;&amp; is&lt;Text&gt;(*position.deprecatedNode()) &amp;&amp; !is&lt;HTMLBRElement&gt;(*position.deprecatedNode()))
</ins><span class="cx">         replaceTextInNodePreservingMarkers(downcast&lt;Text&gt;(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&lt;RefPtr&lt;Text&gt;&gt; nodes;
</span><span class="cx">     for (Node* node = start.deprecatedNode(); node; node = NodeTraversal::next(node)) {
</span><del>-        if (is&lt;Text&gt;(node))
</del><ins>+        if (is&lt;Text&gt;(*node))
</ins><span class="cx">             nodes.append(downcast&lt;Text&gt;(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&lt;HTMLBRElement&gt;(p.anchorNode())) {
</del><ins>+    if (is&lt;HTMLBRElement&gt;(*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&lt;HTMLBRElement&gt;(node))
</del><ins>+        if (is&lt;HTMLBRElement&gt;(*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-&gt;rootEditableElement())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Element&gt; newBlock = 0;
</del><ins>+    RefPtr&lt;Element&gt; newBlock;
</ins><span class="cx">     if (ContainerNode* blockEnclosingList = listNode-&gt;parentNode()) {
</span><del>-        if (is&lt;HTMLLIElement&gt;(blockEnclosingList)) { // listNode is inside another list item
</del><ins>+        if (is&lt;HTMLLIElement&gt;(*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. &lt;ul&gt;&lt;li&gt;hello &lt;ul&gt;&lt;li&gt;&lt;br&gt;&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;/ul&gt; should become &lt;ul&gt;&lt;li&gt;hello&lt;/li&gt; &lt;ul&gt;&lt;li&gt;&lt;br&gt;&lt;/li&gt;&lt;/ul&gt; &lt;/ul&gt; after this section
</span><span class="lines">@@ -1436,7 +1438,7 @@
</span><span class="cx">     
</span><span class="cx">     if (caretPos.deprecatedNode()-&gt;hasTagName(brTag))
</span><span class="cx">         removeNodeAndPruneAncestors(caretPos.deprecatedNode());
</span><del>-    else if (is&lt;Text&gt;(caretPos.deprecatedNode())) {
</del><ins>+    else if (is&lt;Text&gt;(*caretPos.deprecatedNode())) {
</ins><span class="cx">         ASSERT(caretPos.deprecatedEditingOffset() == 0);
</span><span class="cx">         Text&amp; textNode = downcast&lt;Text&gt;(*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&lt;Node&gt; endNode = end;
</span><span class="cx">     for (node = start; node &amp;&amp; node-&gt;parentNode() != endNode; node = node-&gt;parentNode()) {
</span><del>-        if (!is&lt;Element&gt;(node-&gt;parentNode()))
</del><ins>+        if (!is&lt;Element&gt;(*node-&gt;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-&gt;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), &amp;isDeletableElement);
</span><del>-    return element &amp;&amp; is&lt;HTMLElement&gt;(element) ? downcast&lt;HTMLElement&gt;(element) : nullptr;
</del><ins>+    return is&lt;HTMLElement&gt;(element) ? downcast&lt;HTMLElement&gt;(element) : nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void DeleteButtonController::respondToChangedSelection(const VisibleSelection&amp; 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 &amp;&amp; !startOffset &amp;&amp; canHaveChildrenForEditing(startNode) &amp;&amp; !is&lt;HTMLTableElement&gt;(startNode)) {
</del><ins>+    if (startNode == m_startBlock &amp;&amp; !startOffset &amp;&amp; canHaveChildrenForEditing(startNode) &amp;&amp; !is&lt;HTMLTableElement&gt;(*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 &gt;= caretMaxOffset(startNode) &amp;&amp; is&lt;Text&gt;(startNode)) {
</del><ins>+    if (startOffset &gt;= caretMaxOffset(startNode) &amp;&amp; is&lt;Text&gt;(*startNode)) {
</ins><span class="cx">         Text&amp; text = downcast&lt;Text&gt;(*startNode);
</span><span class="cx">         if (text.length() &gt; static_cast&lt;unsigned&gt;(caretMaxOffset(startNode)))
</span><span class="cx">             deleteTextFromNode(&amp;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 &gt; 0) {
</span><del>-            if (is&lt;Text&gt;(startNode)) {
</del><ins>+            if (is&lt;Text&gt;(*startNode)) {
</ins><span class="cx">                 // in a text node that needs to be trimmed
</span><span class="cx">                 Text&amp; text = downcast&lt;Text&gt;(*startNode);
</span><span class="cx">                 deleteTextFromNode(&amp;text, startOffset, m_downstreamEnd.deprecatedEditingOffset() - startOffset);
</span><span class="lines">@@ -503,7 +503,7 @@
</span><span class="cx">         RefPtr&lt;Node&gt; node(startNode);
</span><span class="cx">         
</span><span class="cx">         if (startOffset &gt; 0) {
</span><del>-            if (is&lt;Text&gt;(startNode)) {
</del><ins>+            if (is&lt;Text&gt;(*startNode)) {
</ins><span class="cx">                 // in a text node that needs to be trimmed
</span><span class="cx">                 Text&amp; text = downcast&lt;Text&gt;(*node);
</span><span class="cx">                 deleteTextFromNode(&amp;text, startOffset, text.length() - startOffset);
</span><span class="lines">@@ -511,7 +511,7 @@
</span><span class="cx">             } else {
</span><span class="cx">                 node = startNode-&gt;traverseToChildAt(startOffset);
</span><span class="cx">             }
</span><del>-        } else if (startNode == m_upstreamEnd.deprecatedNode() &amp;&amp; is&lt;Text&gt;(startNode)) {
</del><ins>+        } else if (startNode == m_upstreamEnd.deprecatedNode() &amp;&amp; is&lt;Text&gt;(*startNode)) {
</ins><span class="cx">             Text&amp; text = downcast&lt;Text&gt;(*m_upstreamEnd.deprecatedNode());
</span><span class="cx">             deleteTextFromNode(&amp;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&lt;Text&gt;(m_downstreamEnd.deprecatedNode())) {
</del><ins>+                if (is&lt;Text&gt;(*m_downstreamEnd.deprecatedNode())) {
</ins><span class="cx">                     // in a text node that needs to be trimmed
</span><span class="cx">                     Text&amp; text = downcast&lt;Text&gt;(*m_downstreamEnd.deprecatedNode());
</span><span class="cx">                     if (m_downstreamEnd.deprecatedEditingOffset() &gt; 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() &amp;&amp; !m_leadingWhitespace.isRenderedCharacter() &amp;&amp; is&lt;Text&gt;(m_leadingWhitespace.deprecatedNode())) {
</del><ins>+    if (m_leadingWhitespace.isNotNull() &amp;&amp; !m_leadingWhitespace.isRenderedCharacter() &amp;&amp; is&lt;Text&gt;(*m_leadingWhitespace.deprecatedNode())) {
</ins><span class="cx">         Text&amp; textNode = downcast&lt;Text&gt;(*m_leadingWhitespace.deprecatedNode());
</span><span class="cx">         ASSERT(!textNode.renderer() || textNode.renderer()-&gt;style().collapseWhiteSpace());
</span><span class="cx">         replaceTextInNodePreservingMarkers(&amp;textNode, m_leadingWhitespace.deprecatedEditingOffset(), 1, nonBreakingSpaceString());
</span><span class="cx">     }
</span><del>-    if (m_trailingWhitespace.isNotNull() &amp;&amp; !m_trailingWhitespace.isRenderedCharacter() &amp;&amp; is&lt;Text&gt;(m_trailingWhitespace.deprecatedNode())) {
</del><ins>+    if (m_trailingWhitespace.isNotNull() &amp;&amp; !m_trailingWhitespace.isRenderedCharacter() &amp;&amp; is&lt;Text&gt;(*m_trailingWhitespace.deprecatedNode())) {
</ins><span class="cx">         Text&amp; textNode = downcast&lt;Text&gt;(*m_trailingWhitespace.deprecatedNode());
</span><span class="cx">         ASSERT(!textNode.renderer() || textNode.renderer()-&gt;style().collapseWhiteSpace());
</span><span class="cx">         replaceTextInNodePreservingMarkers(&amp;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 &amp;&amp; is&lt;Text&gt;(node)) {
</del><ins>+        if (is&lt;Text&gt;(node)) {
</ins><span class="cx">             Text&amp; textNode = downcast&lt;Text&gt;(*node);
</span><span class="cx">             if (textNode.length())
</span><span class="cx">                 shouldRebalaceWhiteSpace = textNode.renderer()-&gt;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 &amp;&amp; !node-&gt;isDocumentNode(); node = node-&gt;parentNode()) {
</span><del>-        if (is&lt;StyledElement&gt;(node) &amp;&amp; !isMailBlockquote(node)) {
</del><ins>+        if (is&lt;StyledElement&gt;(*node) &amp;&amp; !isMailBlockquote(node)) {
</ins><span class="cx">             wrappingStyle-&gt;mergeInlineAndImplicitStyleOfElement(downcast&lt;StyledElement&gt;(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-&gt;firstChild();
</span><del>-    if (!node)
-        return nullptr;
</del><span class="cx">     if (!is&lt;HTMLImageElement&gt;(node))
</span><span class="cx">         return nullptr;
</span><span class="cx">     return downcast&lt;HTMLImageElement&gt;(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-&gt;firstChild();
</span><del>-        if (child &amp;&amp; fragment-&gt;lastChild() == child &amp;&amp; is&lt;CharacterData&gt;(child))
</del><ins>+        if (is&lt;CharacterData&gt;(child) &amp;&amp; fragment-&gt;lastChild() == child)
</ins><span class="cx">             return client()-&gt;shouldInsertText(downcast&lt;CharacterData&gt;(*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 &amp;&amp; is&lt;HTMLTextFormControlElement&gt;(*focusedElement)) {
</del><ins>+    if (is&lt;HTMLTextFormControlElement&gt;(focusedElement)) {
</ins><span class="cx">         if (direction == NaturalWritingDirection)
</span><span class="cx">             return;
</span><span class="cx">         downcast&lt;HTMLTextFormControlElement&gt;(*focusedElement).setAttribute(dirAttr, direction == LeftToRightWritingDirection ? &quot;ltr&quot; : &quot;rtl&quot;);
</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 &amp;&amp; baseNode == extentNode &amp;&amp; is&lt;Text&gt;(baseNode) &amp;&amp; baseOffset + text.length() == extentOffset) {
</del><ins>+        if (is&lt;Text&gt;(baseNode) &amp;&amp; baseNode == extentNode &amp;&amp; baseOffset + text.length() == extentOffset) {
</ins><span class="cx">             m_compositionNode = downcast&lt;Text&gt;(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&lt;Element&gt;(node) ? downcast&lt;Element&gt;(node) : node-&gt;parentElement();
</del><ins>+    const Element* focusedElement = is&lt;Element&gt;(*node) ? downcast&lt;Element&gt;(node) : node-&gt;parentElement();
</ins><span class="cx">     if (!focusedElement)
</span><span class="cx">         return false;
</span><span class="cx">     return focusedElement-&gt;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&lt;StyledElement&gt;(element));
</del><ins>+    ASSERT(!element || is&lt;StyledElement&gt;(*element));
</ins><span class="cx">     if (!is&lt;StyledElement&gt;(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&amp; tagName);
</span><span class="cx"> static inline bool isElementForFormatBlock(Node* node)
</span><span class="cx"> {
</span><del>-    return is&lt;Element&gt;(node) &amp;&amp; isElementForFormatBlock(downcast&lt;Element&gt;(*node).tagQName());
</del><ins>+    return is&lt;Element&gt;(*node) &amp;&amp; isElementForFormatBlock(downcast&lt;Element&gt;(*node).tagQName());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> FormatBlockCommand::FormatBlockCommand(Document&amp; document, const QualifiedName&amp; 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&lt;Element&gt;(node))
</del><ins>+    if (!is&lt;Element&gt;(*node))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     Element* element = downcast&lt;Element&gt;(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&lt;Element&gt;(node) ? downcast&lt;Element&gt;(node) : node-&gt;parentElement();
</del><ins>+    Element* element = is&lt;Element&gt;(*node) ? downcast&lt;Element&gt;(node) : node-&gt;parentElement();
</ins><span class="cx">     Element* rootEditableElement = node-&gt;rootEditableElement();
</span><span class="cx"> 
</span><span class="cx">     if (element &amp;&amp; element-&gt;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&lt;Element&gt;(renderer-&gt;node())) {
-        Element* element = downcast&lt;Element&gt;(renderer-&gt;node());
-        fprintf(stderr, &quot;%s%s\n&quot;, selected ? &quot;==&gt; &quot; : &quot;    &quot;, element-&gt;localName().string().utf8().data());
</del><ins>+    if (is&lt;Element&gt;(*renderer-&gt;node())) {
+        Element&amp; element = downcast&lt;Element&gt;(*renderer-&gt;node());
+        fprintf(stderr, &quot;%s%s\n&quot;, selected ? &quot;==&gt; &quot; : &quot;    &quot;, element.localName().string().utf8().data());
</ins><span class="cx">     } else if (renderer-&gt;isText()) {
</span><span class="cx">         RenderText* textRenderer = toRenderText(renderer);
</span><span class="cx">         if (!textRenderer-&gt;textLength() || !textRenderer-&gt;firstTextBox()) {
</span><span class="lines">@@ -1668,7 +1668,7 @@
</span><span class="cx">     Document* document = m_frame-&gt;document();
</span><span class="cx"> 
</span><span class="cx">     Element* focusedElement = document-&gt;focusedElement();
</span><del>-    if (focusedElement &amp;&amp; is&lt;HTMLSelectElement&gt;(focusedElement)) {
</del><ins>+    if (is&lt;HTMLSelectElement&gt;(focusedElement)) {
</ins><span class="cx">         HTMLSelectElement&amp; selectElement = downcast&lt;HTMLSelectElement&gt;(*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() &amp;&amp; focusedElement) {
</span><del>-            if (is&lt;HTMLTextFormControlElement&gt;(focusedElement)) {
</del><ins>+            if (is&lt;HTMLTextFormControlElement&gt;(*focusedElement)) {
</ins><span class="cx">                 downcast&lt;HTMLTextFormControlElement&gt;(*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&lt;HTMLElement&gt;(start-&gt;document());
</span><span class="cx">     for (auto it = descendants.from(*start), end = descendants.end(); it != end; ++it) {
</span><span class="cx">         HTMLElement&amp; element = *it;
</span><del>-        if (is&lt;HTMLFormElement&gt;(&amp;element))
-            return downcast&lt;HTMLFormElement&gt;(&amp;element);
</del><ins>+        if (is&lt;HTMLFormElement&gt;(element))
+            return &amp;downcast&lt;HTMLFormElement&gt;(element);
</ins><span class="cx">         if (is&lt;HTMLFormControlElement&gt;(element))
</span><span class="cx">             return downcast&lt;HTMLFormControlElement&gt;(element).form();
</span><span class="cx">         if (is&lt;HTMLFrameElementBase&gt;(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) &amp;&amp; !lineBreakExistsAtVisiblePosition(caret)) {
</span><del>-        bool needExtraLineBreak = !is&lt;HTMLHRElement&gt;(pos.deprecatedNode()) &amp;&amp; !is&lt;HTMLTableElement&gt;(pos.deprecatedNode());
</del><ins>+        bool needExtraLineBreak = !is&lt;HTMLHRElement&gt;(*pos.deprecatedNode()) &amp;&amp; !is&lt;HTMLTableElement&gt;(*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() &gt;= caretMaxOffset(pos.deprecatedNode()) || !pos.deprecatedNode()-&gt;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&lt;Text&gt;(pos.deprecatedNode())) {
</del><ins>+    } else if (is&lt;Text&gt;(*pos.deprecatedNode())) {
</ins><span class="cx">         // Split a text node
</span><span class="cx">         Text&amp; textNode = downcast&lt;Text&gt;(*pos.deprecatedNode());
</span><span class="cx">         splitTextNode(&amp;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&lt;HTMLElement&gt;(sibling))
</del><ins>+    if (!is&lt;HTMLElement&gt;(sibling))
</ins><span class="cx">         return list.release();
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;HTMLElement&gt; nextList = downcast&lt;HTMLElement&gt;(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-&gt;nonShadowBoundaryParentNode()
</span><span class="cx">         || isTableCell(startBlock.get())
</span><del>-        || is&lt;HTMLFormElement&gt;(startBlock.get())
</del><ins>+        || is&lt;HTMLFormElement&gt;(*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 &lt;hr&gt;. https://bugs.webkit.org/show_bug.cgi?id=40342
</span><span class="cx">         || (!canonicalPos.isNull() &amp;&amp; canonicalPos.deprecatedNode()-&gt;renderer() &amp;&amp; canonicalPos.deprecatedNode()-&gt;renderer()-&gt;isTable())
</span><span class="cx">         || (!canonicalPos.isNull() &amp;&amp; canonicalPos.deprecatedNode()-&gt;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() &amp;&amp; is&lt;Text&gt;(leadingWhitespace.deprecatedNode())) {
</del><ins>+    if (is&lt;Text&gt;(leadingWhitespace.deprecatedNode())) {
</ins><span class="cx">         Text&amp; textNode = downcast&lt;Text&gt;(*leadingWhitespace.deprecatedNode());
</span><span class="cx">         ASSERT(!textNode.renderer() || textNode.renderer()-&gt;style().collapseWhiteSpace());
</span><span class="cx">         replaceTextInNodePreservingMarkers(&amp;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 &amp;&amp; is&lt;Text&gt;(insertionPosition.containerNode())) {
</del><ins>+    if (insertionPosition.anchorType() == Position::PositionIsOffsetInAnchor &amp;&amp; is&lt;Text&gt;(*insertionPosition.containerNode())) {
</ins><span class="cx">         RefPtr&lt;Text&gt; textNode = downcast&lt;Text&gt;(insertionPosition.containerNode());
</span><span class="cx">         bool atEnd = static_cast&lt;unsigned&gt;(insertionPosition.offsetInContainerNode()) &gt;= textNode-&gt;length();
</span><span class="cx">         if (insertionPosition.deprecatedEditingOffset() &gt; 0 &amp;&amp; !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()-&gt;renderer() || positionAfterSplit.containerNode()-&gt;renderer()-&gt;style().collapseWhiteSpace());
</span><span class="cx">             deleteInsignificantTextDownstream(positionAfterSplit);
</span><del>-            if (is&lt;Text&gt;(positionAfterSplit.deprecatedNode()))
</del><ins>+            if (is&lt;Text&gt;(*positionAfterSplit.deprecatedNode()))
</ins><span class="cx">                 insertTextIntoNode(downcast&lt;Text&gt;(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&lt;Element&gt; spanNode = createTabSpanElement(document());
</span><span class="cx">     
</span><span class="cx">     // place it
</span><del>-    if (!is&lt;Text&gt;(node)) {
</del><ins>+    if (!is&lt;Text&gt;(*node)) {
</ins><span class="cx">         insertNodeAt(spanNode.get(), insertPos);
</span><span class="cx">     } else {
</span><span class="cx">         RefPtr&lt;Text&gt; textNode = downcast&lt;Text&gt;(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 &amp;&amp; b &amp;&amp; is&lt;Element&gt;(a) &amp;&amp; is&lt;Element&gt;(b) &amp;&amp; downcast&lt;Element&gt;(*a).tagName() == downcast&lt;Element&gt;(*b).tagName();
</del><ins>+    return is&lt;Element&gt;(a) &amp;&amp; is&lt;Element&gt;(b) &amp;&amp; downcast&lt;Element&gt;(*a).tagName() == downcast&lt;Element&gt;(*b).tagName();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool ReplaceSelectionCommand::shouldMerge(const VisiblePosition&amp; source, const VisiblePosition&amp; destination)
</span><span class="lines">@@ -488,7 +488,7 @@
</span><span class="cx">         const StyleProperties* inlineStyle = element-&gt;inlineStyle();
</span><span class="cx">         RefPtr&lt;EditingStyle&gt; newInlineStyle = EditingStyle::create(inlineStyle);
</span><span class="cx">         if (inlineStyle) {
</span><del>-            if (is&lt;HTMLElement&gt;(element)) {
</del><ins>+            if (is&lt;HTMLElement&gt;(*element)) {
</ins><span class="cx">                 Vector&lt;QualifiedName&gt; attributes;
</span><span class="cx">                 HTMLElement&amp; htmlElement = downcast&lt;HTMLElement&gt;(*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 &amp;&amp; is&lt;Text&gt;(lastLeafInserted) &amp;&amp; !hasRenderedText(downcast&lt;Text&gt;(*lastLeafInserted))
</del><ins>+    if (is&lt;Text&gt;(lastLeafInserted) &amp;&amp; !hasRenderedText(downcast&lt;Text&gt;(*lastLeafInserted))
</ins><span class="cx">         &amp;&amp; !enclosingElementWithTag(firstPositionInOrBeforeNode(lastLeafInserted), selectTag)
</span><span class="cx">         &amp;&amp; !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 &amp;&amp; is&lt;Text&gt;(firstNodeInserted) &amp;&amp; !hasRenderedText(downcast&lt;Text&gt;(*firstNodeInserted))) {
</del><ins>+    if (is&lt;Text&gt;(firstNodeInserted) &amp;&amp; !hasRenderedText(downcast&lt;Text&gt;(*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 &amp;&amp; is&lt;HTMLInputElement&gt;(textControl) &amp;&amp; downcast&lt;HTMLInputElement&gt;(*textControl).isPasswordField())
</del><ins>+    if (is&lt;HTMLInputElement&gt;(textControl) &amp;&amp; downcast&lt;HTMLInputElement&gt;(*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 &amp;&amp; is&lt;Text&gt;(endNode) ? downcast&lt;Text&gt;(*endNode).length() : 0;
</del><ins>+    int endOffset = is&lt;Text&gt;(endNode) ? downcast&lt;Text&gt;(*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) &amp;&amp; !isCharacterSmartReplaceExemptConsideringNonBreakingSpace(endOfInsertedContent.characterAfter(), false);
</span><span class="cx">     if (needsTrailingSpace &amp;&amp; endNode) {
</span><span class="cx">         bool collapseWhiteSpace = !endNode-&gt;renderer() || endNode-&gt;renderer()-&gt;style().collapseWhiteSpace();
</span><del>-        if (is&lt;Text&gt;(endNode)) {
</del><ins>+        if (is&lt;Text&gt;(*endNode)) {
</ins><span class="cx">             insertTextIntoNode(downcast&lt;Text&gt;(endNode), endOffset, collapseWhiteSpace ? nonBreakingSpaceString() : &quot; &quot;);
</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) &amp;&amp; !isCharacterSmartReplaceExemptConsideringNonBreakingSpace(startOfInsertedContent.previous().characterAfter(), true);
</span><span class="cx">     if (needsLeadingSpace &amp;&amp; startNode) {
</span><span class="cx">         bool collapseWhiteSpace = !startNode-&gt;renderer() || startNode-&gt;renderer()-&gt;style().collapseWhiteSpace();
</span><del>-        if (is&lt;Text&gt;(startNode)) {
</del><ins>+        if (is&lt;Text&gt;(*startNode)) {
</ins><span class="cx">             insertTextIntoNode(downcast&lt;Text&gt;(startNode), startOffset, collapseWhiteSpace ? nonBreakingSpaceString() : &quot; &quot;);
</span><span class="cx">             if (m_endOfInsertedContent.containerNode() == startNode &amp;&amp; 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&lt;Text&gt; text;
</span><del>-    if (positionIsOffsetInAnchor &amp;&amp; position.containerNode() &amp;&amp; is&lt;Text&gt;(position.containerNode()))
</del><ins>+    if (positionIsOffsetInAnchor &amp;&amp; is&lt;Text&gt;(position.containerNode()))
</ins><span class="cx">         text = downcast&lt;Text&gt;(position.containerNode());
</span><span class="cx">     else {
</span><span class="cx">         Node* before = position.computeNodeBeforePosition();
</span><del>-        if (before &amp;&amp; is&lt;Text&gt;(before))
</del><ins>+        if (is&lt;Text&gt;(before))
</ins><span class="cx">             text = downcast&lt;Text&gt;(before);
</span><span class="cx">         else {
</span><span class="cx">             Node* after = position.computeNodeAfterPosition();
</span><del>-            if (after &amp;&amp; is&lt;Text&gt;(after))
</del><ins>+            if (is&lt;Text&gt;(after))
</ins><span class="cx">                 text = downcast&lt;Text&gt;(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-&gt;previousSibling() &amp;&amp; is&lt;Text&gt;(text-&gt;previousSibling())) {
</del><ins>+    if (is&lt;Text&gt;(text-&gt;previousSibling())) {
</ins><span class="cx">         RefPtr&lt;Text&gt; previous = downcast&lt;Text&gt;(text-&gt;previousSibling());
</span><span class="cx">         insertTextIntoNode(text, 0, previous-&gt;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-&gt;nextSibling() &amp;&amp; is&lt;Text&gt;(text-&gt;nextSibling())) {
</del><ins>+    if (is&lt;Text&gt;(text-&gt;nextSibling())) {
</ins><span class="cx">         RefPtr&lt;Text&gt; next = downcast&lt;Text&gt;(text-&gt;nextSibling());
</span><span class="cx">         unsigned originalLength = text-&gt;length();
</span><span class="cx">         insertTextIntoNode(text, originalLength, next-&gt;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&lt;Text&gt;(insertPos.deprecatedNode()) &amp;&amp; textNodeOffset &gt; 0)
</del><ins>+        if (is&lt;Text&gt;(*insertPos.deprecatedNode()) &amp;&amp; textNodeOffset &gt; 0)
</ins><span class="cx">             splitTextNode(downcast&lt;Text&gt;(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&amp; fragment)
</span><span class="cx"> {
</span><del>-    if (!fragment.firstChild() || fragment.firstChild() != fragment.lastChild() || !is&lt;Text&gt;(fragment.firstChild()))
</del><ins>+    if (!is&lt;Text&gt;(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-&gt;firstNode() || !range-&gt;firstNode()-&gt;renderer())
</span><span class="cx">         return false;
</span><span class="cx">     const Node* node = range-&gt;startContainer();
</span><del>-    if (node &amp;&amp; is&lt;Element&gt;(node) &amp;&amp; !downcast&lt;Element&gt;(*node).isSpellCheckingEnabled())
</del><ins>+    if (is&lt;Element&gt;(node) &amp;&amp; !downcast&lt;Element&gt;(*node).isSpellCheckingEnabled())
</ins><span class="cx">         return false;
</span><span class="cx">     return true;
</span><span class="cx"> }
</span></span></pre></div>
<a id="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-&gt;isInline()) {
</span><span class="cx">         wrapContentsInDummySpan(parent);
</span><span class="cx">         Node* firstChild = parent-&gt;firstChild();
</span><del>-        if (!firstChild || !is&lt;Element&gt;(firstChild))
</del><ins>+        if (!is&lt;Element&gt;(firstChild))
</ins><span class="cx">             return;
</span><span class="cx">         parent = downcast&lt;Element&gt;(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-&gt;isImage() || renderer-&gt;isWidget() || renderer-&gt;isMedia())
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><del>-    if (renderer-&gt;node() &amp;&amp; is&lt;Element&gt;(renderer-&gt;node())) {
</del><ins>+    if (is&lt;Element&gt;(renderer-&gt;node())) {
</ins><span class="cx">         Element&amp; element = downcast&lt;Element&gt;(*renderer-&gt;node());
</span><span class="cx">         if (is&lt;HTMLFormControlElement&gt;(element) || is&lt;HTMLLegendElement&gt;(element) || is&lt;HTMLMeterElement&gt;(element) || is&lt;HTMLProgressElement&gt;(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 &amp;&amp; is&lt;HTMLInputElement&gt;(textControl) &amp;&amp; downcast&lt;HTMLInputElement&gt;(*textControl).isPasswordField();
</del><ins>+    return is&lt;HTMLInputElement&gt;(textControl) &amp;&amp; downcast&lt;HTMLInputElement&gt;(*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&lt;Text&gt;(startNode) ? Position(downcast&lt;Text&gt;(startNode), toInlineTextBox(startBox)-&gt;start())
</del><ins>+    return is&lt;Text&gt;(*startNode) ? Position(downcast&lt;Text&gt;(startNode), toInlineTextBox(startBox)-&gt;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-&gt;hasTagName(brTag))
</span><span class="cx">         pos = positionBeforeNode(endNode);
</span><del>-    else if (endBox-&gt;isInlineTextBox() &amp;&amp; is&lt;Text&gt;(endNode)) {
</del><ins>+    else if (endBox-&gt;isInlineTextBox() &amp;&amp; is&lt;Text&gt;(*endNode)) {
</ins><span class="cx">         InlineTextBox* endTextBox = toInlineTextBox(endBox);
</span><span class="cx">         int endOffset = endTextBox-&gt;start();
</span><span class="cx">         if (!endTextBox-&gt;isLineBreak())
</span><span class="lines">@@ -1143,7 +1143,7 @@
</span><span class="cx">             break;
</span><span class="cx"> 
</span><span class="cx">         if (r-&gt;isText() &amp;&amp; toRenderText(r)-&gt;hasRenderedText()) {
</span><del>-            ASSERT_WITH_SECURITY_IMPLICATION(is&lt;Text&gt;(n));
</del><ins>+            ASSERT_WITH_SECURITY_IMPLICATION(is&lt;Text&gt;(*n));
</ins><span class="cx">             type = Position::PositionIsOffsetInAnchor;
</span><span class="cx">             if (style.preserveNewline()) {
</span><span class="cx">                 StringImpl&amp; text = *toRenderText(r)-&gt;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-&gt;isText() &amp;&amp; toRenderText(r)-&gt;hasRenderedText()) {
</span><del>-            ASSERT_WITH_SECURITY_IMPLICATION(is&lt;Text&gt;(n));
</del><ins>+            ASSERT_WITH_SECURITY_IMPLICATION(is&lt;Text&gt;(*n));
</ins><span class="cx">             type = Position::PositionIsOffsetInAnchor;
</span><span class="cx">             if (style.preserveNewline()) {
</span><span class="cx">                 StringImpl&amp; text = *toRenderText(r)-&gt;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&amp; node)
</span><span class="cx"> {
</span><span class="cx">     Node* ancestor = node.parentNode();
</span><del>-    while (ancestor &amp;&amp; !is&lt;Element&gt;(ancestor))
</del><ins>+    while (ancestor &amp;&amp; !is&lt;Element&gt;(*ancestor))
</ins><span class="cx">         ancestor = ancestor-&gt;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 &amp;&amp; !is&lt;Element&gt;(ancestor))
</del><ins>+    while (ancestor &amp;&amp; !is&lt;Element&gt;(*ancestor))
</ins><span class="cx">         ancestor = ancestor-&gt;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 &amp;&amp; (startOffset == endOffset - 1)) {
</span><span class="cx">             Node* node = startContainer-&gt;traverseToChildAt(startOffset);
</span><del>-            if (node &amp;&amp; is&lt;HTMLImageElement&gt;(node)) {
</del><ins>+            if (is&lt;HTMLImageElement&gt;(node)) {
</ins><span class="cx">                 NSFileWrapper* fileWrapper = fileWrapperForElement(downcast&lt;HTMLImageElement&gt;(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 &amp;&amp; is&lt;Element&gt;(enclosingNode) ? downcast&lt;Element&gt;(enclosingNode) : nullptr;
</del><ins>+    return is&lt;Element&gt;(enclosingNode) ? downcast&lt;Element&gt;(enclosingNode) : nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> TextDirection directionOfEnclosingBlock(const Position&amp; position)
</span><span class="lines">@@ -550,7 +550,7 @@
</span><span class="cx">     for (Node* node = position.deprecatedNode(); node; node = node-&gt;parentNode()) {
</span><span class="cx">         if (root &amp;&amp; !node-&gt;hasEditableStyle())
</span><span class="cx">             continue;
</span><del>-        if (!is&lt;Element&gt;(node))
</del><ins>+        if (!is&lt;Element&gt;(*node))
</ins><span class="cx">             continue;
</span><span class="cx">         if (downcast&lt;Element&gt;(*node).hasTagName(tagName))
</span><span class="cx">             return downcast&lt;Element&gt;(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-&gt;parentNode()) {
</span><del>-        if (is&lt;Element&gt;(node) &amp;&amp; node-&gt;isLink())
</del><ins>+        if (is&lt;Element&gt;(*node) &amp;&amp; node-&gt;isLink())
</ins><span class="cx">             return downcast&lt;Element&gt;(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-&gt;parentNode(); ancestor; ancestor = ancestor-&gt;parentNode()) {
</span><del>-        if (is&lt;HTMLUListElement&gt;(ancestor) || is&lt;HTMLOListElement&gt;(ancestor))
</del><ins>+        if (is&lt;HTMLUListElement&gt;(*ancestor) || is&lt;HTMLOListElement&gt;(*ancestor))
</ins><span class="cx">             return downcast&lt;HTMLElement&gt;(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()-&gt;renderer())
</span><span class="cx">         return false;
</span><span class="cx">     
</span><del>-    if (!is&lt;Text&gt;(position.anchorNode()) || !position.anchorNode()-&gt;renderer()-&gt;style().preserveNewline())
</del><ins>+    if (!is&lt;Text&gt;(*position.anchorNode()) || !position.anchorNode()-&gt;renderer()-&gt;style().preserveNewline())
</ins><span class="cx">         return false;
</span><span class="cx">     
</span><span class="cx">     Text&amp; textNode = downcast&lt;Text&gt;(*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&lt;Element&gt;(first) || !is&lt;Element&gt;(second))
</del><ins>+    if (!is&lt;Element&gt;(*first) || !is&lt;Element&gt;(*second))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    const Element* firstElement = downcast&lt;Element&gt;(first);
-    const Element* secondElement = downcast&lt;Element&gt;(second);
-    if (!firstElement-&gt;hasTagName(secondElement-&gt;tagQName()))
</del><ins>+    const Element&amp; firstElement = downcast&lt;Element&gt;(*first);
+    const Element&amp; secondElement = downcast&lt;Element&gt;(*second);
+    if (!firstElement.hasTagName(secondElement.tagQName()))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    return firstElement-&gt;hasEquivalentAttributes(secondElement);
</del><ins>+    return firstElement.hasEquivalentAttributes(&amp;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-&gt;hasTagName(listingTag)
</span><span class="cx">         || node-&gt;hasTagName(olTag)
</span><span class="cx">         || node-&gt;hasTagName(preTag)
</span><del>-        || is&lt;HTMLTableElement&gt;(node)
</del><ins>+        || is&lt;HTMLTableElement&gt;(*node)
</ins><span class="cx">         || node-&gt;hasTagName(ulTag)
</span><span class="cx">         || node-&gt;hasTagName(xmpTag)
</span><span class="cx">         || node-&gt;hasTagName(h1Tag)
</span><span class="lines">@@ -1251,7 +1251,7 @@
</span><span class="cx">     if (isBlockFlowElement(node))
</span><span class="cx">         return downcast&lt;Element&gt;(node);
</span><span class="cx">     while ((node = node-&gt;parentNode())) {
</span><del>-        if (isBlockFlowElement(node) || is&lt;HTMLBodyElement&gt;(node))
</del><ins>+        if (isBlockFlowElement(node) || is&lt;HTMLBodyElement&gt;(*node))
</ins><span class="cx">             return downcast&lt;Element&gt;(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()-&gt;focusedElement();
</span><del>-    if (focusedElement &amp;&amp; (is&lt;HTMLTextAreaElement&gt;(focusedElement) || (is&lt;HTMLInputElement&gt;(focusedElement)
</del><ins>+    if (focusedElement &amp;&amp; (is&lt;HTMLTextAreaElement&gt;(*focusedElement) || (is&lt;HTMLInputElement&gt;(*focusedElement)
</ins><span class="cx">         &amp;&amp; (downcast&lt;HTMLInputElement&gt;(*focusedElement).isTextField()
</span><span class="cx">             || downcast&lt;HTMLInputElement&gt;(*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&amp; out, const Text&amp; text)
</span><span class="cx"> {    
</span><del>-    const bool parentIsTextarea = text.parentElement() &amp;&amp; is&lt;HTMLTextAreaElement&gt;(text.parentElement());
</del><ins>+    const bool parentIsTextarea = is&lt;HTMLTextAreaElement&gt;(text.parentElement());
</ins><span class="cx">     const bool wrappingSpan = shouldApplyWrappingStyle(text) &amp;&amp; !parentIsTextarea;
</span><span class="cx">     if (wrappingSpan) {
</span><span class="cx">         RefPtr&lt;EditingStyle&gt; wrappingStyle = m_wrappingStyle-&gt;copy();
</span><span class="lines">@@ -452,7 +452,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (commonAncestorBlock-&gt;hasTagName(tbodyTag) || commonAncestorBlock-&gt;hasTagName(trTag)) {
</span><span class="cx">         ContainerNode* table = commonAncestorBlock-&gt;parentNode();
</span><del>-        while (table &amp;&amp; !is&lt;HTMLTableElement&gt;(table))
</del><ins>+        while (table &amp;&amp; !is&lt;HTMLTableElement&gt;(*table))
</ins><span class="cx">             table = table-&gt;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&lt;HTMLDivElement&gt;(node))
</del><ins>+    ASSERT(node);
+    if (!is&lt;HTMLDivElement&gt;(*node))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     HTMLDivElement&amp; element = downcast&lt;HTMLDivElement&gt;(*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, &quot;FileReader: reading as array buffer: %s %s\n&quot;, blob-&gt;url().string().utf8().data(), is&lt;File&gt;(blob) ? downcast&lt;File&gt;(*blob).path().utf8().data() : &quot;&quot;);
</del><ins>+    LOG(FileAPI, &quot;FileReader: reading as array buffer: %s %s\n&quot;, blob-&gt;url().string().utf8().data(), is&lt;File&gt;(*blob) ? downcast&lt;File&gt;(*blob).path().utf8().data() : &quot;&quot;);
</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, &quot;FileReader: reading as binary: %s %s\n&quot;, blob-&gt;url().string().utf8().data(), is&lt;File&gt;(blob) ? downcast&lt;File&gt;(*blob).path().utf8().data() : &quot;&quot;);
</del><ins>+    LOG(FileAPI, &quot;FileReader: reading as binary: %s %s\n&quot;, blob-&gt;url().string().utf8().data(), is&lt;File&gt;(*blob) ? downcast&lt;File&gt;(*blob).path().utf8().data() : &quot;&quot;);
</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, &quot;FileReader: reading as text: %s %s\n&quot;, blob-&gt;url().string().utf8().data(), is&lt;File&gt;(blob) ? downcast&lt;File&gt;(*blob).path().utf8().data() : &quot;&quot;);
</del><ins>+    LOG(FileAPI, &quot;FileReader: reading as text: %s %s\n&quot;, blob-&gt;url().string().utf8().data(), is&lt;File&gt;(*blob) ? downcast&lt;File&gt;(*blob).path().utf8().data() : &quot;&quot;);
</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, &quot;FileReader: reading as data URL: %s %s\n&quot;, blob-&gt;url().string().utf8().data(), is&lt;File&gt;(blob) ? downcast&lt;File&gt;(*blob).path().utf8().data() : &quot;&quot;);
</del><ins>+    LOG(FileAPI, &quot;FileReader: reading as data URL: %s %s\n&quot;, blob-&gt;url().string().utf8().data(), is&lt;File&gt;(*blob) ? downcast&lt;File&gt;(*blob).path().utf8().data() : &quot;&quot;);
</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()-&gt;firstChild();
</span><del>-    if (!node || !is&lt;HTMLElement&gt;(node))
</del><ins>+    if (!is&lt;HTMLElement&gt;(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&lt;Element&gt; tableElement = document()-&gt;getElementById(String(ASCIILiteral(&quot;ftpDirectoryTable&quot;)));
</span><span class="cx">     if (!tableElement)
</span><span class="cx">         LOG_ERROR(&quot;Unable to find element by id \&quot;ftpDirectoryTable\&quot; in the template document.&quot;);
</span><del>-    else if (!is&lt;HTMLTableElement&gt;(tableElement.get()))
</del><ins>+    else if (!is&lt;HTMLTableElement&gt;(*tableElement))
</ins><span class="cx">         LOG_ERROR(&quot;Element of id \&quot;ftpDirectoryTable\&quot; is not a table element&quot;);
</span><span class="cx">     else 
</span><span class="cx">         m_tableElement = downcast&lt;HTMLTableElement&gt;(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-&gt;treeScope().getElementById(formId);
</span><del>-        if (newFormCandidate &amp;&amp; is&lt;HTMLFormElement&gt;(newFormCandidate))
</del><ins>+        if (is&lt;HTMLFormElement&gt;(newFormCandidate))
</ins><span class="cx">             newForm = downcast&lt;HTMLFormElement&gt;(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&amp; url, Event* event)
</span><span class="cx"> {
</span><del>-    if (!is&lt;MouseEvent&gt;(event))
</del><ins>+    ASSERT(event);
+    if (!is&lt;MouseEvent&gt;(*event))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     ASSERT(event-&gt;target());
</span><span class="cx">     Node* target = event-&gt;target()-&gt;toNode();
</span><span class="cx">     ASSERT(target);
</span><del>-    if (!is&lt;HTMLImageElement&gt;(target))
</del><ins>+    if (!is&lt;HTMLImageElement&gt;(*target))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     HTMLImageElement&amp; imageElement = downcast&lt;HTMLImageElement&gt;(*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-&gt;type() == eventNames().mousedownEvent &amp;&amp; is&lt;MouseEvent&gt;(event) &amp;&amp; downcast&lt;MouseEvent&gt;(*event).button() != RightButton &amp;&amp; document().frame()) {
</del><ins>+            if (event-&gt;type() == eventNames().mousedownEvent &amp;&amp; is&lt;MouseEvent&gt;(*event) &amp;&amp; downcast&lt;MouseEvent&gt;(*event).button() != RightButton &amp;&amp; document().frame()) {
</ins><span class="cx">                 setRootEditableElementForSelectionOnMouseDown(document().frame()-&gt;selection().selection().rootEditableElement());
</span><span class="cx">                 m_wasShiftKeyDownOnMouseDown = downcast&lt;MouseEvent&gt;(*event).shiftKey();
</span><span class="cx">             } else if (event-&gt;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&lt;MouseEvent&gt;(event))
</del><ins>+    ASSERT(event);
+    if (!is&lt;MouseEvent&gt;(*event))
</ins><span class="cx">         return NonMouseEvent;
</span><span class="cx">     return downcast&lt;MouseEvent&gt;(*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-&gt;type() == eventNames().keydownEvent &amp;&amp; is&lt;KeyboardEvent&gt;(event) &amp;&amp; downcast&lt;KeyboardEvent&gt;(*event).keyIdentifier() == &quot;Enter&quot;;
</del><ins>+    return event-&gt;type() == eventNames().keydownEvent &amp;&amp; is&lt;KeyboardEvent&gt;(*event) &amp;&amp; downcast&lt;KeyboardEvent&gt;(*event).keyIdentifier() == &quot;Enter&quot;;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool isLinkClick(Event* event)
</span><span class="cx"> {
</span><del>-    return event-&gt;type() == eventNames().clickEvent &amp;&amp; (!is&lt;MouseEvent&gt;(event) || downcast&lt;MouseEvent&gt;(*event).button() != RightButton);
</del><ins>+    return event-&gt;type() == eventNames().clickEvent &amp;&amp; (!is&lt;MouseEvent&gt;(*event) || downcast&lt;MouseEvent&gt;(*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&lt;HTMLMapElement&gt;(mapElement))
</del><ins>+    if (!is&lt;HTMLMapElement&gt;(mapElement))
</ins><span class="cx">         return nullptr;
</span><span class="cx">     
</span><span class="cx">     return downcast&lt;HTMLMapElement&gt;(*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 &lt;body&gt; of all documents embedded through &lt;iframe&gt; or &lt;frame&gt;.
</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 &amp;&amp; is&lt;HTMLFrameElementBase&gt;(*ownerElement)) {
</del><ins>+    if (is&lt;HTMLFrameElementBase&gt;(ownerElement)) {
</ins><span class="cx">         HTMLFrameElementBase&amp; ownerFrameElement = downcast&lt;HTMLFrameElementBase&gt;(*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&lt;KeyboardEvent&gt;(event)) {
</del><ins>+    if (is&lt;KeyboardEvent&gt;(*event)) {
</ins><span class="cx">         KeyboardEvent&amp; keyboardEvent = downcast&lt;KeyboardEvent&gt;(*event);
</span><span class="cx">         if (keyboardEvent.type() == eventNames().keydownEvent &amp;&amp; keyboardEvent.keyIdentifier() == &quot;U+0020&quot;) {
</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 &amp;&amp; type() == DocAll &amp;&amp; (!is&lt;HTMLElement&gt;(candidate) || !nameShouldBeVisibleInDocumentAll(downcast&lt;HTMLElement&gt;(*candidate))))
</del><ins>+                if (candidate &amp;&amp; type() == DocAll &amp;&amp; (!is&lt;HTMLElement&gt;(*candidate) || !nameShouldBeVisibleInDocumentAll(downcast&lt;HTMLElement&gt;(*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&amp; idAttrVal = element-&gt;getIdAttribute();
</span><span class="cx">         if (!idAttrVal.isEmpty())
</span><span class="cx">             cache-&gt;appendIdCache(idAttrVal, element);
</span><del>-        if (!is&lt;HTMLElement&gt;(element))
</del><ins>+        if (!is&lt;HTMLElement&gt;(*element))
</ins><span class="cx">             continue;
</span><span class="cx">         const AtomicString&amp; nameAttrVal = element-&gt;getNameAttribute();
</span><span class="cx">         if (!nameAttrVal.isEmpty() &amp;&amp; idAttrVal != nameAttrVal &amp;&amp; (type() != DocAll || nameShouldBeVisibleInDocumentAll(downcast&lt;HTMLElement&gt;(*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&amp; HTMLDocument::bgColor() const
</span><span class="cx"> {
</span><span class="cx">     HTMLElement* bodyElement = body();
</span><del>-    if (!bodyElement || !is&lt;HTMLBodyElement&gt;(bodyElement))
</del><ins>+    if (!is&lt;HTMLBodyElement&gt;(bodyElement))
</ins><span class="cx">         return emptyAtom;
</span><span class="cx">     return bodyElement-&gt;fastGetAttribute(bgcolorAttr);
</span><span class="cx"> }
</span><span class="lines">@@ -147,7 +147,7 @@
</span><span class="cx"> void HTMLDocument::setBgColor(const String&amp; value)
</span><span class="cx"> {
</span><span class="cx">     HTMLElement* bodyElement = body();
</span><del>-    if (!bodyElement || !is&lt;HTMLBodyElement&gt;(bodyElement))
</del><ins>+    if (!is&lt;HTMLBodyElement&gt;(bodyElement))
</ins><span class="cx">         return;
</span><span class="cx">     bodyElement-&gt;setAttribute(bgcolorAttr, value);
</span><span class="cx"> }
</span><span class="lines">@@ -155,7 +155,7 @@
</span><span class="cx"> const AtomicString&amp; HTMLDocument::fgColor() const
</span><span class="cx"> {
</span><span class="cx">     HTMLElement* bodyElement = body();
</span><del>-    if (!bodyElement || !is&lt;HTMLBodyElement&gt;(bodyElement))
</del><ins>+    if (!is&lt;HTMLBodyElement&gt;(bodyElement))
</ins><span class="cx">         return emptyAtom;
</span><span class="cx">     return bodyElement-&gt;fastGetAttribute(textAttr);
</span><span class="cx"> }
</span><span class="lines">@@ -163,7 +163,7 @@
</span><span class="cx"> void HTMLDocument::setFgColor(const String&amp; value)
</span><span class="cx"> {
</span><span class="cx">     HTMLElement* bodyElement = body();
</span><del>-    if (!bodyElement || !is&lt;HTMLBodyElement&gt;(bodyElement))
</del><ins>+    if (!is&lt;HTMLBodyElement&gt;(bodyElement))
</ins><span class="cx">         return;
</span><span class="cx">     bodyElement-&gt;setAttribute(textAttr, value);
</span><span class="cx"> }
</span><span class="lines">@@ -171,7 +171,7 @@
</span><span class="cx"> const AtomicString&amp; HTMLDocument::alinkColor() const
</span><span class="cx"> {
</span><span class="cx">     HTMLElement* bodyElement = body();
</span><del>-    if (!bodyElement || !is&lt;HTMLBodyElement&gt;(bodyElement))
</del><ins>+    if (!is&lt;HTMLBodyElement&gt;(bodyElement))
</ins><span class="cx">         return emptyAtom;
</span><span class="cx">     return bodyElement-&gt;fastGetAttribute(alinkAttr);
</span><span class="cx"> }
</span><span class="lines">@@ -179,7 +179,7 @@
</span><span class="cx"> void HTMLDocument::setAlinkColor(const String&amp; value)
</span><span class="cx"> {
</span><span class="cx">     HTMLElement* bodyElement = body();
</span><del>-    if (!bodyElement || !is&lt;HTMLBodyElement&gt;(bodyElement))
</del><ins>+    if (!is&lt;HTMLBodyElement&gt;(bodyElement))
</ins><span class="cx">         return;
</span><span class="cx">     bodyElement-&gt;setAttribute(alinkAttr, value);
</span><span class="cx"> }
</span><span class="lines">@@ -187,7 +187,7 @@
</span><span class="cx"> const AtomicString&amp; HTMLDocument::linkColor() const
</span><span class="cx"> {
</span><span class="cx">     HTMLElement* bodyElement = body();
</span><del>-    if (!bodyElement || !is&lt;HTMLBodyElement&gt;(bodyElement))
</del><ins>+    if (!is&lt;HTMLBodyElement&gt;(bodyElement))
</ins><span class="cx">         return emptyAtom;
</span><span class="cx">     return bodyElement-&gt;fastGetAttribute(linkAttr);
</span><span class="cx"> }
</span><span class="lines">@@ -195,7 +195,7 @@
</span><span class="cx"> void HTMLDocument::setLinkColor(const String&amp; value)
</span><span class="cx"> {
</span><span class="cx">     HTMLElement* bodyElement = body();
</span><del>-    if (!bodyElement || !is&lt;HTMLBodyElement&gt;(bodyElement))
</del><ins>+    if (!is&lt;HTMLBodyElement&gt;(bodyElement))
</ins><span class="cx">         return;
</span><span class="cx">     return bodyElement-&gt;setAttribute(linkAttr, value);
</span><span class="cx"> }
</span><span class="lines">@@ -203,7 +203,7 @@
</span><span class="cx"> const AtomicString&amp; HTMLDocument::vlinkColor() const
</span><span class="cx"> {
</span><span class="cx">     HTMLElement* bodyElement = body();
</span><del>-    if (!bodyElement || !is&lt;HTMLBodyElement&gt;(bodyElement))
</del><ins>+    if (!is&lt;HTMLBodyElement&gt;(bodyElement))
</ins><span class="cx">         return emptyAtom;
</span><span class="cx">     return bodyElement-&gt;fastGetAttribute(vlinkAttr);
</span><span class="cx"> }
</span><span class="lines">@@ -211,7 +211,7 @@
</span><span class="cx"> void HTMLDocument::setVlinkColor(const String&amp; value)
</span><span class="cx"> {
</span><span class="cx">     HTMLElement* bodyElement = body();
</span><del>-    if (!bodyElement || !is&lt;HTMLBodyElement&gt;(bodyElement))
</del><ins>+    if (!is&lt;HTMLBodyElement&gt;(bodyElement))
</ins><span class="cx">         return;
</span><span class="cx">     return bodyElement-&gt;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 &amp;&amp; is&lt;HTMLFrameSetElement&gt;(bodyElement);
</del><ins>+    return is&lt;HTMLFrameSetElement&gt;(body());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;Document&gt; 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&lt;HTMLElement&gt;(currentElement)) {
</del><ins>+        if (is&lt;HTMLElement&gt;(*currentElement)) {
</ins><span class="cx">             switch (contentEditableType(downcast&lt;HTMLElement&gt;(*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&amp; node, ExceptionCode&amp; ec)
</span><span class="cx"> {
</span><span class="cx">     Node* next = node.nextSibling();
</span><del>-    if (!next || !is&lt;Text&gt;(next))
</del><ins>+    if (!is&lt;Text&gt;(next))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     Ref&lt;Text&gt; textNode(node);
</span><span class="lines">@@ -450,7 +450,7 @@
</span><span class="cx"> void HTMLElement::setOuterHTML(const String&amp; html, ExceptionCode&amp; ec)
</span><span class="cx"> {
</span><span class="cx">     Element* p = parentElement();
</span><del>-    if (!p || !is&lt;HTMLElement&gt;(p)) {
</del><ins>+    if (!is&lt;HTMLElement&gt;(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-&gt;replaceChild(fragment.release(), this, ec);
</span><span class="cx">     RefPtr&lt;Node&gt; node = next ? next-&gt;previousSibling() : nullptr;
</span><del>-    if (!ec &amp;&amp; node &amp;&amp; is&lt;Text&gt;(*node))
</del><ins>+    if (!ec &amp;&amp; is&lt;Text&gt;(node.get()))
</ins><span class="cx">         mergeWithNextTextNode(downcast&lt;Text&gt;(*node), ec);
</span><del>-    if (!ec &amp;&amp; prev &amp;&amp; is&lt;Text&gt;(*prev))
</del><ins>+    if (!ec &amp;&amp; is&lt;Text&gt;(prev.get()))
</ins><span class="cx">         mergeWithNextTextNode(downcast&lt;Text&gt;(*prev), ec);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -597,9 +597,9 @@
</span><span class="cx">     parent-&gt;replaceChild(newChild.release(), this, ec);
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;Node&gt; node = next ? next-&gt;previousSibling() : nullptr;
</span><del>-    if (!ec &amp;&amp; node &amp;&amp; is&lt;Text&gt;(*node))
</del><ins>+    if (!ec &amp;&amp; is&lt;Text&gt;(node.get()))
</ins><span class="cx">         mergeWithNextTextNode(downcast&lt;Text&gt;(*node), ec);
</span><del>-    if (!ec &amp;&amp; prev &amp;&amp; is&lt;Text&gt;(*prev))
</del><ins>+    if (!ec &amp;&amp; is&lt;Text&gt;(prev.get()))
</ins><span class="cx">         mergeWithNextTextNode(downcast&lt;Text&gt;(*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&lt;Element&gt;(returnValue));
</del><ins>+    ASSERT_WITH_SECURITY_IMPLICATION(!returnValue || is&lt;Element&gt;(*returnValue));
</ins><span class="cx">     return downcast&lt;Element&gt;(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, &quot;beforeBegin&quot;) || equalIgnoringCase(where, &quot;afterEnd&quot;)) {
</span><span class="cx">         ContainerNode* parent = element-&gt;parentNode();
</span><del>-        if (parent &amp;&amp; !is&lt;Element&gt;(parent)) {
</del><ins>+        if (parent &amp;&amp; !is&lt;Element&gt;(*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&lt;Element&gt;(parent));
</del><ins>+        ASSERT_WITH_SECURITY_IMPLICATION(!parent || is&lt;Element&gt;(*parent));
</ins><span class="cx">         return downcast&lt;Element&gt;(parent);
</span><span class="cx">     }
</span><span class="cx">     if (equalIgnoringCase(where, &quot;afterBegin&quot;) || equalIgnoringCase(where, &quot;beforeEnd&quot;))
</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-&gt;nodeName(), &quot;bdi&quot;) || node-&gt;hasTagName(scriptTag) || node-&gt;hasTagName(styleTag) 
</span><del>-            || (is&lt;Element&gt;(node) &amp;&amp; downcast&lt;Element&gt;(*node).isTextFormControl())) {
</del><ins>+            || (is&lt;Element&gt;(*node) &amp;&amp; downcast&lt;Element&gt;(*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&lt;Element&gt;(node)) {
</del><ins>+        if (is&lt;Element&gt;(*node)) {
</ins><span class="cx">             AtomicString dirAttributeValue = downcast&lt;Element&gt;(*node).fastGetAttribute(dirAttr);
</span><span class="cx">             if (isLTROrRTLIgnoringCase(dirAttributeValue) || equalIgnoringCase(dirAttributeValue, &quot;auto&quot;)) {
</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 &amp;&amp; is&lt;HTMLElement&gt;(parent) &amp;&amp; parent-&gt;selfOrAncestorHasDirAutoAttribute())
</del><ins>+    if (is&lt;HTMLElement&gt;(parent) &amp;&amp; parent-&gt;selfOrAncestorHasDirAutoAttribute())
</ins><span class="cx">         downcast&lt;HTMLElement&gt;(*parent).adjustDirectionalityIfNeededAfterChildAttributeChanged(this);
</span><span class="cx"> 
</span><span class="cx">     if (equalIgnoringCase(value, &quot;auto&quot;))
</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 &lt;object&gt; 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 &amp;&amp; is&lt;HTMLObjectElement&gt;(parent)) {
</del><ins>+    if (is&lt;HTMLObjectElement&gt;(parent)) {
</ins><span class="cx">         if (!parent-&gt;renderer())
</span><span class="cx">             return false;
</span><span class="cx">         if (!downcast&lt;HTMLObjectElement&gt;(*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-&gt;setAncestorDisabled(isDisabled);
</span><span class="cx">         // Don't call setAncestorDisabled(false) on form contorls inside disabled fieldsets.
</span><del>-        if (is&lt;HTMLFieldSetElement&gt;(control) &amp;&amp; control-&gt;fastHasAttribute(disabledAttr))
</del><ins>+        if (is&lt;HTMLFieldSetElement&gt;(*control) &amp;&amp; control-&gt;fastHasAttribute(disabledAttr))
</ins><span class="cx">             control = Traversal&lt;HTMLFormControlElement&gt;::nextSkippingChildren(control, &amp;startNode);
</span><span class="cx">         else
</span><span class="cx">             control = Traversal&lt;HTMLFormControlElement&gt;::next(control, &amp;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&lt;HTMLElement&gt;::firstChild(this); control; control = Traversal&lt;HTMLElement&gt;::nextSibling(control)) {
</span><del>-        if (!hasSeenFirstLegendElement &amp;&amp; is&lt;HTMLLegendElement&gt;(control)) {
</del><ins>+        if (!hasSeenFirstLegendElement &amp;&amp; is&lt;HTMLLegendElement&gt;(*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-&gt;parentElement()) {
</span><del>-        if (is&lt;HTMLFieldSetElement&gt;(ancestor) &amp;&amp; ancestor-&gt;fastHasAttribute(disabledAttr)) {
</del><ins>+        if (is&lt;HTMLFieldSetElement&gt;(*ancestor) &amp;&amp; ancestor-&gt;fastHasAttribute(disabledAttr)) {
</ins><span class="cx">             HTMLFieldSetElement&amp; fieldSetAncestor = downcast&lt;HTMLFieldSetElement&gt;(*ancestor);
</span><del>-            bool isInFirstLegend = previousAncestor &amp;&amp; is&lt;HTMLLegendElement&gt;(previousAncestor) &amp;&amp; previousAncestor == fieldSetAncestor.legend();
</del><ins>+            bool isInFirstLegend = is&lt;HTMLLegendElement&gt;(previousAncestor) &amp;&amp; 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&lt;HTMLInputElement&gt;(element))
</del><ins>+    if (is&lt;HTMLInputElement&gt;(*element))
</ins><span class="cx">         return !downcast&lt;HTMLInputElement&gt;(*element).isInputTypeHidden();
</span><span class="cx">     if (element-&gt;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-&gt;hasTagName(buttonTag))
</span><span class="cx">         return true;
</span><del>-    if (is&lt;HTMLTextAreaElement&gt;(element))
</del><ins>+    if (is&lt;HTMLTextAreaElement&gt;(*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-&gt;parentNode()) {
</span><del>-        if (is&lt;HTMLFormControlElement&gt;(node))
</del><ins>+        if (is&lt;HTMLFormControlElement&gt;(*node))
</ins><span class="cx">             return downcast&lt;HTMLFormControlElement&gt;(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-&gt;isTable() &amp;&amp; is&lt;HTMLTableElement&gt;(parent))
</del><ins>+    bool parentIsTableElementPart = (parentRenderer-&gt;isTable() &amp;&amp; is&lt;HTMLTableElement&gt;(*parent))
</ins><span class="cx">         || (parentRenderer-&gt;isTableRow() &amp;&amp; parent-&gt;hasTagName(trTag))
</span><span class="cx">         || (parentRenderer-&gt;isTableSection() &amp;&amp; parent-&gt;hasTagName(tbodyTag))
</span><span class="cx">         || (parentRenderer-&gt;isRenderTableCol() &amp;&amp; parent-&gt;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 &lt; m_associatedElements.size(); ++i) {
</span><span class="cx">         FormAssociatedElement* formAssociatedElement = m_associatedElements[i];
</span><del>-        if (!is&lt;HTMLFormControlElement&gt;(formAssociatedElement))
</del><ins>+        if (!is&lt;HTMLFormControlElement&gt;(*formAssociatedElement))
</ins><span class="cx">             continue;
</span><span class="cx">         HTMLFormControlElement&amp; formElement = downcast&lt;HTMLFormControlElement&gt;(*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-&gt;target()-&gt;toNode(); node; node = node-&gt;parentNode()) {
</span><del>-        if (is&lt;HTMLFormControlElement&gt;(node))
</del><ins>+        if (is&lt;HTMLFormControlElement&gt;(*node))
</ins><span class="cx">             return downcast&lt;HTMLFormControlElement&gt;(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 &lt; m_associatedElements.size(); ++i) {
</span><del>-        if (is&lt;HTMLFormControlElement&gt;(m_associatedElements[i]))
</del><ins>+        if (is&lt;HTMLFormControlElement&gt;(*m_associatedElements[i]))
</ins><span class="cx">             downcast&lt;HTMLFormControlElement&gt;(*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 &lt; m_associatedElements.size(); ++i) {
</span><span class="cx">         FormAssociatedElement* associatedElement = m_associatedElements[i];
</span><del>-        if (!is&lt;HTMLFormControlElement&gt;(associatedElement))
</del><ins>+        if (!is&lt;HTMLFormControlElement&gt;(*associatedElement))
</ins><span class="cx">             continue;
</span><span class="cx">         if (needButtonActivation) {
</span><span class="cx">             HTMLFormControlElement&amp; control = downcast&lt;HTMLFormControlElement&gt;(*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 &lt; m_associatedElements.size(); ++i) {
</span><del>-        if (is&lt;HTMLFormControlElement&gt;(m_associatedElements[i]))
</del><ins>+        if (is&lt;HTMLFormControlElement&gt;(*m_associatedElements[i]))
</ins><span class="cx">             downcast&lt;HTMLFormControlElement&gt;(*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 &lt; m_associatedElements.size(); ++i) {
</span><del>-        if (!is&lt;HTMLFormControlElement&gt;(m_associatedElements[i]))
</del><ins>+        if (!is&lt;HTMLFormControlElement&gt;(*m_associatedElements[i]))
</ins><span class="cx">             continue;
</span><span class="cx">         HTMLFormControlElement&amp; control = downcast&lt;HTMLFormControlElement&gt;(*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 &lt; m_associatedElements.size(); ++i) {
</span><del>-        if (is&lt;HTMLFormControlElement&gt;(m_associatedElements[i]))
</del><ins>+        if (is&lt;HTMLFormControlElement&gt;(*m_associatedElements[i]))
</ins><span class="cx">             downcast&lt;HTMLFormControlElement&gt;(*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&amp; ec) const
</span><span class="cx"> {
</span><span class="cx">     Document* document = contentDocument();
</span><del>-    if (document &amp;&amp; is&lt;SVGDocument&gt;(document))
</del><ins>+    if (is&lt;SVGDocument&gt;(document))
</ins><span class="cx">         return downcast&lt;SVGDocument&gt;(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&lt;MouseEvent&gt;(event) &amp;&amp; !m_noresize &amp;&amp; renderer() &amp;&amp; renderer()-&gt;isFrameSet()) {
</del><ins>+    ASSERT(event);
+    if (is&lt;MouseEvent&gt;(*event) &amp;&amp; !m_noresize &amp;&amp; renderer() &amp;&amp; renderer()-&gt;isFrameSet()) {
</ins><span class="cx">         if (toRenderFrameSet(renderer())-&gt;userResize(downcast&lt;MouseEvent&gt;(event))) {
</span><span class="cx">             event-&gt;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&lt;MouseEvent&gt;(evt) &amp;&amp; evt-&gt;type() == eventNames().clickEvent &amp;&amp; downcast&lt;MouseEvent&gt;(*evt).button() == LeftButton) {
</del><ins>+    ASSERT(evt);
+    if (is&lt;MouseEvent&gt;(*evt) &amp;&amp; evt-&gt;type() == eventNames().clickEvent &amp;&amp; downcast&lt;MouseEvent&gt;(*evt).button() == LeftButton) {
</ins><span class="cx">         m_inputType-&gt;handleClickEvent(downcast&lt;MouseEvent&gt;(evt));
</span><span class="cx">         if (evt-&gt;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&lt;TouchEvent&gt;(evt)) {
</del><ins>+    if (is&lt;TouchEvent&gt;(*evt)) {
</ins><span class="cx">         m_inputType-&gt;handleTouchEvent(downcast&lt;TouchEvent&gt;(evt));
</span><span class="cx">         if (evt-&gt;defaultHandled())
</span><span class="cx">             return;
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    if (is&lt;KeyboardEvent&gt;(evt) &amp;&amp; evt-&gt;type() == eventNames().keydownEvent) {
</del><ins>+    if (is&lt;KeyboardEvent&gt;(*evt) &amp;&amp; evt-&gt;type() == eventNames().keydownEvent) {
</ins><span class="cx">         m_inputType-&gt;handleKeydownEvent(downcast&lt;KeyboardEvent&gt;(evt));
</span><span class="cx">         if (evt-&gt;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&lt;KeyboardEvent&gt;(evt)) {
</del><ins>+    if (is&lt;KeyboardEvent&gt;(*evt)) {
</ins><span class="cx">         KeyboardEvent&amp; keyboardEvent = downcast&lt;KeyboardEvent&gt;(*evt);
</span><span class="cx">         if (keyboardEvent.type() == eventNames().keypressEvent) {
</span><span class="cx">             m_inputType-&gt;handleKeypressEvent(&amp;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&lt;BeforeTextInsertedEvent&gt;(evt))
</del><ins>+    if (is&lt;BeforeTextInsertedEvent&gt;(*evt))
</ins><span class="cx">         m_inputType-&gt;handleBeforeTextInsertedEvent(downcast&lt;BeforeTextInsertedEvent&gt;(evt));
</span><span class="cx"> 
</span><del>-    if (is&lt;MouseEvent&gt;(evt) &amp;&amp; evt-&gt;type() == eventNames().mousedownEvent) {
</del><ins>+    if (is&lt;MouseEvent&gt;(*evt) &amp;&amp; evt-&gt;type() == eventNames().mousedownEvent) {
</ins><span class="cx">         m_inputType-&gt;handleMouseDownEvent(downcast&lt;MouseEvent&gt;(evt));
</span><span class="cx">         if (evt-&gt;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&lt;HTMLDataListElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLDataListElement&gt;(element))
</ins><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     return downcast&lt;HTMLDataListElement&gt;(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&lt;LabelableElement&gt;(*node))
</del><ins>+    if (!is&lt;LabelableElement&gt;(node))
</ins><span class="cx">         return nullptr;
</span><span class="cx">     LabelableElement&amp; element = downcast&lt;LabelableElement&gt;(*node);
</span><span class="cx">     return element.supportLabels() ? &amp;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&lt;HTMLFieldSetElement&gt;(fieldset))
</del><ins>+    if (!is&lt;HTMLFieldSetElement&gt;(fieldset))
</ins><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     return downcast&lt;HTMLFieldSetElement&gt;(*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()-&gt;enteredFullscreen();
</span><del>-    if (document().page() &amp;&amp; is&lt;HTMLVideoElement&gt;(this)) {
</del><ins>+    if (document().page() &amp;&amp; is&lt;HTMLVideoElement&gt;(*this)) {
</ins><span class="cx">         HTMLVideoElement&amp; asVideo = downcast&lt;HTMLVideoElement&gt;(*this);
</span><span class="cx">         if (document().page()-&gt;chrome().client().supportsVideoFullscreen()) {
</span><span class="cx">             document().page()-&gt;chrome().client().enterVideoFullscreenForVideoElement(&amp;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()-&gt;exitedFullscreen();
</span><del>-    if (document().page() &amp;&amp; is&lt;HTMLVideoElement&gt;(this)) {
</del><ins>+    if (document().page() &amp;&amp; is&lt;HTMLVideoElement&gt;(*this)) {
</ins><span class="cx">         if (m_mediaSession-&gt;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-&gt;nextSibling()) {
</span><span class="cx">         // Ignore whitespace-only text, and &lt;param&gt; tags, any other content is fallback content.
</span><del>-        if (is&lt;Text&gt;(child)) {
</del><ins>+        if (is&lt;Text&gt;(*child)) {
</ins><span class="cx">             if (!downcast&lt;Text&gt;(*child).containsOnlyWhitespace())
</span><span class="cx">                 return true;
</span><del>-        } else if (!is&lt;HTMLParamElement&gt;(child))
</del><ins>+        } else if (!is&lt;HTMLParamElement&gt;(*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 &amp;&amp; isNamedItem) {
</span><del>-        if (is&lt;Element&gt;(child)) {
</del><ins>+        if (is&lt;Element&gt;(*child)) {
</ins><span class="cx">             Element&amp; element = downcast&lt;Element&gt;(*child);
</span><span class="cx">             // FIXME: Use of isRecognizedTagName is almost certainly wrong here.
</span><span class="cx">             if (isRecognizedTagName(element.tagQName()) &amp;&amp; !element.hasTagName(paramTag))
</span><span class="cx">                 isNamedItem = false;
</span><del>-        } else if (is&lt;Text&gt;(child)) {
</del><ins>+        } else if (is&lt;Text&gt;(*child)) {
</ins><span class="cx">             if (!downcast&lt;Text&gt;(*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 &amp;&amp; !is&lt;HTMLSelectElement&gt;(select))
</del><ins>+    while (select &amp;&amp; !is&lt;HTMLSelectElement&gt;(*select))
</ins><span class="cx">         select = select-&gt;parentNode();
</span><span class="cx">     if (select)
</span><span class="cx">         downcast&lt;HTMLSelectElement&gt;(*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 &amp;&amp; !is&lt;HTMLSelectElement&gt;(select))
</del><ins>+    while (select &amp;&amp; !is&lt;HTMLSelectElement&gt;(*select))
</ins><span class="cx">         select = select-&gt;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 &amp;&amp; is&lt;Text&gt;(child) &amp;&amp; !child-&gt;nextSibling())
</del><ins>+    if (is&lt;Text&gt;(child) &amp;&amp; !child-&gt;nextSibling())
</ins><span class="cx">         downcast&lt;Text&gt;(*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&lt;HTMLElement*&gt;&amp; items = selectElement-&gt;listItems();
</span><span class="cx">     size_t length = items.size();
</span><span class="cx">     for (size_t i = 0; i &lt; length; ++i) {
</span><del>-        if (!is&lt;HTMLOptionElement&gt;(items[i]))
</del><ins>+        if (!is&lt;HTMLOptionElement&gt;(*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-&gt;parentNode()) {
</span><del>-        if (is&lt;HTMLDataListElement&gt;(parent))
</del><ins>+        if (is&lt;HTMLDataListElement&gt;(*parent))
</ins><span class="cx">             return downcast&lt;HTMLDataListElement&gt;(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 &amp;&amp; !is&lt;HTMLSelectElement&gt;(select))
</del><ins>+    while (select &amp;&amp; !is&lt;HTMLSelectElement&gt;(*select))
</ins><span class="cx">         select = select-&gt;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 &amp;&amp; is&lt;HTMLOptGroupElement&gt;(parent))
</del><ins>+    if (is&lt;HTMLOptGroupElement&gt;(parent))
</ins><span class="cx">         return &quot;    &quot; + 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&lt;HTMLOptGroupElement&gt;(parentNode()))
</del><ins>+    if (!is&lt;HTMLOptGroupElement&gt;(parentNode()))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     return downcast&lt;HTMLOptGroupElement&gt;(*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&lt;Text&gt;(node))
</del><ins>+        if (is&lt;Text&gt;(*node))
</ins><span class="cx">             text.append(node-&gt;nodeValue());
</span><span class="cx">         // Text nodes inside script elements are not part of the option text.
</span><del>-        if (is&lt;Element&gt;(node) &amp;&amp; toScriptElementIfPossible(downcast&lt;Element&gt;(node)))
</del><ins>+        if (is&lt;Element&gt;(*node) &amp;&amp; toScriptElementIfPossible(downcast&lt;Element&gt;(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-&gt;length(); i &lt; length; i++) {
</span><span class="cx">         Node* node = collection-&gt;item(i);
</span><del>-        if (is&lt;HTMLPlugInImageElement&gt;(node)) {
</del><ins>+        if (is&lt;HTMLPlugInImageElement&gt;(*node)) {
</ins><span class="cx">             HTMLPlugInImageElement&amp; plugInImageElement = downcast&lt;HTMLPlugInImageElement&gt;(*node);
</span><span class="cx">             const URL&amp; 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 &amp;&amp; r-&gt;isEmbeddedObject()) {
</span><del>-        if (displayState() == WaitingForSnapshot &amp;&amp; is&lt;MouseEvent&gt;(event) &amp;&amp; event-&gt;type() == eventNames().clickEvent) {
</del><ins>+        if (displayState() == WaitingForSnapshot &amp;&amp; is&lt;MouseEvent&gt;(*event) &amp;&amp; event-&gt;type() == eventNames().clickEvent) {
</ins><span class="cx">             MouseEvent&amp; mouseEvent = downcast&lt;MouseEvent&gt;(*event);
</span><span class="cx">             if (mouseEvent.button() == LeftButton) {
</span><span class="cx">                 userDidClickSnapshot(&amp;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&lt;HTMLScriptElement&gt; protectFromMutationEvents(*this);
</span><span class="cx"> 
</span><del>-    if (hasOneChild() &amp;&amp; is&lt;Text&gt;(firstChild())) {
</del><ins>+    if (hasOneChild() &amp;&amp; is&lt;Text&gt;(*firstChild())) {
</ins><span class="cx">         downcast&lt;Text&gt;(*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 &gt;= 0 &amp;&amp; listIndex &lt; size; listIndex += direction) {
</span><span class="cx">         --skip;
</span><del>-        if (!listItems[listIndex]-&gt;isDisabledFormControl() &amp;&amp; is&lt;HTMLOptionElement&gt;(listItems[listIndex])) {
</del><ins>+        if (!listItems[listIndex]-&gt;isDisabledFormControl() &amp;&amp; is&lt;HTMLOptionElement&gt;(*listItems[listIndex])) {
</ins><span class="cx">             lastGoodIndex = listIndex;
</span><span class="cx">             if (skip &lt;= 0)
</span><span class="cx">                 break;
</span><span class="lines">@@ -605,7 +605,7 @@
</span><span class="cx">     const Vector&lt;HTMLElement*&gt;&amp; items = listItems();
</span><span class="cx">     for (unsigned i = 0; i &lt; items.size(); ++i) {
</span><span class="cx">         HTMLElement* element = items[i];
</span><del>-        m_lastOnChangeSelection.append(is&lt;HTMLOptionElement&gt;(element) &amp;&amp; downcast&lt;HTMLOptionElement&gt;(element)-&gt;selected());
</del><ins>+        m_lastOnChangeSelection.append(is&lt;HTMLOptionElement&gt;(*element) &amp;&amp; downcast&lt;HTMLOptionElement&gt;(*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&lt;HTMLElement*&gt;&amp; items = listItems();
</span><span class="cx">     for (unsigned i = 0; i &lt; items.size(); ++i) {
</span><span class="cx">         HTMLElement* element = items[i];
</span><del>-        m_cachedStateForActiveSelection.append(is&lt;HTMLOptionElement&gt;(element) &amp;&amp; downcast&lt;HTMLOptionElement&gt;(element)-&gt;selected());
</del><ins>+        m_cachedStateForActiveSelection.append(is&lt;HTMLOptionElement&gt;(*element) &amp;&amp; downcast&lt;HTMLOptionElement&gt;(*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&lt;HTMLElement*&gt;&amp; items = listItems();
</span><span class="cx">     for (unsigned i = 0; i &lt; items.size(); ++i) {
</span><span class="cx">         HTMLElement* element = items[i];
</span><del>-        if (!is&lt;HTMLOptionElement&gt;(element) || downcast&lt;HTMLOptionElement&gt;(*element).isDisabledFormControl())
</del><ins>+        if (!is&lt;HTMLOptionElement&gt;(*element) || downcast&lt;HTMLOptionElement&gt;(*element).isDisabledFormControl())
</ins><span class="cx">             continue;
</span><span class="cx"> 
</span><span class="cx">         if (i &gt;= start &amp;&amp; i &lt;= 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 &lt; items.size(); ++i) {
</span><span class="cx">         HTMLElement* element = items[i];
</span><del>-        bool selected = is&lt;HTMLOptionElement&gt;(element) &amp;&amp; downcast&lt;HTMLOptionElement&gt;(*element).selected();
</del><ins>+        bool selected = is&lt;HTMLOptionElement&gt;(*element) &amp;&amp; downcast&lt;HTMLOptionElement&gt;(*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-&gt;isHTMLElement()) {
</del><ins>+        if (!is&lt;HTMLElement&gt;(*currentElement)) {
</ins><span class="cx">             currentElement = ElementTraversal::nextSkippingChildren(currentElement, this);
</span><span class="cx">             continue;
</span><span class="cx">         }
</span><del>-        HTMLElement* current = downcast&lt;HTMLElement&gt;(currentElement);
</del><ins>+        HTMLElement&amp; current = downcast&lt;HTMLElement&gt;(*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&lt;HTMLOptGroupElement&gt;(current)) {
</span><del>-            m_listItems.append(current);
-            if (Element* nextElement = ElementTraversal::firstWithin(current)) {
</del><ins>+            m_listItems.append(&amp;current);
+            if (Element* nextElement = ElementTraversal::firstWithin(&amp;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&lt;HTMLOptionElement&gt;(current)) {
</span><del>-            m_listItems.append(current);
</del><ins>+            m_listItems.append(&amp;current);
</ins><span class="cx"> 
</span><span class="cx">             if (updateSelectedStates &amp;&amp; !m_multiple) {
</span><del>-                HTMLOptionElement&amp; option = downcast&lt;HTMLOptionElement&gt;(*current);
</del><ins>+                HTMLOptionElement&amp; option = downcast&lt;HTMLOptionElement&gt;(current);
</ins><span class="cx">                 if (!firstOption)
</span><span class="cx">                     firstOption = &amp;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-&gt;hasTagName(hrTag))
-            m_listItems.append(current);
</del><ins>+        if (current.hasTagName(hrTag))
+            m_listItems.append(&amp;current);
</ins><span class="cx"> 
</span><span class="cx">         // In conforming HTML code, only &lt;optgroup&gt; and &lt;option&gt; will be found
</span><span class="cx">         // within a &lt;select&gt;. We call NodeTraversal::nextSkippingChildren so that we only step
</span><span class="lines">@@ -840,7 +840,7 @@
</span><span class="cx">     const Vector&lt;HTMLElement*&gt;&amp; items = listItems();
</span><span class="cx">     for (size_t i = 0; i &lt; items.size(); ++i) {
</span><span class="cx">         HTMLElement* element = items[i];
</span><del>-        if (is&lt;HTMLOptionElement&gt;(element)) {
</del><ins>+        if (is&lt;HTMLOptionElement&gt;(*element)) {
</ins><span class="cx">             if (downcast&lt;HTMLOptionElement&gt;(*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 &gt;= 0) {
</span><span class="cx">         element = items[listIndex];
</span><del>-        if (is&lt;HTMLOptionElement&gt;(element)) {
</del><ins>+        if (is&lt;HTMLOptionElement&gt;(*element)) {
</ins><span class="cx">             if (m_activeSelectionAnchorIndex &lt; 0 || shouldDeselect)
</span><span class="cx">                 setActiveSelectionAnchorIndex(listIndex);
</span><span class="cx">             if (m_activeSelectionEndIndex &lt; 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 &lt; listSize; ++listIndex) {
</span><del>-        if (is&lt;HTMLOptionElement&gt;(items[listIndex])) {
</del><ins>+        if (is&lt;HTMLOptionElement&gt;(*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&lt;HTMLElement*&gt;&amp; items = listItems();
</span><del>-    if (listIndex &lt; 0 || listIndex &gt;= static_cast&lt;int&gt;(items.size()) || !is&lt;HTMLOptionElement&gt;(items[listIndex]))
</del><ins>+    if (listIndex &lt; 0 || listIndex &gt;= static_cast&lt;int&gt;(items.size()) || !is&lt;HTMLOptionElement&gt;(*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 &lt; listIndex; ++i) {
</span><del>-        if (is&lt;HTMLOptionElement&gt;(items[i]))
</del><ins>+        if (is&lt;HTMLOptionElement&gt;(*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&lt;HTMLElement*&gt;&amp; items = listItems();
</span><span class="cx">     for (unsigned i = 0; i &lt; items.size(); ++i) {
</span><span class="cx">         HTMLElement* element = items[i];
</span><del>-        if (element != excludeElement &amp;&amp; is&lt;HTMLOptionElement&gt;(element))
</del><ins>+        if (element != excludeElement &amp;&amp; is&lt;HTMLOptionElement&gt;(*element))
</ins><span class="cx">             downcast&lt;HTMLOptionElement&gt;(*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 &lt; length; ++i) {
</span><del>-        if (!is&lt;HTMLOptionElement&gt;(items[i]))
</del><ins>+        if (!is&lt;HTMLOptionElement&gt;(*items[i]))
</ins><span class="cx">             continue;
</span><span class="cx">         HTMLOptionElement&amp; option = downcast&lt;HTMLOptionElement&gt;(*items[i]);
</span><span class="cx">         if (!option.selected())
</span><span class="lines">@@ -996,7 +996,7 @@
</span><span class="cx">     const Vector&lt;HTMLElement*&gt;&amp; items = listItems();
</span><span class="cx">     size_t loopEndIndex = std::min(items.size(), listIndexEnd);
</span><span class="cx">     for (size_t i = listIndexStart; i &lt; loopEndIndex; ++i) {
</span><del>-        if (!is&lt;HTMLOptionElement&gt;(items[i]))
</del><ins>+        if (!is&lt;HTMLOptionElement&gt;(*items[i]))
</ins><span class="cx">             continue;
</span><span class="cx">         if (downcast&lt;HTMLOptionElement&gt;(*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 &lt; itemsSize; ++i) {
</span><del>-        if (!is&lt;HTMLOptionElement&gt;(items[i]))
</del><ins>+        if (!is&lt;HTMLOptionElement&gt;(*items[i]))
</ins><span class="cx">             continue;
</span><span class="cx">         downcast&lt;HTMLOptionElement&gt;(*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 &lt; items.size(); ++i) {
</span><span class="cx">         HTMLElement* element = items[i];
</span><del>-        if (is&lt;HTMLOptionElement&gt;(element) &amp;&amp; downcast&lt;HTMLOptionElement&gt;(*element).selected() &amp;&amp; !downcast&lt;HTMLOptionElement&gt;(*element).isDisabledFormControl()) {
</del><ins>+        if (is&lt;HTMLOptionElement&gt;(*element) &amp;&amp; downcast&lt;HTMLOptionElement&gt;(*element).selected() &amp;&amp; !downcast&lt;HTMLOptionElement&gt;(*element).isDisabledFormControl()) {
</ins><span class="cx">             list.appendData(name, downcast&lt;HTMLOptionElement&gt;(*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&lt;HTMLElement*&gt;&amp; items = listItems();
</span><span class="cx">     for (unsigned i = 0; i &lt; items.size(); ++i) {
</span><span class="cx">         HTMLElement* element = items[i];
</span><del>-        if (!is&lt;HTMLOptionElement&gt;(element))
</del><ins>+        if (!is&lt;HTMLOptionElement&gt;(*element))
</ins><span class="cx">             continue;
</span><span class="cx"> 
</span><span class="cx">         HTMLOptionElement&amp; option = downcast&lt;HTMLOptionElement&gt;(*element);
</span><span class="lines">@@ -1146,7 +1146,7 @@
</span><span class="cx">     RefPtr&lt;RenderTheme&gt; renderTheme = page ? &amp;page-&gt;theme() : RenderTheme::defaultTheme();
</span><span class="cx"> 
</span><span class="cx">     if (event-&gt;type() == eventNames().keydownEvent) {
</span><del>-        if (!is&lt;KeyboardEvent&gt;(event))
</del><ins>+        if (!is&lt;KeyboardEvent&gt;(*event))
</ins><span class="cx">             return;
</span><span class="cx"> 
</span><span class="cx">         KeyboardEvent&amp; keyboardEvent = downcast&lt;KeyboardEvent&gt;(*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-&gt;type() == eventNames().keypressEvent) {
</span><del>-        if (!is&lt;KeyboardEvent&gt;(event))
</del><ins>+        if (!is&lt;KeyboardEvent&gt;(*event))
</ins><span class="cx">             return;
</span><span class="cx"> 
</span><span class="cx">         KeyboardEvent&amp; keyboardEvent = downcast&lt;KeyboardEvent&gt;(*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-&gt;type() == eventNames().mousedownEvent &amp;&amp; is&lt;MouseEvent&gt;(event) &amp;&amp; downcast&lt;MouseEvent&gt;(*event).button() == LeftButton) {
</del><ins>+    if (event-&gt;type() == eventNames().mousedownEvent &amp;&amp; is&lt;MouseEvent&gt;(*event) &amp;&amp; downcast&lt;MouseEvent&gt;(*event).button() == LeftButton) {
</ins><span class="cx">         focus();
</span><span class="cx"> #if !PLATFORM(IOS)
</span><span class="cx">         if (renderer() &amp;&amp; renderer()-&gt;isMenuList()) {
</span><span class="lines">@@ -1299,7 +1299,7 @@
</span><span class="cx">     bool multiSelect = m_multiple &amp;&amp; multi &amp;&amp; !shift;
</span><span class="cx"> 
</span><span class="cx">     HTMLElement* clickedElement = listItems()[listIndex];
</span><del>-    if (is&lt;HTMLOptionElement&gt;(clickedElement)) {
</del><ins>+    if (is&lt;HTMLOptionElement&gt;(*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&lt;HTMLOptionElement&gt;(*clickedElement).selected() &amp;&amp; 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&lt;HTMLOptionElement&gt;(clickedElement) &amp;&amp; !downcast&lt;HTMLOptionElement&gt;(*clickedElement).isDisabledFormControl())
</del><ins>+    if (is&lt;HTMLOptionElement&gt;(*clickedElement) &amp;&amp; !downcast&lt;HTMLOptionElement&gt;(*clickedElement).isDisabledFormControl())
</ins><span class="cx">         downcast&lt;HTMLOptionElement&gt;(*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&lt;HTMLElement*&gt;&amp; listItems = this-&gt;listItems();
</span><span class="cx"> 
</span><del>-    if (event-&gt;type() == eventNames().mousedownEvent &amp;&amp; is&lt;MouseEvent&gt;(event) &amp;&amp; downcast&lt;MouseEvent&gt;(*event).button() == LeftButton) {
</del><ins>+    if (event-&gt;type() == eventNames().mousedownEvent &amp;&amp; is&lt;MouseEvent&gt;(*event) &amp;&amp; downcast&lt;MouseEvent&gt;(*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()-&gt;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-&gt;type() == eventNames().mousemoveEvent &amp;&amp; is&lt;MouseEvent&gt;(event) &amp;&amp; !toRenderBox(renderer())-&gt;canBeScrolledAndHasScrollableArea()) {
</del><ins>+    } else if (event-&gt;type() == eventNames().mousemoveEvent &amp;&amp; is&lt;MouseEvent&gt;(*event) &amp;&amp; !toRenderBox(renderer())-&gt;canBeScrolledAndHasScrollableArea()) {
</ins><span class="cx">         MouseEvent&amp; mouseEvent = downcast&lt;MouseEvent&gt;(*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-&gt;type() == eventNames().mouseupEvent &amp;&amp; is&lt;MouseEvent&gt;(event) &amp;&amp; downcast&lt;MouseEvent&gt;(*event).button() == LeftButton &amp;&amp; document().frame()-&gt;eventHandler().autoscrollRenderer() != renderer()) {
</del><ins>+    } else if (event-&gt;type() == eventNames().mouseupEvent &amp;&amp; is&lt;MouseEvent&gt;(*event) &amp;&amp; downcast&lt;MouseEvent&gt;(*event).button() == LeftButton &amp;&amp; document().frame()-&gt;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-&gt;type() == eventNames().keydownEvent) {
</span><del>-        if (!is&lt;KeyboardEvent&gt;(event))
</del><ins>+        if (!is&lt;KeyboardEvent&gt;(*event))
</ins><span class="cx">             return;
</span><span class="cx"> 
</span><span class="cx">         KeyboardEvent&amp; keyboardEvent = downcast&lt;KeyboardEvent&gt;(*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-&gt;type() == eventNames().keypressEvent) {
</span><del>-        if (!is&lt;KeyboardEvent&gt;(event))
</del><ins>+        if (!is&lt;KeyboardEvent&gt;(*event))
</ins><span class="cx">             return;
</span><span class="cx">         KeyboardEvent&amp; keyboardEvent = downcast&lt;KeyboardEvent&gt;(*event);
</span><span class="cx">         int keyCode = keyboardEvent.keyCode();
</span><span class="lines">@@ -1528,7 +1528,7 @@
</span><span class="cx">     if (event-&gt;defaultHandled())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    if (event-&gt;type() == eventNames().keypressEvent &amp;&amp; is&lt;KeyboardEvent&gt;(event)) {
</del><ins>+    if (event-&gt;type() == eventNames().keypressEvent &amp;&amp; is&lt;KeyboardEvent&gt;(*event)) {
</ins><span class="cx">         KeyboardEvent&amp; keyboardEvent = downcast&lt;KeyboardEvent&gt;(*event);
</span><span class="cx">         if (!keyboardEvent.ctrlKey() &amp;&amp; !keyboardEvent.altKey() &amp;&amp; !keyboardEvent.metaKey() &amp;&amp; u_isprint(keyboardEvent.charCode())) {
</span><span class="cx">             typeAheadFind(keyboardEvent);
</span><span class="lines">@@ -1544,7 +1544,7 @@
</span><span class="cx">     const Vector&lt;HTMLElement*&gt;&amp; 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&lt;HTMLOptionElement&gt;(element) &amp;&amp; downcast&lt;HTMLOptionElement&gt;(*element).selected())
</del><ins>+        if (is&lt;HTMLOptionElement&gt;(*element) &amp;&amp; downcast&lt;HTMLOptionElement&gt;(*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&lt;HTMLElement*&gt;&amp; items = listItems();
</span><span class="cx">     
</span><span class="cx">     HTMLElement* element = items[index];
</span><del>-    if (!is&lt;HTMLOptionElement&gt;(element) || downcast&lt;HTMLOptionElement&gt;(*element).isDisabledFormControl())
</del><ins>+    if (!is&lt;HTMLOptionElement&gt;(*element) || downcast&lt;HTMLOptionElement&gt;(*element).isDisabledFormControl())
</ins><span class="cx">         return String();
</span><span class="cx">     return downcast&lt;HTMLOptionElement&gt;(*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 &gt;= 0) {
</span><span class="cx">         HTMLElement* element = items[listIndex];
</span><del>-        if (is&lt;HTMLOptionElement&gt;(element)) {
</del><ins>+        if (is&lt;HTMLOptionElement&gt;(*element)) {
</ins><span class="cx">             if (downcast&lt;HTMLOptionElement&gt;(*element).selected())
</span><span class="cx">                 downcast&lt;HTMLOptionElement&gt;(*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&lt;HTMLElement*&gt;&amp; items = listItems();
</span><span class="cx">     for (unsigned i = 0; i &lt; items.size(); ++i) {
</span><del>-        if (is&lt;HTMLOptionElement&gt;(items[i]))
</del><ins>+        if (is&lt;HTMLOptionElement&gt;(*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 &amp;&amp; is&lt;HTMLMediaElement&gt;(parent))
</del><ins>+    if (is&lt;HTMLMediaElement&gt;(parent))
</ins><span class="cx">         downcast&lt;HTMLMediaElement&gt;(*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 &amp;&amp; is&lt;Element&gt;(removalRoot))
</span><span class="cx">         parent = &amp;downcast&lt;Element&gt;(removalRoot);
</span><del>-    if (parent &amp;&amp; is&lt;HTMLMediaElement&gt;(parent))
</del><ins>+    if (is&lt;HTMLMediaElement&gt;(parent))
</ins><span class="cx">         downcast&lt;HTMLMediaElement&gt;(*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&lt;Element&gt;(node))
</del><ins>+    ASSERT(node);
+    if (!is&lt;Element&gt;(*node))
</ins><span class="cx">         return false;
</span><span class="cx">     Element&amp; element = downcast&lt;Element&gt;(*node);
</span><span class="cx">     if (is&lt;HTMLFormControlElement&gt;(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&lt;KeyboardEvent&gt;(event)) {
</del><ins>+        if (is&lt;KeyboardEvent&gt;(*event)) {
</ins><span class="cx">             KeyboardEvent&amp; keyboardEvent = downcast&lt;KeyboardEvent&gt;(*event);
</span><span class="cx">             if (keyboardEvent.type() == eventNames().keydownEvent &amp;&amp; keyboardEvent.keyIdentifier() == &quot;U+0020&quot;) {
</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-&gt;nextSibling()) {
</span><del>-        if (is&lt;HTMLTableCaptionElement&gt;(child))
</del><ins>+        if (is&lt;HTMLTableCaptionElement&gt;(*child))
</ins><span class="cx">             return downcast&lt;HTMLTableCaptionElement&gt;(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 &amp;&amp; !is&lt;HTMLTableElement&gt;(parent))
</del><ins>+    while (parent &amp;&amp; !is&lt;HTMLTableElement&gt;(*parent))
</ins><span class="cx">         parent = parent-&gt;parentNode();
</span><span class="cx">     return downcast&lt;HTMLTableElement&gt;(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-&gt;parentNode();
</span><del>-    if (!table || !is&lt;HTMLTableElement&gt;(table))
</del><ins>+    if (!is&lt;HTMLTableElement&gt;(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-&gt;parentNode());
</span><span class="cx">     for (; child; child = ElementTraversal::nextSibling(child)) {
</span><del>-        if (is&lt;HTMLTableRowElement&gt;(child))
</del><ins>+        if (is&lt;HTMLTableRowElement&gt;(*child))
</ins><span class="cx">             return downcast&lt;HTMLTableRowElement&gt;(child);
</span><span class="cx">         if (child-&gt;hasTagName(tbodyTag)) {
</span><span class="cx">             if (auto row = childrenOfType&lt;HTMLTableRowElement&gt;(*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&lt;HTMLTableRowElement&gt;(child))
</del><ins>+        if (is&lt;HTMLTableRowElement&gt;(*child))
</ins><span class="cx">             return downcast&lt;HTMLTableRowElement&gt;(child);
</span><span class="cx">         if (child-&gt;hasTagName(tbodyTag)) {
</span><span class="cx">             if (auto* row = childrenOfType&lt;HTMLTableRowElement&gt;(*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() &amp;&amp; (event-&gt;isMouseEvent() || event-&gt;isDragEvent() || event-&gt;eventInterface() == WheelEventInterfaceType || event-&gt;type() == eventNames().blurEvent))
</span><span class="cx">         forwardEvent(event);
</span><del>-    else if (renderer() &amp;&amp; is&lt;BeforeTextInsertedEvent&gt;(event))
</del><ins>+    else if (renderer() &amp;&amp; is&lt;BeforeTextInsertedEvent&gt;(*event))
</ins><span class="cx">         handleBeforeTextInsertedEvent(downcast&lt;BeforeTextInsertedEvent&gt;(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&lt;HTMLBRElement&gt;(node))
</del><ins>+        if (is&lt;HTMLBRElement&gt;(*node))
</ins><span class="cx">             result.append(newlineCharacter);
</span><del>-        else if (is&lt;Text&gt;(node))
</del><ins>+        else if (is&lt;Text&gt;(*node))
</ins><span class="cx">             result.append(downcast&lt;Text&gt;(*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&lt;Text&gt;(node)) {
</del><ins>+        } else if (is&lt;Text&gt;(*node)) {
</ins><span class="cx">             Text&amp; text = downcast&lt;Text&gt;(*node);
</span><span class="cx">             if (remainingCharactersToMoveForward &lt; text.length())
</span><span class="cx">                 return Position(&amp;text, remainingCharactersToMoveForward);
</span><span class="lines">@@ -607,13 +607,13 @@
</span><span class="cx">     ASSERT(innerText-&gt;contains(startNode));
</span><span class="cx"> 
</span><span class="cx">     for (Node* node = startNode; node; node = NodeTraversal::previous(node, innerText)) {
</span><del>-        if (is&lt;Text&gt;(node)) {
</del><ins>+        if (is&lt;Text&gt;(*node)) {
</ins><span class="cx">             unsigned length = downcast&lt;Text&gt;(*node).length();
</span><span class="cx">             if (node == passedPosition.containerNode())
</span><span class="cx">                 index += std::min&lt;unsigned&gt;(length, passedPosition.offsetInContainerNode());
</span><span class="cx">             else
</span><span class="cx">                 index += length;
</span><del>-        } else if (is&lt;HTMLBRElement&gt;(node))
</del><ins>+        } else if (is&lt;HTMLBRElement&gt;(*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-&gt;firstChild(); node; node = NodeTraversal::next(node, innerText)) {
</span><del>-        if (is&lt;HTMLBRElement&gt;(node))
</del><ins>+        if (is&lt;HTMLBRElement&gt;(*node))
</ins><span class="cx">             result.append(newlineCharacter);
</span><del>-        else if (is&lt;Text&gt;(node)) {
</del><ins>+        else if (is&lt;Text&gt;(*node)) {
</ins><span class="cx">             String data = downcast&lt;Text&gt;(*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&lt;HTMLTitleElement&gt; protectFromMutationEvents(*this);
</span><span class="cx">     
</span><del>-    if (hasOneChild() &amp;&amp; is&lt;Text&gt;(firstChild()))
</del><ins>+    if (hasOneChild() &amp;&amp; is&lt;Text&gt;(*firstChild()))
</ins><span class="cx">         downcast&lt;Text&gt;(*firstChild()).setData(value, IGNORE_EXCEPTION);
</span><span class="cx">     else {
</span><span class="cx">         // We make a copy here because entity of &quot;value&quot; 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 &amp;&amp; is&lt;HTMLMediaElement&gt;(parent))
</del><ins>+    if (is&lt;HTMLMediaElement&gt;(parent))
</ins><span class="cx">         return downcast&lt;HTMLMediaElement&gt;(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-&gt;type() == eventNames().resizeEvent)
</span><span class="cx">         m_document.windowSizeChanged();
</span><del>-    else if (event-&gt;type() == eventNames().clickEvent &amp;&amp; is&lt;MouseEvent&gt;(event)) {
</del><ins>+    else if (event-&gt;type() == eventNames().clickEvent &amp;&amp; is&lt;MouseEvent&gt;(*event)) {
</ins><span class="cx">         MouseEvent&amp; mouseEvent = downcast&lt;MouseEvent&gt;(*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&lt;KeyboardEvent&gt;(event) &amp;&amp; event-&gt;type() == eventNames().keypressEvent &amp;&amp; downcast&lt;KeyboardEvent&gt;(*event).charCode() == '\r';
</del><ins>+    return is&lt;KeyboardEvent&gt;(*event) &amp;&amp; event-&gt;type() == eventNames().keypressEvent &amp;&amp; downcast&lt;KeyboardEvent&gt;(*event).charCode() == '\r';
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;HTMLFormElement&gt; 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 &amp;&amp; !is&lt;HTMLVideoElement&gt;(node))
</del><ins>+    while (node &amp;&amp; !is&lt;HTMLVideoElement&gt;(*node))
</ins><span class="cx">         node = node-&gt;parentOrShadowHostNode();
</span><span class="cx"> 
</span><span class="cx">     return downcast&lt;HTMLVideoElement&gt;(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&lt;ContainerNode&gt;(targetNode))
</del><ins>+    if (!is&lt;ContainerNode&gt;(*targetNode))
</ins><span class="cx">         return;
</span><span class="cx">     ContainerNode&amp; targetContainer = downcast&lt;ContainerNode&gt;(*targetNode);
</span><del>-    if (event-&gt;type() == eventNames().keydownEvent &amp;&amp; is&lt;KeyboardEvent&gt;(event)) {
</del><ins>+    if (event-&gt;type() == eventNames().keydownEvent &amp;&amp; is&lt;KeyboardEvent&gt;(*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 = &amp;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&lt;HTMLFormElement&gt;(node))
</del><ins>+        if (is&lt;HTMLFormElement&gt;(*node))
</ins><span class="cx">             break;
</span><span class="cx">         // Look for more radio buttons.
</span><del>-        if (!is&lt;HTMLInputElement&gt;(node))
</del><ins>+        if (!is&lt;HTMLInputElement&gt;(*node))
</ins><span class="cx">             continue;
</span><span class="cx">         RefPtr&lt;HTMLInputElement&gt; inputElement = downcast&lt;HTMLInputElement&gt;(node);
</span><span class="cx">         if (inputElement-&gt;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 &amp;&amp; is&lt;HTMLInputElement&gt;(currentFocusedNode)) {
</del><ins>+    if (is&lt;HTMLInputElement&gt;(currentFocusedNode)) {
</ins><span class="cx">         HTMLInputElement&amp; focusedInput = downcast&lt;HTMLInputElement&gt;(*currentFocusedNode);
</span><span class="cx">         if (focusedInput.isRadioButton() &amp;&amp; focusedInput.form() == element().form() &amp;&amp; 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-&gt;type() == eventNames().textInputEvent &amp;&amp; is&lt;TextEvent&gt;(event) &amp;&amp; downcast&lt;TextEvent&gt;(*event).data() == &quot;\n&quot;)
</del><ins>+    return (event-&gt;type() == eventNames().textInputEvent &amp;&amp; is&lt;TextEvent&gt;(*event) &amp;&amp; downcast&lt;TextEvent&gt;(*event).data() == &quot;\n&quot;)
</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-&gt;hasTagName(ddTag)
</span><span class="cx">         || item-&gt;hasTagName(dtTag)
</span><span class="cx">         || item-&gt;hasTagName(liTag)
</span><del>-        || is&lt;HTMLOptionElement&gt;(item-&gt;node())
-        || is&lt;HTMLOptGroupElement&gt;(item-&gt;node())
</del><ins>+        || is&lt;HTMLOptionElement&gt;(*item-&gt;node())
+        || is&lt;HTMLOptGroupElement&gt;(*item-&gt;node())
</ins><span class="cx">         || item-&gt;hasTagName(pTag)
</span><span class="cx">         || item-&gt;hasTagName(rbTag)
</span><span class="cx">         || item-&gt;hasTagName(rpTag)
</span><span class="lines">@@ -158,7 +158,7 @@
</span><span class="cx"> 
</span><span class="cx"> void HTMLConstructionSite::attachLater(ContainerNode* parent, PassRefPtr&lt;Node&gt; prpChild, bool selfClosing)
</span><span class="cx"> {
</span><del>-    ASSERT(scriptingContentIsAllowed(m_parserContentPolicy) || !is&lt;Element&gt;(prpChild.get()) || !toScriptElementIfPossible(downcast&lt;Element&gt;(prpChild.get())));
</del><ins>+    ASSERT(scriptingContentIsAllowed(m_parserContentPolicy) || !is&lt;Element&gt;(*prpChild) || !toScriptElementIfPossible(downcast&lt;Element&gt;(prpChild.get())));
</ins><span class="cx">     ASSERT(pluginContentIsAllowed(m_parserContentPolicy) || !prpChild-&gt;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&lt;Element&gt; element = createHTMLElement(token);
</span><del>-    ASSERT(is&lt;HTMLFormElement&gt;(element.get()));
</del><ins>+    ASSERT(is&lt;HTMLFormElement&gt;(*element));
</ins><span class="cx">     RefPtr&lt;HTMLFormElement&gt; form = static_pointer_cast&lt;HTMLFormElement&gt;(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 &lt;https://bugs.webkit.org/show_bug.cgi?id=55898&gt;.
</span><span class="cx"> 
</span><span class="cx">     Node* previousChild = task.nextChild ? task.nextChild-&gt;previousSibling() : task.parent-&gt;lastChild();
</span><del>-    if (previousChild &amp;&amp; is&lt;Text&gt;(previousChild)) {
</del><ins>+    if (is&lt;Text&gt;(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&amp; textNode = downcast&lt;Text&gt;(*previousChild);
</span><span class="lines">@@ -618,7 +618,7 @@
</span><span class="cx"> inline Document&amp; HTMLConstructionSite::ownerDocumentForCurrentNode()
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><del>-    if (is&lt;HTMLTemplateElement&gt;(currentNode()))
</del><ins>+    if (is&lt;HTMLTemplateElement&gt;(*currentNode()))
</ins><span class="cx">         return downcast&lt;HTMLTemplateElement&gt;(*currentElement()).content()-&gt;document();
</span><span class="cx"> #endif
</span><span class="cx">     return currentNode()-&gt;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 &amp;&amp; (parent-&gt;isElementNode() || (m_isParsingFragment &amp;&amp; parent == m_openElements.rootNode()));
</span><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><del>-        parentCanBeFosterParent = parentCanBeFosterParent || (parent &amp;&amp; is&lt;DocumentFragment&gt;(parent) &amp;&amp; downcast&lt;DocumentFragment&gt;(parent)-&gt;isTemplateContent());
</del><ins>+        parentCanBeFosterParent = parentCanBeFosterParent || (is&lt;DocumentFragment&gt;(parent) &amp;&amp; downcast&lt;DocumentFragment&gt;(parent)-&gt;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-&gt;hasTagName(captionTag)
</span><span class="cx">         || item-&gt;hasTagName(marqueeTag)
</span><span class="cx">         || item-&gt;hasTagName(objectTag)
</span><del>-        || is&lt;HTMLTableElement&gt;(item-&gt;node())
</del><ins>+        || is&lt;HTMLTableElement&gt;(*item-&gt;node())
</ins><span class="cx">         || item-&gt;hasTagName(tdTag)
</span><span class="cx">         || item-&gt;hasTagName(thTag)
</span><span class="cx">         || item-&gt;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&lt;HTMLTableElement&gt;(item-&gt;node())
</del><ins>+    return is&lt;HTMLTableElement&gt;(*item-&gt;node())
</ins><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><span class="cx">         || item-&gt;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&lt;HTMLOptGroupElement&gt;(item-&gt;node()) &amp;&amp; !is&lt;HTMLOptionElement&gt;(item-&gt;node());
</del><ins>+    return !is&lt;HTMLOptGroupElement&gt;(*item-&gt;node()) &amp;&amp; !is&lt;HTMLOptionElement&gt;(*item-&gt;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&lt;HTMLFormElement&gt;(contextElement) ? downcast&lt;HTMLFormElement&gt;(contextElement) : HTMLFormElement::findClosestFormAncestor(*contextElement));
</del><ins>+        m_tree.setForm(!contextElement || is&lt;HTMLFormElement&gt;(*contextElement) ? downcast&lt;HTMLFormElement&gt;(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-&gt;name() == optgroupTag || token-&gt;name() == optionTag) {
</span><del>-        if (is&lt;HTMLOptionElement&gt;(m_tree.currentStackItem()-&gt;node())) {
</del><ins>+        if (is&lt;HTMLOptionElement&gt;(*m_tree.currentStackItem()-&gt;node())) {
</ins><span class="cx">             AtomicHTMLToken endOption(HTMLToken::EndTag, optionTag.localName());
</span><span class="cx">             processEndTag(&amp;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-&gt;name() == optionTag) {
</span><del>-            if (is&lt;HTMLOptionElement&gt;(m_tree.currentStackItem()-&gt;node())) {
</del><ins>+            if (is&lt;HTMLOptionElement&gt;(*m_tree.currentStackItem()-&gt;node())) {
</ins><span class="cx">                 AtomicHTMLToken endOption(HTMLToken::EndTag, optionTag.localName());
</span><span class="cx">                 processEndTag(&amp;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-&gt;name() == optgroupTag) {
</span><del>-            if (is&lt;HTMLOptionElement&gt;(m_tree.currentStackItem()-&gt;node())) {
</del><ins>+            if (is&lt;HTMLOptionElement&gt;(*m_tree.currentStackItem()-&gt;node())) {
</ins><span class="cx">                 AtomicHTMLToken endOption(HTMLToken::EndTag, optionTag.localName());
</span><span class="cx">                 processEndTag(&amp;endOption);
</span><span class="cx">             }
</span><del>-            if (is&lt;HTMLOptGroupElement&gt;(m_tree.currentStackItem()-&gt;node())) {
</del><ins>+            if (is&lt;HTMLOptGroupElement&gt;(*m_tree.currentStackItem()-&gt;node())) {
</ins><span class="cx">                 AtomicHTMLToken endOptgroup(HTMLToken::EndTag, optgroupTag.localName());
</span><span class="cx">                 processEndTag(&amp;endOptgroup);
</span><span class="cx">             }
</span><span class="lines">@@ -1629,7 +1629,7 @@
</span><span class="cx">                 while (item-&gt;node() != m_tree.openElements()-&gt;rootNode() &amp;&amp; !item-&gt;hasTagName(templateTag)) {
</span><span class="cx">                     nodeRecord = nodeRecord-&gt;next();
</span><span class="cx">                     item = nodeRecord-&gt;stackItem();
</span><del>-                    if (is&lt;HTMLTableElement&gt;(item-&gt;node()))
</del><ins>+                    if (is&lt;HTMLTableElement&gt;(*item-&gt;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-&gt;hasTagName(colgroupTag)) {
</span><span class="cx">             return setInsertionMode(InsertionMode::InColumnGroup);
</span><span class="cx">         }
</span><del>-        if (is&lt;HTMLTableElement&gt;(item-&gt;node()))
</del><ins>+        if (is&lt;HTMLTableElement&gt;(*item-&gt;node()))
</ins><span class="cx">             return setInsertionMode(InsertionMode::InTable);
</span><span class="cx">         if (item-&gt;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-&gt;name() == optgroupTag) {
</span><del>-            if (is&lt;HTMLOptionElement&gt;(m_tree.currentStackItem()-&gt;node()) &amp;&amp; m_tree.oneBelowTop() &amp;&amp; is&lt;HTMLOptGroupElement&gt;(m_tree.oneBelowTop()-&gt;node()))
</del><ins>+            if (is&lt;HTMLOptionElement&gt;(*m_tree.currentStackItem()-&gt;node()) &amp;&amp; m_tree.oneBelowTop() &amp;&amp; is&lt;HTMLOptGroupElement&gt;(*m_tree.oneBelowTop()-&gt;node()))
</ins><span class="cx">                 processFakeEndTag(optionTag);
</span><del>-            if (is&lt;HTMLOptGroupElement&gt;(m_tree.currentStackItem()-&gt;node())) {
</del><ins>+            if (is&lt;HTMLOptGroupElement&gt;(*m_tree.currentStackItem()-&gt;node())) {
</ins><span class="cx">                 m_tree.openElements()-&gt;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-&gt;name() == optionTag) {
</span><del>-            if (is&lt;HTMLOptionElement&gt;(m_tree.currentStackItem()-&gt;node())) {
</del><ins>+            if (is&lt;HTMLOptionElement&gt;(*m_tree.currentStackItem()-&gt;node())) {
</ins><span class="cx">                 m_tree.openElements()-&gt;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()-&gt;isElementNode()
</span><del>-            &amp;&amp; (is&lt;HTMLTableElement&gt;(m_tree.currentStackItem()-&gt;node())
</del><ins>+            &amp;&amp; (is&lt;HTMLTableElement&gt;(*m_tree.currentStackItem()-&gt;node())
</ins><span class="cx">                 || m_tree.currentStackItem()-&gt;hasTagName(HTMLNames::tbodyTag)
</span><span class="cx">                 || m_tree.currentStackItem()-&gt;hasTagName(HTMLNames::tfootTag)
</span><span class="cx">                 || m_tree.currentStackItem()-&gt;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 &amp;&amp; is&lt;InsertionPoint&gt;(node) &amp;&amp; downcast&lt;InsertionPoint&gt;(*node).isActive();
</del><ins>+    return is&lt;InsertionPoint&gt;(node) &amp;&amp; downcast&lt;InsertionPoint&gt;(*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-&gt;parentNode()) {
</span><del>-        if (is&lt;InsertionPoint&gt;(parent) &amp;&amp; downcast&lt;InsertionPoint&gt;(*parent).shouldUseFallbackElements())
</del><ins>+        if (is&lt;InsertionPoint&gt;(*parent) &amp;&amp; downcast&lt;InsertionPoint&gt;(*parent).shouldUseFallbackElements())
</ins><span class="cx">             return parent-&gt;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&lt;Element&gt;(parent))
</del><ins>+        if (is&lt;Element&gt;(*parent))
</ins><span class="cx">             return downcast&lt;Element&gt;(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-&gt;shadowHost();
</span><span class="cx">     if (!mediaNode)
</span><span class="cx">         mediaNode = node;
</span><del>-    if (!is&lt;HTMLMediaElement&gt;(mediaNode))
</del><ins>+    if (!is&lt;HTMLMediaElement&gt;(*mediaNode))
</ins><span class="cx">         return nullptr;
</span><span class="cx">     return downcast&lt;HTMLMediaElement&gt;(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-&gt;isMediaControlElement());
</span><del>-    if (is&lt;HTMLInputElement&gt;(node))
</del><ins>+    if (is&lt;HTMLInputElement&gt;(*node))
</ins><span class="cx">         return static_cast&lt;MediaControlInputElement*&gt;(node)-&gt;displayType();
</span><span class="cx">     return static_cast&lt;MediaControlDivElement*&gt;(node)-&gt;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&lt;MouseEvent&gt;(event) &amp;&amp; downcast&lt;MouseEvent&gt;(*event).button())
</del><ins>+    if (is&lt;MouseEvent&gt;(*event) &amp;&amp; downcast&lt;MouseEvent&gt;(*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&lt;MouseEvent&gt;(event)) {
</del><ins>+    if (is&lt;MouseEvent&gt;(*event)) {
</ins><span class="cx">         LayoutPoint location = downcast&lt;MouseEvent&gt;(*event).absoluteLocation();
</span><span class="cx">         if (event-&gt;type() == eventNames().mousedownEvent &amp;&amp; event-&gt;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&lt;MouseEvent&gt;(event) || event-&gt;type() != eventNames().mouseoutEvent)
</del><ins>+    if (!is&lt;MouseEvent&gt;(*event) || event-&gt;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-&gt;type() == eventNames().clickEvent) {
</span><span class="cx">         Node* target = event-&gt;target()-&gt;toNode();
</span><del>-        if (!target || !is&lt;Element&gt;(target))
</del><ins>+        if (!is&lt;Element&gt;(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&lt;MouseEvent&gt;(event) &amp;&amp; downcast&lt;MouseEvent&gt;(*event).button())
</del><ins>+    if (is&lt;MouseEvent&gt;(*event) &amp;&amp; downcast&lt;MouseEvent&gt;(*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&lt;MouseEvent&gt;(event))
</del><ins>+    if (!is&lt;MouseEvent&gt;(*event))
</ins><span class="cx">         return false;
</span><span class="cx">     EventTarget* relatedTarget = downcast&lt;MouseEvent&gt;(*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-&gt;type() == eventNames().clickEvent)
</span><span class="cx">         m_mediaControls-&gt;handleClickEvent(event);
</span><del>-    else if ((event-&gt;type() == eventNames().wheelEvent || event-&gt;type() == eventNames().mousewheelEvent) &amp;&amp; is&lt;WheelEvent&gt;(event)) {
</del><ins>+    else if ((event-&gt;type() == eventNames().wheelEvent || event-&gt;type() == eventNames().mousewheelEvent) &amp;&amp; is&lt;WheelEvent&gt;(*event)) {
</ins><span class="cx">         WheelEvent&amp; wheelEvent = downcast&lt;WheelEvent&gt;(*event);
</span><span class="cx">         if (m_mediaControls-&gt;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&lt;MouseEvent&gt;(event)) {
</del><ins>+    if (!is&lt;MouseEvent&gt;(*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&lt;MouseEvent&gt;(event)) {
</del><ins>+    if (!is&lt;MouseEvent&gt;(*event)) {
</ins><span class="cx">         if (!event-&gt;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&lt;WheelEvent&gt;(event))
</del><ins>+    if (!is&lt;WheelEvent&gt;(*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&lt;HTMLInputElement&gt;(shadowHost());
</span><del>-    if (input &amp;&amp; event-&gt;type() == eventNames().mousedownEvent &amp;&amp; is&lt;MouseEvent&gt;(event) &amp;&amp; downcast&lt;MouseEvent&gt;(*event).button() == LeftButton) {
</del><ins>+    if (input &amp;&amp; event-&gt;type() == eventNames().mousedownEvent &amp;&amp; is&lt;MouseEvent&gt;(*event) &amp;&amp; downcast&lt;MouseEvent&gt;(*event).button() == LeftButton) {
</ins><span class="cx">         input-&gt;focus();
</span><span class="cx">         input-&gt;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-&gt;type() == eventNames().mousedownEvent &amp;&amp; is&lt;MouseEvent&gt;(event) &amp;&amp; downcast&lt;MouseEvent&gt;(*event).button() == LeftButton) {
</del><ins>+    if (event-&gt;type() == eventNames().mousedownEvent &amp;&amp; is&lt;MouseEvent&gt;(*event) &amp;&amp; downcast&lt;MouseEvent&gt;(*event).button() == LeftButton) {
</ins><span class="cx">         if (renderer() &amp;&amp; renderer()-&gt;visibleToHitTesting()) {
</span><span class="cx">             if (Frame* frame = document().frame()) {
</span><span class="cx">                 frame-&gt;eventHandler().setCapturingMouseEventsElement(this);
</span><span class="lines">@@ -210,7 +210,7 @@
</span><span class="cx">         input-&gt;select();
</span><span class="cx">         event-&gt;setDefaultHandled();
</span><span class="cx">     }
</span><del>-    if (event-&gt;type() == eventNames().mouseupEvent &amp;&amp; is&lt;MouseEvent&gt;(event) &amp;&amp; downcast&lt;MouseEvent&gt;(*event).button() == LeftButton) {
</del><ins>+    if (event-&gt;type() == eventNames().mouseupEvent &amp;&amp; is&lt;MouseEvent&gt;(*event) &amp;&amp; downcast&lt;MouseEvent&gt;(*event).button() == LeftButton) {
</ins><span class="cx">         if (m_capturing) {
</span><span class="cx">             if (Frame* frame = document().frame()) {
</span><span class="cx">                 frame-&gt;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-&gt;firstChild(); node; node = node-&gt;nextSibling()) {
</span><span class="cx">         RefPtr&lt;Node&gt; clonedNode;
</span><del>-        if (is&lt;WebVTTElement&gt;(node))
</del><ins>+        if (is&lt;WebVTTElement&gt;(*node))
</ins><span class="cx">             clonedNode = downcast&lt;WebVTTElement&gt;(*node).createEquivalentHTMLElement(ownerDocument());
</span><span class="cx">         else
</span><span class="cx">             clonedNode = node-&gt;cloneNode(false);
</span><span class="cx">         parent-&gt;appendChild(clonedNode, ASSERT_NO_EXCEPTION);
</span><del>-        if (is&lt;ContainerNode&gt;(node))
</del><ins>+        if (is&lt;ContainerNode&gt;(*node))
</ins><span class="cx">             copyWebVTTNodeToDOMTree(downcast&lt;ContainerNode&gt;(node), downcast&lt;ContainerNode&gt;(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&lt;WebVTTElement&gt;(child)) {
</del><ins>+        if (is&lt;WebVTTElement&gt;(*child)) {
</ins><span class="cx">             downcast&lt;WebVTTElement&gt;(*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(&quot;No node with given id found&quot;);
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><del>-    if (!is&lt;Element&gt;(node)) {
</del><ins>+    if (!is&lt;Element&gt;(*node)) {
</ins><span class="cx">         errorString = ASCIILiteral(&quot;Not an element node&quot;);
</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&lt;Inspector::Protocol::CSS::CSSStyle&gt; InspectorCSSAgent::buildObjectForAttributesStyle(Element* element)
</span><span class="cx"> {
</span><del>-    if (!is&lt;StyledElement&gt;(element))
</del><ins>+    ASSERT(element);
+    if (!is&lt;StyledElement&gt;(*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&lt;Element&gt;(node)) {
</del><ins>+    if (is&lt;Element&gt;(*node)) {
</ins><span class="cx">         if (ShadowRoot* root = downcast&lt;Element&gt;(*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&lt;Document&gt;(node)) {
</del><ins>+    if (!is&lt;Document&gt;(*node)) {
</ins><span class="cx">         errorString = ASCIILiteral(&quot;Document is not available&quot;);
</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&lt;Element&gt;(node)) {
</del><ins>+    if (!is&lt;Element&gt;(*node)) {
</ins><span class="cx">         errorString = ASCIILiteral(&quot;Node is not an Element&quot;);
</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&lt;ContainerNode&gt;(node)) {
</del><ins>+    if (!is&lt;ContainerNode&gt;(*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&lt;ContainerNode&gt;(node)) {
</del><ins>+    if (!is&lt;ContainerNode&gt;(*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&lt;Element&gt;(oldNode))
</del><ins>+    if (!is&lt;Element&gt;(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-&gt;setChildren(children.release());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (is&lt;Element&gt;(node)) {
</del><ins>+    if (is&lt;Element&gt;(*node)) {
</ins><span class="cx">         Element&amp; element = downcast&lt;Element&gt;(*node);
</span><span class="cx">         value-&gt;setAttributes(buildArrayForElementAttributes(&amp;element));
</span><span class="cx">         if (is&lt;HTMLFrameOwnerElement&gt;(element)) {
</span><span class="lines">@@ -1293,17 +1293,17 @@
</span><span class="cx">             value-&gt;setTemplateContent(buildObjectForNode(downcast&lt;HTMLTemplateElement&gt;(element).content(), 0, nodesMap));
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    } else if (is&lt;Document&gt;(node)) {
</del><ins>+    } else if (is&lt;Document&gt;(*node)) {
</ins><span class="cx">         Document&amp; document = downcast&lt;Document&gt;(*node);
</span><span class="cx">         value-&gt;setDocumentURL(documentURLString(&amp;document));
</span><span class="cx">         value-&gt;setBaseURL(documentBaseURLString(&amp;document));
</span><span class="cx">         value-&gt;setXmlVersion(document.xmlVersion());
</span><del>-    } else if (is&lt;DocumentType&gt;(node)) {
</del><ins>+    } else if (is&lt;DocumentType&gt;(*node)) {
</ins><span class="cx">         DocumentType&amp; docType = downcast&lt;DocumentType&gt;(*node);
</span><span class="cx">         value-&gt;setPublicId(docType.publicId());
</span><span class="cx">         value-&gt;setSystemId(docType.systemId());
</span><span class="cx">         value-&gt;setInternalSubset(docType.internalSubset());
</span><del>-    } else if (is&lt;Attr&gt;(node)) {
</del><ins>+    } else if (is&lt;Attr&gt;(*node)) {
</ins><span class="cx">         Attr&amp; attribute = downcast&lt;Attr&gt;(*node);
</span><span class="cx">         value-&gt;setName(attribute.name());
</span><span class="cx">         value-&gt;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&lt;Element&gt;(node)) {
</del><ins>+            if (is&lt;Element&gt;(*node)) {
</ins><span class="cx">                 supportsFocused = downcast&lt;Element&gt;(*node).isFocusable();
</span><span class="cx">                 if (supportsFocused)
</span><span class="cx">                     focused = axObject-&gt;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&lt;Document&gt;(node))
</del><ins>+    ASSERT(node);
+    if (is&lt;Document&gt;(*node))
</ins><span class="cx">         return downcast&lt;Document&gt;(*node).ownerElement();
</span><span class="cx">     return node-&gt;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) &amp;&amp; USE(ACCESSIBILITY_CONTEXT_MENUS)
</span><del>-    if (!event || !is&lt;MouseEvent&gt;(event))
</del><ins>+    if (!is&lt;MouseEvent&gt;(event))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     Frame* frame = event-&gt;target()-&gt;toNode()-&gt;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&lt;Document&gt;(context))
-        frame = downcast&lt;Document&gt;(context)-&gt;frame();
</del><ins>+    if (is&lt;Document&gt;(*context))
+        frame = downcast&lt;Document&gt;(*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&lt;WorkerGlobalScope&gt;(context))
</del><ins>+    ASSERT(context);
+    if (is&lt;WorkerGlobalScope&gt;(*context))
</ins><span class="cx">         return instrumentationForWorkerGlobalScope(downcast&lt;WorkerGlobalScope&gt;(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&lt;Document&gt;(context))
</del><ins>+    if (is&lt;Document&gt;(*context))
</ins><span class="cx">         return instrumentingAgentsForPage(downcast&lt;Document&gt;(context)-&gt;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&lt;HTMLFrameOwnerElement&gt;(node)) {
</del><ins>+            if (is&lt;HTMLFrameOwnerElement&gt;(*node)) {
</ins><span class="cx">                 HTMLFrameOwnerElement&amp; frameOwner = downcast&lt;HTMLFrameOwnerElement&gt;(*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&lt;Attr&gt;(node))
</del><ins>+        if (is&lt;Attr&gt;(*node))
</ins><span class="cx">             node = downcast&lt;Attr&gt;(*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&lt;ContainerNode&gt;(parentNode))
</del><ins>+    ASSERT(parentNode);
+    if (!is&lt;ContainerNode&gt;(*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&lt;InspectorObject&gt; buildObjectForElementInfo(Node* node)
</span><span class="cx"> {
</span><del>-    if (!is&lt;Element&gt;(node) || !node-&gt;document().frame())
</del><ins>+    ASSERT(node);
+    if (!is&lt;Element&gt;(*node) || !node-&gt;document().frame())
</ins><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;InspectorObject&gt; 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-&gt;ownerNode();
</span><del>-    if (!ownerNode || !is&lt;Element&gt;(ownerNode))
</del><ins>+    if (!is&lt;Element&gt;(ownerNode))
</ins><span class="cx">         return false;
</span><span class="cx">     Element&amp; ownerElement = downcast&lt;Element&gt;(*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 &amp;&amp; event-&gt;target()) {
</span><span class="cx">         for (Node* node = event-&gt;target()-&gt;toNode(); node; node = node-&gt;parentNode()) {
</span><del>-            if (is&lt;HTMLFormControlElement&gt;(node)) {
</del><ins>+            if (is&lt;HTMLFormControlElement&gt;(*node)) {
</ins><span class="cx">                 submitButton = downcast&lt;HTMLFormControlElement&gt;(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&lt;HTMLObjectElement&gt;(owner))
</del><ins>+    if (!is&lt;HTMLObjectElement&gt;(owner))
</ins><span class="cx">         return;
</span><span class="cx">     downcast&lt;HTMLObjectElement&gt;(*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-&gt;contentWidth(), renderer-&gt;contentHeight()));
</span><del>-    bool loadManually = is&lt;PluginDocument&gt;(document()) &amp;&amp; !m_containsPlugins &amp;&amp; downcast&lt;PluginDocument&gt;(*document()).shouldLoadPluginManually();
</del><ins>+    bool loadManually = is&lt;PluginDocument&gt;(*document()) &amp;&amp; !m_containsPlugins &amp;&amp; downcast&lt;PluginDocument&gt;(*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&lt;WorkerGlobalScope&gt;(context))
</del><ins>+    if (is&lt;WorkerGlobalScope&gt;(*context))
</ins><span class="cx">         return WorkerThreadableLoader::create(downcast&lt;WorkerGlobalScope&gt;(context), client, WorkerRunLoop::defaultMode(), request, options);
</span><span class="cx"> 
</span><span class="cx">     return DocumentThreadableLoader::create(downcast&lt;Document&gt;(*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&lt;WorkerGlobalScope&gt;(context))
</del><ins>+    if (is&lt;WorkerGlobalScope&gt;(*context))
</ins><span class="cx">         WorkerThreadableLoader::loadResourceSynchronously(downcast&lt;WorkerGlobalScope&gt;(context), request, client, options);
</span><span class="cx">     else
</span><span class="cx">         DocumentThreadableLoader::loadResourceSynchronously(downcast&lt;Document&gt;(*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&amp; request, SessionID sessionID)
</span><span class="cx"> {
</span><del>-    if (is&lt;WorkerGlobalScope&gt;(context)) {
</del><ins>+    ASSERT(context);
+    if (is&lt;WorkerGlobalScope&gt;(*context)) {
</ins><span class="cx">         downcast&lt;WorkerGlobalScope&gt;(*context).thread().workerLoaderProxy().postTaskToLoader(CrossThreadTask(&amp;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&amp; request)
</span><span class="cx"> {
</span><del>-    if (is&lt;WorkerGlobalScope&gt;(context)) {
</del><ins>+    ASSERT(context);
+    if (is&lt;WorkerGlobalScope&gt;(*context)) {
</ins><span class="cx">         downcast&lt;WorkerGlobalScope&gt;(*context).thread().workerLoaderProxy().postTaskToLoader(CrossThreadTask(&amp;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() &amp;&amp; (name == MathMLNames::srcAttr || name == MathMLNames::encodingAttr)) {
</span><span class="cx">         Element* parent = parentElement();
</span><del>-        if (parent &amp;&amp; is&lt;MathMLElement&gt;(parent) &amp;&amp; parent-&gt;hasTagName(semanticsTag))
</del><ins>+        if (is&lt;MathMLElement&gt;(parent) &amp;&amp; parent-&gt;hasTagName(semanticsTag))
</ins><span class="cx">             downcast&lt;MathMLElement&gt;(*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&lt;MathMLElement&gt;(child) || !downcast&lt;MathMLElement&gt;(*child).isPresentationMathML()) {
</del><ins>+    if (!is&lt;MathMLElement&gt;(*child) || !downcast&lt;MathMLElement&gt;(*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-&gt;nextElementSibling();
</span><span class="cx">     } else if (!downcast&lt;MathMLElement&gt;(*child).isSemanticAnnotation()) {
</span><span class="lines">@@ -167,7 +167,7 @@
</span><span class="cx">     // Otherwise, the first child is an &lt;annotation&gt; or &lt;annotation-xml&gt; 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-&gt;nextElementSibling()) {
</span><del>-        if (!is&lt;MathMLElement&gt;(child))
</del><ins>+        if (!is&lt;MathMLElement&gt;(*child))
</ins><span class="cx">             continue;
</span><span class="cx"> 
</span><span class="cx">         if (child-&gt;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() &amp;&amp; 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&lt;HTMLInputElement&gt;(element)) {
</del><ins>+            if (is&lt;HTMLInputElement&gt;(*element)) {
</ins><span class="cx">                 HTMLInputElement&amp; input = downcast&lt;HTMLInputElement&gt;(*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 &lt;input type=&quot;file&quot;&gt; 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&lt;HTMLInputElement&gt;(element)) {
</del><ins>+            if (is&lt;HTMLInputElement&gt;(*element)) {
</ins><span class="cx">                 toolTip = downcast&lt;HTMLInputElement&gt;(*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&lt;MouseEvent&gt;(event))
</del><ins>+    if (!is&lt;MouseEvent&gt;(*event))
</ins><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     MouseEvent&amp; mouseEvent = downcast&lt;MouseEvent&gt;(*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() &amp;&amp; is&lt;HTMLFormControlElement&gt;(node))
</del><ins>+    if (!m_context.hitTestResult().isContentEditable() &amp;&amp; is&lt;HTMLFormControlElement&gt;(*node))
</ins><span class="cx">         return;
</span><span class="cx"> #endif
</span><span class="cx">     Frame* frame = node-&gt;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&lt;Document&gt;(context)) {
</del><ins>+    if (is&lt;Document&gt;(*context)) {
</ins><span class="cx">         Document&amp; document = downcast&lt;Document&gt;(*context);
</span><span class="cx">         bool didDeferTimeout = document.frame() &amp;&amp; document.frame()-&gt;timersPaused();
</span><span class="cx">         if (!didDeferTimeout &amp;&amp; timeout &lt;= 100 &amp;&amp; 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&lt;Document&gt;(context)) {
</del><ins>+    if (is&lt;Document&gt;(*context)) {
</ins><span class="cx">         document = downcast&lt;Document&gt;(context);
</span><span class="cx">         ASSERT(!document-&gt;frame()-&gt;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-&gt;renderView()-&gt;hitTest(HitTestRequest(), result);
</span><span class="cx"> 
</span><span class="cx">     Node* node = result.innerNode();
</span><del>-    while (node &amp;&amp; !is&lt;Element&gt;(node))
</del><ins>+    while (node &amp;&amp; !is&lt;Element&gt;(*node))
</ins><span class="cx">         node = node-&gt;parentNode();
</span><span class="cx">     if (node)
</span><span class="cx">         node = node-&gt;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 &amp;&amp; is&lt;PluginDocument&gt;(doc)) {
</del><ins>+    if (is&lt;PluginDocument&gt;(doc)) {
</ins><span class="cx">         const Widget* widget = downcast&lt;PluginDocument&gt;(*doc).pluginWidget();
</span><span class="cx">         const PluginViewBase* pluginView = (widget &amp;&amp; widget-&gt;isPluginViewBase()) ? toPluginViewBase(widget) : nullptr;
</span><span class="cx"> 
</span><span class="lines">@@ -552,7 +552,7 @@
</span><span class="cx">     if (dragData.containsFiles() &amp;&amp; asFileInput(result.innerNonSharedNode()))
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><del>-    if (is&lt;HTMLPlugInElement&gt;(result.innerNonSharedNode())) {
</del><ins>+    if (is&lt;HTMLPlugInElement&gt;(*result.innerNonSharedNode())) {
</ins><span class="cx">         if (!downcast&lt;HTMLPlugInElement&gt;(result.innerNonSharedNode())-&gt;canProcessDrag() &amp;&amp; !result.innerNonSharedNode()-&gt;hasEditableStyle())
</span><span class="cx">             return false;
</span><span class="cx">     } else if (!result.innerNonSharedNode()-&gt;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 &amp; DragSourceActionImage)
</span><del>-                &amp;&amp; is&lt;HTMLImageElement&gt;(element)
</del><ins>+                &amp;&amp; is&lt;HTMLImageElement&gt;(*element)
</ins><span class="cx">                 &amp;&amp; sourceFrame-&gt;settings().loadsImagesAutomatically()) {
</span><span class="cx">                 state.type = static_cast&lt;DragSourceAction&gt;(state.type | DragSourceActionImage);
</span><span class="cx">                 return element;
</span><span class="cx">             }
</span><span class="cx">             if ((m_dragSourceAction &amp; DragSourceActionLink)
</span><del>-                &amp;&amp; is&lt;HTMLAnchorElement&gt;(element)
</del><ins>+                &amp;&amp; is&lt;HTMLAnchorElement&gt;(*element)
</ins><span class="cx">                 &amp;&amp; downcast&lt;HTMLAnchorElement&gt;(*element).isLiveLink()) {
</span><span class="cx">                 state.type = static_cast&lt;DragSourceAction&gt;(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() &amp;&amp; passWidgetMouseDownEventToWidget(event))
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><del>-    if (is&lt;SVGDocument&gt;(m_frame.document()) &amp;&amp; downcast&lt;SVGDocument&gt;(*m_frame.document()).zoomAndPanEnabled()) {
</del><ins>+    if (is&lt;SVGDocument&gt;(*m_frame.document()) &amp;&amp; downcast&lt;SVGDocument&gt;(*m_frame.document()).zoomAndPanEnabled()) {
</ins><span class="cx">         if (event.event().shiftKey() &amp;&amp; singleClick) {
</span><span class="cx">             m_svgPan = true;
</span><span class="cx">             downcast&lt;SVGDocument&gt;(*m_frame.document()).startPan(m_frame.view()-&gt;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 &amp;&amp; is&lt;HTMLInputElement&gt;(node) &amp;&amp; downcast&lt;HTMLInputElement&gt;(*node).isImageButton();
</del><ins>+    return is&lt;HTMLInputElement&gt;(node) &amp;&amp; downcast&lt;HTMLInputElement&gt;(*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&lt;ShadowRoot&gt;(mouseEvent.targetNode()) &amp;&amp; is&lt;HTMLInputElement&gt;(downcast&lt;ShadowRoot&gt;(*mouseEvent.targetNode()).hostElement()))
</del><ins>+        if (is&lt;ShadowRoot&gt;(*mouseEvent.targetNode()) &amp;&amp; is&lt;HTMLInputElement&gt;(*downcast&lt;ShadowRoot&gt;(*mouseEvent.targetNode()).hostElement()))
</ins><span class="cx">             mouseEvent = m_frame.document()-&gt;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*&amp; frame)
</span><span class="cx"> {
</span><del>-    if (!target || !is&lt;HTMLFrameElementBase&gt;(target))
</del><ins>+    if (!is&lt;HTMLFrameElementBase&gt;(target))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     frame = downcast&lt;HTMLFrameElementBase&gt;(*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&lt;Element&gt;(target) ? downcast&lt;Element&gt;(target) : target-&gt;parentElement();
</del><ins>+    ASSERT(target);
+    Element* element = is&lt;Element&gt;(*target) ? downcast&lt;Element&gt;(target) : target-&gt;parentElement();
</ins><span class="cx">     for (; element; element = element-&gt;parentElement()) {
</span><span class="cx">         bool matched = false;
</span><span class="cx">         String dropZoneStr = element-&gt;fastGetAttribute(webkitdropzoneAttr);
</span><span class="lines">@@ -2233,7 +2234,7 @@
</span><span class="cx">     RefPtr&lt;Element&gt; 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&lt;Element&gt;(targetNode))
</del><ins>+        if (!is&lt;Element&gt;(*targetNode))
</ins><span class="cx">             newTarget = targetNode-&gt;parentOrShadowHostElement();
</span><span class="cx">         else
</span><span class="cx">             newTarget = downcast&lt;Element&gt;(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. &lt;rdar://problem/4196646&gt;
</span><del>-        if (!is&lt;Element&gt;(targetNode))
</del><ins>+        if (!is&lt;Element&gt;(*targetNode))
</ins><span class="cx">             targetElement = targetNode-&gt;parentOrShadowHostElement();
</span><span class="cx">         else
</span><span class="cx">             targetElement = downcast&lt;Element&gt;(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&lt;KeyboardEvent&gt;(underlyingEvent) || downcast&lt;KeyboardEvent&gt;(*underlyingEvent).type() == eventNames().keypressEvent);
</del><ins>+    ASSERT(!is&lt;KeyboardEvent&gt;(underlyingEvent) || downcast&lt;KeyboardEvent&gt;(*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&lt;ShadowRoot&gt;(root))
</del><ins>+    if (is&lt;ShadowRoot&gt;(*root))
</ins><span class="cx">         return downcast&lt;ShadowRoot&gt;(*root).hostElement();
</span><span class="cx">     if (Frame* frame = root-&gt;document().frame())
</span><span class="cx">         return frame-&gt;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 &amp;&amp; is&lt;HTMLFrameOwnerElement&gt;(element)) {
</del><ins>+    while (is&lt;HTMLFrameOwnerElement&gt;(element)) {
</ins><span class="cx">         HTMLFrameOwnerElement&amp; owner = downcast&lt;HTMLFrameOwnerElement&gt;(*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&lt;Element&gt;(currentNode) || !isNonFocusableShadowHost(*downcast&lt;Element&gt;(currentNode), *event));
</del><ins>+    ASSERT(!is&lt;Element&gt;(currentNode) || !isNonFocusableShadowHost(*downcast&lt;Element&gt;(currentNode), *event));
</ins><span class="cx">     Element* found;
</span><span class="cx">     if (currentNode &amp;&amp; direction == FocusDirectionForward &amp;&amp; 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&lt;Element&gt;(node))
</del><ins>+        if (!is&lt;Element&gt;(*node))
</ins><span class="cx">             continue;
</span><span class="cx">         Element&amp; element = downcast&lt;Element&gt;(*node);
</span><span class="cx">         if (shouldVisit(element, *event) &amp;&amp; adjustedTabIndex(element, *event) == tabIndex)
</span><span class="lines">@@ -425,7 +425,7 @@
</span><span class="cx">     int winningTabIndex = std::numeric_limits&lt;short&gt;::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&lt;Element&gt;(node))
</del><ins>+        if (!is&lt;Element&gt;(*node))
</ins><span class="cx">             continue;
</span><span class="cx">         Element&amp; element = downcast&lt;Element&gt;(*node);
</span><span class="cx">         if (shouldVisit(element, event) &amp;&amp; element.tabIndex() &gt; tabIndex &amp;&amp; element.tabIndex() &lt; 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&lt;Element&gt;(node))
</del><ins>+        if (!is&lt;Element&gt;(*node))
</ins><span class="cx">             continue;
</span><span class="cx">         Element&amp; element = downcast&lt;Element&gt;(*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 &lt; 0) {
</span><span class="cx">             for (Node* node = nextInScope(start); node; node = nextInScope(node)) {
</span><del>-                if (!is&lt;Element&gt;(node))
</del><ins>+                if (!is&lt;Element&gt;(*node))
</ins><span class="cx">                     continue;
</span><span class="cx">                 Element&amp; element = downcast&lt;Element&gt;(*node);
</span><span class="cx">                 if (shouldVisit(element, *event) &amp;&amp; adjustedTabIndex(element, *event) &gt;= 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 &lt; 0) {
</span><span class="cx">         for (Node* node = startingNode; node; node = previousInScope(node)) {
</span><del>-            if (!is&lt;Element&gt;(node))
</del><ins>+            if (!is&lt;Element&gt;(*node))
</ins><span class="cx">                 continue;
</span><span class="cx">             Element&amp; element = downcast&lt;Element&gt;(*node);
</span><span class="cx">             if (shouldVisit(element, *event) &amp;&amp; adjustedTabIndex(element, *event) &gt;= 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-&gt;deprecatedShadowAncestorNode()) {
</span><del>-                if (!is&lt;HTMLInputElement&gt;(shadowAncestorNode) &amp;&amp; !is&lt;HTMLTextAreaElement&gt;(shadowAncestorNode))
</del><ins>+                if (!is&lt;HTMLInputElement&gt;(*shadowAncestorNode) &amp;&amp; !is&lt;HTMLTextAreaElement&gt;(*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-&gt;focusedElement();
</span><span class="cx">     Node* container = focusedDocument;
</span><span class="cx"> 
</span><del>-    if (is&lt;Document&gt;(container))
</del><ins>+    if (is&lt;Document&gt;(*container))
</ins><span class="cx">         downcast&lt;Document&gt;(*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&lt;HTMLAreaElement&gt;(focusedElement)) {
</del><ins>+        } else if (is&lt;HTMLAreaElement&gt;(*focusedElement)) {
</ins><span class="cx">             HTMLAreaElement&amp; area = downcast&lt;HTMLAreaElement&gt;(*focusedElement);
</span><span class="cx">             container = scrollableEnclosingBoxOrParentFrameForNodeInDirection(direction, area.imageElement());
</span><span class="cx">             startingRect = virtualRectForAreaElementAndDirection(&amp;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 &amp;&amp; is&lt;Document&gt;(container))
</del><ins>+        if (is&lt;Document&gt;(container))
</ins><span class="cx">             downcast&lt;Document&gt;(*container).updateLayoutIgnorePendingStylesheets();
</span><span class="cx">     } while (!consumed &amp;&amp; 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 &amp;&amp; lengthSearched &lt; 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&lt;HTMLFormElement&gt;(n) || is&lt;HTMLFormControlElement&gt;(n))
</del><ins>+        if (is&lt;HTMLFormElement&gt;(*n) || is&lt;HTMLFormControlElement&gt;(*n))
</ins><span class="cx">             break;
</span><span class="cx"> 
</span><span class="cx">         if (n-&gt;hasTagName(tdTag) &amp;&amp; !startingTableCell)
</span><span class="cx">             startingTableCell = downcast&lt;HTMLTableCellElement&gt;(n);
</span><del>-        else if (is&lt;HTMLTableRowElement&gt;(n) &amp;&amp; startingTableCell) {
</del><ins>+        else if (is&lt;HTMLTableRowElement&gt;(*n) &amp;&amp; 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=&quot;disabled&quot; property in standalone SVG documents.
</span><span class="cx">     // FIXME: How to handle compound documents + zoomAndPan=&quot;disabled&quot;? Needs SVG WG clarification.
</span><del>-    if (is&lt;SVGDocument&gt;(document) &amp;&amp; !downcast&lt;SVGDocument&gt;(*document).zoomAndPanEnabled())
</del><ins>+    if (is&lt;SVGDocument&gt;(*document) &amp;&amp; !downcast&lt;SVGDocument&gt;(*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 &amp;&amp; is&lt;HTMLFrameElementBase&gt;(ownerElement)) {
</del><ins>+    if (is&lt;HTMLFrameElementBase&gt;(ownerElement)) {
</ins><span class="cx">         HTMLFrameElementBase&amp; frameElement = downcast&lt;HTMLFrameElementBase&gt;(*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()-&gt;setCSSTarget(anchorElement);
</span><span class="cx"> 
</span><del>-    if (is&lt;SVGDocument&gt;(frame().document())) {
</del><ins>+    if (is&lt;SVGDocument&gt;(*frame().document())) {
</ins><span class="cx">         if (SVGSVGElement* svg = downcast&lt;SVGDocument&gt;(*frame().document()).rootElement()) {
</span><span class="cx">             svg-&gt;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&lt;Node*&gt;::iterator iter = nodes.begin(); iter != nodes.end(); ++iter) {
</span><span class="cx">         Node* node = *iter;
</span><del>-        if (!is&lt;Element&gt;(node))
</del><ins>+        if (!is&lt;Element&gt;(*node))
</ins><span class="cx">             continue;
</span><span class="cx"> 
</span><span class="cx">         Element&amp; element = downcast&lt;Element&gt;(*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-&gt;isElementNode());
</del><ins>+    ASSERT(is&lt;Element&gt;(node));
</ins><span class="cx"> 
</span><del>-    if (is&lt;HTMLAreaElement&gt;(node)) {
</del><ins>+    if (is&lt;HTMLAreaElement&gt;(*node)) {
</ins><span class="cx">         HTMLAreaElement&amp; area = downcast&lt;HTMLAreaElement&gt;(*node);
</span><span class="cx">         HTMLImageElement* image = area.imageElement();
</span><span class="cx">         if (!image || !image-&gt;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&lt;Document&gt;(container))
</del><ins>+    if (is&lt;Document&gt;(*container))
</ins><span class="cx">         return scrollInDirection(downcast&lt;Document&gt;(*container).frame(), direction);
</span><span class="cx"> 
</span><span class="cx">     if (!container-&gt;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&lt;Document&gt;(parent))
</del><ins>+        if (is&lt;Document&gt;(*parent))
</ins><span class="cx">             parent = downcast&lt;Document&gt;(*parent).document().frame()-&gt;ownerElement();
</span><span class="cx">         else
</span><span class="cx">             parent = parent-&gt;parentNode();
</span><del>-    } while (parent &amp;&amp; !canScrollInDirection(parent, direction) &amp;&amp; !is&lt;Document&gt;(parent));
</del><ins>+    } while (parent &amp;&amp; !canScrollInDirection(parent, direction) &amp;&amp; !is&lt;Document&gt;(*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&lt;HTMLSelectElement&gt;(container))
</del><ins>+    if (is&lt;HTMLSelectElement&gt;(*container))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    if (is&lt;Document&gt;(container))
</del><ins>+    if (is&lt;Document&gt;(*container))
</ins><span class="cx">         return canScrollInDirection(downcast&lt;Document&gt;(*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 &amp;&amp; node-&gt;renderer() &amp;&amp; !node-&gt;document().view()-&gt;needsLayout());
</span><span class="cx"> 
</span><del>-    if (is&lt;Document&gt;(node))
</del><ins>+    if (is&lt;Document&gt;(*node))
</ins><span class="cx">         return frameRectInAbsoluteCoordinates(downcast&lt;Document&gt;(*node).frame());
</span><span class="cx">     LayoutRect rect = rectToAbsoluteCoordinates(node-&gt;document().frame(), node-&gt;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&lt;HTMLAreaElement&gt;(firstCandidate.focusableNode) || is&lt;HTMLAreaElement&gt;(secondCandidate.focusableNode))
</del><ins>+    if (is&lt;HTMLAreaElement&gt;(*firstCandidate.focusableNode) || is&lt;HTMLAreaElement&gt;(*secondCandidate.focusableNode))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     if (!firstCandidate.visibleNode-&gt;renderer()-&gt;isRenderInline() || !secondCandidate.visibleNode-&gt;renderer()-&gt;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() &amp;&amp; node != hitTestResult.innerNonSharedNode() &amp;&amp; is&lt;HTMLAreaElement&gt;(node))
</del><ins>+                if (node == hitTestResult.innerNode() &amp;&amp; node != hitTestResult.innerNonSharedNode() &amp;&amp; is&lt;HTMLAreaElement&gt;(*node))
</ins><span class="cx">                     *nodeBounds = snappedIntRect(downcast&lt;HTMLAreaElement&gt;(*node).computeRect(hitTestResult.innerNonSharedNode()-&gt;renderer()));
</span><span class="cx">                 else if (node &amp;&amp; node-&gt;renderer())
</span><span class="cx">                     *nodeBounds = node-&gt;renderer()-&gt;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&lt;File&gt;(value.blob())) {
</del><ins>+                if (is&lt;File&gt;(*value.blob())) {
</ins><span class="cx">                     File&amp; file = downcast&lt;File&gt;(*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&lt;File&gt;(value.blob())) {
</del><ins>+                if (is&lt;File&gt;(*value.blob())) {
</ins><span class="cx">                     File&amp; file = downcast&lt;File&gt;(*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 &amp;&amp; is&lt;PseudoElement&gt;(node))
</del><ins>+    if (is&lt;PseudoElement&gt;(node))
</ins><span class="cx">         node = downcast&lt;PseudoElement&gt;(*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 &amp;&amp; is&lt;PseudoElement&gt;(node))
</del><ins>+    if (is&lt;PseudoElement&gt;(node))
</ins><span class="cx">         node = downcast&lt;PseudoElement&gt;(*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 &lt;area&gt; tags in image maps, walk the tree for the &lt;area&gt;, not the &lt;img&gt; using it.
</span><span class="cx">     for (Node* titleNode = m_innerNode.get(); titleNode; titleNode = titleNode-&gt;parentNode()) {
</span><del>-        if (is&lt;Element&gt;(titleNode)) {
</del><ins>+        if (is&lt;Element&gt;(*titleNode)) {
</ins><span class="cx">             Element&amp; titleElement = downcast&lt;Element&gt;(*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&amp; dir) const
</span><span class="cx"> {
</span><span class="cx">     for (Node* truncatedNode = m_innerNode.get(); truncatedNode; truncatedNode = truncatedNode-&gt;parentNode()) {
</span><del>-        if (!is&lt;Element&gt;(truncatedNode))
</del><ins>+        if (!is&lt;Element&gt;(*truncatedNode))
</ins><span class="cx">             continue;
</span><span class="cx"> 
</span><span class="cx">         if (auto renderer = downcast&lt;Element&gt;(*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 &amp;&amp; is&lt;HTMLVideoElement&gt;(mediaElt) &amp;&amp; mediaElt-&gt;supportsFullscreen());
</del><ins>+    return is&lt;HTMLVideoElement&gt;(mediaElt) &amp;&amp; mediaElt-&gt;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-&gt;mediaElement());
</span><del>-    if (mediaElement &amp;&amp; is&lt;HTMLVideoElement&gt;(mediaElement)) {
</del><ins>+    if (is&lt;HTMLVideoElement&gt;(mediaElement)) {
</ins><span class="cx">         HTMLVideoElement&amp; videoElement = downcast&lt;HTMLVideoElement&gt;(*mediaElement);
</span><span class="cx">         if (!videoElement.isFullscreen() &amp;&amp; mediaElement-&gt;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&lt;HTMLVideoElement&gt;(mediaElt);
</del><ins>+        return is&lt;HTMLVideoElement&gt;(*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&lt;Element&gt;(node))
</del><ins>+    if (is&lt;Element&gt;(*node))
</ins><span class="cx">         return downcast&lt;Element&gt;(node);
</span><span class="cx">     return node-&gt;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&lt;Element&gt;(node))
</del><ins>+    if (is&lt;Element&gt;(*node))
</ins><span class="cx">         return downcast&lt;Element&gt;(node);
</span><span class="cx">     return node-&gt;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-&gt;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-&gt;element() &amp;&amp; is&lt;HTMLElement&gt;(renderer-&gt;element()) &amp;&amp; !renderer-&gt;element()-&gt;isInShadowTree()) {
</del><ins>+        if (is&lt;HTMLElement&gt;(renderer-&gt;element()) &amp;&amp; !renderer-&gt;element()-&gt;isInShadowTree()) {
</ins><span class="cx">             const HTMLElement&amp; element = downcast&lt;HTMLElement&gt;(*renderer-&gt;element());
</span><span class="cx">             return !is&lt;HTMLInputElement&gt;(element) &amp;&amp; !is&lt;HTMLTextAreaElement&gt;(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 &amp;&amp; !isStretchingColumnFlexItem(*this) &amp;&amp; element() &amp;&amp; (is&lt;HTMLInputElement&gt;(element()) || is&lt;HTMLSelectElement&gt;(element()) || is&lt;HTMLButtonElement&gt;(element()) || is&lt;HTMLTextAreaElement&gt;(element()) || is&lt;HTMLLegendElement&gt;(element())))
</del><ins>+    if (logicalWidth.type() == Auto &amp;&amp; !isStretchingColumnFlexItem(*this) &amp;&amp; element() &amp;&amp; (is&lt;HTMLInputElement&gt;(*element()) || is&lt;HTMLSelectElement&gt;(*element()) || is&lt;HTMLButtonElement&gt;(*element()) || is&lt;HTMLTextAreaElement&gt;(*element()) || is&lt;HTMLLegendElement&gt;(*element())))
</ins><span class="cx">         return true;
</span><span class="cx"> 
</span><span class="cx">     if (isHorizontalWritingMode() != containingBlock()-&gt;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&lt;HTMLOListElement&gt;(element)) {
</del><ins>+            if (is&lt;HTMLOListElement&gt;(*element)) {
</ins><span class="cx">                 value = downcast&lt;HTMLOListElement&gt;(*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-&gt;parent()) {
</span><span class="cx">         if (!renderer-&gt;node())
</span><span class="cx">             continue;
</span><del>-        if (is&lt;HTMLDetailsElement&gt;(renderer-&gt;node()))
</del><ins>+        if (is&lt;HTMLDetailsElement&gt;(*renderer-&gt;node()))
</ins><span class="cx">             return !downcast&lt;HTMLDetailsElement&gt;(*renderer-&gt;node()).getAttribute(openAttr).isNull();
</span><del>-        if (is&lt;HTMLInputElement&gt;(renderer-&gt;node()))
</del><ins>+        if (is&lt;HTMLInputElement&gt;(*renderer-&gt;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&lt;MouseEvent&gt;(event))
</del><ins>+    if (!is&lt;MouseEvent&gt;(*event))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     MouseEvent&amp; mouseEvent = downcast&lt;MouseEvent&gt;(*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()-&gt;firstChild();
</span><del>-    return buttonNode &amp;&amp; is&lt;HTMLInputElement&gt;(buttonNode) ? downcast&lt;HTMLInputElement&gt;(buttonNode) : nullptr;
</del><ins>+    return is&lt;HTMLInputElement&gt;(buttonNode) ? downcast&lt;HTMLInputElement&gt;(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&lt;HTMLAreaElement&gt;(focusedElement))
</del><ins>+    if (!is&lt;HTMLAreaElement&gt;(focusedElement))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     HTMLAreaElement&amp; areaElement = downcast&lt;HTMLAreaElement&gt;(*focusedElement);
</span><span class="lines">@@ -560,7 +560,7 @@
</span><span class="cx">     if (!img || img-&gt;isNull())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    HTMLImageElement* imageElement = (element() &amp;&amp; is&lt;HTMLImageElement&gt;(element())) ? downcast&lt;HTMLImageElement&gt;(element()) : nullptr;
</del><ins>+    HTMLImageElement* imageElement = is&lt;HTMLImageElement&gt;(element()) ? downcast&lt;HTMLImageElement&gt;(element()) : nullptr;
</ins><span class="cx">     CompositeOperator compositeOperator = imageElement ? imageElement-&gt;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() &amp;&amp; is&lt;HTMLImageElement&gt;(element()) ? downcast&lt;HTMLImageElement&gt;(element()) : nullptr;
</del><ins>+    HTMLImageElement* image = is&lt;HTMLImageElement&gt;(element()) ? downcast&lt;HTMLImageElement&gt;(element()) : nullptr;
</ins><span class="cx">     return image ? image-&gt;treeScope().getImageMap(image-&gt;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 &amp;&amp; ownerElement-&gt;renderer()) {
</span><span class="cx">             HTMLFrameElementBase* frameElementBase = nullptr;
</span><span class="cx"> 
</span><del>-            if (is&lt;HTMLFrameElementBase&gt;(ownerElement))
</del><ins>+            if (is&lt;HTMLFrameElementBase&gt;(*ownerElement))
</ins><span class="cx">                 frameElementBase = downcast&lt;HTMLFrameElementBase&gt;(ownerElement);
</span><span class="cx"> 
</span><span class="cx">             if (frameElementAndViewPermitScroll(frameElementBase, &amp;frameView)) {
</span><span class="lines">@@ -2574,7 +2574,7 @@
</span><span class="cx"> 
</span><span class="cx">     EResize resize = renderer-&gt;style().resize();
</span><span class="cx">     if (resize != RESIZE_VERTICAL &amp;&amp; difference.width()) {
</span><del>-        if (is&lt;HTMLFormControlElement&gt;(element)) {
</del><ins>+        if (is&lt;HTMLFormControlElement&gt;(*element)) {
</ins><span class="cx">             // Make implicit margins from the theme explicit (see &lt;http://bugs.webkit.org/show_bug.cgi?id=9547&gt;).
</span><span class="cx">             styledElement-&gt;setInlineStyleProperty(CSSPropertyMarginLeft, renderer-&gt;marginLeft() / zoomFactor, CSSPrimitiveValue::CSS_PX);
</span><span class="cx">             styledElement-&gt;setInlineStyleProperty(CSSPropertyMarginRight, renderer-&gt;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 &amp;&amp; difference.height()) {
</span><del>-        if (is&lt;HTMLFormControlElement&gt;(element)) {
</del><ins>+        if (is&lt;HTMLFormControlElement&gt;(*element)) {
</ins><span class="cx">             // Make implicit margins from the theme explicit (see &lt;http://bugs.webkit.org/show_bug.cgi?id=9547&gt;).
</span><span class="cx">             styledElement-&gt;setInlineStyleProperty(CSSPropertyMarginTop, renderer-&gt;marginTop() / zoomFactor, CSSPrimitiveValue::CSS_PX);
</span><span class="cx">             styledElement-&gt;setInlineStyleProperty(CSSPropertyMarginBottom, renderer-&gt;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()-&gt;renderBox() || !is&lt;HTMLElement&gt;(enclosingElement()))
</del><ins>+    if (!is&lt;HTMLElement&gt;(enclosingElement()) || !enclosingElement()-&gt;renderBox())
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     RenderBox* box = enclosingElement()-&gt;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&lt;Element&gt;(renderer-&gt;node());
</span><del>-    if (!element || !is&lt;HTMLPlugInElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLPlugInElement&gt;(element))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     return downcast&lt;HTMLPlugInElement&gt;(*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&lt;HTMLOptionElement&gt;(element))
</del><ins>+            if (is&lt;HTMLOptionElement&gt;(*element))
</ins><span class="cx">                 text = downcast&lt;HTMLOptionElement&gt;(*element).textIndentedToRespectGroupLabel();
</span><del>-            else if (is&lt;HTMLOptGroupElement&gt;(element)) {
</del><ins>+            else if (is&lt;HTMLOptGroupElement&gt;(*element)) {
</ins><span class="cx">                 text = downcast&lt;HTMLOptGroupElement&gt;(*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&lt;HTMLElement*&gt;&amp; listItems = selectElement().listItems();
</span><span class="cx">     for (int i = 0; i &lt; size; ++i) {
</span><span class="cx">         HTMLElement* element = listItems[i];
</span><del>-        if (is&lt;HTMLOptionElement&gt;(element) &amp;&amp; !element-&gt;isDisabledFormControl()) {
</del><ins>+        if (is&lt;HTMLOptionElement&gt;(*element) &amp;&amp; !element-&gt;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&lt;HTMLOptionElement&gt;(listItemElement);
</del><ins>+    bool isOptionElement = is&lt;HTMLOptionElement&gt;(*listItemElement);
</ins><span class="cx">     if (isOptionElement)
</span><span class="cx">         itemText = downcast&lt;HTMLOptionElement&gt;(*listItemElement).textIndentedToRespectGroupLabel();
</span><del>-    else if (is&lt;HTMLOptGroupElement&gt;(listItemElement))
</del><ins>+    else if (is&lt;HTMLOptGroupElement&gt;(*listItemElement))
</ins><span class="cx">         itemText = downcast&lt;HTMLOptGroupElement&gt;(*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&lt;HTMLOptGroupElement&gt;(listItemElement)) {
</del><ins>+    if (is&lt;HTMLOptGroupElement&gt;(*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&lt;HTMLOptionElement&gt;(listItemElement) &amp;&amp; downcast&lt;HTMLOptionElement&gt;(*listItemElement).selected()) {
</del><ins>+    if (is&lt;HTMLOptionElement&gt;(*listItemElement) &amp;&amp; downcast&lt;HTMLOptionElement&gt;(*listItemElement).selected()) {
</ins><span class="cx">         if (frame().selection().isFocusedAndActive() &amp;&amp; document().focusedElement() == &amp;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-&gt;renderer().style().marqueeSpeed();
</span><span class="cx">     Element* element = m_layer-&gt;renderer().element();
</span><del>-    if (element &amp;&amp; is&lt;HTMLMarqueeElement&gt;(element))
</del><ins>+    if (is&lt;HTMLMarqueeElement&gt;(element))
</ins><span class="cx">         result = std::max(result, downcast&lt;HTMLMarqueeElement&gt;(*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 &lt; numberOfItems; ++i) {
</span><del>-        if (is&lt;HTMLOptionElement&gt;(listItems[i]) &amp;&amp; downcast&lt;HTMLOptionElement&gt;(*listItems[i]).selected())
</del><ins>+        if (is&lt;HTMLOptionElement&gt;(*listItems[i]) &amp;&amp; downcast&lt;HTMLOptionElement&gt;(*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 &lt; size; ++i) {
</span><span class="cx">         HTMLElement* element = listItems[i];
</span><del>-        if (!is&lt;HTMLOptionElement&gt;(element))
</del><ins>+        if (!is&lt;HTMLOptionElement&gt;(*element))
</ins><span class="cx">             continue;
</span><span class="cx"> 
</span><span class="cx">         String text = downcast&lt;HTMLOptionElement&gt;(*element).textIndentedToRespectGroupLabel();
</span><span class="lines">@@ -270,7 +270,7 @@
</span><span class="cx">     String text = emptyString();
</span><span class="cx">     if (i &gt;= 0 &amp;&amp; i &lt; size) {
</span><span class="cx">         Element* element = listItems[i];
</span><del>-        if (is&lt;HTMLOptionElement&gt;(element)) {
</del><ins>+        if (is&lt;HTMLOptionElement&gt;(*element)) {
</ins><span class="cx">             text = downcast&lt;HTMLOptionElement&gt;(*element).textIndentedToRespectGroupLabel();
</span><span class="cx">             m_optionStyle = element-&gt;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&lt;HTMLOptGroupElement&gt;(element))
</del><ins>+    if (is&lt;HTMLOptGroupElement&gt;(*element))
</ins><span class="cx">         itemString = downcast&lt;HTMLOptGroupElement&gt;(*element).groupLabelText();
</span><del>-    else if (is&lt;HTMLOptionElement&gt;(element))
</del><ins>+    else if (is&lt;HTMLOptionElement&gt;(*element))
</ins><span class="cx">         itemString = downcast&lt;HTMLOptionElement&gt;(*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 &gt;= listItems.size())
</span><span class="cx">         return false;
</span><span class="cx">     HTMLElement* element = listItems[listIndex];
</span><del>-    if (!is&lt;HTMLOptionElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLOptionElement&gt;(*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-&gt;parentElement()) {
</span><del>-        if (is&lt;HTMLOptGroupElement&gt;(parentElement))
</del><ins>+        if (is&lt;HTMLOptGroupElement&gt;(*parentElement))
</ins><span class="cx">             groupEnabled = !parentElement-&gt;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&lt;HTMLElement*&gt;&amp; listItems = selectElement().listItems();
</span><del>-    return listIndex &lt; listItems.size() &amp;&amp; is&lt;HTMLOptGroupElement&gt;(listItems[listIndex]);
</del><ins>+    return listIndex &lt; listItems.size() &amp;&amp; is&lt;HTMLOptGroupElement&gt;(*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 &gt;= listItems.size())
</span><span class="cx">         return false;
</span><span class="cx">     HTMLElement* element = listItems[listIndex];
</span><del>-    return is&lt;HTMLOptionElement&gt;(element) &amp;&amp; downcast&lt;HTMLOptionElement&gt;(*element).selected();
</del><ins>+    return is&lt;HTMLOptionElement&gt;(*element) &amp;&amp; downcast&lt;HTMLOptionElement&gt;(*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&lt;HTMLMeterElement&gt;(element()))
</del><ins>+    if (is&lt;HTMLMeterElement&gt;(*element()))
</ins><span class="cx">         return downcast&lt;HTMLMeterElement&gt;(element());
</span><span class="cx"> 
</span><span class="cx">     ASSERT(element()-&gt;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&lt;Element&gt;(child.node()));
</del><ins>+    ASSERT(is&lt;Element&gt;(*child.node()));
</ins><span class="cx"> 
</span><span class="cx">     Node* originalParent = NodeRenderingTraversal::parent(child.node());
</span><del>-    if (!originalParent || !is&lt;Element&gt;(originalParent) || !originalParent-&gt;renderer())
</del><ins>+    if (!is&lt;Element&gt;(originalParent) || !originalParent-&gt;renderer())
</ins><span class="cx">         return true;
</span><span class="cx"> 
</span><span class="cx">     return downcast&lt;Element&gt;(*originalParent).renderer()-&gt;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-&gt;node();
</span><del>-    if (!node || !node-&gt;isLink() || !is&lt;Element&gt;(node))
</del><ins>+    if (!is&lt;Element&gt;(node) || !node-&gt;isLink())
</ins><span class="cx">         return;
</span><span class="cx">     const AtomicString&amp; href = downcast&lt;Element&gt;(*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 &lt;img&gt; and the setting to respect it everywhere is set.
</span><del>-    return (frame().settings().shouldRespectImageOrientation() &amp;&amp; node() &amp;&amp; is&lt;HTMLImageElement&gt;(node())) ? RespectImageOrientation : DoNotRespectImageOrientation;
</del><ins>+    return (frame().settings().shouldRespectImageOrientation() &amp;&amp; is&lt;HTMLImageElement&gt;(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 &amp;&amp; node() &amp;&amp; (style().affectedByDrag() || (is&lt;Element&gt;(node()) &amp;&amp; downcast&lt;Element&gt;(*node()).childrenAffectedByDrag())))
</del><ins>+    if (valueChanged &amp;&amp; node() &amp;&amp; (style().affectedByDrag() || (is&lt;Element&gt;(*node()) &amp;&amp; downcast&lt;Element&gt;(*node()).childrenAffectedByDrag())))
</ins><span class="cx">         node()-&gt;setNeedsStyleRecalc();
</span><span class="cx">     for (RenderObject* curr = firstChildSlow(); curr; curr = curr-&gt;nextSibling())
</span><span class="cx">         curr-&gt;updateDragState(dragOn);
</span><span class="lines">@@ -2234,7 +2234,7 @@
</span><span class="cx"> 
</span><span class="cx">     // FIXME: This &quot;find nearest element parent&quot; should be a helper function.
</span><span class="cx">     Node* node = this-&gt;node();
</span><del>-    while (node &amp;&amp; !is&lt;Element&gt;(node))
</del><ins>+    while (node &amp;&amp; !is&lt;Element&gt;(*node))
</ins><span class="cx">         node = node-&gt;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-&gt;parent();
</span><span class="cx">         if (curr &amp;&amp; curr-&gt;isAnonymousBlock() &amp;&amp; toRenderBlock(curr)-&gt;continuation())
</span><span class="cx">             curr = toRenderBlock(curr)-&gt;continuation();
</span><del>-    } while (curr &amp;&amp; decorations &amp;&amp; (!quirksMode || !curr-&gt;node() || (!is&lt;HTMLAnchorElement&gt;(curr-&gt;node()) &amp;&amp; !curr-&gt;node()-&gt;hasTagName(fontTag))));
</del><ins>+    } while (curr &amp;&amp; decorations &amp;&amp; (!quirksMode || !curr-&gt;node() || (!is&lt;HTMLAnchorElement&gt;(*curr-&gt;node()) &amp;&amp; !curr-&gt;node()-&gt;hasTagName(fontTag))));
</ins><span class="cx"> 
</span><span class="cx">     // If we bailed out, use the element we bailed out at (typically a &lt;font&gt; or &lt;a&gt; element).
</span><span class="cx">     if (decorations &amp;&amp; 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&lt;HTMLProgressElement&gt;(element()))
</del><ins>+    if (is&lt;HTMLProgressElement&gt;(*element()))
</ins><span class="cx">         return downcast&lt;HTMLProgressElement&gt;(element());
</span><span class="cx"> 
</span><span class="cx">     ASSERT(element()-&gt;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&lt;MouseEvent&gt;(event))
</del><ins>+    if (!is&lt;MouseEvent&gt;(*event))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     MouseEvent&amp; mouseEvent = downcast&lt;MouseEvent&gt;(*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&lt;HTMLTableElement&gt;(element());
</del><ins>+    bool isCSSTable = !is&lt;HTMLTableElement&gt;(element());
</ins><span class="cx">     if (isCSSTable &amp;&amp; styleLogicalWidth.isSpecified() &amp;&amp; styleLogicalWidth.isPositive() &amp;&amp; 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 &lt;table&gt; which other browsers allow.
</span><del>-        if ((element() &amp;&amp; is&lt;HTMLTableElement&gt;(element())) || style().boxSizing() == BORDER_BOX) {
</del><ins>+        if (is&lt;HTMLTableElement&gt;(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&lt;HTMLTableCellElement&gt;(element()))
</del><ins>+    if (is&lt;HTMLTableCellElement&gt;(*element()))
</ins><span class="cx">         return std::min&lt;unsigned&gt;(downcast&lt;HTMLTableCellElement&gt;(*element()).colSpan(), maxColumnIndex);
</span><span class="cx"> #if ENABLE(MATHML)
</span><span class="cx">     if (element()-&gt;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&lt;HTMLTableCellElement&gt;(element()))
</del><ins>+    if (is&lt;HTMLTableCellElement&gt;(*element()))
</ins><span class="cx">         return std::min&lt;unsigned&gt;(downcast&lt;HTMLTableCellElement&gt;(*element()).rowSpan(), maxRowIndex);
</span><span class="cx"> #if ENABLE(MATHML)
</span><span class="cx">     if (element()-&gt;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&amp; renderer) const
</span><span class="cx"> {
</span><span class="cx">     Node* node = renderer.node();
</span><del>-    if (!node || !is&lt;Element&gt;(node))
</del><ins>+    if (!is&lt;Element&gt;(node))
</ins><span class="cx">         return true;
</span><span class="cx">     return !downcast&lt;Element&gt;(*node).isDisabledFormControl();
</span><span class="cx"> }
</span><span class="lines">@@ -813,7 +813,7 @@
</span><span class="cx"> bool RenderTheme::isFocused(const RenderObject&amp; renderer) const
</span><span class="cx"> {
</span><span class="cx">     Node* node = renderer.node();
</span><del>-    if (!node || !is&lt;Element&gt;(node))
</del><ins>+    if (!is&lt;Element&gt;(node))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     Element* focusDelegate = downcast&lt;Element&gt;(*node).focusDelegate();
</span><span class="lines">@@ -824,7 +824,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool RenderTheme::isPressed(const RenderObject&amp; renderer) const
</span><span class="cx"> {
</span><del>-    if (!renderer.node() || !is&lt;Element&gt;(renderer.node()))
</del><ins>+    if (!is&lt;Element&gt;(renderer.node()))
</ins><span class="cx">         return false;
</span><span class="cx">     return downcast&lt;Element&gt;(*renderer.node()).active();
</span><span class="cx"> }
</span><span class="lines">@@ -832,7 +832,7 @@
</span><span class="cx"> bool RenderTheme::isSpinUpButtonPartPressed(const RenderObject&amp; renderer) const
</span><span class="cx"> {
</span><span class="cx">     Node* node = renderer.node();
</span><del>-    if (!node || !is&lt;Element&gt;(node))
</del><ins>+    if (!is&lt;Element&gt;(node))
</ins><span class="cx">         return false;
</span><span class="cx">     Element&amp; element = downcast&lt;Element&gt;(*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&amp; renderer) const
</span><span class="cx"> {
</span><span class="cx">     Node* node = renderer.node();
</span><del>-    if (!node || !is&lt;HTMLFormControlElement&gt;(node))
</del><ins>+    if (!is&lt;HTMLFormControlElement&gt;(node))
</ins><span class="cx">         return false;
</span><span class="cx">     return !downcast&lt;Element&gt;(*node).matchesReadWritePseudoClass();
</span><span class="cx"> }
</span><span class="lines">@@ -851,7 +851,7 @@
</span><span class="cx"> bool RenderTheme::isHovered(const RenderObject&amp; renderer) const
</span><span class="cx"> {
</span><span class="cx">     Node* node = renderer.node();
</span><del>-    if (!node || !is&lt;Element&gt;(node))
</del><ins>+    if (!is&lt;Element&gt;(node))
</ins><span class="cx">         return false;
</span><span class="cx">     if (!downcast&lt;Element&gt;(*node).isSpinButtonElement())
</span><span class="cx">         return downcast&lt;Element&gt;(*node).hovered();
</span><span class="lines">@@ -862,7 +862,7 @@
</span><span class="cx"> bool RenderTheme::isSpinUpButtonPartHovered(const RenderObject&amp; renderer) const
</span><span class="cx"> {
</span><span class="cx">     Node* node = renderer.node();
</span><del>-    if (!node || !is&lt;Element&gt;(node) || !downcast&lt;Element&gt;(*node).isSpinButtonElement())
</del><ins>+    if (!is&lt;Element&gt;(node) || !downcast&lt;Element&gt;(*node).isSpinButtonElement())
</ins><span class="cx">         return false;
</span><span class="cx">     SpinButtonElement* element = static_cast&lt;SpinButtonElement*&gt;(node);
</span><span class="cx">     return element-&gt;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-&gt;setFillColor(o.style().visitedDependentColor(CSSPropertyColor), ColorSpaceDeviceRGB);
</span><span class="cx">     for (unsigned i = 0; Node* node = options-&gt;item(i); i++) {
</span><del>-        ASSERT(is&lt;HTMLOptionElement&gt;(node));
</del><ins>+        ASSERT(is&lt;HTMLOptionElement&gt;(*node));
</ins><span class="cx">         HTMLOptionElement&amp; optionElement = downcast&lt;HTMLOptionElement&gt;(*node);
</span><span class="cx">         String value = optionElement.value();
</span><span class="cx">         if (!input-&gt;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-&gt;shadowHost() : nullptr;
</span><span class="cx">     if (!mediaNode)
</span><span class="cx">         mediaNode = node;
</span><del>-    if (!mediaNode || !is&lt;HTMLMediaElement&gt;(mediaNode))
</del><ins>+    if (!is&lt;HTMLMediaElement&gt;(mediaNode))
</ins><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     return downcast&lt;HTMLMediaElement&gt;(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&lt;Element&gt;(node))
</del><ins>+    if (!is&lt;Element&gt;(*node))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     Element&amp; element = downcast&lt;Element&gt;(*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&amp; o)
</span><span class="cx"> {
</span><span class="cx">     bool oldPressed = [cell isHighlighted];
</span><del>-    bool pressed = o.node() &amp;&amp; is&lt;Element&gt;(o.node()) &amp;&amp; downcast&lt;Element&gt;(*o.node()).active();
</del><ins>+    bool pressed = is&lt;Element&gt;(o.node()) &amp;&amp; downcast&lt;Element&gt;(*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() &amp;&amp; is&lt;Element&gt;(o.node())) ? downcast&lt;Element&gt;(o.node())-&gt;focusDelegate() : nullptr;
</del><ins>+        Element* focusDelegate = is&lt;Element&gt;(o.node()) ? downcast&lt;Element&gt;(*o.node()).focusDelegate() : nullptr;
</ins><span class="cx">     if (focusDelegate)
</span><span class="cx">         updateFocusedState(sliderThumbCell, *focusDelegate-&gt;renderer());
</span><span class="cx"> 
</span><span class="lines">@@ -1683,7 +1683,7 @@
</span><span class="cx"> 
</span><span class="cx">     NSSearchFieldCell* search = this-&gt;search();
</span><span class="cx"> 
</span><del>-    if (!input-&gt;isDisabledFormControl() &amp;&amp; (is&lt;HTMLTextFormControlElement&gt;(input) &amp;&amp; !downcast&lt;HTMLTextFormControlElement&gt;(*input).isReadOnly()))
</del><ins>+    if (!input-&gt;isDisabledFormControl() &amp;&amp; (is&lt;HTMLTextFormControlElement&gt;(*input) &amp;&amp; !downcast&lt;HTMLTextFormControlElement&gt;(*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&lt;HTMLElement&gt;(renderBlock.element()))
</del><ins>+    if (!is&lt;HTMLElement&gt;(*renderBlock.element()))
</ins><span class="cx">         return true;
</span><span class="cx"> 
</span><span class="cx">     HTMLElement&amp; plugInOverlay = downcast&lt;HTMLElement&gt;(*renderBlock.element());
</span><span class="cx">     Element* parent = plugInOverlay.parentOrShadowHostElement();
</span><del>-    while (parent &amp;&amp; !is&lt;HTMLPlugInElement&gt;(parent))
</del><ins>+    while (parent &amp;&amp; !is&lt;HTMLPlugInElement&gt;(*parent))
</ins><span class="cx">         parent = parent-&gt;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&lt;HTMLSpanElement&gt;(node))
</del><ins>+    if (!is&lt;HTMLSpanElement&gt;(node))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     const HTMLElement&amp; element = downcast&lt;HTMLSpanElement&gt;(*node);
</span><span class="lines">@@ -393,7 +393,7 @@
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     if (behavior &amp; RenderAsTextShowIDAndClass) {
</span><del>-        if (Element* element = o.node() &amp;&amp; is&lt;Element&gt;(o.node()) ? downcast&lt;Element&gt;(o.node()) : nullptr) {
</del><ins>+        if (Element* element = is&lt;Element&gt;(o.node()) ? downcast&lt;Element&gt;(o.node()) : nullptr) {
</ins><span class="cx">             if (element-&gt;hasID())
</span><span class="cx">                 ts &lt;&lt; &quot; id=\&quot;&quot; + element-&gt;getIdAttribute() + &quot;\&quot;&quot;;
</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-&gt;isFloating() || renderer-&gt;isOutOfFlowPositioned();
</span><span class="cx">     // Avoid creating containers for text within text controls, buttons, or &lt;select&gt; buttons.
</span><span class="cx">     Node* parentNode = renderer-&gt;parent() ? renderer-&gt;parent()-&gt;generatingNode() : nullptr;
</span><del>-    if (parentNode &amp;&amp; is&lt;Element&gt;(parentNode) &amp;&amp; formInputTags().contains(downcast&lt;Element&gt;(*parentNode).tagQName()))
</del><ins>+    if (is&lt;Element&gt;(parentNode) &amp;&amp; formInputTags().contains(downcast&lt;Element&gt;(*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-&gt;node();
</span><del>-        if (rendererNode &amp;&amp; is&lt;Element&gt;(rendererNode)) {
</del><ins>+        if (is&lt;Element&gt;(rendererNode)) {
</ins><span class="cx">             if (tags.contains(downcast&lt;Element&gt;(*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&amp; child, const RenderStyle&amp;) const
</span><span class="cx"> {
</span><del>-    return child.node() &amp;&amp; is&lt;Element&gt;(*child.node());
</del><ins>+    return is&lt;Element&gt;(child.node());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> RenderPtr&lt;RenderMathMLBlock&gt; 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() &amp;&amp; is&lt;SVGGradientElement&gt;(*element().parentElement()))
-        return &amp;downcast&lt;SVGGradientElement&gt;(*element().parentElement());
</del><ins>+    if (is&lt;SVGGradientElement&gt;(element().parentElement()))
+        return downcast&lt;SVGGradientElement&gt;(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 = &amp;downcast&lt;SVGUseElement&gt;(element);
</span><span class="cx">     else if (element.isInShadowTree() &amp;&amp; is&lt;SVGGElement&gt;(element)) {
</span><span class="cx">         SVGElement* correspondingElement = element.correspondingElement();
</span><del>-        if (correspondingElement &amp;&amp; is&lt;SVGUseElement&gt;(correspondingElement))
</del><ins>+        if (is&lt;SVGUseElement&gt;(correspondingElement))
</ins><span class="cx">             useElement = downcast&lt;SVGUseElement&gt;(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() &amp;&amp; is&lt;SVGGraphicsElement&gt;(downcast&lt;SVGElement&gt;(renderer.element()))) {
</del><ins>+    if (svgStyle.hasMasker() &amp;&amp; is&lt;SVGGraphicsElement&gt;(downcast&lt;SVGElement&gt;(*renderer.element()))) {
</ins><span class="cx">         SVGGraphicsElement&amp; graphicsElement = downcast&lt;SVGGraphicsElement&gt;(*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-&gt;nextSibling()) {
</span><span class="cx">         if (sibling-&gt;needsStyleRecalc())
</span><span class="cx">             return;
</span><del>-        if (sibling-&gt;isElementNode()) {
</del><ins>+        if (is&lt;Element&gt;(*sibling)) {
</ins><span class="cx">             // Text renderers beyond rendered elements can't be affected.
</span><span class="cx">             if (!sibling-&gt;renderer() || isRendererReparented(sibling-&gt;renderer()))
</span><span class="cx">                 continue;
</span><span class="cx">             return;
</span><span class="cx">         }
</span><del>-        if (!is&lt;Text&gt;(sibling))
</del><ins>+        if (!is&lt;Text&gt;(*sibling))
</ins><span class="cx">             continue;
</span><span class="cx">         Text&amp; textSibling = downcast&lt;Text&gt;(*sibling);
</span><span class="cx">         if (!textSibling.containsOnlyWhitespace())
</span><span class="lines">@@ -478,11 +478,11 @@
</span><span class="cx">             renderTreePosition.invalidateNextSibling(*child-&gt;renderer());
</span><span class="cx">             continue;
</span><span class="cx">         }
</span><del>-        if (is&lt;Text&gt;(child)) {
</del><ins>+        if (is&lt;Text&gt;(*child)) {
</ins><span class="cx">             attachTextRenderer(downcast&lt;Text&gt;(*child), renderTreePosition);
</span><span class="cx">             continue;
</span><span class="cx">         }
</span><del>-        if (is&lt;Element&gt;(child))
</del><ins>+        if (is&lt;Element&gt;(*child))
</ins><span class="cx">             attachRenderTree(downcast&lt;Element&gt;(*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-&gt;renderer())
</span><span class="cx">             renderTreePosition.invalidateNextSibling(*current-&gt;renderer());
</span><del>-        if (is&lt;Text&gt;(current)) {
</del><ins>+        if (is&lt;Text&gt;(*current)) {
</ins><span class="cx">             if (current-&gt;renderer())
</span><span class="cx">                 continue;
</span><span class="cx">             attachTextRenderer(downcast&lt;Text&gt;(*current), renderTreePosition);
</span><span class="cx">             continue;
</span><span class="cx">         }
</span><del>-        if (is&lt;Element&gt;(current)) {
</del><ins>+        if (is&lt;Element&gt;(*current)) {
</ins><span class="cx">             Element&amp; currentElement = downcast&lt;Element&gt;(*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&amp; insertionPoint)
</span><span class="cx"> {
</span><span class="cx">     for (Node* current = insertionPoint.firstDistributed(); current; current = insertionPoint.nextDistributedTo(current)) {
</span><del>-        if (is&lt;Text&gt;(current)) {
</del><ins>+        if (is&lt;Text&gt;(*current)) {
</ins><span class="cx">             detachTextRenderer(downcast&lt;Text&gt;(*current));
</span><span class="cx">             continue;
</span><span class="cx">         }
</span><del>-        if (is&lt;Element&gt;(current))
</del><ins>+        if (is&lt;Element&gt;(*current))
</ins><span class="cx">             detachRenderTree(downcast&lt;Element&gt;(*current));
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="lines">@@ -666,11 +666,11 @@
</span><span class="cx">         detachDistributedChildren(downcast&lt;InsertionPoint&gt;(current));
</span><span class="cx"> 
</span><span class="cx">     for (Node* child = current.firstChild(); child; child = child-&gt;nextSibling()) {
</span><del>-        if (is&lt;Text&gt;(child)) {
</del><ins>+        if (is&lt;Text&gt;(*child)) {
</ins><span class="cx">             Style::detachTextRenderer(downcast&lt;Text&gt;(*child));
</span><span class="cx">             continue;
</span><span class="cx">         }
</span><del>-        if (is&lt;Element&gt;(child))
</del><ins>+        if (is&lt;Element&gt;(*child))
</ins><span class="cx">             detachRenderTree(downcast&lt;Element&gt;(*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-&gt;nextSibling()) {
</span><span class="cx">         if (child-&gt;renderer())
</span><span class="cx">             renderTreePosition.invalidateNextSibling(*child-&gt;renderer());
</span><del>-        if (is&lt;Text&gt;(child) &amp;&amp; child-&gt;needsStyleRecalc()) {
</del><ins>+        if (is&lt;Text&gt;(*child) &amp;&amp; child-&gt;needsStyleRecalc()) {
</ins><span class="cx">             resolveTextNode(downcast&lt;Text&gt;(*child), renderTreePosition);
</span><span class="cx">             continue;
</span><span class="cx">         }
</span><del>-        if (is&lt;Element&gt;(child))
</del><ins>+        if (is&lt;Element&gt;(*child))
</ins><span class="cx">             resolveTree(downcast&lt;Element&gt;(*child), host.renderer()-&gt;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-&gt;nextSibling()) {
</span><span class="cx">             if (RenderObject* childRenderer = child-&gt;renderer())
</span><span class="cx">                 childRenderTreePosition.invalidateNextSibling(*childRenderer);
</span><del>-            if (is&lt;Text&gt;(child) &amp;&amp; child-&gt;needsStyleRecalc()) {
</del><ins>+            if (is&lt;Text&gt;(*child) &amp;&amp; child-&gt;needsStyleRecalc()) {
</ins><span class="cx">                 resolveTextNode(downcast&lt;Text&gt;(*child), childRenderTreePosition);
</span><span class="cx">                 continue;
</span><span class="cx">             }
</span><del>-            if (!is&lt;Element&gt;(child))
</del><ins>+            if (!is&lt;Element&gt;(*child))
</ins><span class="cx">                 continue;
</span><span class="cx"> 
</span><span class="cx">             Element&amp; childElement = downcast&lt;Element&gt;(*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 &amp;&amp; is&lt;SVGSMILElement&gt;(*targetElement)) {
</del><ins>+                if (is&lt;SVGSMILElement&gt;(targetElement)) {
</ins><span class="cx">                     downcast&lt;SVGSMILElement&gt;(*targetElement).beginByLinkActivation();
</span><span class="cx">                     event-&gt;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&lt;SVGGlyphElement&gt;(element)) {
</del><ins>+    if (is&lt;SVGGlyphElement&gt;(*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&lt;SVGAltGlyphDefElement&gt;(element)
</del><ins>+    if (is&lt;SVGAltGlyphDefElement&gt;(*element)
</ins><span class="cx">         &amp;&amp; downcast&lt;SVGAltGlyphDefElement&gt;(*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-&gt;hasTagName(gTag)
</span><span class="cx">         || targetElement-&gt;hasTagName(defsTag)
</span><span class="cx">         || targetElement-&gt;hasTagName(useTag)
</span><del>-        || is&lt;SVGImageElement&gt;(targetElement)
</del><ins>+        || is&lt;SVGImageElement&gt;(*targetElement)
</ins><span class="cx">         || targetElement-&gt;hasTagName(switchTag)
</span><span class="cx">         || targetElement-&gt;hasTagName(pathTag)
</span><span class="cx">         || targetElement-&gt;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 &amp;&amp; is&lt;SVGSVGElement&gt;(element))
</del><ins>+    if (is&lt;SVGSVGElement&gt;(element))
</ins><span class="cx">         return downcast&lt;SVGSVGElement&gt;(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&lt;SVGSVGElement&gt;(this))
</del><ins>+    if (!is&lt;SVGSVGElement&gt;(*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 &lt;svg&gt; 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&lt;SVGSVGElement&gt;(node))
</del><ins>+        if (is&lt;SVGSVGElement&gt;(*node))
</ins><span class="cx">             return downcast&lt;SVGSVGElement&gt;(node);
</span><span class="cx"> 
</span><span class="cx">         node = node-&gt;parentOrShadowHostNode();
</span><span class="lines">@@ -411,7 +411,7 @@
</span><span class="cx">     // to determine the &quot;overflow&quot; property. &lt;use&gt; on &lt;symbol&gt; wouldn't work otherwhise.
</span><span class="cx">     ContainerNode* node = parentOrShadowHostNode();
</span><span class="cx">     while (node) {
</span><del>-        if (is&lt;SVGSVGElement&gt;(node) || is&lt;SVGImageElement&gt;(node) || node-&gt;hasTagName(SVGNames::symbolTag))
</del><ins>+        if (is&lt;SVGSVGElement&gt;(*node) || is&lt;SVGImageElement&gt;(*node) || node-&gt;hasTagName(SVGNames::symbolTag))
</ins><span class="cx">             return downcast&lt;SVGElement&gt;(node);
</span><span class="cx"> 
</span><span class="cx">         node = node-&gt;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-&gt;element()) {
</span><span class="cx">             language = parentRendererElement-&gt;getAttribute(XMLNames::langAttr);
</span><span class="cx"> 
</span><del>-            if (is&lt;SVGAltGlyphElement&gt;(parentRendererElement)) {
</del><ins>+            if (is&lt;SVGAltGlyphElement&gt;(*parentRendererElement)) {
</ins><span class="cx">                 SVGAltGlyphElement&amp; altGlyph = downcast&lt;SVGAltGlyphElement&gt;(*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&lt;SVGFontElement&gt;(parentNode()));
</del><ins>+    ASSERT(!parentNode() || is&lt;SVGFontElement&gt;(*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&lt;SVGFontFaceSrcElement&gt;(*this).first();
</span><span class="cx"> 
</span><del>-    bool describesParentFont = is&lt;SVGFontElement&gt;(parentNode());
</del><ins>+    bool describesParentFont = is&lt;SVGFontElement&gt;(*parentNode());
</ins><span class="cx">     RefPtr&lt;CSSValueList&gt; 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&amp; change)
</span><span class="cx"> {
</span><span class="cx">     SVGElement::childrenChanged(change);
</span><del>-    if (parentNode() &amp;&amp; is&lt;SVGFontFaceElement&gt;(parentNode()))
</del><ins>+    if (is&lt;SVGFontFaceElement&gt;(parentNode()))
</ins><span class="cx">         downcast&lt;SVGFontFaceElement&gt;(*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 &amp;&amp; is&lt;SVGFontElement&gt;(fontNode))
</del><ins>+    if (is&lt;SVGFontElement&gt;(fontNode))
</ins><span class="cx">         downcast&lt;SVGFontElement&gt;(*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&amp; rootParent)
</span><span class="cx"> {
</span><span class="cx">     ContainerNode* fontNode = parentNode();
</span><del>-    if (fontNode &amp;&amp; is&lt;SVGFontElement&gt;(fontNode))
</del><ins>+    if (is&lt;SVGFontElement&gt;(fontNode))
</ins><span class="cx">         downcast&lt;SVGFontElement&gt;(*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&amp; rootParent)
</span><span class="cx"> {
</span><span class="cx">     ContainerNode* fontNode = parentNode();
</span><del>-    if (fontNode &amp;&amp; is&lt;SVGFontElement&gt;(fontNode))
</del><ins>+    if (is&lt;SVGFontElement&gt;(fontNode))
</ins><span class="cx">         downcast&lt;SVGFontElement&gt;(*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-&gt;viewportElement();
</span><del>-    if (!viewportElement || !is&lt;SVGSVGElement&gt;(viewportElement))
</del><ins>+    if (!is&lt;SVGSVGElement&gt;(viewportElement))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     const SVGSVGElement&amp; svg = downcast&lt;SVGSVGElement&gt;(*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-&gt;href(), document());
</span><del>-        if (refNode &amp;&amp; is&lt;SVGGradientElement&gt;(*refNode)) {
</del><ins>+        if (is&lt;SVGGradientElement&gt;(refNode)) {
</ins><span class="cx">             current = downcast&lt;SVGGradientElement&gt;(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-&gt;hasTagName(SVGNames::svgTag)
</span><span class="cx">         || node-&gt;hasTagName(SVGNames::symbolTag)
</span><span class="cx">         || node-&gt;hasTagName(SVGNames::foreignObjectTag)
</span><del>-        || is&lt;SVGImageElement&gt;(node));
</del><ins>+        || is&lt;SVGImageElement&gt;(*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 &amp;&amp; is&lt;SVGGraphicsElement&gt;(target)) {
</del><ins>+    if (is&lt;SVGGraphicsElement&gt;(target)) {
</ins><span class="cx">         AffineTransform targetCTM = downcast&lt;SVGGraphicsElement&gt;(*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 &amp;&amp; is&lt;SVGPathElement&gt;(target))
</del><ins>+    if (is&lt;SVGPathElement&gt;(target))
</ins><span class="cx">         return downcast&lt;SVGPathElement&gt;(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 &amp;&amp; is&lt;SVGAnimateMotionElement&gt;(parent))
</del><ins>+    if (is&lt;SVGAnimateMotionElement&gt;(parent))
</ins><span class="cx">         downcast&lt;SVGAnimateMotionElement&gt;(*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&lt;SVGElement*&gt;* dependencies = document().accessSVGExtensions().setOfElementsReferencingTarget(this)) {
</span><span class="cx">         for (auto* element : *dependencies) {
</span><del>-            if (is&lt;SVGMPathElement&gt;(element))
</del><ins>+            if (is&lt;SVGMPathElement&gt;(*element))
</ins><span class="cx">                 downcast&lt;SVGMPathElement&gt;(*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-&gt;href(), document());
</span><del>-        if (refElement &amp;&amp; is&lt;SVGPatternElement&gt;(refElement)) {
</del><ins>+        if (is&lt;SVGPatternElement&gt;(refElement)) {
</ins><span class="cx">             current = downcast&lt;SVGPatternElement&gt;(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-&gt;href(), document());
</span><del>-        if (refNode &amp;&amp; is&lt;SVGGradientElement&gt;(*refNode)) {
</del><ins>+        if (is&lt;SVGGradientElement&gt;(refNode)) {
</ins><span class="cx">             current = downcast&lt;SVGGradientElement&gt;(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 &amp;&amp; is&lt;SVGViewElement&gt;(anchorNode)) {
</del><ins>+    if (is&lt;SVGViewElement&gt;(anchorNode)) {
</ins><span class="cx">         SVGViewElement&amp; viewElement = downcast&lt;SVGViewElement&gt;(*anchorNode);
</span><span class="cx">         SVGElement* element = SVGLocatable::nearestViewportElement(&amp;viewElement);
</span><del>-        if (is&lt;SVGSVGElement&gt;(element)) {
</del><ins>+        if (is&lt;SVGSVGElement&gt;(*element)) {
</ins><span class="cx">             SVGSVGElement&amp; svg = downcast&lt;SVGSVGElement&gt;(*element);
</span><span class="cx">             svg.inheritViewAttributes(&amp;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&lt;SVGElement&gt;(renderer-&gt;node());
</span><span class="cx">     ASSERT(element);
</span><span class="cx"> 
</span><del>-    if (!is&lt;SVGTextContentElement&gt;(element))
</del><ins>+    if (!is&lt;SVGTextContentElement&gt;(*element))
</ins><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     return downcast&lt;SVGTextContentElement&gt;(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-&gt;correspondingElement();
</span><span class="cx">     ASSERT(element);
</span><span class="cx"> 
</span><del>-    if (is&lt;SVGUseElement&gt;(element)) {
</del><ins>+    if (is&lt;SVGUseElement&gt;(*element)) {
</ins><span class="cx">         if (downcast&lt;SVGUseElement&gt;(*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-&gt;shadowTreeElement() : nullptr;
</span><del>-    if (!element)
-        return;
-
</del><span class="cx">     if (is&lt;SVGGraphicsElement&gt;(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 &lt;use&gt; 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 &lt;use&gt; elements.
</span><del>-    if (is&lt;SVGUseElement&gt;(element)) {
</del><ins>+    if (is&lt;SVGUseElement&gt;(*element)) {
</ins><span class="cx">         SVGUseElement&amp; use = downcast&lt;SVGUseElement&gt;(*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&lt;SVGSymbolElement&gt;(node)) {
</del><ins>+    if (is&lt;SVGSymbolElement&gt;(*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 &amp;&amp; is&lt;SVGFontElement&gt;(fontNode))
</del><ins>+        if (is&lt;SVGFontElement&gt;(fontNode))
</ins><span class="cx">             downcast&lt;SVGFontElement&gt;(*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&amp; rootParent)
</span><span class="cx"> {
</span><span class="cx">     ContainerNode* fontNode = parentNode();
</span><del>-    if (fontNode &amp;&amp; is&lt;SVGFontElement&gt;(fontNode))
</del><ins>+    if (is&lt;SVGFontElement&gt;(fontNode))
</ins><span class="cx">         downcast&lt;SVGFontElement&gt;(*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() &amp;&amp; is&lt;Element&gt;(parentNode()) ? downcast&lt;Element&gt;(parentNode()) : nullptr;
</del><ins>+        target = is&lt;Element&gt;(parentNode()) ? downcast&lt;Element&gt;(parentNode()) : nullptr;
</ins><span class="cx">     else
</span><span class="cx">         target = SVGURIReference::targetElementFromIRIString(href, document(), &amp;id);
</span><del>-    SVGElement* svgTarget = target &amp;&amp; is&lt;SVGElement&gt;(target) ? downcast&lt;SVGElement&gt;(target) : nullptr;
</del><ins>+    SVGElement* svgTarget = is&lt;SVGElement&gt;(target) ? downcast&lt;SVGElement&gt;(target) : nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (svgTarget &amp;&amp; !svgTarget-&gt;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&lt;SVGImageForContainer&gt; imageForContainer = it-&gt;value;
</span><span class="cx">     
</span><span class="cx">     Node* node = renderer-&gt;node();
</span><del>-    if (node &amp;&amp; is&lt;HTMLImageElement&gt;(node)) {
</del><ins>+    if (is&lt;HTMLImageElement&gt;(node)) {
</ins><span class="cx">         const AtomicString&amp; urlString = downcast&lt;HTMLImageElement&gt;(*node).imageSourceURL();
</span><span class="cx">         URL url = node-&gt;document().completeURL(urlString);
</span><span class="cx">         imageForContainer-&gt;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&amp; ec) const
</span><span class="cx"> {
</span><del>-    if (!root || !is&lt;ShadowRoot&gt;(root)) {
</del><ins>+    if (!is&lt;ShadowRoot&gt;(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 &amp;&amp; is&lt;HTMLTextFormControlElement&gt;(*element)) {
</del><ins>+    if (is&lt;HTMLTextFormControlElement&gt;(element)) {
</ins><span class="cx">         const HTMLTextFormControlElement&amp; textFormControlElement = downcast&lt;HTMLTextFormControlElement&gt;(*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&amp; colorValue)
</span><span class="cx"> {
</span><del>-    if (!is&lt;HTMLInputElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLInputElement&gt;(*element))
</ins><span class="cx">         return;
</span><span class="cx">     HTMLInputElement* inputElement = element-&gt;toInputElement();
</span><span class="cx">     if (!inputElement)
</span><span class="lines">@@ -912,7 +912,7 @@
</span><span class="cx">     if (HTMLInputElement* inputElement = textField-&gt;toInputElement())
</span><span class="cx">         return inputElement-&gt;lastChangeWasUserEdit();
</span><span class="cx"> 
</span><del>-    if (is&lt;HTMLTextAreaElement&gt;(textField))
</del><ins>+    if (is&lt;HTMLTextAreaElement&gt;(*textField))
</ins><span class="cx">         return downcast&lt;HTMLTextAreaElement&gt;(*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&lt;Document&gt;(node))
</del><ins>+    else if (is&lt;Document&gt;(*node))
</ins><span class="cx">         document = downcast&lt;Document&gt;(node);
</span><del>-    else if (is&lt;HTMLIFrameElement&gt;(node))
</del><ins>+    else if (is&lt;HTMLIFrameElement&gt;(*node))
</ins><span class="cx">         document = downcast&lt;HTMLIFrameElement&gt;(*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&lt;HTMLSelectElement&gt;(node))
</del><ins>+    if (!is&lt;HTMLSelectElement&gt;(*node))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     HTMLSelectElement&amp; select = downcast&lt;HTMLSelectElement&gt;(*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&lt;JSDOMGlobalObject*&gt;(exec-&gt;lexicalGlobalObject());
</span><span class="cx">     ScriptExecutionContext* scriptContext = globalObject-&gt;scriptExecutionContext();
</span><del>-    if (is&lt;Document&gt;(scriptContext))
</del><ins>+    if (is&lt;Document&gt;(*scriptContext))
</ins><span class="cx">         globalObject-&gt;putDirect(exec-&gt;vm(), Identifier(exec, Internals::internalsId), toJS(exec, globalObject, Internals::create(downcast&lt;Document&gt;(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&lt;Document&gt;(scriptExecutionContext())) {
</del><ins>+    if (is&lt;Document&gt;(*scriptExecutionContext())) {
</ins><span class="cx">         Document&amp; document = downcast&lt;Document&gt;(*scriptExecutionContext());
</span><span class="cx">         if (document.frame())
</span><span class="cx">             shouldBypassMainWorldContentSecurityPolicy = document.frame()-&gt;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-&gt;nodeType() != Node::XPATH_NAMESPACE_NODE); // Not supported yet.
</span><del>-    if (is&lt;ProcessingInstruction&gt;(node))
</del><ins>+    if (is&lt;ProcessingInstruction&gt;(*node))
</ins><span class="cx">         return downcast&lt;ProcessingInstruction&gt;(*node).target();
</span><span class="cx">     return node-&gt;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&lt;Element&gt;(node)) {
</del><ins>+        if (is&lt;Element&gt;(*node)) {
</ins><span class="cx">             Element&amp; element = downcast&lt;Element&gt;(*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 &lt; to; ++i) {
</span><span class="cx">             Node* node = parentMatrix[i][0];
</span><del>-            if (is&lt;Attr&gt;(node) &amp;&amp; downcast&lt;Attr&gt;(*node).ownerElement() == commonAncestor)
</del><ins>+            if (is&lt;Attr&gt;(*node) &amp;&amp; downcast&lt;Attr&gt;(*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&lt;Node*&gt;&amp; parentsVector = parentMatrix[i];
</span><span class="cx">         Node* node = m_nodes[i].get();
</span><span class="cx">         parentsVector.append(node);
</span><del>-        if (is&lt;Attr&gt;(node)) {
</del><ins>+        if (is&lt;Attr&gt;(*node)) {
</ins><span class="cx">             node = downcast&lt;Attr&gt;(*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&lt;Attr&gt;(node))
</del><ins>+    if (is&lt;Attr&gt;(*node))
</ins><span class="cx">         node = downcast&lt;Attr&gt;(*node).ownerElement();
</span><span class="cx">     if (node-&gt;inDocument())
</span><span class="cx">         node = &amp;node-&gt;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&lt;Element&gt;(node))
</del><ins>+        if (!containsAttributeNodes || !is&lt;Element&gt;(*node))
</ins><span class="cx">             continue;
</span><span class="cx"> 
</span><span class="cx">         Element&amp; element = downcast&lt;Element&gt;(*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-&gt;parentNode();
</span><del>-        if (!node || !is&lt;Element&gt;(node))
</del><ins>+        if (!is&lt;Element&gt;(node))
</ins><span class="cx">             break;
</span><span class="cx">         parentElement = downcast&lt;Element&gt;(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  &lt;cdumez@apple.com&gt;
+
+        Have is&lt;&gt;(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&lt;&gt;(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&lt;&gt;(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  &lt;dabates@apple.com&gt;
</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&lt;HTMLInputElement&gt;(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  &lt;cdumez@apple.com&gt;
+
+        Have is&lt;&gt;(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&lt;&gt;(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&lt;&gt;(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  &lt;mrowe@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         &lt;https://webkit.org/b/137308&gt; 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&lt;HTMLInputElement&gt;(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&lt;HTMLInputElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLInputElement&gt;(*element))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     DOMHTMLInputElement* inputElement = kit(downcast&lt;HTMLInputElement&gt;(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&lt;HTMLInputElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLInputElement&gt;(*element))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     DOMHTMLInputElement* inputElement = kit(downcast&lt;HTMLInputElement&gt;(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&lt;HTMLInputElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLInputElement&gt;(*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&lt;HTMLInputElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLInputElement&gt;(*element))
</ins><span class="cx">         return NO;
</span><span class="cx"> 
</span><span class="cx">     DOMHTMLInputElement* inputElement = kit(downcast&lt;HTMLInputElement&gt;(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&lt;HTMLInputElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLInputElement&gt;(*element))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     DOMHTMLInputElement* inputElement = kit(downcast&lt;HTMLInputElement&gt;(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&lt;HTMLTextAreaElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLTextAreaElement&gt;(*element))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     DOMHTMLTextAreaElement* textAreaElement = kit(downcast&lt;HTMLTextAreaElement&gt;(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 &amp;&amp; is&lt;HTMLInputElement&gt;(node) ? downcast&lt;HTMLInputElement&gt;(node) : nullptr;
</del><ins>+    return is&lt;HTMLInputElement&gt;(node) ? downcast&lt;HTMLInputElement&gt;(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 &amp;&amp; lengthSearched &lt; charsSearchedThreshold;
</span><span class="cx">         n = NodeTraversal::previous(n)) {
</span><del>-        if (is&lt;HTMLFormElement&gt;(n) || is&lt;HTMLFormControlElement&gt;(n)) {
</del><ins>+        if (is&lt;HTMLFormElement&gt;(*n) || is&lt;HTMLFormControlElement&gt;(*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&amp; renderer = layer-&gt;renderer();
</span><span class="cx">     NSString *name = [NSString stringWithUTF8String:renderer.renderName()];
</span><span class="cx"> 
</span><del>-    if (Element* element = renderer.node() &amp;&amp; is&lt;Element&gt;(renderer.node()) ? downcast&lt;Element&gt;(renderer.node()) : nullptr) {
</del><ins>+    if (Element* element = is&lt;Element&gt;(renderer.node()) ? downcast&lt;Element&gt;(renderer.node()) : nullptr) {
</ins><span class="cx">         name = [name stringByAppendingFormat:@&quot; %@&quot;, (NSString *)element-&gt;tagName()];
</span><span class="cx">         if (element-&gt;hasID())
</span><span class="cx">             name = [name stringByAppendingFormat:@&quot; id=\&quot;%@\&quot;&quot;, (NSString *)element-&gt;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  &lt;cdumez@apple.com&gt;
+
+        Have is&lt;&gt;(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&lt;&gt;(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&lt;&gt;(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  &lt;cdumez@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Generalize is&lt;&gt;() / downcast&lt;&gt;() 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&lt;WebCore::HTMLFormElement&gt;(e)) {
</del><ins>+    if (is&lt;WebCore::HTMLFormElement&gt;(*e)) {
</ins><span class="cx">         DOMHTMLFormElement* newElement = new DOMHTMLFormElement(e);
</span><span class="cx">         hr = newElement-&gt;QueryInterface(IID_IDOMElement, (void**)&amp;domElement);
</span><span class="cx">     } else if (e-&gt;hasTagName(iframeTag)) {
</span><span class="cx">         DOMHTMLIFrameElement* newElement = new DOMHTMLIFrameElement(e);
</span><span class="cx">         hr = newElement-&gt;QueryInterface(IID_IDOMElement, (void**)&amp;domElement);
</span><del>-    } else if (is&lt;WebCore::HTMLInputElement&gt;(e)) {
</del><ins>+    } else if (is&lt;WebCore::HTMLInputElement&gt;(*e)) {
</ins><span class="cx">         DOMHTMLInputElement* newElement = new DOMHTMLInputElement(e);
</span><span class="cx">         hr = newElement-&gt;QueryInterface(IID_IDOMElement, (void**)&amp;domElement);
</span><del>-    } else if (is&lt;WebCore::HTMLOptionElement&gt;(e)) {
</del><ins>+    } else if (is&lt;WebCore::HTMLOptionElement&gt;(*e)) {
</ins><span class="cx">         DOMHTMLOptionElement* newElement = new DOMHTMLOptionElement(e);
</span><span class="cx">         hr = newElement-&gt;QueryInterface(IID_IDOMElement, (void**)&amp;domElement);
</span><span class="cx">     } else if (e-&gt;hasTagName(selectTag)) {
</span><span class="cx">         DOMHTMLSelectElement* newElement = new DOMHTMLSelectElement(e);
</span><span class="cx">         hr = newElement-&gt;QueryInterface(IID_IDOMElement, (void**)&amp;domElement);
</span><del>-    } else if (is&lt;WebCore::HTMLTextAreaElement&gt;(e)) {
</del><ins>+    } else if (is&lt;WebCore::HTMLTextAreaElement&gt;(*e)) {
</ins><span class="cx">         DOMHTMLTextAreaElement* newElement = new DOMHTMLTextAreaElement(e);
</span><span class="cx">         hr = newElement-&gt;QueryInterface(IID_IDOMElement, (void**)&amp;domElement);
</span><span class="cx">     } else if (e-&gt;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&lt;HTMLDocument&gt;(m_document))
</del><ins>+    if (!is&lt;HTMLDocument&gt;(m_document))
</ins><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     HTMLDocument&amp; htmlDoc = downcast&lt;HTMLDocument&gt;(*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&lt;HTMLDocument&gt;(m_document))
</del><ins>+    if (!is&lt;HTMLDocument&gt;(m_document))
</ins><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     HTMLDocument&amp; htmlDoc = downcast&lt;HTMLDocument&gt;(*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 &amp;&amp; is&lt;HTMLElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLElement&gt;(m_element));
</ins><span class="cx">     String idString = downcast&lt;HTMLElement&gt;(m_element)-&gt;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 &amp;&amp; is&lt;HTMLElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLElement&gt;(m_element));
</ins><span class="cx">     WTF::String innerTextString = downcast&lt;HTMLElement&gt;(m_element)-&gt;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 &amp;&amp; is&lt;HTMLElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLElement&gt;(m_element));
</ins><span class="cx">     HTMLElement* htmlEle = downcast&lt;HTMLElement&gt;(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 &amp;&amp; is&lt;HTMLFormElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLFormElement&gt;(m_element));
</ins><span class="cx">     WTF::String actionString = downcast&lt;HTMLFormElement&gt;(*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 &amp;&amp; is&lt;HTMLFormElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLFormElement&gt;(m_element));
</ins><span class="cx">     WTF::String methodString = downcast&lt;HTMLFormElement&gt;(*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&lt;HTMLOptionElement&gt;(m_element));
</span><span class="cx">     HTMLOptionElement&amp; optionElement = downcast&lt;HTMLOptionElement&gt;(*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&lt;HTMLOptionElement&gt;(m_element));
</span><span class="cx">     HTMLOptionElement&amp; optionElement = downcast&lt;HTMLOptionElement&gt;(*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 &amp;&amp; is&lt;HTMLInputElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</ins><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*m_element);
</span><span class="cx">     COMPtr&lt;IDOMElement&gt; 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 &amp;&amp; is&lt;HTMLInputElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</ins><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*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 &amp;&amp; is&lt;HTMLInputElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</ins><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*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 &amp;&amp; is&lt;HTMLInputElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</ins><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*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 &amp;&amp; is&lt;HTMLInputElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</ins><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*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 &amp;&amp; is&lt;HTMLInputElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</ins><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*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&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*m_element);
</span><span class="cx">     inputElement.setValueForUser(String(static_cast&lt;UChar*&gt;(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 &amp;&amp; is&lt;HTMLInputElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</ins><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*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 &amp;&amp; is&lt;HTMLInputElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</ins><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*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 &amp;&amp; is&lt;HTMLInputElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</ins><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*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 &amp;&amp; is&lt;HTMLInputElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</ins><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*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 &amp;&amp; is&lt;HTMLInputElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</ins><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*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&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*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&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     rect-&gt;left = rect-&gt;top = rect-&gt;right = rect-&gt;bottom = 0;
</span><span class="cx">     RenderObject* renderer = m_element-&gt;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&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*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&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*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&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*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&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*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 &amp;&amp; is&lt;HTMLInputElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</ins><span class="cx">     BOOL textField = FALSE;
</span><span class="cx">     if (FAILED(isTextField(&amp;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 &amp;&amp; is&lt;HTMLTextAreaElement&gt;(m_element));
</del><ins>+    *result = nullptr;
+    ASSERT(is&lt;HTMLTextAreaElement&gt;(m_element));
</ins><span class="cx">     HTMLTextAreaElement&amp; textareaElement = downcast&lt;HTMLTextAreaElement&gt;(*m_element);
</span><span class="cx">     COMPtr&lt;IDOMElement&gt; 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 &amp;&amp; is&lt;HTMLTextAreaElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLTextAreaElement&gt;(m_element));
</ins><span class="cx">     HTMLTextAreaElement&amp; textareaElement = downcast&lt;HTMLTextAreaElement&gt;(*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 &amp;&amp; is&lt;HTMLTextAreaElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLTextAreaElement&gt;(m_element));
</ins><span class="cx">     HTMLTextAreaElement&amp; textareaElement = downcast&lt;HTMLTextAreaElement&gt;(*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 &amp;&amp; is&lt;HTMLTextAreaElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLTextAreaElement&gt;(m_element));
</ins><span class="cx">     HTMLTextAreaElement&amp; textareaElement = downcast&lt;HTMLTextAreaElement&gt;(*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 &amp;&amp; is&lt;HTMLTextAreaElement&gt;(m_element));
</del><ins>+    ASSERT(is&lt;HTMLTextAreaElement&gt;(m_element));
</ins><span class="cx">     if (downcast&lt;HTMLTextAreaElement&gt;(*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-&gt;coreElement((void**)&amp;ele);
</span><span class="cx">         elePriv-&gt;Release();
</span><del>-        if (SUCCEEDED(hr) &amp;&amp; ele &amp;&amp; is&lt;HTMLFormElement&gt;(ele))
</del><ins>+        if (SUCCEEDED(hr) &amp;&amp; is&lt;HTMLFormElement&gt;(ele))
</ins><span class="cx">             return downcast&lt;HTMLFormElement&gt;(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-&gt;coreElement((void**)&amp;ele);
</span><span class="cx">         elePriv-&gt;Release();
</span><del>-        if (SUCCEEDED(hr) &amp;&amp; ele &amp;&amp; is&lt;HTMLInputElement&gt;(ele))
</del><ins>+        if (SUCCEEDED(hr) &amp;&amp; is&lt;HTMLInputElement&gt;(ele))
</ins><span class="cx">             return downcast&lt;HTMLInputElement&gt;(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&lt;FormAssociatedElement*&gt;&amp; elements = formElement-&gt;associatedElements();
</span><span class="cx">         AtomicString targetName((UChar*)name, SysStringLen(name));
</span><span class="cx">         for (unsigned int i = 0; i &lt; elements.size(); i++) {
</span><del>-            if (!is&lt;HTMLFormControlElement&gt;(elements[i]))
</del><ins>+            if (!is&lt;HTMLFormControlElement&gt;(*elements[i]))
</ins><span class="cx">                 continue;
</span><span class="cx">             HTMLFormControlElement&amp; elt = downcast&lt;HTMLFormControlElement&gt;(*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  &lt;cdumez@apple.com&gt;
+
+        Have is&lt;&gt;(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&lt;&gt;(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&lt;&gt;(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  &lt;dabates@apple.com&gt;
</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-&gt;renderName();
</span><span class="cx"> 
</span><span class="cx">     if (Node* node = renderer-&gt;node()) {
</span><del>-        if (is&lt;Element&gt;(node)) {
</del><ins>+        if (is&lt;Element&gt;(*node)) {
</ins><span class="cx">             Element&amp; element = downcast&lt;Element&gt;(*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&lt;Element&gt;(node))
</del><ins>+    if (!is&lt;Element&gt;(*node))
</ins><span class="cx">         return BundleHitTestResultMediaTypeNone;
</span><span class="cx">     
</span><span class="cx">     if (!downcast&lt;Element&gt;(*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&lt;WebEvent&gt; simulatedWebEvent;
</span><del>-    if (is&lt;MouseEvent&gt;(event) &amp;&amp; downcast&lt;MouseEvent&gt;(*event).isSimulated()) {
</del><ins>+    if (is&lt;MouseEvent&gt;(*event) &amp;&amp; downcast&lt;MouseEvent&gt;(*event).isSimulated()) {
</ins><span class="cx">         simulatedWebEvent = createWebEvent(downcast&lt;MouseEvent&gt;(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&lt;HTMLInputElement&gt;(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&lt;HTMLInputElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLInputElement&gt;(*element))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     WebFrame* webFrame = WebFrame::fromCoreFrame(*element-&gt;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&lt;HTMLInputElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLInputElement&gt;(*element))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     WebFrame* webFrame = WebFrame::fromCoreFrame(*element-&gt;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&lt;HTMLInputElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLInputElement&gt;(*element))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     bool initiatedByUserTyping = UserTypingGestureIndicator::processingUserTypingGesture() &amp;&amp; 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&lt;HTMLTextAreaElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLTextAreaElement&gt;(*element))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     WebFrame* webFrame = WebFrame::fromCoreFrame(*element-&gt;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&lt;HTMLInputElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLInputElement&gt;(*element))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     WKInputFieldActionType actionType = static_cast&lt;WKInputFieldActionType&gt;(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&lt;HTMLInputElement&gt;(element))
</del><ins>+    if (!is&lt;HTMLInputElement&gt;(*element))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     WebFrame* webFrame = WebFrame::fromCoreFrame(*element-&gt;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-&gt;documentElement(); node; node = NodeTraversal::next(node)) {
</span><del>-        if (!node-&gt;isElementNode())
</del><ins>+        if (!is&lt;Element&gt;(*node))
</ins><span class="cx">             continue;
</span><del>-        if (is&lt;HTMLFormElement&gt;(node))
</del><ins>+        if (is&lt;HTMLFormElement&gt;(*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-&gt;documentElement(); node; node = NodeTraversal::next(node)) {
</span><del>-        if (!node-&gt;isElementNode())
</del><ins>+        if (!is&lt;Element&gt;(*node))
</ins><span class="cx">             continue;
</span><del>-        if (is&lt;HTMLInputElement&gt;(node) || is&lt;HTMLSelectElement&gt;(node) || is&lt;HTMLTextAreaElement&gt;(node))
</del><ins>+        if (is&lt;HTMLInputElement&gt;(*node) || is&lt;HTMLSelectElement&gt;(*node) || is&lt;HTMLTextAreaElement&gt;(*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&lt;PDFDocument&gt; WebPage::pdfDocumentForPrintingFrame(Frame* coreFrame)
</span><span class="cx"> {
</span><span class="cx">     Document* document = coreFrame-&gt;document();
</span><del>-    if (!document)
-        return nullptr;
-
</del><span class="cx">     if (!is&lt;PluginDocument&gt;(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 != &amp;plugInImageElement) {
</span><del>-                if (!(is&lt;HTMLImageElement&gt;(element)
</del><ins>+                if (!(is&lt;HTMLImageElement&gt;(*element)
</ins><span class="cx">                     &amp;&amp; inflatedPluginRect.contains(elementRectRelativeToTopDocument)
</span><span class="cx">                     &amp;&amp; elementRectRelativeToTopDocument.width() &gt; pluginRenderBox.width() * minimumOverlappingImageToPluginDimensionScale
</span><span class="cx">                     &amp;&amp; elementRectRelativeToTopDocument.height() &gt; 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 &amp;&amp; is&lt;Element&gt;(*m_assistedNode))
</del><ins>+    if (is&lt;Element&gt;(m_assistedNode))
</ins><span class="cx">         downcast&lt;Element&gt;(*m_assistedNode).blur();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebPage::setAssistedNodeValue(const String&amp; value)
</span><span class="cx"> {
</span><del>-    if (!m_assistedNode)
-        return;
-    if (is&lt;HTMLInputElement&gt;(*m_assistedNode)) {
</del><ins>+    if (is&lt;HTMLInputElement&gt;(m_assistedNode)) {
</ins><span class="cx">         HTMLInputElement&amp; element = downcast&lt;HTMLInputElement&gt;(*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&lt;HTMLInputElement&gt;(*m_assistedNode)) {
</del><ins>+    if (is&lt;HTMLInputElement&gt;(m_assistedNode)) {
</ins><span class="cx">         HTMLInputElement&amp; element = downcast&lt;HTMLInputElement&gt;(*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&lt;HTMLSelectElement&gt;(*m_assistedNode))
</del><ins>+    if (!is&lt;HTMLSelectElement&gt;(m_assistedNode))
</ins><span class="cx">         return;
</span><span class="cx">     HTMLSelectElement&amp; select = downcast&lt;HTMLSelectElement&gt;(*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-&gt;nodeName();
</span><span class="cx"> 
</span><del>-        Element* element = is&lt;Element&gt;(hitNode) ? downcast&lt;Element&gt;(hitNode) : nullptr;
</del><ins>+        Element* element = is&lt;Element&gt;(*hitNode) ? downcast&lt;Element&gt;(hitNode) : nullptr;
</ins><span class="cx">         if (element) {
</span><span class="cx">             Element* linkElement = nullptr;
</span><span class="cx">             if (element-&gt;renderer() &amp;&amp; element-&gt;renderer()-&gt;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&lt;HTMLElement&gt;(m_interactionNode.get()))
</del><ins>+    if (!is&lt;HTMLElement&gt;(m_interactionNode.get()))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     HTMLElement* element = downcast&lt;HTMLElement&gt;(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&lt;HTMLSelectElement&gt;(node))
</del><ins>+    if (is&lt;HTMLSelectElement&gt;(*node))
</ins><span class="cx">         return true;
</span><del>-    if (is&lt;HTMLTextAreaElement&gt;(node))
</del><ins>+    if (is&lt;HTMLTextAreaElement&gt;(*node))
</ins><span class="cx">         return !downcast&lt;HTMLTextAreaElement&gt;(*node).isReadOnlyNode();
</span><del>-    if (is&lt;HTMLInputElement&gt;(node)) {
</del><ins>+    if (is&lt;HTMLInputElement&gt;(*node)) {
</ins><span class="cx">         HTMLInputElement&amp; element = downcast&lt;HTMLInputElement&gt;(*node);
</span><span class="cx">         return !element.isReadOnlyNode() &amp;&amp; (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 &lt; count; ++i) {
</span><span class="cx">             HTMLElement* item = items[i];
</span><del>-            if (is&lt;HTMLOptionElement&gt;(item)) {
</del><ins>+            if (is&lt;HTMLOptionElement&gt;(*item)) {
</ins><span class="cx">                 HTMLOptionElement&amp; option = downcast&lt;HTMLOptionElement&gt;(*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&lt;HTMLOptGroupElement&gt;(item)) {
</del><ins>+            } else if (is&lt;HTMLOptGroupElement&gt;(*item)) {
</ins><span class="cx">                 HTMLOptGroupElement&amp; group = downcast&lt;HTMLOptGroupElement&gt;(*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>