📄 csscomputedstyledeclaration.cpp
字号:
return CSSPrimitiveValue::create(box); } case CSSPropertyWebkitMaskPosition: { RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); list->append(CSSPrimitiveValue::create(style->maskXPosition())); list->append(CSSPrimitiveValue::create(style->maskYPosition())); return list.release(); } case CSSPropertyWebkitMaskPositionX: return CSSPrimitiveValue::create(style->maskXPosition()); case CSSPropertyWebkitMaskPositionY: return CSSPrimitiveValue::create(style->maskYPosition()); case CSSPropertyWebkitUserModify: return CSSPrimitiveValue::create(style->userModify()); case CSSPropertyMaxHeight: { const Length& maxHeight = style->maxHeight(); if (maxHeight.isFixed() && maxHeight.value() == undefinedLength) return CSSPrimitiveValue::createIdentifier(CSSValueNone); return CSSPrimitiveValue::create(maxHeight); } case CSSPropertyMaxWidth: { const Length& maxWidth = style->maxWidth(); if (maxWidth.isFixed() && maxWidth.value() == undefinedLength) return CSSPrimitiveValue::createIdentifier(CSSValueNone); return CSSPrimitiveValue::create(maxWidth); } case CSSPropertyMinHeight: return CSSPrimitiveValue::create(style->minHeight()); case CSSPropertyMinWidth: return CSSPrimitiveValue::create(style->minWidth()); case CSSPropertyOpacity: return CSSPrimitiveValue::create(style->opacity(), CSSPrimitiveValue::CSS_NUMBER); case CSSPropertyOrphans: return CSSPrimitiveValue::create(style->orphans(), CSSPrimitiveValue::CSS_NUMBER); case CSSPropertyOutlineColor: return currentColorOrValidColor(style.get(), style->outlineColor()); case CSSPropertyOutlineStyle: if (style->outlineStyleIsAuto()) return CSSPrimitiveValue::createIdentifier(CSSValueAuto); return CSSPrimitiveValue::create(style->outlineStyle()); case CSSPropertyOutlineWidth: return CSSPrimitiveValue::create(style->outlineWidth(), CSSPrimitiveValue::CSS_PX); case CSSPropertyOverflow: return CSSPrimitiveValue::create(max(style->overflowX(), style->overflowY())); case CSSPropertyOverflowX: return CSSPrimitiveValue::create(style->overflowX()); case CSSPropertyOverflowY: return CSSPrimitiveValue::create(style->overflowY()); case CSSPropertyPaddingTop: if (renderer && renderer->isBox()) return CSSPrimitiveValue::create(toRenderBox(renderer)->paddingTop(false), CSSPrimitiveValue::CSS_PX); return CSSPrimitiveValue::create(style->paddingTop()); case CSSPropertyPaddingRight: if (renderer && renderer->isBox()) return CSSPrimitiveValue::create(toRenderBox(renderer)->paddingRight(false), CSSPrimitiveValue::CSS_PX); return CSSPrimitiveValue::create(style->paddingRight()); case CSSPropertyPaddingBottom: if (renderer && renderer->isBox()) return CSSPrimitiveValue::create(toRenderBox(renderer)->paddingBottom(false), CSSPrimitiveValue::CSS_PX); return CSSPrimitiveValue::create(style->paddingBottom()); case CSSPropertyPaddingLeft: if (renderer && renderer->isBox()) return CSSPrimitiveValue::create(toRenderBox(renderer)->paddingLeft(false), CSSPrimitiveValue::CSS_PX); return CSSPrimitiveValue::create(style->paddingLeft()); case CSSPropertyPageBreakAfter: return CSSPrimitiveValue::create(style->pageBreakAfter()); case CSSPropertyPageBreakBefore: return CSSPrimitiveValue::create(style->pageBreakBefore()); case CSSPropertyPageBreakInside: { EPageBreak pageBreak = style->pageBreakInside(); ASSERT(pageBreak != PBALWAYS); if (pageBreak == PBALWAYS) return 0; return CSSPrimitiveValue::create(style->pageBreakInside()); } case CSSPropertyPosition: return CSSPrimitiveValue::create(style->position()); case CSSPropertyRight: return getPositionOffsetValue(style.get(), CSSPropertyRight); case CSSPropertyTableLayout: return CSSPrimitiveValue::create(style->tableLayout()); case CSSPropertyTextAlign: return CSSPrimitiveValue::create(style->textAlign()); case CSSPropertyTextDecoration: { String string; if (style->textDecoration() & UNDERLINE) string += "underline"; if (style->textDecoration() & OVERLINE) { if (string.length()) string += " "; string += "overline"; } if (style->textDecoration() & LINE_THROUGH) { if (string.length()) string += " "; string += "line-through"; } if (style->textDecoration() & BLINK) { if (string.length()) string += " "; string += "blink"; } if (!string.length()) return CSSPrimitiveValue::createIdentifier(CSSValueNone); return CSSPrimitiveValue::create(string, CSSPrimitiveValue::CSS_STRING); } case CSSPropertyWebkitTextDecorationsInEffect: { String string; if (style->textDecorationsInEffect() & UNDERLINE) string += "underline"; if (style->textDecorationsInEffect() & OVERLINE) { if (string.length()) string += " "; string += "overline"; } if (style->textDecorationsInEffect() & LINE_THROUGH) { if (string.length()) string += " "; string += "line-through"; } if (style->textDecorationsInEffect() & BLINK) { if (string.length()) string += " "; string += "blink"; } if (!string.length()) return CSSPrimitiveValue::createIdentifier(CSSValueNone); return CSSPrimitiveValue::create(string, CSSPrimitiveValue::CSS_STRING); } case CSSPropertyWebkitTextFillColor: return currentColorOrValidColor(style.get(), style->textFillColor()); case CSSPropertyTextIndent: return CSSPrimitiveValue::create(style->textIndent()); case CSSPropertyTextShadow: return valueForShadow(style->textShadow()); case CSSPropertyWebkitTextSecurity: return CSSPrimitiveValue::create(style->textSecurity()); case CSSPropertyWebkitTextSizeAdjust: if (style->textSizeAdjust()) return CSSPrimitiveValue::createIdentifier(CSSValueAuto); return CSSPrimitiveValue::createIdentifier(CSSValueNone); case CSSPropertyWebkitTextStrokeColor: return currentColorOrValidColor(style.get(), style->textStrokeColor()); case CSSPropertyWebkitTextStrokeWidth: return CSSPrimitiveValue::create(style->textStrokeWidth(), CSSPrimitiveValue::CSS_PX); case CSSPropertyTextTransform: return CSSPrimitiveValue::create(style->textTransform()); case CSSPropertyTop: return getPositionOffsetValue(style.get(), CSSPropertyTop); case CSSPropertyUnicodeBidi: return CSSPrimitiveValue::create(style->unicodeBidi()); case CSSPropertyVerticalAlign: switch (style->verticalAlign()) { case BASELINE: return CSSPrimitiveValue::createIdentifier(CSSValueBaseline); case MIDDLE: return CSSPrimitiveValue::createIdentifier(CSSValueMiddle); case SUB: return CSSPrimitiveValue::createIdentifier(CSSValueSub); case SUPER: return CSSPrimitiveValue::createIdentifier(CSSValueSuper); case TEXT_TOP: return CSSPrimitiveValue::createIdentifier(CSSValueTextTop); case TEXT_BOTTOM: return CSSPrimitiveValue::createIdentifier(CSSValueTextBottom); case TOP: return CSSPrimitiveValue::createIdentifier(CSSValueTop); case BOTTOM: return CSSPrimitiveValue::createIdentifier(CSSValueBottom); case BASELINE_MIDDLE: return CSSPrimitiveValue::createIdentifier(CSSValueWebkitBaselineMiddle); case LENGTH: return CSSPrimitiveValue::create(style->verticalAlignLength()); } ASSERT_NOT_REACHED(); return 0; case CSSPropertyVisibility: return CSSPrimitiveValue::create(style->visibility()); case CSSPropertyWhiteSpace: return CSSPrimitiveValue::create(style->whiteSpace()); case CSSPropertyWidows: return CSSPrimitiveValue::create(style->widows(), CSSPrimitiveValue::CSS_NUMBER); case CSSPropertyWidth: if (renderer) return CSSPrimitiveValue::create(sizingBox(renderer).width(), CSSPrimitiveValue::CSS_PX); return CSSPrimitiveValue::create(style->width()); case CSSPropertyWordBreak: return CSSPrimitiveValue::create(style->wordBreak()); case CSSPropertyWordSpacing: return CSSPrimitiveValue::create(style->wordSpacing(), CSSPrimitiveValue::CSS_PX); case CSSPropertyWordWrap: return CSSPrimitiveValue::create(style->wordWrap()); case CSSPropertyWebkitLineBreak: return CSSPrimitiveValue::create(style->khtmlLineBreak()); case CSSPropertyWebkitNbspMode: return CSSPrimitiveValue::create(style->nbspMode()); case CSSPropertyWebkitMatchNearestMailBlockquoteColor: return CSSPrimitiveValue::create(style->matchNearestMailBlockquoteColor()); case CSSPropertyResize: return CSSPrimitiveValue::create(style->resize()); case CSSPropertyZIndex: if (style->hasAutoZIndex()) return CSSPrimitiveValue::createIdentifier(CSSValueAuto); return CSSPrimitiveValue::create(style->zIndex(), CSSPrimitiveValue::CSS_NUMBER); case CSSPropertyZoom: return CSSPrimitiveValue::create(style->zoom(), CSSPrimitiveValue::CSS_NUMBER); case CSSPropertyWebkitBoxSizing: if (style->boxSizing() == CONTENT_BOX) return CSSPrimitiveValue::createIdentifier(CSSValueContentBox); return CSSPrimitiveValue::createIdentifier(CSSValueBorderBox);#if ENABLE(DASHBOARD_SUPPORT) case CSSPropertyWebkitDashboardRegion: { const Vector<StyleDashboardRegion>& regions = style->dashboardRegions(); unsigned count = regions.size(); if (count == 1 && regions[0].type == StyleDashboardRegion::None) return CSSPrimitiveValue::createIdentifier(CSSValueNone); RefPtr<DashboardRegion> firstRegion; DashboardRegion* previousRegion = 0; for (unsigned i = 0; i < count; i++) { RefPtr<DashboardRegion> region = DashboardRegion::create(); StyleDashboardRegion styleRegion = regions[i]; region->m_label = styleRegion.label; LengthBox offset = styleRegion.offset; region->setTop(CSSPrimitiveValue::create(offset.top().value(), CSSPrimitiveValue::CSS_PX)); region->setRight(CSSPrimitiveValue::create(offset.right().value(), CSSPrimitiveValue::CSS_PX)); region->setBottom(CSSPrimitiveValue::create(offset.bottom().value(), CSSPrimitiveValue::CSS_PX)); region->setLeft(CSSPrimitiveValue::create(offset.left().value(), CSSPrimitiveValue::CSS_PX)); region->m_isRectangle = (styleRegion.type == StyleDashboardRegion::Rectangle); region->m_isCircle = (styleRegion.type == StyleDashboardRegion::Circle); if (previousRegion) previousRegion->m_next = region; else firstRegion = region; previousRegion = region.get(); } return CSSPrimitiveValue::create(firstRegion.release()); }#endif case CSSPropertyWebkitAnimationDelay: return getDelayValue(style->animations()); case CSSPropertyWebkitAnimationDirection: { RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); const AnimationList* t = style->animations(); if (t) { for (size_t i = 0; i < t->size(); ++i) { if (t->animation(i)->direction()) list->append(CSSPrimitiveValue::createIdentifier(CSSValueAlternate)); else list->append(CSSPrimitiveValue::createIdentifier(CSSValueNormal)); } } else list->append(CSSPrimitiveValue::createIdentifier(CSSValueNormal)); return list.release(); } case CSSPropertyWebkitAnimationDuration: return getDurationValue(style->animations()); case CSSPropertyWebkitAnimationIterationCount: { RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); const AnimationList* t = style->animations(); if (t) { for (size_t i = 0; i < t->size(); ++i) { int iterationCount = t->animation(i)->iterationCount(); if (iterationCount == Animation::IterationCountInfinite) list->append(CSSPrimitiveValue::createIdentifier(CSSValueInfinite)); else list->append(CSSPrimitiveValue::create(iterationCount, CSSPrimitiveValue::CSS_NUMBER)); } } else list->append(CSSPrimitiveValue::create(Animation::initialAnimationIterationCount(), CSSPrimitiveValue::CSS_NUMBER)); return list.release(); } case CSSPropertyWebkitAnimationName: { RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated(); const AnimationList* t = style->animations(); if (t) { for (size_t i = 0; i < t->size(); ++i) { list->append(CSSPrimitiveValue::create(t->animation(i)->name(), CSSPrimitiveValue::CSS_STRING)); } } else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -