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