<!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>[203337] 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/203337">203337</a></dd>
<dt>Author</dt> <dd>rniwa@webkit.org</dd>
<dt>Date</dt> <dd>2016-07-17 17:39:37 -0700 (Sun, 17 Jul 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Rename fastHasAttribute to hasAttributeWithoutSynchronization
https://bugs.webkit.org/show_bug.cgi?id=159864
Reviewed by Chris Dumez.
Source/WebCore:
Renamed Rename fastHasAttribute to hasAttributeWithoutSynchronization for clarity.
* accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::isEnabled):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::hasAttribute):
(WebCore::AccessibilityObject::getAttribute):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
* bindings/scripts/CodeGenerator.pm:
(GetterExpression):
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjReflectedBooleanAttr):
(WebCore::jsTestObjReflectedCustomBooleanAttr):
* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj reflectedBooleanAttr]):
(-[DOMTestObj setReflectedBooleanAttr:]):
(-[DOMTestObj reflectedCustomBooleanAttr]):
(-[DOMTestObj setReflectedCustomBooleanAttr:]):
* dom/Document.cpp:
(WebCore::Document::hasManifest):
(WebCore::Document::doctype):
* dom/Element.h:
(WebCore::Node::parentElement):
(WebCore::Element::hasAttributeWithoutSynchronization):
(WebCore::Element::fastHasAttribute): Deleted.
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss):
* editing/markup.cpp:
(WebCore::createMarkupInternal):
* html/ColorInputType.cpp:
(WebCore::ColorInputType::shouldShowSuggestions):
* html/FileInputType.cpp:
(WebCore::FileInputType::handleDOMActivateEvent):
(WebCore::FileInputType::receiveDroppedFiles):
* html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::didMoveToNewDocument):
(WebCore::FormAssociatedElement::insertedInto):
(WebCore::FormAssociatedElement::removedFrom):
(WebCore::FormAssociatedElement::formAttributeChanged):
* html/FormController.cpp:
(WebCore::ownerFormForState):
* html/GenericCachedHTMLCollection.cpp:
(WebCore::GenericCachedHTMLCollection<traversalType>::elementMatches):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::draggable):
(WebCore::HTMLAnchorElement::href):
(WebCore::HTMLAnchorElement::sendPings):
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::rendererIsNeeded):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::collectStyleForPresentationAttribute):
(WebCore::elementAffectsDirectionality):
(WebCore::setHasDirAutoFlagRecursively):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::rendererIsNeeded):
* html/HTMLFieldSetElement.cpp:
(WebCore::updateFromControlElementsAncestorDisabledStateUnder):
(WebCore::HTMLFieldSetElement::disabledAttributeChanged):
(WebCore::HTMLFieldSetElement::disabledStateChanged):
(WebCore::HTMLFieldSetElement::childrenChanged):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::formNoValidate):
(WebCore::HTMLFormControlElement::formAction):
(WebCore::HTMLFormControlElement::computeIsDisabledByFieldsetAncestor):
(WebCore::shouldAutofocus):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::formElementIndex):
(WebCore::HTMLFormElement::noValidate):
* html/HTMLFrameElement.cpp:
(WebCore::HTMLFrameElement::noResize):
(WebCore::HTMLFrameElement::didAttachRenderers):
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::parseAttribute):
(WebCore::HTMLFrameElementBase::location):
* html/HTMLHRElement.cpp:
(WebCore::HTMLHRElement::collectStyleForPresentationAttribute):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::isServerMap):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::finishParsingChildren):
(WebCore::HTMLInputElement::matchesDefaultPseudoClass):
(WebCore::HTMLInputElement::isActivatedSubmit):
(WebCore::HTMLInputElement::reset):
(WebCore::HTMLInputElement::multiple):
(WebCore::HTMLInputElement::setSize):
(WebCore::HTMLInputElement::shouldUseMediaCapture):
* html/HTMLMarqueeElement.cpp:
(WebCore::HTMLMarqueeElement::minimumDelay):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::insertedInto):
(WebCore::HTMLMediaElement::selectMediaResource):
(WebCore::HTMLMediaElement::loadResource):
(WebCore::HTMLMediaElement::autoplay):
(WebCore::HTMLMediaElement::preload):
(WebCore::HTMLMediaElement::loop):
(WebCore::HTMLMediaElement::setLoop):
(WebCore::HTMLMediaElement::controls):
(WebCore::HTMLMediaElement::setControls):
(WebCore::HTMLMediaElement::muted):
(WebCore::HTMLMediaElement::setMuted):
(WebCore::HTMLMediaElement::selectNextSourceChild):
(WebCore::HTMLMediaElement::sourceWasAdded):
(WebCore::HTMLMediaElement::mediaSessionTitle):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parseAttribute):
* html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::isDisabledFormControl):
(WebCore::HTMLOptGroupElement::isFocusable):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::matchesDefaultPseudoClass):
(WebCore::HTMLOptionElement::text):
* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::isDeterminate):
(WebCore::HTMLProgressElement::didElementStateChange):
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::async):
(WebCore::HTMLScriptElement::setCrossOrigin):
(WebCore::HTMLScriptElement::asyncAttributeValue):
(WebCore::HTMLScriptElement::deferAttributeValue):
(WebCore::HTMLScriptElement::hasSourceAttribute):
(WebCore::HTMLScriptElement::dispatchLoadEvent):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::reset):
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::isDefault):
(WebCore::HTMLTrackElement::ensureTrack):
(WebCore::HTMLTrackElement::loadTimerFired):
* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::wirelessVideoPlaybackDisabled):
(WebCore::MediaElementSession::requiresFullscreenForVideoPlayback):
(WebCore::MediaElementSession::allowsAutomaticMediaDataLoading):
* html/SearchInputType.cpp:
(WebCore::SearchInputType::searchEventsShouldBeDispatched):
(WebCore::SearchInputType::didSetValueByUserEdit):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::shouldTreatURLAsSrcdocDocument):
(WebCore::FrameLoader::findFrameForNavigation):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::notifyFinished):
* mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::getSelectedSemanticsChild):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::computePreferredLogicalWidths):
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::adjustMenuListButtonStyle):
* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForWithReason):
* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::updateAnimationPath):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::startedActiveInterval):
(WebCore::SVGAnimationElement::updateAnimation):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::insertedInto):
Source/WebKit2:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getAssistedNodeInformation):</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityListBoxOptioncpp">trunk/Source/WebCore/accessibility/AccessibilityListBoxOption.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="#trunkSourceWebCorebindingsscriptsCodeGeneratorpm">trunk/Source/WebCore/bindings/scripts/CodeGenerator.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestGObjectWebKitDOMTestObjcpp">trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestObjCDOMTestObjmm">trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.mm</a></li>
<li><a href="#trunkSourceWebCoredomDocumentcpp">trunk/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#trunkSourceWebCoredomElementh">trunk/Source/WebCore/dom/Element.h</a></li>
<li><a href="#trunkSourceWebCoreeditingApplyStyleCommandcpp">trunk/Source/WebCore/editing/ApplyStyleCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingDeleteSelectionCommandcpp">trunk/Source/WebCore/editing/DeleteSelectionCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingmarkupcpp">trunk/Source/WebCore/editing/markup.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlColorInputTypecpp">trunk/Source/WebCore/html/ColorInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlFileInputTypecpp">trunk/Source/WebCore/html/FileInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlFormAssociatedElementcpp">trunk/Source/WebCore/html/FormAssociatedElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlFormControllercpp">trunk/Source/WebCore/html/FormController.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlGenericCachedHTMLCollectioncpp">trunk/Source/WebCore/html/GenericCachedHTMLCollection.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLAnchorElementcpp">trunk/Source/WebCore/html/HTMLAnchorElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLAppletElementcpp">trunk/Source/WebCore/html/HTMLAppletElement.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="#trunkSourceWebCorehtmlHTMLFrameElementcpp">trunk/Source/WebCore/html/HTMLFrameElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFrameElementBasecpp">trunk/Source/WebCore/html/HTMLFrameElementBase.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLHRElementcpp">trunk/Source/WebCore/html/HTMLHRElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLImageElementcpp">trunk/Source/WebCore/html/HTMLImageElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLInputElementcpp">trunk/Source/WebCore/html/HTMLInputElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMarqueeElementcpp">trunk/Source/WebCore/html/HTMLMarqueeElement.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="#trunkSourceWebCorehtmlHTMLProgressElementcpp">trunk/Source/WebCore/html/HTMLProgressElement.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="#trunkSourceWebCorehtmlHTMLTrackElementcpp">trunk/Source/WebCore/html/HTMLTrackElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlMediaElementSessioncpp">trunk/Source/WebCore/html/MediaElementSession.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlSearchInputTypecpp">trunk/Source/WebCore/html/SearchInputType.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMAgentcpp">trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoadercpp">trunk/Source/WebCore/loader/FrameLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderImageLoadercpp">trunk/Source/WebCore/loader/ImageLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoremathmlMathMLSelectElementcpp">trunk/Source/WebCore/mathml/MathMLSelectElement.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTableCellcpp">trunk/Source/WebCore/rendering/RenderTableCell.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeIOSmm">trunk/Source/WebCore/rendering/RenderThemeIOS.mm</a></li>
<li><a href="#trunkSourceWebCorerenderingSimpleLineLayoutcpp">trunk/Source/WebCore/rendering/SimpleLineLayout.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgRenderSVGResourceClippercpp">trunk/Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimateMotionElementcpp">trunk/Source/WebCore/svg/SVGAnimateMotionElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimationElementcpp">trunk/Source/WebCore/svg/SVGAnimationElement.cpp</a></li>
<li><a href="#trunkSourceWebCoresvganimationSVGSMILElementcpp">trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</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="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/ChangeLog        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -1,3 +1,173 @@
</span><ins>+2016-07-17 Ryosuke Niwa <rniwa@webkit.org>
+
+ Rename fastHasAttribute to hasAttributeWithoutSynchronization
+ https://bugs.webkit.org/show_bug.cgi?id=159864
+
+ Reviewed by Chris Dumez.
+
+ Renamed Rename fastHasAttribute to hasAttributeWithoutSynchronization for clarity.
+
+ * accessibility/AccessibilityListBoxOption.cpp:
+ (WebCore::AccessibilityListBoxOption::isEnabled):
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::hasAttribute):
+ (WebCore::AccessibilityObject::getAttribute):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
+ * bindings/scripts/CodeGenerator.pm:
+ (GetterExpression):
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::jsTestObjReflectedBooleanAttr):
+ (WebCore::jsTestObjReflectedCustomBooleanAttr):
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ (-[DOMTestObj reflectedBooleanAttr]):
+ (-[DOMTestObj setReflectedBooleanAttr:]):
+ (-[DOMTestObj reflectedCustomBooleanAttr]):
+ (-[DOMTestObj setReflectedCustomBooleanAttr:]):
+ * dom/Document.cpp:
+ (WebCore::Document::hasManifest):
+ (WebCore::Document::doctype):
+ * dom/Element.h:
+ (WebCore::Node::parentElement):
+ (WebCore::Element::hasAttributeWithoutSynchronization):
+ (WebCore::Element::fastHasAttribute): Deleted.
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss):
+ * editing/markup.cpp:
+ (WebCore::createMarkupInternal):
+ * html/ColorInputType.cpp:
+ (WebCore::ColorInputType::shouldShowSuggestions):
+ * html/FileInputType.cpp:
+ (WebCore::FileInputType::handleDOMActivateEvent):
+ (WebCore::FileInputType::receiveDroppedFiles):
+ * html/FormAssociatedElement.cpp:
+ (WebCore::FormAssociatedElement::didMoveToNewDocument):
+ (WebCore::FormAssociatedElement::insertedInto):
+ (WebCore::FormAssociatedElement::removedFrom):
+ (WebCore::FormAssociatedElement::formAttributeChanged):
+ * html/FormController.cpp:
+ (WebCore::ownerFormForState):
+ * html/GenericCachedHTMLCollection.cpp:
+ (WebCore::GenericCachedHTMLCollection<traversalType>::elementMatches):
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::draggable):
+ (WebCore::HTMLAnchorElement::href):
+ (WebCore::HTMLAnchorElement::sendPings):
+ * html/HTMLAppletElement.cpp:
+ (WebCore::HTMLAppletElement::rendererIsNeeded):
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::collectStyleForPresentationAttribute):
+ (WebCore::elementAffectsDirectionality):
+ (WebCore::setHasDirAutoFlagRecursively):
+ * html/HTMLEmbedElement.cpp:
+ (WebCore::HTMLEmbedElement::rendererIsNeeded):
+ * html/HTMLFieldSetElement.cpp:
+ (WebCore::updateFromControlElementsAncestorDisabledStateUnder):
+ (WebCore::HTMLFieldSetElement::disabledAttributeChanged):
+ (WebCore::HTMLFieldSetElement::disabledStateChanged):
+ (WebCore::HTMLFieldSetElement::childrenChanged):
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::formNoValidate):
+ (WebCore::HTMLFormControlElement::formAction):
+ (WebCore::HTMLFormControlElement::computeIsDisabledByFieldsetAncestor):
+ (WebCore::shouldAutofocus):
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::formElementIndex):
+ (WebCore::HTMLFormElement::noValidate):
+ * html/HTMLFrameElement.cpp:
+ (WebCore::HTMLFrameElement::noResize):
+ (WebCore::HTMLFrameElement::didAttachRenderers):
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::parseAttribute):
+ (WebCore::HTMLFrameElementBase::location):
+ * html/HTMLHRElement.cpp:
+ (WebCore::HTMLHRElement::collectStyleForPresentationAttribute):
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::isServerMap):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::finishParsingChildren):
+ (WebCore::HTMLInputElement::matchesDefaultPseudoClass):
+ (WebCore::HTMLInputElement::isActivatedSubmit):
+ (WebCore::HTMLInputElement::reset):
+ (WebCore::HTMLInputElement::multiple):
+ (WebCore::HTMLInputElement::setSize):
+ (WebCore::HTMLInputElement::shouldUseMediaCapture):
+ * html/HTMLMarqueeElement.cpp:
+ (WebCore::HTMLMarqueeElement::minimumDelay):
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::insertedInto):
+ (WebCore::HTMLMediaElement::selectMediaResource):
+ (WebCore::HTMLMediaElement::loadResource):
+ (WebCore::HTMLMediaElement::autoplay):
+ (WebCore::HTMLMediaElement::preload):
+ (WebCore::HTMLMediaElement::loop):
+ (WebCore::HTMLMediaElement::setLoop):
+ (WebCore::HTMLMediaElement::controls):
+ (WebCore::HTMLMediaElement::setControls):
+ (WebCore::HTMLMediaElement::muted):
+ (WebCore::HTMLMediaElement::setMuted):
+ (WebCore::HTMLMediaElement::selectNextSourceChild):
+ (WebCore::HTMLMediaElement::sourceWasAdded):
+ (WebCore::HTMLMediaElement::mediaSessionTitle):
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::parseAttribute):
+ * html/HTMLOptGroupElement.cpp:
+ (WebCore::HTMLOptGroupElement::isDisabledFormControl):
+ (WebCore::HTMLOptGroupElement::isFocusable):
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::matchesDefaultPseudoClass):
+ (WebCore::HTMLOptionElement::text):
+ * html/HTMLProgressElement.cpp:
+ (WebCore::HTMLProgressElement::isDeterminate):
+ (WebCore::HTMLProgressElement::didElementStateChange):
+ * html/HTMLScriptElement.cpp:
+ (WebCore::HTMLScriptElement::async):
+ (WebCore::HTMLScriptElement::setCrossOrigin):
+ (WebCore::HTMLScriptElement::asyncAttributeValue):
+ (WebCore::HTMLScriptElement::deferAttributeValue):
+ (WebCore::HTMLScriptElement::hasSourceAttribute):
+ (WebCore::HTMLScriptElement::dispatchLoadEvent):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::reset):
+ * html/HTMLTrackElement.cpp:
+ (WebCore::HTMLTrackElement::isDefault):
+ (WebCore::HTMLTrackElement::ensureTrack):
+ (WebCore::HTMLTrackElement::loadTimerFired):
+ * html/MediaElementSession.cpp:
+ (WebCore::MediaElementSession::wirelessVideoPlaybackDisabled):
+ (WebCore::MediaElementSession::requiresFullscreenForVideoPlayback):
+ (WebCore::MediaElementSession::allowsAutomaticMediaDataLoading):
+ * html/SearchInputType.cpp:
+ (WebCore::SearchInputType::searchEventsShouldBeDispatched):
+ (WebCore::SearchInputType::didSetValueByUserEdit):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::buildObjectForNode):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::shouldTreatURLAsSrcdocDocument):
+ (WebCore::FrameLoader::findFrameForNavigation):
+ * loader/ImageLoader.cpp:
+ (WebCore::ImageLoader::notifyFinished):
+ * mathml/MathMLSelectElement.cpp:
+ (WebCore::MathMLSelectElement::getSelectedSemanticsChild):
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::computePreferredLogicalWidths):
+ * rendering/RenderThemeIOS.mm:
+ (WebCore::RenderThemeIOS::adjustMenuListButtonStyle):
+ * rendering/SimpleLineLayout.cpp:
+ (WebCore::SimpleLineLayout::canUseForWithReason):
+ * rendering/svg/RenderSVGResourceClipper.cpp:
+ (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
+ * svg/SVGAnimateMotionElement.cpp:
+ (WebCore::SVGAnimateMotionElement::updateAnimationPath):
+ * svg/SVGAnimationElement.cpp:
+ (WebCore::SVGAnimationElement::startedActiveInterval):
+ (WebCore::SVGAnimationElement::updateAnimation):
+ * svg/animation/SVGSMILElement.cpp:
+ (WebCore::SVGSMILElement::insertedInto):
+
</ins><span class="cx"> 2016-07-17 Brady Eidson <beidson@apple.com>
</span><span class="cx">
</span><span class="cx"> Exceptions logged to the JS console should use toString().
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityListBoxOptioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityListBoxOption.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityListBoxOption.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/accessibility/AccessibilityListBoxOption.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx"> if (equalLettersIgnoringASCIICase(getAttribute(aria_disabledAttr), "true"))
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- if (m_optionElement->fastHasAttribute(disabledAttr))
</del><ins>+ if (m_optionElement->hasAttributeWithoutSynchronization(disabledAttr))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> return true;
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityObject.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityObject.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/accessibility/AccessibilityObject.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -1993,7 +1993,7 @@
</span><span class="cx"> if (!is<Element>(node))
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- return downcast<Element>(*node).fastHasAttribute(attribute);
</del><ins>+ return downcast<Element>(*node).hasAttributeWithoutSynchronization(attribute);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> const AtomicString& AccessibilityObject::getAttribute(const QualifiedName& attribute) const
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityRenderObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -2543,7 +2543,7 @@
</span><span class="cx">
</span><span class="cx"> if (node && node->isLink())
</span><span class="cx"> return WebCoreLinkRole;
</span><del>- if (node && is<HTMLImageElement>(*node) && downcast<HTMLImageElement>(*node).fastHasAttribute(usemapAttr))
</del><ins>+ if (node && is<HTMLImageElement>(*node) && downcast<HTMLImageElement>(*node).hasAttributeWithoutSynchronization(usemapAttr))
</ins><span class="cx"> return ImageMapRole;
</span><span class="cx"> if ((cssBox && cssBox->isListItem()) || (node && node->hasTagName(liTag)))
</span><span class="cx"> return ListItemRole;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGenerator.pm (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGenerator.pm        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/bindings/scripts/CodeGenerator.pm        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -654,7 +654,7 @@
</span><span class="cx"> if ($attribute->signature->extendedAttributes->{"URL"}) {
</span><span class="cx"> $functionName = "getURLAttribute";
</span><span class="cx"> } elsif ($attributeType eq "boolean") {
</span><del>- $functionName = "fastHasAttribute";
</del><ins>+ $functionName = "hasAttributeWithoutSynchronization";
</ins><span class="cx"> } elsif ($attributeType eq "long") {
</span><span class="cx"> $functionName = "getIntegralAttribute";
</span><span class="cx"> } elsif ($attributeType eq "unsigned long") {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestGObjectWebKitDOMTestObjcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -2462,7 +2462,7 @@
</span><span class="cx"> WebCore::JSMainThreadNullState state;
</span><span class="cx"> g_return_val_if_fail(WEBKIT_DOM_IS_TEST_OBJ(self), FALSE);
</span><span class="cx"> WebCore::TestObj* item = WebKit::core(self);
</span><del>- gboolean result = item->fastHasAttribute(WebCore::HTMLNames::reflectedbooleanattrAttr);
</del><ins>+ gboolean result = item->hasAttributeWithoutSynchronization(WebCore::HTMLNames::reflectedbooleanattrAttr);
</ins><span class="cx"> return result;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -2534,7 +2534,7 @@
</span><span class="cx"> WebCore::JSMainThreadNullState state;
</span><span class="cx"> g_return_val_if_fail(WEBKIT_DOM_IS_TEST_OBJ(self), FALSE);
</span><span class="cx"> WebCore::TestObj* item = WebKit::core(self);
</span><del>- gboolean result = item->fastHasAttribute(WebCore::HTMLNames::customContentBooleanAttrAttr);
</del><ins>+ gboolean result = item->hasAttributeWithoutSynchronization(WebCore::HTMLNames::customContentBooleanAttrAttr);
</ins><span class="cx"> return result;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -1797,7 +1797,7 @@
</span><span class="cx"> return throwGetterTypeError(*state, "TestObj", "reflectedBooleanAttr");
</span><span class="cx"> }
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><del>- JSValue result = jsBoolean(impl.fastHasAttribute(WebCore::HTMLNames::reflectedbooleanattrAttr));
</del><ins>+ JSValue result = jsBoolean(impl.hasAttributeWithoutSynchronization(WebCore::HTMLNames::reflectedbooleanattrAttr));
</ins><span class="cx"> return JSValue::encode(result);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1857,7 +1857,7 @@
</span><span class="cx"> return throwGetterTypeError(*state, "TestObj", "reflectedCustomBooleanAttr");
</span><span class="cx"> }
</span><span class="cx"> auto& impl = castedThis->wrapped();
</span><del>- JSValue result = jsBoolean(impl.fastHasAttribute(WebCore::HTMLNames::customContentBooleanAttrAttr));
</del><ins>+ JSValue result = jsBoolean(impl.hasAttributeWithoutSynchronization(WebCore::HTMLNames::customContentBooleanAttrAttr));
</ins><span class="cx"> return JSValue::encode(result);
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestObjCDOMTestObjmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.mm (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.mm        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.mm        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -368,7 +368,7 @@
</span><span class="cx"> - (BOOL)reflectedBooleanAttr
</span><span class="cx"> {
</span><span class="cx"> WebCore::JSMainThreadNullState state;
</span><del>- return IMPL->fastHasAttribute(WebCore::HTMLNames::reflectedbooleanattrAttr);
</del><ins>+ return IMPL->hasAttributeWithoutSynchronization(WebCore::HTMLNames::reflectedbooleanattrAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> - (void)setReflectedBooleanAttr:(BOOL)newReflectedBooleanAttr
</span><span class="lines">@@ -416,7 +416,7 @@
</span><span class="cx"> - (BOOL)reflectedCustomBooleanAttr
</span><span class="cx"> {
</span><span class="cx"> WebCore::JSMainThreadNullState state;
</span><del>- return IMPL->fastHasAttribute(WebCore::HTMLNames::customContentBooleanAttrAttr);
</del><ins>+ return IMPL->hasAttributeWithoutSynchronization(WebCore::HTMLNames::customContentBooleanAttrAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> - (void)setReflectedCustomBooleanAttr:(BOOL)newReflectedCustomBooleanAttr
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/dom/Document.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -847,7 +847,7 @@
</span><span class="cx">
</span><span class="cx"> bool Document::hasManifest() const
</span><span class="cx"> {
</span><del>- return documentElement() && documentElement()->hasTagName(htmlTag) && documentElement()->fastHasAttribute(manifestAttr);
</del><ins>+ return documentElement() && documentElement()->hasTagName(htmlTag) && documentElement()->hasAttributeWithoutSynchronization(manifestAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> DocumentType* Document::doctype() const
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Element.h (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Element.h        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/dom/Element.h        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx">
</span><span class="cx"> // Call this to get the value of an attribute that is known not to be the style
</span><span class="cx"> // attribute or one of the SVG animatable attributes.
</span><del>- bool fastHasAttribute(const QualifiedName&) const;
</del><ins>+ bool hasAttributeWithoutSynchronization(const QualifiedName&) const;
</ins><span class="cx"> const AtomicString& attributeWithoutSynchronization(const QualifiedName&) const;
</span><span class="cx"> #ifndef NDEBUG
</span><span class="cx"> WEBCORE_EXPORT bool fastAttributeLookupAllowed(const QualifiedName&) const;
</span><span class="lines">@@ -663,7 +663,7 @@
</span><span class="cx"> return is<Element>(parent) ? downcast<Element>(parent) : nullptr;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-inline bool Element::fastHasAttribute(const QualifiedName& name) const
</del><ins>+inline bool Element::hasAttributeWithoutSynchronization(const QualifiedName& name) const
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(fastAttributeLookupAllowed(name));
</span><span class="cx"> return elementData() && findAttributeByName(name);
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingApplyStyleCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/ApplyStyleCommand.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/ApplyStyleCommand.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/editing/ApplyStyleCommand.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -530,7 +530,7 @@
</span><span class="cx"> // and all matching style rules in order to determine how to best set the unicode-bidi property to 'normal'.
</span><span class="cx"> // For now, it assumes that if the 'dir' attribute is present, then removing it will suffice, and
</span><span class="cx"> // otherwise it sets the property in the inline style declaration.
</span><del>- if (element.fastHasAttribute(dirAttr)) {
</del><ins>+ if (element.hasAttributeWithoutSynchronization(dirAttr)) {
</ins><span class="cx"> // FIXME: If this is a BDO element, we should probably just remove it if it has no
</span><span class="cx"> // other attributes, like we (should) do with B and I elements.
</span><span class="cx"> removeNodeAttribute(&element, dirAttr);
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingDeleteSelectionCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/DeleteSelectionCommand.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/DeleteSelectionCommand.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/editing/DeleteSelectionCommand.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -434,7 +434,7 @@
</span><span class="cx"> RefPtr<Node> node = range->firstNode();
</span><span class="cx"> while (node && node != range->pastLastNode()) {
</span><span class="cx"> RefPtr<Node> nextNode = NodeTraversal::next(*node);
</span><del>- if ((is<HTMLStyleElement>(*node) && !downcast<HTMLStyleElement>(*node).fastHasAttribute(scopedAttr)) || is<HTMLLinkElement>(*node)) {
</del><ins>+ if ((is<HTMLStyleElement>(*node) && !downcast<HTMLStyleElement>(*node).hasAttributeWithoutSynchronization(scopedAttr)) || is<HTMLLinkElement>(*node)) {
</ins><span class="cx"> nextNode = NodeTraversal::nextSkippingChildren(*node);
</span><span class="cx"> RefPtr<ContainerNode> rootEditableElement = node->rootEditableElement();
</span><span class="cx"> if (rootEditableElement) {
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingmarkupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/markup.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/markup.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/editing/markup.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -629,7 +629,7 @@
</span><span class="cx"> // Bring the background attribute over, but not as an attribute because a background attribute on a div
</span><span class="cx"> // appears to have no effect.
</span><span class="cx"> if ((!fullySelectedRootStyle || !fullySelectedRootStyle->style() || !fullySelectedRootStyle->style()->getPropertyCSSValue(CSSPropertyBackgroundImage))
</span><del>- && fullySelectedRoot->fastHasAttribute(backgroundAttr))
</del><ins>+ && fullySelectedRoot->hasAttributeWithoutSynchronization(backgroundAttr))
</ins><span class="cx"> fullySelectedRootStyle->style()->setProperty(CSSPropertyBackgroundImage, "url('" + fullySelectedRoot->getAttribute(backgroundAttr) + "')");
</span><span class="cx">
</span><span class="cx"> if (fullySelectedRootStyle->style()) {
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlColorInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/ColorInputType.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/ColorInputType.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/ColorInputType.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -222,7 +222,7 @@
</span><span class="cx"> bool ColorInputType::shouldShowSuggestions() const
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(DATALIST_ELEMENT)
</span><del>- return element().fastHasAttribute(listAttr);
</del><ins>+ return element().hasAttributeWithoutSynchronization(listAttr);
</ins><span class="cx"> #else
</span><span class="cx"> return false;
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlFileInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/FileInputType.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/FileInputType.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/FileInputType.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -180,7 +180,7 @@
</span><span class="cx"> if (Chrome* chrome = this->chrome()) {
</span><span class="cx"> FileChooserSettings settings;
</span><span class="cx"> HTMLInputElement& input = element();
</span><del>- settings.allowsMultipleFiles = input.fastHasAttribute(multipleAttr);
</del><ins>+ settings.allowsMultipleFiles = input.hasAttributeWithoutSynchronization(multipleAttr);
</ins><span class="cx"> settings.acceptMIMETypes = input.acceptMIMETypes();
</span><span class="cx"> settings.acceptFileExtensions = input.acceptFileExtensions();
</span><span class="cx"> settings.selectedFiles = m_fileList->paths();
</span><span class="lines">@@ -404,7 +404,7 @@
</span><span class="cx"> for (auto& path : paths)
</span><span class="cx"> files.append(FileChooserFileInfo(path));
</span><span class="cx">
</span><del>- if (input->fastHasAttribute(multipleAttr))
</del><ins>+ if (input->hasAttributeWithoutSynchronization(multipleAttr))
</ins><span class="cx"> filesChosen(files);
</span><span class="cx"> else {
</span><span class="cx"> Vector<FileChooserFileInfo> firstFileOnly;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlFormAssociatedElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/FormAssociatedElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/FormAssociatedElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/FormAssociatedElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx"> void FormAssociatedElement::didMoveToNewDocument(Document* oldDocument)
</span><span class="cx"> {
</span><span class="cx"> HTMLElement& element = asHTMLElement();
</span><del>- if (oldDocument && element.fastHasAttribute(formAttr))
</del><ins>+ if (oldDocument && element.hasAttributeWithoutSynchronization(formAttr))
</ins><span class="cx"> resetFormAttributeTargetObserver();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -78,7 +78,7 @@
</span><span class="cx"> if (!insertionPoint.inDocument())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if (element.fastHasAttribute(formAttr))
</del><ins>+ if (element.hasAttributeWithoutSynchronization(formAttr))
</ins><span class="cx"> resetFormAttributeTargetObserver();
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -96,7 +96,7 @@
</span><span class="cx"> void FormAssociatedElement::removedFrom(ContainerNode& insertionPoint)
</span><span class="cx"> {
</span><span class="cx"> HTMLElement& element = asHTMLElement();
</span><del>- if (insertionPoint.inDocument() && element.fastHasAttribute(formAttr))
</del><ins>+ if (insertionPoint.inDocument() && element.hasAttributeWithoutSynchronization(formAttr))
</ins><span class="cx"> m_formAttributeTargetObserver = nullptr;
</span><span class="cx"> // If the form and element are both in the same tree, preserve the connection to the form.
</span><span class="cx"> // Otherwise, null out our form and remove ourselves from the form's list of elements.
</span><span class="lines">@@ -175,7 +175,7 @@
</span><span class="cx"> void FormAssociatedElement::formAttributeChanged()
</span><span class="cx"> {
</span><span class="cx"> HTMLElement& element = asHTMLElement();
</span><del>- if (!element.fastHasAttribute(formAttr)) {
</del><ins>+ if (!element.hasAttributeWithoutSynchronization(formAttr)) {
</ins><span class="cx"> // The form attribute removed. We need to reset form owner here.
</span><span class="cx"> HTMLFormElement* originalForm = m_form;
</span><span class="cx"> setForm(HTMLFormElement::findClosestFormAncestor(element));
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlFormControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/FormController.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/FormController.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/FormController.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> // Assume controls with form attribute have no owners because we restore
</span><span class="cx"> // state during parsing and form owners of such controls might be
</span><span class="cx"> // indeterminate.
</span><del>- return control.fastHasAttribute(formAttr) ? 0 : control.form();
</del><ins>+ return control.hasAttributeWithoutSynchronization(formAttr) ? 0 : control.form();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // ----------------------------------------------------------------------------
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlGenericCachedHTMLCollectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/GenericCachedHTMLCollection.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/GenericCachedHTMLCollection.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/GenericCachedHTMLCollection.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -69,9 +69,9 @@
</span><span class="cx"> case DocEmbeds:
</span><span class="cx"> return element.hasTagName(embedTag);
</span><span class="cx"> case DocLinks:
</span><del>- return (element.hasTagName(aTag) || element.hasTagName(areaTag)) && element.fastHasAttribute(hrefAttr);
</del><ins>+ return (element.hasTagName(aTag) || element.hasTagName(areaTag)) && element.hasAttributeWithoutSynchronization(hrefAttr);
</ins><span class="cx"> case DocAnchors:
</span><del>- return element.hasTagName(aTag) && element.fastHasAttribute(nameAttr);
</del><ins>+ return element.hasTagName(aTag) && element.hasAttributeWithoutSynchronization(nameAttr);
</ins><span class="cx"> case ByClass:
</span><span class="cx"> case ByTag:
</span><span class="cx"> case ByHTMLTag:
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLAnchorElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLAnchorElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLAnchorElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLAnchorElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -281,7 +281,7 @@
</span><span class="cx"> return true;
</span><span class="cx"> if (equalLettersIgnoringASCIICase(value, "false"))
</span><span class="cx"> return false;
</span><del>- return fastHasAttribute(hrefAttr);
</del><ins>+ return hasAttributeWithoutSynchronization(hrefAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> URL HTMLAnchorElement::href() const
</span><span class="lines">@@ -349,7 +349,7 @@
</span><span class="cx">
</span><span class="cx"> void HTMLAnchorElement::sendPings(const URL& destinationURL)
</span><span class="cx"> {
</span><del>- if (!fastHasAttribute(pingAttr) || !document().settings() || !document().settings()->hyperlinkAuditingEnabled())
</del><ins>+ if (!hasAttributeWithoutSynchronization(pingAttr) || !document().settings() || !document().settings()->hyperlinkAuditingEnabled())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> SpaceSplitString pingURLs(attributeWithoutSynchronization(pingAttr), false);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLAppletElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLAppletElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLAppletElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLAppletElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -70,7 +70,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLAppletElement::rendererIsNeeded(const RenderStyle& style)
</span><span class="cx"> {
</span><del>- if (!fastHasAttribute(codeAttr))
</del><ins>+ if (!hasAttributeWithoutSynchronization(codeAttr))
</ins><span class="cx"> return false;
</span><span class="cx"> return HTMLPlugInImageElement::rendererIsNeeded(style);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -243,7 +243,7 @@
</span><span class="cx"> mapLanguageAttributeToLocale(value, style);
</span><span class="cx"> else if (name == langAttr) {
</span><span class="cx"> // xml:lang has a higher priority than lang.
</span><del>- if (!fastHasAttribute(XMLNames::langAttr))
</del><ins>+ if (!hasAttributeWithoutSynchronization(XMLNames::langAttr))
</ins><span class="cx"> mapLanguageAttributeToLocale(value, style);
</span><span class="cx"> } else
</span><span class="cx"> StyledElement::collectStyleForPresentationAttribute(name, value, style);
</span><span class="lines">@@ -883,7 +883,7 @@
</span><span class="cx"> if (!is<HTMLElement>(node))
</span><span class="cx"> return false;
</span><span class="cx"> const HTMLElement& element = downcast<HTMLElement>(node);
</span><del>- return is<HTMLBDIElement>(element) || element.fastHasAttribute(dirAttr);
</del><ins>+ return is<HTMLBDIElement>(element) || element.hasAttributeWithoutSynchronization(dirAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static void setHasDirAutoFlagRecursively(Node* firstNode, bool flag, Node* lastNode = nullptr)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLEmbedElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLEmbedElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLEmbedElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLEmbedElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -183,7 +183,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLEmbedElement::rendererIsNeeded(const RenderStyle& style)
</span><span class="cx"> {
</span><del>- if (!fastHasAttribute(typeAttr) && !fastHasAttribute(srcAttr))
</del><ins>+ if (!hasAttributeWithoutSynchronization(typeAttr) && !hasAttributeWithoutSynchronization(srcAttr))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> if (isImageType())
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFieldSetElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFieldSetElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFieldSetElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLFieldSetElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx"> while (control) {
</span><span class="cx"> control->setAncestorDisabled(isDisabled);
</span><span class="cx"> // Don't call setAncestorDisabled(false) on form controls inside disabled fieldsets.
</span><del>- if (is<HTMLFieldSetElement>(*control) && control->fastHasAttribute(disabledAttr))
</del><ins>+ if (is<HTMLFieldSetElement>(*control) && control->hasAttributeWithoutSynchronization(disabledAttr))
</ins><span class="cx"> control = Traversal<HTMLFormControlElement>::nextSkippingChildren(*control, &startNode);
</span><span class="cx"> else
</span><span class="cx"> control = Traversal<HTMLFormControlElement>::next(*control, &startNode);
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx">
</span><span class="cx"> void HTMLFieldSetElement::disabledAttributeChanged()
</span><span class="cx"> {
</span><del>- bool hasDisabledAttribute = fastHasAttribute(disabledAttr);
</del><ins>+ bool hasDisabledAttribute = hasAttributeWithoutSynchronization(disabledAttr);
</ins><span class="cx"> if (m_hasDisabledAttribute != hasDisabledAttribute) {
</span><span class="cx"> m_hasDisabledAttribute = hasDisabledAttribute;
</span><span class="cx"> if (hasDisabledAttribute)
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx"> if (disabledByAncestorFieldset())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- bool thisFieldsetIsDisabled = fastHasAttribute(disabledAttr);
</del><ins>+ bool thisFieldsetIsDisabled = hasAttributeWithoutSynchronization(disabledAttr);
</ins><span class="cx"> bool hasSeenFirstLegendElement = false;
</span><span class="cx"> for (HTMLElement* control = Traversal<HTMLElement>::firstChild(*this); control; control = Traversal<HTMLElement>::nextSibling(*control)) {
</span><span class="cx"> if (!hasSeenFirstLegendElement && is<HTMLLegendElement>(*control)) {
</span><span class="lines">@@ -109,7 +109,7 @@
</span><span class="cx"> void HTMLFieldSetElement::childrenChanged(const ChildChange& change)
</span><span class="cx"> {
</span><span class="cx"> HTMLFormControlElement::childrenChanged(change);
</span><del>- if (!fastHasAttribute(disabledAttr))
</del><ins>+ if (!hasAttributeWithoutSynchronization(disabledAttr))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> HTMLLegendElement* legend = Traversal<HTMLLegendElement>::firstChild(*this);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFormControlElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFormControlElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFormControlElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLFormControlElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -103,7 +103,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLFormControlElement::formNoValidate() const
</span><span class="cx"> {
</span><del>- return fastHasAttribute(formnovalidateAttr);
</del><ins>+ return hasAttributeWithoutSynchronization(formnovalidateAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> String HTMLFormControlElement::formAction() const
</span><span class="lines">@@ -123,7 +123,7 @@
</span><span class="cx"> {
</span><span class="cx"> Element* previousAncestor = nullptr;
</span><span class="cx"> for (Element* ancestor = parentElement(); ancestor; ancestor = ancestor->parentElement()) {
</span><del>- if (is<HTMLFieldSetElement>(*ancestor) && ancestor->fastHasAttribute(disabledAttr)) {
</del><ins>+ if (is<HTMLFieldSetElement>(*ancestor) && ancestor->hasAttributeWithoutSynchronization(disabledAttr)) {
</ins><span class="cx"> HTMLFieldSetElement& fieldSetAncestor = downcast<HTMLFieldSetElement>(*ancestor);
</span><span class="cx"> bool isInFirstLegend = is<HTMLLegendElement>(previousAncestor) && previousAncestor == fieldSetAncestor.legend();
</span><span class="cx"> return !isInFirstLegend;
</span><span class="lines">@@ -196,7 +196,7 @@
</span><span class="cx"> {
</span><span class="cx"> if (!element->renderer())
</span><span class="cx"> return false;
</span><del>- if (!element->fastHasAttribute(autofocusAttr))
</del><ins>+ if (!element->hasAttributeWithoutSynchronization(autofocusAttr))
</ins><span class="cx"> return false;
</span><span class="cx"> if (!element->inDocument() || !element->document().renderView())
</span><span class="cx"> return false;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFormElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFormElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFormElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLFormElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -551,7 +551,7 @@
</span><span class="cx">
</span><span class="cx"> // Treats separately the case where this element has the form attribute
</span><span class="cx"> // for performance consideration.
</span><del>- if (associatedHTMLElement.fastHasAttribute(formAttr)) {
</del><ins>+ if (associatedHTMLElement.hasAttributeWithoutSynchronization(formAttr)) {
</ins><span class="cx"> unsigned short position = compareDocumentPosition(&associatedHTMLElement);
</span><span class="cx"> if (position & DOCUMENT_POSITION_PRECEDING) {
</span><span class="cx"> ++m_associatedElementsBeforeIndex;
</span><span class="lines">@@ -674,7 +674,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLFormElement::noValidate() const
</span><span class="cx"> {
</span><del>- return fastHasAttribute(novalidateAttr);
</del><ins>+ return hasAttributeWithoutSynchronization(novalidateAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // FIXME: This function should be removed because it does not do the same thing as the
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFrameElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFrameElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFrameElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLFrameElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLFrameElement::noResize() const
</span><span class="cx"> {
</span><del>- return fastHasAttribute(noresizeAttr);
</del><ins>+ return hasAttributeWithoutSynchronization(noresizeAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void HTMLFrameElement::didAttachRenderers()
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFrameElementBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFrameElementBase.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFrameElementBase.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLFrameElementBase.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -94,12 +94,12 @@
</span><span class="cx"> {
</span><span class="cx"> if (name == srcdocAttr)
</span><span class="cx"> setLocation("about:srcdoc");
</span><del>- else if (name == srcAttr && !fastHasAttribute(srcdocAttr))
</del><ins>+ else if (name == srcAttr && !hasAttributeWithoutSynchronization(srcdocAttr))
</ins><span class="cx"> setLocation(stripLeadingAndTrailingHTMLSpaces(value));
</span><span class="cx"> else if (name == idAttr) {
</span><span class="cx"> HTMLFrameOwnerElement::parseAttribute(name, value);
</span><span class="cx"> // Falling back to using the 'id' attribute is not standard but some content relies on this behavior.
</span><del>- if (!fastHasAttribute(nameAttr))
</del><ins>+ if (!hasAttributeWithoutSynchronization(nameAttr))
</ins><span class="cx"> m_frameName = value;
</span><span class="cx"> } else if (name == nameAttr) {
</span><span class="cx"> m_frameName = value;
</span><span class="lines">@@ -167,7 +167,7 @@
</span><span class="cx">
</span><span class="cx"> URL HTMLFrameElementBase::location() const
</span><span class="cx"> {
</span><del>- if (fastHasAttribute(srcdocAttr))
</del><ins>+ if (hasAttributeWithoutSynchronization(srcdocAttr))
</ins><span class="cx"> return URL(ParsedURLString, "about:srcdoc");
</span><span class="cx"> return document().completeURL(attributeWithoutSynchronization(srcAttr));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLHRElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLHRElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLHRElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLHRElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx"> addHTMLColorToStyle(style, CSSPropertyBorderColor, value);
</span><span class="cx"> addHTMLColorToStyle(style, CSSPropertyBackgroundColor, value);
</span><span class="cx"> } else if (name == noshadeAttr) {
</span><del>- if (!fastHasAttribute(colorAttr)) {
</del><ins>+ if (!hasAttributeWithoutSynchronization(colorAttr)) {
</ins><span class="cx"> addPropertyToPresentationAttributeStyle(style, CSSPropertyBorderStyle, CSSValueSolid);
</span><span class="cx">
</span><span class="cx"> RefPtr<CSSPrimitiveValue> darkGrayValue = CSSValuePool::singleton().createColorValue(Color::darkGray);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLImageElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLImageElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLImageElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLImageElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -559,7 +559,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLImageElement::isServerMap() const
</span><span class="cx"> {
</span><del>- if (!fastHasAttribute(ismapAttr))
</del><ins>+ if (!hasAttributeWithoutSynchronization(ismapAttr))
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> const AtomicString& usemap = attributeWithoutSynchronization(usemapAttr);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLInputElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLInputElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLInputElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLInputElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -761,7 +761,7 @@
</span><span class="cx"> ASSERT(m_inputType);
</span><span class="cx"> HTMLTextFormControlElement::finishParsingChildren();
</span><span class="cx"> if (!m_stateRestored) {
</span><del>- bool checked = fastHasAttribute(checkedAttr);
</del><ins>+ bool checked = hasAttributeWithoutSynchronization(checkedAttr);
</ins><span class="cx"> if (checked)
</span><span class="cx"> setChecked(checked);
</span><span class="cx"> m_reflectsCheckedAttribute = true;
</span><span class="lines">@@ -828,7 +828,7 @@
</span><span class="cx"> ASSERT(m_inputType);
</span><span class="cx"> if (m_inputType->canBeSuccessfulSubmitButton())
</span><span class="cx"> return !isDisabledFormControl() && form() && form()->defaultButton() == this;
</span><del>- return m_inputType->isCheckable() && fastHasAttribute(checkedAttr);
</del><ins>+ return m_inputType->isCheckable() && hasAttributeWithoutSynchronization(checkedAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool HTMLInputElement::isActivatedSubmit() const
</span><span class="lines">@@ -852,7 +852,7 @@
</span><span class="cx"> setValue(String());
</span><span class="cx">
</span><span class="cx"> setAutoFilled(false);
</span><del>- setChecked(fastHasAttribute(checkedAttr));
</del><ins>+ setChecked(hasAttributeWithoutSynchronization(checkedAttr));
</ins><span class="cx"> m_reflectsCheckedAttribute = true;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1282,7 +1282,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLInputElement::multiple() const
</span><span class="cx"> {
</span><del>- return fastHasAttribute(multipleAttr);
</del><ins>+ return hasAttributeWithoutSynchronization(multipleAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void HTMLInputElement::setSize(unsigned size)
</span><span class="lines">@@ -1798,7 +1798,7 @@
</span><span class="cx"> #if ENABLE(MEDIA_CAPTURE)
</span><span class="cx"> bool HTMLInputElement::shouldUseMediaCapture() const
</span><span class="cx"> {
</span><del>- return isFileUpload() && fastHasAttribute(captureAttr);
</del><ins>+ return isFileUpload() && hasAttributeWithoutSynchronization(captureAttr);
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMarqueeElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMarqueeElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMarqueeElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLMarqueeElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx">
</span><span class="cx"> int HTMLMarqueeElement::minimumDelay() const
</span><span class="cx"> {
</span><del>- if (!fastHasAttribute(truespeedAttr)) {
</del><ins>+ if (!hasAttributeWithoutSynchronization(truespeedAttr)) {
</ins><span class="cx"> // WinIE uses 60ms as the minimum delay by default.
</span><span class="cx"> return 60;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -782,7 +782,7 @@
</span><span class="cx">
</span><span class="cx"> if (!m_explicitlyMuted) {
</span><span class="cx"> m_explicitlyMuted = true;
</span><del>- m_muted = fastHasAttribute(mutedAttr);
</del><ins>+ m_muted = hasAttributeWithoutSynchronization(mutedAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> configureMediaControls();
</span><span class="lines">@@ -1263,7 +1263,7 @@
</span><span class="cx">
</span><span class="cx"> // 3 - If the media element has a src attribute, then let mode be attribute.
</span><span class="cx"> Mode mode = attribute;
</span><del>- if (!fastHasAttribute(srcAttr)) {
</del><ins>+ if (!hasAttributeWithoutSynchronization(srcAttr)) {
</ins><span class="cx"> // Otherwise, if the media element does not have a src attribute but has a source
</span><span class="cx"> // element child, then let mode be children and let candidate be the first such
</span><span class="cx"> // source element child in tree order.
</span><span class="lines">@@ -1421,7 +1421,7 @@
</span><span class="cx">
</span><span class="cx"> if (!m_explicitlyMuted) {
</span><span class="cx"> m_explicitlyMuted = true;
</span><del>- m_muted = fastHasAttribute(mutedAttr);
</del><ins>+ m_muted = hasAttributeWithoutSynchronization(mutedAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> updateVolume();
</span><span class="lines">@@ -3012,7 +3012,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLMediaElement::autoplay() const
</span><span class="cx"> {
</span><del>- return fastHasAttribute(autoplayAttr);
</del><ins>+ return hasAttributeWithoutSynchronization(autoplayAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> String HTMLMediaElement::preload() const
</span><span class="lines">@@ -3291,7 +3291,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLMediaElement::loop() const
</span><span class="cx"> {
</span><del>- return fastHasAttribute(loopAttr);
</del><ins>+ return hasAttributeWithoutSynchronization(loopAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void HTMLMediaElement::setLoop(bool b)
</span><span class="lines">@@ -3308,7 +3308,7 @@
</span><span class="cx"> if (frame && !frame->script().canExecuteScripts(NotAboutToExecuteScript))
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- return fastHasAttribute(controlsAttr);
</del><ins>+ return hasAttributeWithoutSynchronization(controlsAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void HTMLMediaElement::setControls(bool b)
</span><span class="lines">@@ -3343,7 +3343,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLMediaElement::muted() const
</span><span class="cx"> {
</span><del>- return m_explicitlyMuted ? m_muted : fastHasAttribute(mutedAttr);
</del><ins>+ return m_explicitlyMuted ? m_muted : hasAttributeWithoutSynchronization(mutedAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void HTMLMediaElement::setMuted(bool muted)
</span><span class="lines">@@ -4205,7 +4205,7 @@
</span><span class="cx"> if (mediaURL.isEmpty())
</span><span class="cx"> goto CheckAgain;
</span><span class="cx">
</span><del>- if (source->fastHasAttribute(mediaAttr)) {
</del><ins>+ if (source->hasAttributeWithoutSynchronization(mediaAttr)) {
</ins><span class="cx"> auto media = source->mediaQuerySet();
</span><span class="cx"> #if !LOG_DISABLED
</span><span class="cx"> if (shouldLog)
</span><span class="lines">@@ -4297,7 +4297,7 @@
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> // We should only consider a <source> element when there is not src attribute at all.
</span><del>- if (fastHasAttribute(srcAttr))
</del><ins>+ if (hasAttributeWithoutSynchronization(srcAttr))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> // 4.8.8 - If a source element is inserted as a child of a media element that has no src
</span><span class="lines">@@ -6821,7 +6821,7 @@
</span><span class="cx">
</span><span class="cx"> String HTMLMediaElement::mediaSessionTitle() const
</span><span class="cx"> {
</span><del>- if (fastHasAttribute(titleAttr))
</del><ins>+ if (hasAttributeWithoutSynchronization(titleAttr))
</ins><span class="cx"> return attributeWithoutSynchronization(titleAttr);
</span><span class="cx">
</span><span class="cx"> return m_currentSrc;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLObjectElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLObjectElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLObjectElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLObjectElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -113,7 +113,7 @@
</span><span class="cx"> formAttributeChanged();
</span><span class="cx"> else if (name == typeAttr) {
</span><span class="cx"> m_serviceType = value.string().left(value.find(';')).convertToASCIILowercase();
</span><del>- invalidateRenderer = !fastHasAttribute(classidAttr);
</del><ins>+ invalidateRenderer = !hasAttributeWithoutSynchronization(classidAttr);
</ins><span class="cx"> setNeedsWidgetUpdate(true);
</span><span class="cx"> } else if (name == dataAttr) {
</span><span class="cx"> m_url = stripLeadingAndTrailingHTMLSpaces(value);
</span><span class="lines">@@ -123,7 +123,7 @@
</span><span class="cx"> m_imageLoader = std::make_unique<HTMLImageLoader>(*this);
</span><span class="cx"> m_imageLoader->updateFromElementIgnoringPreviousError();
</span><span class="cx"> }
</span><del>- invalidateRenderer = !fastHasAttribute(classidAttr);
</del><ins>+ invalidateRenderer = !hasAttributeWithoutSynchronization(classidAttr);
</ins><span class="cx"> setNeedsWidgetUpdate(true);
</span><span class="cx"> } else if (name == classidAttr) {
</span><span class="cx"> invalidateRenderer = true;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLOptGroupElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLOptGroupElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLOptGroupElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLOptGroupElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLOptGroupElement::isDisabledFormControl() const
</span><span class="cx"> {
</span><del>- return fastHasAttribute(disabledAttr);
</del><ins>+ return hasAttributeWithoutSynchronization(disabledAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool HTMLOptGroupElement::isFocusable() const
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLOptionElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLOptionElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLOptionElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLOptionElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -98,7 +98,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLOptionElement::matchesDefaultPseudoClass() const
</span><span class="cx"> {
</span><del>- return fastHasAttribute(selectedAttr);
</del><ins>+ return hasAttributeWithoutSynchronization(selectedAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> String HTMLOptionElement::text() const
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLProgressElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLProgressElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLProgressElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLProgressElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -131,7 +131,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLProgressElement::isDeterminate() const
</span><span class="cx"> {
</span><del>- return fastHasAttribute(valueAttr);
</del><ins>+ return hasAttributeWithoutSynchronization(valueAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void HTMLProgressElement::didElementStateChange()
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLScriptElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLScriptElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLScriptElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLScriptElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -102,7 +102,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLScriptElement::async() const
</span><span class="cx"> {
</span><del>- return fastHasAttribute(asyncAttr) || forceAsync();
</del><ins>+ return hasAttributeWithoutSynchronization(asyncAttr) || forceAsync();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void HTMLScriptElement::setCrossOrigin(const AtomicString& value)
</span><span class="lines">@@ -159,17 +159,17 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLScriptElement::asyncAttributeValue() const
</span><span class="cx"> {
</span><del>- return fastHasAttribute(asyncAttr);
</del><ins>+ return hasAttributeWithoutSynchronization(asyncAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool HTMLScriptElement::deferAttributeValue() const
</span><span class="cx"> {
</span><del>- return fastHasAttribute(deferAttr);
</del><ins>+ return hasAttributeWithoutSynchronization(deferAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool HTMLScriptElement::hasSourceAttribute() const
</span><span class="cx"> {
</span><del>- return fastHasAttribute(srcAttr);
</del><ins>+ return hasAttributeWithoutSynchronization(srcAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void HTMLScriptElement::dispatchLoadEvent()
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLSelectElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLSelectElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLSelectElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLSelectElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -1062,7 +1062,7 @@
</span><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> HTMLOptionElement& option = downcast<HTMLOptionElement>(*element);
</span><del>- if (option.fastHasAttribute(selectedAttr)) {
</del><ins>+ if (option.hasAttributeWithoutSynchronization(selectedAttr)) {
</ins><span class="cx"> if (selectedOption && !m_multiple)
</span><span class="cx"> selectedOption->setSelectedState(false);
</span><span class="cx"> option.setSelectedState(true);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTrackElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTrackElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTrackElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/HTMLTrackElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -135,7 +135,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLTrackElement::isDefault() const
</span><span class="cx"> {
</span><del>- return fastHasAttribute(defaultAttr);
</del><ins>+ return hasAttributeWithoutSynchronization(defaultAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> LoadableTextTrack& HTMLTrackElement::ensureTrack()
</span><span class="lines">@@ -183,7 +183,7 @@
</span><span class="cx">
</span><span class="cx"> void HTMLTrackElement::loadTimerFired()
</span><span class="cx"> {
</span><del>- if (!fastHasAttribute(srcAttr))
</del><ins>+ if (!hasAttributeWithoutSynchronization(srcAttr))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> // 6. Set the text track readiness state to loading.
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlMediaElementSessioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/MediaElementSession.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/MediaElementSession.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/MediaElementSession.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -314,7 +314,7 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (element.fastHasAttribute(HTMLNames::webkitwirelessvideoplaybackdisabledAttr)) {
</del><ins>+ if (element.hasAttributeWithoutSynchronization(HTMLNames::webkitwirelessvideoplaybackdisabledAttr)) {
</ins><span class="cx"> LOG(Media, "MediaElementSession::wirelessVideoPlaybackDisabled - returning TRUE because of attribute");
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="lines">@@ -455,7 +455,7 @@
</span><span class="cx"> if (!settings || !settings->allowsInlineMediaPlayback())
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- return settings->inlineMediaPlaybackRequiresPlaysInlineAttribute() && !(element.fastHasAttribute(HTMLNames::webkit_playsinlineAttr) || element.fastHasAttribute(HTMLNames::playsinlineAttr));
</del><ins>+ return settings->inlineMediaPlaybackRequiresPlaysInlineAttribute() && !(element.hasAttributeWithoutSynchronization(HTMLNames::webkit_playsinlineAttr) || element.hasAttributeWithoutSynchronization(HTMLNames::playsinlineAttr));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool MediaElementSession::allowsAutomaticMediaDataLoading(const HTMLMediaElement& element) const
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlSearchInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/SearchInputType.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/SearchInputType.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/html/SearchInputType.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -180,7 +180,7 @@
</span><span class="cx">
</span><span class="cx"> bool SearchInputType::searchEventsShouldBeDispatched() const
</span><span class="cx"> {
</span><del>- return element().fastHasAttribute(incrementalAttr);
</del><ins>+ return element().hasAttributeWithoutSynchronization(incrementalAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void SearchInputType::didSetValueByUserEdit()
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -1379,7 +1379,7 @@
</span><span class="cx"> if (is<HTMLTemplateElement>(element))
</span><span class="cx"> value->setTemplateContent(buildObjectForNode(&downcast<HTMLTemplateElement>(element).content(), 0, nodesMap));
</span><span class="cx">
</span><del>- if (is<HTMLStyleElement>(element) || (is<HTMLScriptElement>(element) && !element.fastHasAttribute(HTMLNames::srcAttr)))
</del><ins>+ if (is<HTMLStyleElement>(element) || (is<HTMLScriptElement>(element) && !element.hasAttributeWithoutSynchronization(HTMLNames::srcAttr)))
</ins><span class="cx"> value->setContentSecurityPolicyHash(computeContentSecurityPolicySHA256Hash(element));
</span><span class="cx">
</span><span class="cx"> if (element.pseudoId()) {
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoader.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -3262,7 +3262,7 @@
</span><span class="cx"> return false;
</span><span class="cx"> if (!ownerElement->hasTagName(iframeTag))
</span><span class="cx"> return false;
</span><del>- return ownerElement->fastHasAttribute(srcdocAttr);
</del><ins>+ return ownerElement->hasAttributeWithoutSynchronization(srcdocAttr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> Frame* FrameLoader::findFrameForNavigation(const AtomicString& name, Document* activeDocument)
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderImageLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ImageLoader.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ImageLoader.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/loader/ImageLoader.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -286,7 +286,7 @@
</span><span class="cx"> if (!m_hasPendingLoadEvent)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if (element().fastHasAttribute(HTMLNames::crossoriginAttr) && !resource->passesSameOriginPolicyCheck(*element().document().securityOrigin())) {
</del><ins>+ if (element().hasAttributeWithoutSynchronization(HTMLNames::crossoriginAttr) && !resource->passesSameOriginPolicyCheck(*element().document().securityOrigin())) {
</ins><span class="cx"> clearImageWithoutConsideringPendingLoadEvent();
</span><span class="cx">
</span><span class="cx"> m_hasPendingErrorEvent = true;
</span></span></pre></div>
<a id="trunkSourceWebCoremathmlMathMLSelectElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/mathml/MathMLSelectElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/mathml/MathMLSelectElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/mathml/MathMLSelectElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -174,7 +174,7 @@
</span><span class="cx">
</span><span class="cx"> if (child->hasTagName(MathMLNames::annotationTag)) {
</span><span class="cx"> // If the <annotation> element has an src attribute then it is a reference to arbitrary binary data and it is not clear whether we can display it. Hence we just ignore the annotation.
</span><del>- if (child->fastHasAttribute(MathMLNames::srcAttr))
</del><ins>+ if (child->hasAttributeWithoutSynchronization(MathMLNames::srcAttr))
</ins><span class="cx"> continue;
</span><span class="cx"> // Otherwise, we assume it is a text annotation that can always be displayed and we stop here.
</span><span class="cx"> return child;
</span><span class="lines">@@ -182,7 +182,7 @@
</span><span class="cx">
</span><span class="cx"> if (child->hasTagName(MathMLNames::annotation_xmlTag)) {
</span><span class="cx"> // If the <annotation-xml> element has an src attribute then it is a reference to arbitrary binary data and it is not clear whether we can display it. Hence we just ignore the annotation.
</span><del>- if (child->fastHasAttribute(MathMLNames::srcAttr))
</del><ins>+ if (child->hasAttributeWithoutSynchronization(MathMLNames::srcAttr))
</ins><span class="cx"> continue;
</span><span class="cx"> // If the <annotation-xml> element has an encoding attribute describing presentation MathML, SVG or HTML we assume the content can be displayed and we stop here.
</span><span class="cx"> const AtomicString& value = child->attributeWithoutSynchronization(MathMLNames::encodingAttr);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTableCellcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTableCell.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTableCell.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/rendering/RenderTableCell.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -183,7 +183,7 @@
</span><span class="cx"> table()->recalcSectionsIfNeeded();
</span><span class="cx">
</span><span class="cx"> RenderBlockFlow::computePreferredLogicalWidths();
</span><del>- if (!element() || !style().autoWrap() || !element()->fastHasAttribute(nowrapAttr))
</del><ins>+ if (!element() || !style().autoWrap() || !element()->hasAttributeWithoutSynchronization(nowrapAttr))
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> Length w = styleOrColLogicalWidth();
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeIOS.mm (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeIOS.mm        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/rendering/RenderThemeIOS.mm        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -625,7 +625,7 @@
</span><span class="cx"> // Enforce some default styles in the case that this is a non-multiple <select> element,
</span><span class="cx"> // or a date input. We don't force these if this is just an element with
</span><span class="cx"> // "-webkit-appearance: menulist-button".
</span><del>- if (is<HTMLSelectElement>(*element) && !element->fastHasAttribute(HTMLNames::multipleAttr))
</del><ins>+ if (is<HTMLSelectElement>(*element) && !element->hasAttributeWithoutSynchronization(HTMLNames::multipleAttr))
</ins><span class="cx"> adjustSelectListButtonStyle(style, *element);
</span><span class="cx"> else if (is<HTMLInputElement>(*element))
</span><span class="cx"> adjustInputElementButtonStyle(style, downcast<HTMLInputElement>(*element));
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingSimpleLineLayoutcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/SimpleLineLayout.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/SimpleLineLayout.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/rendering/SimpleLineLayout.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -298,7 +298,7 @@
</span><span class="cx"> if (is<RenderTextControl>(*flow.parent()) && downcast<RenderTextControl>(*flow.parent()).textFormControlElement().placeholderElement())
</span><span class="cx"> SET_REASON_AND_RETURN_IF_NEEDED(FlowParentIsPlaceholderElement, reasons, includeReasons);
</span><span class="cx"> // FIXME: Implementation of wrap=hard looks into lineboxes.
</span><del>- if (flow.parent()->isTextArea() && flow.parent()->element()->fastHasAttribute(HTMLNames::wrapAttr))
</del><ins>+ if (flow.parent()->isTextArea() && flow.parent()->element()->hasAttributeWithoutSynchronization(HTMLNames::wrapAttr))
</ins><span class="cx"> SET_REASON_AND_RETURN_IF_NEEDED(FlowParentIsTextAreaWithWrapping, reasons, includeReasons);
</span><span class="cx"> // This currently covers <blockflow>#text</blockflow>, <blockflow>#text<br></blockflow> and mutiple (sibling) RenderText cases.
</span><span class="cx"> // The <blockflow><inline>#text</inline></blockflow> case is also popular and should be relatively easy to cover.
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgRenderSVGResourceClippercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -215,7 +215,7 @@
</span><span class="cx"> renderer = useElement.rendererClipChild();
</span><span class="cx"> if (!renderer)
</span><span class="cx"> continue;
</span><del>- if (!useElement.fastHasAttribute(SVGNames::clip_ruleAttr))
</del><ins>+ if (!useElement.hasAttributeWithoutSynchronization(SVGNames::clip_ruleAttr))
</ins><span class="cx"> newClipRule = renderer->style().svgStyle().clipRule();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimateMotionElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimateMotionElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimateMotionElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/svg/SVGAnimateMotionElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -132,7 +132,7 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (!foundMPath && fastHasAttribute(SVGNames::pathAttr))
</del><ins>+ if (!foundMPath && hasAttributeWithoutSynchronization(SVGNames::pathAttr))
</ins><span class="cx"> m_animationPath = m_path;
</span><span class="cx">
</span><span class="cx"> updateAnimationMode();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimationElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimationElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimationElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/svg/SVGAnimationElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -553,7 +553,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> // These validations are appropriate for all animation modes.
</span><del>- if (fastHasAttribute(SVGNames::keyPointsAttr) && m_keyPoints.size() != m_keyTimes.size())
</del><ins>+ if (hasAttributeWithoutSynchronization(SVGNames::keyPointsAttr) && m_keyPoints.size() != m_keyTimes.size())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> AnimationMode animationMode = this->animationMode();
</span><span class="lines">@@ -561,9 +561,9 @@
</span><span class="cx"> if (calcMode == CalcModeSpline) {
</span><span class="cx"> unsigned splinesCount = m_keySplines.size();
</span><span class="cx"> if (!splinesCount
</span><del>- || (fastHasAttribute(SVGNames::keyPointsAttr) && m_keyPoints.size() - 1 != splinesCount)
</del><ins>+ || (hasAttributeWithoutSynchronization(SVGNames::keyPointsAttr) && m_keyPoints.size() - 1 != splinesCount)
</ins><span class="cx"> || (animationMode == ValuesAnimation && m_values.size() - 1 != splinesCount)
</span><del>- || (fastHasAttribute(SVGNames::keyTimesAttr) && m_keyTimes.size() - 1 != splinesCount))
</del><ins>+ || (hasAttributeWithoutSynchronization(SVGNames::keyTimesAttr) && m_keyTimes.size() - 1 != splinesCount))
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -573,7 +573,7 @@
</span><span class="cx"> if (animationMode == NoAnimation)
</span><span class="cx"> return;
</span><span class="cx"> if ((animationMode == FromToAnimation || animationMode == FromByAnimation || animationMode == ToAnimation || animationMode == ByAnimation)
</span><del>- && (fastHasAttribute(SVGNames::keyPointsAttr) && fastHasAttribute(SVGNames::keyTimesAttr) && (m_keyTimes.size() < 2 || m_keyTimes.size() != m_keyPoints.size())))
</del><ins>+ && (hasAttributeWithoutSynchronization(SVGNames::keyPointsAttr) && hasAttributeWithoutSynchronization(SVGNames::keyTimesAttr) && (m_keyTimes.size() < 2 || m_keyTimes.size() != m_keyPoints.size())))
</ins><span class="cx"> return;
</span><span class="cx"> if (animationMode == FromToAnimation)
</span><span class="cx"> m_animationValid = calculateFromAndToValues(from, to);
</span><span class="lines">@@ -587,16 +587,16 @@
</span><span class="cx"> m_animationValid = calculateFromAndByValues(emptyString(), by);
</span><span class="cx"> else if (animationMode == ValuesAnimation) {
</span><span class="cx"> m_animationValid = m_values.size() >= 1
</span><del>- && (calcMode == CalcModePaced || !fastHasAttribute(SVGNames::keyTimesAttr) || fastHasAttribute(SVGNames::keyPointsAttr) || (m_values.size() == m_keyTimes.size()))
</del><ins>+ && (calcMode == CalcModePaced || !hasAttributeWithoutSynchronization(SVGNames::keyTimesAttr) || hasAttributeWithoutSynchronization(SVGNames::keyPointsAttr) || (m_values.size() == m_keyTimes.size()))
</ins><span class="cx"> && (calcMode == CalcModeDiscrete || !m_keyTimes.size() || m_keyTimes.last() == 1)
</span><span class="cx"> && (calcMode != CalcModeSpline || ((m_keySplines.size() && (m_keySplines.size() == m_values.size() - 1)) || m_keySplines.size() == m_keyPoints.size() - 1))
</span><del>- && (!fastHasAttribute(SVGNames::keyPointsAttr) || (m_keyTimes.size() > 1 && m_keyTimes.size() == m_keyPoints.size()));
</del><ins>+ && (!hasAttributeWithoutSynchronization(SVGNames::keyPointsAttr) || (m_keyTimes.size() > 1 && m_keyTimes.size() == m_keyPoints.size()));
</ins><span class="cx"> if (m_animationValid)
</span><span class="cx"> m_animationValid = calculateToAtEndOfDurationValue(m_values.last());
</span><span class="cx"> if (calcMode == CalcModePaced && m_animationValid)
</span><span class="cx"> calculateKeyTimesForCalcModePaced();
</span><span class="cx"> } else if (animationMode == PathAnimation)
</span><del>- m_animationValid = calcMode == CalcModePaced || !fastHasAttribute(SVGNames::keyPointsAttr) || (m_keyTimes.size() > 1 && m_keyTimes.size() == m_keyPoints.size());
</del><ins>+ m_animationValid = calcMode == CalcModePaced || !hasAttributeWithoutSynchronization(SVGNames::keyPointsAttr) || (m_keyTimes.size() > 1 && m_keyTimes.size() == m_keyPoints.size());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void SVGAnimationElement::updateAnimation(float percent, unsigned repeatCount, SVGSMILElement* resultElement)
</span></span></pre></div>
<a id="trunkSourceWebCoresvganimationSVGSMILElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebCore/svg/animation/SVGSMILElement.cpp        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -267,7 +267,7 @@
</span><span class="cx"> m_timeContainer->setDocumentOrderIndexesDirty();
</span><span class="cx">
</span><span class="cx"> // "If no attribute is present, the default begin value (an offset-value of 0) must be evaluated."
</span><del>- if (!fastHasAttribute(SVGNames::beginAttr))
</del><ins>+ if (!hasAttributeWithoutSynchronization(SVGNames::beginAttr))
</ins><span class="cx"> m_beginTimes.append(SMILTimeWithOrigin());
</span><span class="cx">
</span><span class="cx"> if (m_isWaitingForFirstInterval)
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebKit2/ChangeLog        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2016-07-17 Ryosuke Niwa <rniwa@webkit.org>
+
+ Rename fastHasAttribute to hasAttributeWithoutSynchronization
+ https://bugs.webkit.org/show_bug.cgi?id=159864
+
+ Reviewed by Chris Dumez.
+
+ * WebProcess/WebPage/ios/WebPageIOS.mm:
+ (WebKit::WebPage::getAssistedNodeInformation):
+
</ins><span class="cx"> 2016-07-17 Jeremy Jones <jeremyj@apple.com>
</span><span class="cx">
</span><span class="cx"> REGRESSION (r191907): Maxthon Browser -After exit full screen video playback the browser window is blank with audio running
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageiosWebPageIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm (203336 => 203337)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm        2016-07-17 22:00:42 UTC (rev 203336)
+++ trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm        2016-07-18 00:39:37 UTC (rev 203337)
</span><span class="lines">@@ -2559,11 +2559,11 @@
</span><span class="cx"> HTMLElement* item = items[i];
</span><span class="cx"> if (is<HTMLOptionElement>(*item)) {
</span><span class="cx"> HTMLOptionElement& option = downcast<HTMLOptionElement>(*item);
</span><del>- information.selectOptions.append(OptionItem(option.text(), false, parentGroupID, option.selected(), option.fastHasAttribute(WebCore::HTMLNames::disabledAttr)));
</del><ins>+ information.selectOptions.append(OptionItem(option.text(), false, parentGroupID, option.selected(), option.hasAttributeWithoutSynchronization(WebCore::HTMLNames::disabledAttr)));
</ins><span class="cx"> } else if (is<HTMLOptGroupElement>(*item)) {
</span><span class="cx"> HTMLOptGroupElement& group = downcast<HTMLOptGroupElement>(*item);
</span><span class="cx"> parentGroupID++;
</span><del>- information.selectOptions.append(OptionItem(group.groupLabelText(), true, 0, false, group.fastHasAttribute(WebCore::HTMLNames::disabledAttr)));
</del><ins>+ information.selectOptions.append(OptionItem(group.groupLabelText(), true, 0, false, group.hasAttributeWithoutSynchronization(WebCore::HTMLNames::disabledAttr)));
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx"> information.selectedIndex = element.selectedIndex();
</span></span></pre>
</div>
</div>
</body>
</html>