本文整理汇总了C++中cssPropertyID函数的典型用法代码示例。如果您正苦于以下问题:C++ cssPropertyID函数的具体用法?C++ cssPropertyID怎么用?C++ cssPropertyID使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cssPropertyID函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: cssPropertyID
bool UseCounter::isCounted(Document& document, const String& string)
{
Frame* frame = document.frame();
if (!frame)
return false;
FrameHost* host = frame->host();
if (!host)
return false;
CSSPropertyID propertyID = cssPropertyID(string);
if (propertyID == CSSPropertyInvalid)
return false;
return host->useCounter().isCounted(propertyID);
}
开发者ID:astojilj,项目名称:chromium-crosswalk,代码行数:14,代码来源:UseCounter.cpp
示例2: cssPropertyID
CSSStyleValueVector FilteredComputedStylePropertyMap::getAll(
const String& propertyName,
ExceptionState& exceptionState) {
CSSPropertyID propertyID = cssPropertyID(propertyName);
if (propertyID >= firstCSSProperty && m_nativeProperties.contains(propertyID))
return getAllInternal(propertyID);
if (propertyID == CSSPropertyVariable &&
m_customProperties.contains(AtomicString(propertyName)))
return getAllInternal(AtomicString(propertyName));
exceptionState.throwTypeError("Invalid propertyName: " + propertyName);
return CSSStyleValueVector();
}
开发者ID:mirror,项目名称:chromium,代码行数:14,代码来源:FilteredComputedStylePropertyMap.cpp
示例3: cssPropertyID
bool SVGAnimationElement::attributeIsCSS(const String &attributeName)
{
// FIXME: We should have a map of all SVG properties and their attribute types so we
// could validate animations better. The spec is very vague about this.
unsigned id = cssPropertyID(attributeName);
// SVG range
if (id >= CSSPropertyClipPath && id <= CSSPropertyWritingMode) {
return true;
}
// Regular CSS properties also in SVG
return id == CSSPropertyColor || id == CSSPropertyDisplay || id == CSSPropertyOpacity
|| (id >= CSSPropertyFont && id <= CSSPropertyFontWeight)
|| id == CSSPropertyOverflow || id == CSSPropertyVisibility;
}
开发者ID:KDE,项目名称:khtml,代码行数:14,代码来源:SVGAnimationElement.cpp
示例4: cloneAndCacheForCSSOM
RefPtr<CSSValue> PropertySetCSSStyleDeclaration::getPropertyCSSValue(const String& propertyName)
{
if (isCustomPropertyName(propertyName)) {
RefPtr<CSSValue> value = m_propertySet->getCustomPropertyCSSValue(propertyName);
if (!value)
return nullptr;
return cloneAndCacheForCSSOM(value.get());
}
CSSPropertyID propertyID = cssPropertyID(propertyName);
if (!propertyID)
return nullptr;
return cloneAndCacheForCSSOM(m_propertySet->getPropertyCSSValue(propertyID).get());
}
开发者ID:rhythmkay,项目名称:webkit,代码行数:14,代码来源:PropertySetCSSStyleDeclaration.cpp
示例5: cssPropertyName
bool JSCSSStyleDeclaration::putDelegate(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot&)
{
bool pixelOrPos;
String prop = cssPropertyName(propertyName, &pixelOrPos);
if (!cssPropertyID(prop))
return false;
String propValue = valueToStringWithNullCheck(exec, value);
if (pixelOrPos)
propValue += "px";
ExceptionCode ec = 0;
impl()->setProperty(prop, propValue, emptyString(), ec);
setDOMException(exec, ec);
return true;
}
开发者ID:CannedFish,项目名称:deepin-webkit,代码行数:15,代码来源:JSCSSStyleDeclarationCustom.cpp
示例6: cssPropertyID
CSSPropertyID AnimationInputHelpers::keyframeAttributeToCSSPropertyID(const String& propertyName)
{
// Disallow prefixed properties.
if (propertyName[0] == '-' || isASCIIUpper(propertyName[0]))
return CSSPropertyInvalid;
if (propertyName == "cssFloat")
return CSSPropertyFloat;
StringBuilder builder;
for (size_t i = 0; i < propertyName.length(); ++i) {
if (isASCIIUpper(propertyName[i]))
builder.append('-');
builder.append(propertyName[i]);
}
return cssPropertyID(builder.toString());
}
开发者ID:335969568,项目名称:Blink-1,代码行数:15,代码来源:AnimationInputHelpers.cpp
示例7: accessCompositeAnimation
bool AnimationControllerPrivate::pauseTransitionAtTime(RenderObject* renderer, const String& property, double t)
{
if (!renderer)
return false;
RefPtr<CompositeAnimation> compAnim = accessCompositeAnimation(renderer);
if (!compAnim)
return false;
if (compAnim->pauseTransitionAtTime(cssPropertyID(property), t)) {
renderer->node()->setChanged(AnimationStyleChange);
return true;
}
return false;
}
开发者ID:jackiekaon,项目名称:owb-mirror,代码行数:16,代码来源:AnimationController.cpp
示例8: ensureAnimator
void SVGAnimateElement::resetAnimatedType()
{
SVGAnimatedTypeAnimator* animator = ensureAnimator();
ASSERT(m_animatedPropertyType == animator->type());
SVGElement* targetElement = this->targetElement();
const QualifiedName& attributeName = this->attributeName();
ShouldApplyAnimation shouldApply = shouldApplyAnimation(targetElement, attributeName);
if (shouldApply == DontApplyAnimation)
return;
if (shouldApply == ApplyXMLAnimation) {
// SVG DOM animVal animation code-path.
m_animatedProperties = animator->findAnimatedPropertiesForAttributeName(targetElement, attributeName);
SVGElementAnimatedPropertyList::const_iterator end = m_animatedProperties.end();
for (SVGElementAnimatedPropertyList::const_iterator it = m_animatedProperties.begin(); it != end; ++it)
document().accessSVGExtensions()->addElementReferencingTarget(this, it->element);
ASSERT(!m_animatedProperties.isEmpty());
ASSERT(propertyTypesAreConsistent(m_animatedPropertyType, m_animatedProperties));
if (!m_animatedType)
m_animatedType = animator->startAnimValAnimation(m_animatedProperties);
else {
animator->resetAnimValToBaseVal(m_animatedProperties, m_animatedType.get());
animator->animValDidChange(m_animatedProperties);
}
return;
}
// CSS properties animation code-path.
ASSERT(m_animatedProperties.isEmpty());
String baseValue;
if (shouldApply == ApplyCSSAnimation) {
ASSERT(SVGAnimationElement::isTargetAttributeCSSProperty(targetElement, attributeName));
computeCSSPropertyValue(targetElement, cssPropertyID(attributeName.localName()), baseValue);
}
if (!m_animatedType)
m_animatedType = animator->constructFromString(baseValue);
else
m_animatedType->setValueAsString(attributeName, baseValue);
}
开发者ID:Metrological,项目名称:chromium,代码行数:45,代码来源:SVGAnimateElement.cpp
示例9: removeCSSPropertyFromTargetAndInstances
static inline void removeCSSPropertyFromTargetAndInstances(SVGElement* targetElement, const QualifiedName& attributeName)
{
ASSERT(targetElement);
if (attributeName == anyQName() || !targetElement->inDocument() || !targetElement->parentNode())
return;
CSSPropertyID id = cssPropertyID(attributeName.localName());
SVGElement::InstanceUpdateBlocker blocker(targetElement);
removeCSSPropertyFromTarget(targetElement, id);
// If the target element has instances, update them as well, w/o requiring the <use> tree to be rebuilt.
const HeapHashSet<WeakMember<SVGElement>>& instances = targetElement->instancesForElement();
for (SVGElement* shadowTreeElement : instances) {
if (shadowTreeElement)
removeCSSPropertyFromTarget(shadowTreeElement, id);
}
}
开发者ID:aobzhirov,项目名称:ChromiumGStreamerBackend,代码行数:18,代码来源:SVGAnimateElement.cpp
示例10: getPropertyCSSValue
PassRefPtr<JSONObject> LayoutEditor::createValueDescription(const String& propertyName)
{
RefPtrWillBeRawPtr<CSSPrimitiveValue> cssValue = getPropertyCSSValue(cssPropertyID(propertyName));
if (cssValue && !(cssValue->isLength() || cssValue->isPercentage()))
return nullptr;
RefPtr<JSONObject> object = JSONObject::create();
object->setNumber("value", cssValue ? cssValue->getFloatValue() : 0);
CSSPrimitiveValue::UnitType unitType = cssValue ? cssValue->typeWithCalcResolved() : CSSPrimitiveValue::UnitType::Pixels;
object->setString("unit", CSSPrimitiveValue::unitTypeToString(unitType));
object->setBoolean("mutable", isMutableUnitType(unitType));
if (!m_growsInside.contains(propertyName))
m_growsInside.set(propertyName, growInside(propertyName, cssValue.get()));
object->setBoolean("growInside", m_growsInside.get(propertyName));
return object.release();
}
开发者ID:howardroark2018,项目名称:chromium,代码行数:18,代码来源:LayoutEditor.cpp
示例11: mutationScope
String AbstractPropertySetCSSStyleDeclaration::removeProperty(const String& propertyName, ExceptionState& exceptionState)
{
StyleAttributeMutationScope mutationScope(this);
CSSPropertyID propertyID = cssPropertyID(propertyName);
if (!propertyID)
return String();
willMutate();
String result;
bool changed = propertySet().removeProperty(propertyID, &result);
didMutate(changed ? PropertyChanged : NoChanges);
if (changed)
mutationScope.enqueueMutationRecord();
return result;
}
开发者ID:smil-in-javascript,项目名称:blink,代码行数:18,代码来源:PropertySetCSSStyleDeclaration.cpp
示例12: cssPropertyID
bool DOMWindowCSS::supports(const String& property, const String& value) const
{
CSSPropertyID propertyID = cssPropertyID(property.stripWhiteSpace());
if (propertyID == CSSPropertyInvalid)
return false;
ASSERT(CSSPropertyMetadata::isEnabledProperty(propertyID));
// CSSParser::parseValue() won't work correctly if !important is present,
// so just get rid of it. It doesn't matter to supports() if it's actually
// there or not, provided how it's specified in the value is correct.
String normalizedValue = value.stripWhiteSpace().simplifyWhiteSpace();
normalizedValue = valueWithoutImportant(normalizedValue);
if (normalizedValue.isEmpty())
return false;
RefPtrWillBeRawPtr<MutableStylePropertySet> dummyStyle = MutableStylePropertySet::create();
return CSSParser::parseValue(dummyStyle.get(), propertyID, normalizedValue, false, HTMLStandardMode, 0);
}
开发者ID:335969568,项目名称:Blink-1,代码行数:19,代码来源:DOMWindowCSS.cpp
示例13: applyCSSPropertyToTargetAndInstances
static inline void applyCSSPropertyToTargetAndInstances(SVGElement* targetElement, const QualifiedName& attributeName, const String& valueAsString)
{
ASSERT(targetElement);
if (attributeName == anyQName() || !targetElement->inDocument() || !targetElement->parentNode())
return;
CSSPropertyID id = cssPropertyID(attributeName.localName());
SVGElement::InstanceUpdateBlocker blocker(targetElement);
applyCSSPropertyToTarget(targetElement, id, valueAsString);
// If the target element has instances, update them as well, w/o requiring the <use> tree to be rebuilt.
const WillBeHeapHashSet<RawPtrWillBeWeakMember<SVGElement> >& instances = targetElement->instancesForElement();
const WillBeHeapHashSet<RawPtrWillBeWeakMember<SVGElement> >::const_iterator end = instances.end();
for (WillBeHeapHashSet<RawPtrWillBeWeakMember<SVGElement> >::const_iterator it = instances.begin(); it != end; ++it) {
if (SVGElement* shadowTreeElement = *it)
applyCSSPropertyToTarget(shadowTreeElement, id, valueAsString);
}
}
开发者ID:venkatarajasekhar,项目名称:Qt,代码行数:19,代码来源:SVGAnimateElement.cpp
示例14: removeCSSPropertyFromTargetAndInstances
static inline void removeCSSPropertyFromTargetAndInstances(SVGElement* targetElement, const QualifiedName& attributeName)
{
ASSERT(targetElement);
if (attributeName == anyQName() || !targetElement->inDocument() || !targetElement->parentNode())
return;
CSSPropertyID id = cssPropertyID(attributeName.localName());
SVGElementInstance::InstanceUpdateBlocker blocker(targetElement);
removeCSSPropertyFromTarget(targetElement, id);
// If the target element has instances, update them as well, w/o requiring the <use> tree to be rebuilt.
const HashSet<SVGElementInstance*>& instances = targetElement->instancesForElement();
const HashSet<SVGElementInstance*>::const_iterator end = instances.end();
for (HashSet<SVGElementInstance*>::const_iterator it = instances.begin(); it != end; ++it) {
if (SVGElement* shadowTreeElement = (*it)->shadowTreeElement())
removeCSSPropertyFromTarget(shadowTreeElement, id);
}
}
开发者ID:dzhshf,项目名称:WebKit,代码行数:19,代码来源:SVGAnimateElement.cpp
示例15: cssPropertyID
bool DOMCSSNamespace::supports(const String& property, const String& value)
{
CSSPropertyID propertyID = cssPropertyID(property.stripWhiteSpace());
if (propertyID == CSSPropertyInvalid)
return false;
// CSSParser::parseValue() won't work correctly if !important is present,
// so just get rid of it. It doesn't matter to supports() if it's actually
// there or not, provided how it's specified in the value is correct.
String normalizedValue = value.stripWhiteSpace().simplifyWhiteSpace();
normalizedValue = valueWithoutImportant(normalizedValue);
if (normalizedValue.isEmpty())
return false;
auto dummyStyle = MutableStyleProperties::create();
return CSSParser::parseValue(dummyStyle, propertyID, normalizedValue, false, CSSStrictMode, nullptr) != CSSParser::ParseResult::Error;
}
开发者ID:endlessm,项目名称:WebKit,代码行数:19,代码来源:DOMCSSNamespace.cpp
示例16: mutationScope
String PropertySetCSSStyleDeclaration::removeProperty(const String& propertyName, ExceptionCode& ec)
{
StyleAttributeMutationScope mutationScope(this);
CSSPropertyID propertyID = cssPropertyID(propertyName);
if (!propertyID)
return String();
if (!willMutate())
return String();
ec = 0;
String result;
bool changed = m_propertySet->removeProperty(propertyID, &result);
didMutate(changed ? PropertyChanged : NoChanges);
if (changed)
mutationScope.enqueueMutationRecord();
return result;
}
开发者ID:allsmy,项目名称:webkit,代码行数:20,代码来源:PropertySetCSSStyleDeclaration.cpp
示例17: mutationScope
ExceptionOr<String> PropertySetCSSStyleDeclaration::removeProperty(const String& propertyName)
{
StyleAttributeMutationScope mutationScope(this);
CSSPropertyID propertyID = cssPropertyID(propertyName);
if (isCustomPropertyName(propertyName))
propertyID = CSSPropertyCustom;
if (!propertyID)
return String();
if (!willMutate())
return String();
String result;
bool changed = propertyID != CSSPropertyCustom ? m_propertySet->removeProperty(propertyID, &result) : m_propertySet->removeCustomProperty(propertyName, &result);
didMutate(changed ? PropertyChanged : NoChanges);
if (changed)
mutationScope.enqueueMutationRecord();
return WTFMove(result);
}
开发者ID:eocanha,项目名称:webkit,代码行数:21,代码来源:PropertySetCSSStyleDeclaration.cpp
示例18: mutationScope
void PropertySetCSSStyleDeclaration::setProperty(const String& propertyName, const String& value, const String& priority, ExceptionState& exceptionState)
{
StyleAttributeMutationScope mutationScope(this);
CSSPropertyID propertyID = cssPropertyID(propertyName);
if (!propertyID)
return;
bool important = priority.find("important", 0, false) != kNotFound;
willMutate();
bool changed = m_propertySet->setProperty(propertyID, value, important, contextStyleSheet());
didMutate(changed ? PropertyChanged : NoChanges);
if (changed) {
// CSS DOM requires raising SyntaxError of parsing failed, but this is too dangerous for compatibility,
// see <http://bugs.webkit.org/show_bug.cgi?id=7296>.
mutationScope.enqueueMutationRecord();
}
}
开发者ID:Igalia,项目名称:blink,代码行数:21,代码来源:PropertySetCSSStyleDeclaration.cpp
示例19: ensureAnimator
void SVGAnimateElement::resetAnimatedType()
{
SVGAnimatedTypeAnimator* animator = ensureAnimator();
ASSERT(m_animatedPropertyType == animator->type());
SVGElement* targetElement = this->targetElement();
const QualifiedName& attributeName = this->attributeName();
ShouldApplyAnimation shouldApply = shouldApplyAnimation(targetElement, attributeName);
if (shouldApply == DontApplyAnimation)
return;
if (shouldApply == ApplyXMLAnimation) {
// SVG DOM animVal animation code-path.
m_animatedElements = findElementInstances(targetElement);
ASSERT(!m_animatedElements.isEmpty());
Vector<SVGElement*>::const_iterator end = m_animatedElements.end();
for (Vector<SVGElement*>::const_iterator it = m_animatedElements.begin(); it != end; ++it)
document().accessSVGExtensions().addElementReferencingTarget(this, *it);
if (!m_animatedProperty)
m_animatedProperty = animator->startAnimValAnimation(m_animatedElements);
else
m_animatedProperty = animator->resetAnimValToBaseVal(m_animatedElements);
return;
}
// CSS properties animation code-path.
ASSERT(m_animatedElements.isEmpty());
String baseValue;
if (shouldApply == ApplyCSSAnimation) {
ASSERT(SVGAnimationElement::isTargetAttributeCSSProperty(targetElement, attributeName));
computeCSSPropertyValue(targetElement, cssPropertyID(attributeName.localName()), baseValue);
}
m_animatedProperty = animator->constructFromString(baseValue);
}
开发者ID:dp7,项目名称:blink-crosswalk,代码行数:40,代码来源:SVGAnimateElement.cpp
示例20: ASSERT
String InspectorAnimationAgent::createCSSId(blink::Animation& animation) {
String type =
m_idToAnimationType.get(String::number(animation.sequenceNumber()));
ASSERT(type != AnimationType::WebAnimation);
KeyframeEffect* effect = toKeyframeEffect(animation.effect());
Vector<CSSPropertyID> cssProperties;
if (type == AnimationType::CSSAnimation) {
for (CSSPropertyID property : animationProperties)
cssProperties.append(property);
} else {
for (CSSPropertyID property : transitionProperties)
cssProperties.append(property);
cssProperties.append(cssPropertyID(animation.id()));
}
Element* element = effect->target();
HeapVector<Member<CSSStyleDeclaration>> styles =
m_cssAgent->matchingStyles(element);
std::unique_ptr<WebCryptoDigestor> digestor =
createDigestor(HashAlgorithmSha1);
addStringToDigestor(digestor.get(), type);
addStringToDigestor(digestor.get(), animation.id());
for (CSSPropertyID property : cssProperties) {
CSSStyleDeclaration* style =
m_cssAgent->findEffectiveDeclaration(property, styles);
// Ignore inline styles.
if (!style || !style->parentStyleSheet() || !style->parentRule() ||
style->parentRule()->type() != CSSRule::kStyleRule)
continue;
addStringToDigestor(digestor.get(), getPropertyNameString(property));
addStringToDigestor(digestor.get(),
m_cssAgent->styleSheetId(style->parentStyleSheet()));
addStringToDigestor(digestor.get(),
toCSSStyleRule(style->parentRule())->selectorText());
}
DigestValue digestResult;
finishDigestor(digestor.get(), digestResult);
return base64Encode(reinterpret_cast<const char*>(digestResult.data()), 10);
}
开发者ID:ollie314,项目名称:chromium,代码行数:40,代码来源:InspectorAnimationAgent.cpp
注:本文中的cssPropertyID函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论