void SVGSMILElement::parseAttribute(const QualifiedName& name, const AtomicString& oldValue, const AtomicString& value) { if (name == SVGNames::beginAttr) { if (!m_conditions.isEmpty()) { clearConditions(); parseBeginOrEnd(fastGetAttribute(SVGNames::endAttr), End); } parseBeginOrEnd(value.getString(), Begin); if (inDocument()) connectSyncBaseConditions(); } else if (name == SVGNames::endAttr) { if (!m_conditions.isEmpty()) { clearConditions(); parseBeginOrEnd(fastGetAttribute(SVGNames::beginAttr), Begin); } parseBeginOrEnd(value.getString(), End); if (inDocument()) connectSyncBaseConditions(); } else if (name == SVGNames::onbeginAttr) { setAttributeEventListener(EventTypeNames::beginEvent, createAttributeEventListener(this, name, value, eventParameterName())); } else if (name == SVGNames::onendAttr) { setAttributeEventListener(EventTypeNames::endEvent, createAttributeEventListener(this, name, value, eventParameterName())); } else if (name == SVGNames::onrepeatAttr) { setAttributeEventListener(EventTypeNames::repeatEvent, createAttributeEventListener(this, name, value, eventParameterName())); } else { SVGElement::parseAttribute(name, oldValue, value); } }
void HTMLLinkElement::parseAttribute(Attribute* attr) { if (attr->name() == relAttr) { m_relAttribute = LinkRelAttribute(attr->value()); process(); } else if (attr->name() == hrefAttr) { String url = stripLeadingAndTrailingHTMLSpaces(attr->value()); m_url = url.isEmpty() ? KURL() : document()->completeURL(url); process(); } else if (attr->name() == typeAttr) { m_type = attr->value(); process(); } else if (attr->name() == sizesAttr) { setSizes(attr->value()); process(); } else if (attr->name() == mediaAttr) { m_media = attr->value().string().lower(); process(); } else if (attr->name() == disabledAttr) setDisabledState(!attr->isNull()); else if (attr->name() == onbeforeloadAttr) setAttributeEventListener(eventNames().beforeloadEvent, createAttributeEventListener(this, attr)); else if (attr->name() == onloadAttr) setAttributeEventListener(eventNames().loadEvent, createAttributeEventListener(this, attr)); else if (attr->name() == onerrorAttr) setAttributeEventListener(eventNames().errorEvent, createAttributeEventListener(this, attr)); else { if (attr->name() == titleAttr && m_sheet) m_sheet->setTitle(attr->value()); HTMLElement::parseAttribute(attr); } }
void HTMLTextAreaElement::parseMappedAttribute(MappedAttribute* attr) { if (attr->name() == rowsAttr) { int rows = attr->value().toInt(); if (rows <= 0) rows = defaultRows; if (m_rows != rows) { m_rows = rows; if (renderer()) renderer()->setNeedsLayoutAndPrefWidthsRecalc(); } } else if (attr->name() == colsAttr) { int cols = attr->value().toInt(); if (cols <= 0) cols = defaultCols; if (m_cols != cols) { m_cols = cols; if (renderer()) renderer()->setNeedsLayoutAndPrefWidthsRecalc(); } } else if (attr->name() == wrapAttr) { // The virtual/physical values were a Netscape extension of HTML 3.0, now deprecated. // The soft/hard /off values are a recommendation for HTML 4 extension by IE and NS 4. WrapMethod wrap; if (equalIgnoringCase(attr->value(), "physical") || equalIgnoringCase(attr->value(), "hard") || equalIgnoringCase(attr->value(), "on")) wrap = HardWrap; else if (equalIgnoringCase(attr->value(), "off")) wrap = NoWrap; else wrap = SoftWrap; if (wrap != m_wrap) { m_wrap = wrap; if (shouldWrapText()) { addCSSProperty(attr, CSSPropertyWhiteSpace, CSSValuePreWrap); addCSSProperty(attr, CSSPropertyWordWrap, CSSValueBreakWord); } else { addCSSProperty(attr, CSSPropertyWhiteSpace, CSSValuePre); addCSSProperty(attr, CSSPropertyWordWrap, CSSValueNormal); } if (renderer()) renderer()->setNeedsLayoutAndPrefWidthsRecalc(); } } else if (attr->name() == accesskeyAttr) { // ignore for the moment } else if (attr->name() == alignAttr) { // Don't map 'align' attribute. This matches what Firefox, Opera and IE do. // See http://bugs.webkit.org/show_bug.cgi?id=7075 } else if (attr->name() == onfocusAttr) setAttributeEventListener(eventNames().focusEvent, createAttributeEventListener(this, attr)); else if (attr->name() == onblurAttr) setAttributeEventListener(eventNames().blurEvent, createAttributeEventListener(this, attr)); else if (attr->name() == onselectAttr) setAttributeEventListener(eventNames().selectEvent, createAttributeEventListener(this, attr)); else if (attr->name() == onchangeAttr) setAttributeEventListener(eventNames().changeEvent, createAttributeEventListener(this, attr)); else HTMLFormControlElementWithState::parseMappedAttribute(attr); }
void HTMLObjectElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (name == formAttr) formAttributeChanged(); else if (name == typeAttr) { m_serviceType = value.lower(); size_t pos = m_serviceType.find(";"); if (pos != notFound) m_serviceType = m_serviceType.left(pos); if (renderer()) setNeedsWidgetUpdate(true); } else if (name == dataAttr) { m_url = stripLeadingAndTrailingHTMLSpaces(value); if (renderer()) { setNeedsWidgetUpdate(true); if (isImageType()) { if (!m_imageLoader) m_imageLoader = adoptPtr(new HTMLImageLoader(this)); m_imageLoader->updateFromElementIgnoringPreviousError(); } } } else if (name == classidAttr) { m_classId = value; if (renderer()) setNeedsWidgetUpdate(true); } else if (name == onloadAttr) setAttributeEventListener(eventNames().loadEvent, createAttributeEventListener(this, name, value)); else if (name == onbeforeloadAttr) setAttributeEventListener(eventNames().beforeloadEvent, createAttributeEventListener(this, name, value)); else HTMLPlugInImageElement::parseAttribute(name, value); }
void HTMLObjectElement::parseMappedAttribute(Attribute* attr) { if (attr->name() == typeAttr) { m_serviceType = attr->value().lower(); size_t pos = m_serviceType.find(";"); if (pos != notFound) m_serviceType = m_serviceType.left(pos); if (renderer()) setNeedsWidgetUpdate(true); if (!isImageType() && m_imageLoader) m_imageLoader.clear(); } else if (attr->name() == dataAttr) { m_url = stripLeadingAndTrailingHTMLSpaces(attr->value()); if (renderer()) { setNeedsWidgetUpdate(true); if (isImageType()) { if (!m_imageLoader) m_imageLoader = adoptPtr(new HTMLImageLoader(this)); m_imageLoader->updateFromElementIgnoringPreviousError(); } } } else if (attr->name() == classidAttr) { m_classId = attr->value(); if (renderer()) setNeedsWidgetUpdate(true); } else if (attr->name() == onloadAttr) setAttributeEventListener(eventNames().loadEvent, NULL_METHOD_RESULT(this, attr)); else if (attr->name() == onbeforeloadAttr) setAttributeEventListener(eventNames().beforeloadEvent, NULL_METHOD_RESULT(this, attr)); else if (attr->name() == nameAttr) { const AtomicString& newName = attr->value(); if (isDocNamedItem() && inDocument() && document()->isHTMLDocument()) { HTMLDocument* document = static_cast<HTMLDocument*>(this->document()); document->removeNamedItem(m_name); document->addNamedItem(newName); } m_name = newName; } else if (attr->name() == borderAttr) { addCSSLength(attr, CSSPropertyBorderWidth, attr->value().toInt() ? attr->value() : "0"); addCSSProperty(attr, CSSPropertyBorderTopStyle, CSSValueSolid); addCSSProperty(attr, CSSPropertyBorderRightStyle, CSSValueSolid); addCSSProperty(attr, CSSPropertyBorderBottomStyle, CSSValueSolid); addCSSProperty(attr, CSSPropertyBorderLeftStyle, CSSValueSolid); } else if (isIdAttributeName(attr->name())) { const AtomicString& newId = attr->value(); if (isDocNamedItem() && inDocument() && document()->isHTMLDocument()) { HTMLDocument* document = static_cast<HTMLDocument*>(this->document()); document->removeExtraNamedItem(m_id); document->addExtraNamedItem(newId); } m_id = newId; // also call superclass HTMLPlugInImageElement::parseMappedAttribute(attr); } else HTMLPlugInImageElement::parseMappedAttribute(attr); }
void HTMLTextFormControlElement::parseAttribute(Attribute* attr) { if (attr->name() == placeholderAttr) updatePlaceholderVisibility(true); else if (attr->name() == onselectAttr) setAttributeEventListener(eventNames().selectEvent, createAttributeEventListener(this, attr)); else if (attr->name() == onchangeAttr) setAttributeEventListener(eventNames().changeEvent, createAttributeEventListener(this, attr)); else HTMLFormControlElementWithState::parseAttribute(attr); }
void HTMLTextFormControlElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (name == placeholderAttr) updatePlaceholderVisibility(true); else if (name == onselectAttr) setAttributeEventListener(eventNames().selectEvent, createAttributeEventListener(this, name, value)); else if (name == onchangeAttr) setAttributeEventListener(eventNames().changeEvent, createAttributeEventListener(this, name, value)); else HTMLFormControlElementWithState::parseAttribute(name, value); }
void HTMLObjectElement::parseMappedAttribute(Attribute* attr) { if (attr->name() == typeAttr) { m_serviceType = attr->value().lower(); size_t pos = m_serviceType.find(";"); if (pos != notFound) m_serviceType = m_serviceType.left(pos); if (renderer()) setNeedsWidgetUpdate(true); if (!isImageType() && m_imageLoader) m_imageLoader.clear(); } else if (attr->name() == dataAttr) { m_url = deprecatedParseURL(attr->value()); if (renderer()) { setNeedsWidgetUpdate(true); if (isImageType()) { if (!m_imageLoader) m_imageLoader = adoptPtr(new HTMLImageLoader(this)); m_imageLoader->updateFromElementIgnoringPreviousError(); } } } else if (attr->name() == classidAttr) { m_classId = attr->value(); if (renderer()) setNeedsWidgetUpdate(true); } else if (attr->name() == onloadAttr) setAttributeEventListener(eventNames().loadEvent, createAttributeEventListener(this, attr)); else if (attr->name() == onbeforeloadAttr) setAttributeEventListener(eventNames().beforeloadEvent, createAttributeEventListener(this, attr)); else if (attr->name() == nameAttr) { const AtomicString& newName = attr->value(); if (isDocNamedItem() && inDocument() && document()->isHTMLDocument()) { HTMLDocument* document = static_cast<HTMLDocument*>(this->document()); document->removeNamedItem(m_name); document->addNamedItem(newName); } m_name = newName; } else if (isIdAttributeName(attr->name())) { const AtomicString& newId = attr->value(); if (isDocNamedItem() && inDocument() && document()->isHTMLDocument()) { HTMLDocument* document = static_cast<HTMLDocument*>(this->document()); document->removeExtraNamedItem(m_id); document->addExtraNamedItem(newId); } m_id = newId; // also call superclass HTMLPlugInImageElement::parseMappedAttribute(attr); } else HTMLPlugInImageElement::parseMappedAttribute(attr); }
void HTMLElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (isIdAttributeName(name) || name == classAttr || name == styleAttr) return StyledElement::parseAttribute(name, value); if (name == dirAttr) dirAttributeChanged(value); else if (name == tabindexAttr) { int tabindex = 0; if (value.isEmpty()) clearTabIndexExplicitlyIfNeeded(); else if (parseHTMLInteger(value, tabindex)) { // Clamp tabindex to the range of 'short' to match Firefox's behavior. setTabIndexExplicitly(max(static_cast<int>(std::numeric_limits<short>::min()), min(tabindex, static_cast<int>(std::numeric_limits<short>::max())))); } #if ENABLE(MICRODATA) } else if (name == itempropAttr) { setItemProp(value); } else if (name == itemrefAttr) { setItemRef(value); } else if (name == itemtypeAttr) { setItemType(value); #endif } else { AtomicString eventName = eventNameForAttributeName(name); if (!eventName.isNull()) setAttributeEventListener(eventName, createAttributeEventListener(this, name, value)); } }
void HTMLObjectElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (name == formAttr) formAttributeChanged(); else if (name == typeAttr) { m_serviceType = value.string().left(value.find(';')).lower(); setNeedsWidgetUpdate(true); } else if (name == dataAttr) { m_url = stripLeadingAndTrailingHTMLSpaces(value); setNeedsWidgetUpdate(true); document().updateStyleIfNeeded(); if (renderer()) { if (isImageType()) { if (!m_imageLoader) m_imageLoader = std::make_unique<HTMLImageLoader>(*this); m_imageLoader->updateFromElementIgnoringPreviousError(); } } } else if (name == classidAttr) setNeedsWidgetUpdate(true); else if (name == onbeforeloadAttr) setAttributeEventListener(eventNames().beforeloadEvent, name, value); else HTMLPlugInImageElement::parseAttribute(name, value); }
void SVGElement::parseAttribute(const QualifiedName& name, const AtomicString& oldValue, const AtomicString& value) { if (SVGAnimatedPropertyBase* property = propertyFromAttribute(name)) { SVGParsingError parseError = property->setBaseValueAsString(value); reportAttributeParsingError(parseError, name, value); return; } if (name == HTMLNames::classAttr) { // SVG animation has currently requires special storage of values so we set // the className here. svgAttributeChanged actually causes the resulting // style updates (instead of Element::parseAttribute). We don't // tell Element about the change to avoid parsing the class list twice SVGParsingError parseError = m_className->setBaseValueAsString(value); reportAttributeParsingError(parseError, name, value); } else if (name == tabindexAttr) { Element::parseAttribute(name, oldValue, value); } else { // standard events const AtomicString& eventName = HTMLElement::eventNameForAttributeName(name); if (!eventName.isNull()) setAttributeEventListener(eventName, createAttributeEventListener(this, name, value, eventParameterName())); else Element::parseAttribute(name, oldValue, value); } }
void SVGScriptElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (name == HTMLNames::onerrorAttr) setAttributeEventListener(EventTypeNames::error, createAttributeEventListener(this, name, value, eventParameterName())); else SVGElement::parseAttribute(name, value); }
void HTMLAnchorElement::parseAttribute(Attribute* attr) { if (attr->name() == hrefAttr) { bool wasLink = isLink(); setIsLink(!attr->isNull()); if (wasLink != isLink()) setNeedsStyleRecalc(); if (isLink()) { String parsedURL = stripLeadingAndTrailingHTMLSpaces(attr->value()); if (document()->isDNSPrefetchEnabled()) { if (protocolIs(parsedURL, "http") || protocolIs(parsedURL, "https") || parsedURL.startsWith("//")) prefetchDNS(document()->completeURL(parsedURL).host()); } if (document()->page() && !document()->page()->javaScriptURLsAreAllowed() && protocolIsJavaScript(parsedURL)) { clearIsLink(); // FIXME: This is horribly factored. if (Attribute* hrefAttribute = getAttributeItem(hrefAttr)) hrefAttribute->setValue(nullAtom); } #ifdef ARTEMIS else if(protocolIsJavaScript(parsedURL) && !hasEventListeners(eventNames().clickEvent)) { // Don't set the onclick event handler if it already has one. setAttributeEventListener(eventNames().clickEvent, createAttributeEventListener(this, attr)); } #endif } invalidateCachedVisitedLinkHash(); } else if (attr->name() == nameAttr || attr->name() == titleAttr) { // Do nothing. } else if (attr->name() == relAttr) setRel(attr->value()); else HTMLElement::parseAttribute(attr); }
void HTMLElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (isIdAttributeName(name) || name == classAttr || name == styleAttr) return Element::parseAttribute(name, value); if (name == dirAttr) dirAttributeChanged(value); else if (name == tabindexAttr) { int tabindex = 0; if (value.isEmpty()) { clearTabIndexExplicitlyIfNeeded(); if (treeScope().adjustedFocusedElement() == this) { // We might want to call blur(), but it's dangerous to dispatch // events here. document().setNeedsFocusedElementCheck(); } } else if (parseHTMLInteger(value, tabindex)) { // Clamp tabindex to the range of 'short' to match Firefox's behavior. setTabIndexExplicitly(max(static_cast<int>(std::numeric_limits<short>::min()), min(tabindex, static_cast<int>(std::numeric_limits<short>::max())))); } } else { const AtomicString& eventName = eventNameForAttributeName(name); if (!eventName.isNull()) setAttributeEventListener(eventName, createAttributeEventListener(this, name, value)); } }
void MIDIInput::setOnmidimessage(PassRefPtrWillBeRawPtr<EventListener> listener) { // Implicit open. It does nothing if the port is already opened. // See http://www.w3.org/TR/webmidi/#widl-MIDIPort-open-Promise-MIDIPort open(); setAttributeEventListener(EventTypeNames::midimessage, listener); }
void HTMLElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (name == tabindexAttr || name == tabstopAttr) return Element::parseAttribute(name, value); if (name == dirAttr) { dirAttributeChanged(value); } else { const AtomicString& eventName = eventNameForAttributeName(name); if (!eventName.isNull()) setAttributeEventListener(eventName, createAttributeEventListener(this, name, value, eventParameterName())); } }
void HTMLElement::parseAttribute(const QualifiedName& name, const AtomicString& oldValue, const AtomicString& value) { if (name == tabindexAttr || name == XMLNames::langAttr) return Element::parseAttribute(name, oldValue, value); if (name == dirAttr) { dirAttributeChanged(value); } else if (name == langAttr) { pseudoStateChanged(CSSSelector::PseudoLang); } else { const AtomicString& eventName = eventNameForAttributeName(name); if (!eventName.isNull()) setAttributeEventListener(eventName, createAttributeEventListener(this, name, value, eventParameterName())); } }
void HTMLLinkElement::parseMappedAttribute(Attribute* attr) { if (attr->name() == relAttr) { tokenizeRelAttribute(attr->value(), m_relAttribute); process(); } else if (attr->name() == hrefAttr) { // CAPPFIX_WEB_IMG_SRC_NULL #if 1 String url = stripLeadingAndTrailingHTMLSpaces(attr->value()); m_url = url.isEmpty() ? KURL() : document()->completeURL(url); #else m_url = document()->completeURL(stripLeadingAndTrailingHTMLSpaces(attr->value())); #endif process(); } else if (attr->name() == typeAttr) { m_type = attr->value(); process(); } else if (attr->name() == mediaAttr) { m_media = attr->value().string().lower(); process(); } else if (attr->name() == disabledAttr) setDisabledState(!attr->isNull()); else if (attr->name() == onbeforeloadAttr) setAttributeEventListener(eventNames().beforeloadEvent, createAttributeEventListener(this, attr)); #if ENABLE(LINK_PREFETCH) else if (attr->name() == onloadAttr) setAttributeEventListener(eventNames().loadEvent, createAttributeEventListener(this, attr)); else if (attr->name() == onerrorAttr) setAttributeEventListener(eventNames().errorEvent, createAttributeEventListener(this, attr)); #endif else { if (attr->name() == titleAttr && m_sheet) m_sheet->setTitle(attr->value()); HTMLElement::parseMappedAttribute(attr); } }
void HTMLObjectElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (name == formAttr) formAttributeChanged(); else if (name == typeAttr) { m_serviceType = value.string().left(value.find(';')).lower(); setNeedsWidgetUpdate(true); } else if (name == dataAttr) { m_url = stripLeadingAndTrailingHTMLSpaces(value); setNeedsWidgetUpdate(true); updateImageLoaderWithNewURLSoon(); } else if (name == classidAttr) setNeedsWidgetUpdate(true); else if (name == onbeforeloadAttr) setAttributeEventListener(eventNames().beforeloadEvent, name, value); else HTMLPlugInImageElement::parseAttribute(name, value); }
void SVGScriptElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (!isSupportedAttribute(name)) { SVGElement::parseAttribute(name, value); return; } SVGParsingError parseError = NoError; if (name == SVGNames::typeAttr) return; if (name == HTMLNames::onerrorAttr) { setAttributeEventListener(EventTypeNames::error, createAttributeEventListener(this, name, value)); } else if (SVGURIReference::parseAttribute(name, value, parseError)) { } else { ASSERT_NOT_REACHED(); } reportAttributeParsingError(parseError, name, value); }
void SVGScriptElement::parseAttribute(const QualifiedName& name, const AtomicString& value) { if (!isSupportedAttribute(name)) { SVGElement::parseAttribute(name, value); return; } if (name == SVGNames::typeAttr) return; if (name == HTMLNames::onerrorAttr) { setAttributeEventListener(eventNames().errorEvent, name, value); return; } if (SVGURIReference::parseAttribute(name, value)) return; if (SVGExternalResourcesRequired::parseAttribute(name, value)) return; ASSERT_NOT_REACHED(); }
void HTMLLinkElement::parseMappedAttribute(Attribute* attr) { if (attr->name() == relAttr) { tokenizeRelAttribute(attr->value(), m_relAttribute); process(); } else if (attr->name() == hrefAttr) { m_url = document()->completeURL(stripLeadingAndTrailingHTMLSpaces(attr->value())); process(); } else if (attr->name() == typeAttr) { m_type = attr->value(); process(); } else if (attr->name() == mediaAttr) { m_media = attr->value().string().lower(); process(); } else if (attr->name() == disabledAttr) setDisabledState(!attr->isNull()); else if (attr->name() == onbeforeloadAttr) setAttributeEventListener(eventNames().beforeloadEvent, createAttributeEventListener(this, attr)); else { if (attr->name() == titleAttr && m_sheet) m_sheet->setTitle(attr->value()); HTMLElement::parseMappedAttribute(attr); } }
void HTMLLinkElement::parseMappedAttribute(MappedAttribute *attr) { if (attr->name() == relAttr) { tokenizeRelAttribute(attr->value(), m_isStyleSheet, m_alternate, m_isIcon, m_isDNSPrefetch); process(); } else if (attr->name() == hrefAttr) { m_url = document()->completeURL(deprecatedParseURL(attr->value())); process(); } else if (attr->name() == typeAttr) { m_type = attr->value(); process(); } else if (attr->name() == mediaAttr) { m_media = attr->value().string().lower(); process(); } else if (attr->name() == disabledAttr) { setDisabledState(!attr->isNull()); } else if (attr->name() == onbeforeloadAttr) setAttributeEventListener(eventNames().beforeloadEvent, createAttributeEventListener(this, attr)); else { if (attr->name() == titleAttr && m_sheet) m_sheet->setTitle(attr->value()); HTMLElement::parseMappedAttribute(attr); } }
void AudioScheduledSourceNode::setOnended(PassRefPtr<EventListener> listener) { m_hasEndedListener = listener; setAttributeEventListener(EventTypeNames::ended, listener); }
void HTMLElement::parseMappedAttribute(Attribute* attr) { if (attr->name() == idAttributeName() || attr->name() == classAttr || attr->name() == styleAttr) return StyledElement::parseMappedAttribute(attr); String indexstring; if (attr->name() == alignAttr) { if (equalIgnoringCase(attr->value(), "middle")) addCSSProperty(attr, CSSPropertyTextAlign, "center"); else addCSSProperty(attr, CSSPropertyTextAlign, attr->value()); } else if (attr->name() == contenteditableAttr) { setContentEditable(attr); } else if (attr->name() == tabindexAttr) { indexstring = getAttribute(tabindexAttr); if (indexstring.length()) { bool parsedOK; int tabindex = indexstring.toIntStrict(&parsedOK); if (parsedOK) // Clamp tabindex to the range of 'short' to match Firefox's behavior. setTabIndexExplicitly(max(static_cast<int>(std::numeric_limits<short>::min()), min(tabindex, static_cast<int>(std::numeric_limits<short>::max())))); } } else if (attr->name() == langAttr) { // FIXME: Implement } else if (attr->name() == dirAttr) { addCSSProperty(attr, CSSPropertyDirection, attr->value()); addCSSProperty(attr, CSSPropertyUnicodeBidi, hasLocalName(bdoTag) ? CSSValueBidiOverride : CSSValueEmbed); } else if (attr->name() == draggableAttr) { const AtomicString& value = attr->value(); if (equalIgnoringCase(value, "true")) { addCSSProperty(attr, CSSPropertyWebkitUserDrag, CSSValueElement); addCSSProperty(attr, CSSPropertyWebkitUserSelect, CSSValueNone); } else if (equalIgnoringCase(value, "false")) addCSSProperty(attr, CSSPropertyWebkitUserDrag, CSSValueNone); } // standard events else if (attr->name() == onclickAttr) { setAttributeEventListener(eventNames().clickEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == oncontextmenuAttr) { setAttributeEventListener(eventNames().contextmenuEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == ondblclickAttr) { setAttributeEventListener(eventNames().dblclickEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onmousedownAttr) { setAttributeEventListener(eventNames().mousedownEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onmousemoveAttr) { setAttributeEventListener(eventNames().mousemoveEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onmouseoutAttr) { setAttributeEventListener(eventNames().mouseoutEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onmouseoverAttr) { setAttributeEventListener(eventNames().mouseoverEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onmouseupAttr) { setAttributeEventListener(eventNames().mouseupEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onmousewheelAttr) { setAttributeEventListener(eventNames().mousewheelEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onfocusAttr) { setAttributeEventListener(eventNames().focusEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onfocusinAttr) { setAttributeEventListener(eventNames().focusinEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onfocusoutAttr) { setAttributeEventListener(eventNames().focusoutEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onblurAttr) { setAttributeEventListener(eventNames().blurEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onkeydownAttr) { setAttributeEventListener(eventNames().keydownEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onkeypressAttr) { setAttributeEventListener(eventNames().keypressEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onkeyupAttr) { setAttributeEventListener(eventNames().keyupEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onscrollAttr) { setAttributeEventListener(eventNames().scrollEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onbeforecutAttr) { setAttributeEventListener(eventNames().beforecutEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == oncutAttr) { setAttributeEventListener(eventNames().cutEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onbeforecopyAttr) { setAttributeEventListener(eventNames().beforecopyEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == oncopyAttr) { setAttributeEventListener(eventNames().copyEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onbeforepasteAttr) { setAttributeEventListener(eventNames().beforepasteEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onpasteAttr) { setAttributeEventListener(eventNames().pasteEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == ondragenterAttr) { setAttributeEventListener(eventNames().dragenterEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == ondragoverAttr) { setAttributeEventListener(eventNames().dragoverEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == ondragleaveAttr) { setAttributeEventListener(eventNames().dragleaveEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == ondropAttr) { setAttributeEventListener(eventNames().dropEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == ondragstartAttr) { setAttributeEventListener(eventNames().dragstartEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == ondragAttr) { setAttributeEventListener(eventNames().dragEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == ondragendAttr) { setAttributeEventListener(eventNames().dragendEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onselectstartAttr) { setAttributeEventListener(eventNames().selectstartEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onsubmitAttr) { setAttributeEventListener(eventNames().submitEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onerrorAttr) { setAttributeEventListener(eventNames().errorEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onwebkitanimationstartAttr) { setAttributeEventListener(eventNames().webkitAnimationStartEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onwebkitanimationiterationAttr) { setAttributeEventListener(eventNames().webkitAnimationIterationEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onwebkitanimationendAttr) { setAttributeEventListener(eventNames().webkitAnimationEndEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == onwebkittransitionendAttr) { setAttributeEventListener(eventNames().webkitTransitionEndEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == oninputAttr) { setAttributeEventListener(eventNames().inputEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == oninvalidAttr) { setAttributeEventListener(eventNames().invalidEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == ontouchstartAttr) { setAttributeEventListener(eventNames().touchstartEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == ontouchmoveAttr) { setAttributeEventListener(eventNames().touchmoveEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == ontouchendAttr) { setAttributeEventListener(eventNames().touchendEvent, createAttributeEventListener(this, attr)); } else if (attr->name() == ontouchcancelAttr) { setAttributeEventListener(eventNames().touchcancelEvent, createAttributeEventListener(this, attr)); } }
void MIDIAccess::setOnstatechange(EventListener* listener) { m_hasPendingActivity = listener; setAttributeEventListener(EventTypeNames::statechange, listener); }
void ContainerNode::setAttributeEventListener(const AtomicString& eventType, const QualifiedName& attributeName, const AtomicString& attributeValue) { Attribute ab(attributeName,attributeValue); setAttributeEventListener(eventType, createAttributeEventListener(this, &ab));//CMP_ERROR , use v8 instead of jsc }
void AudioScheduledSourceNode::setOnended(PassRefPtr<EventListener> listener) { audioScheduledSourceHandler().setHasEndedListener(); setAttributeEventListener(EventTypeNames::ended, listener); }
void AudioScheduledSourceNode::setOnended(EventListener* listener) { setAttributeEventListener(EventTypeNames::ended, listener); }
void AudioScheduledSourceNode::setOnended(PassRefPtr<EventListener> listener) { m_hasEndedListener = listener; setAttributeEventListener(eventNames().endedEvent, listener); }