Changeset 176584 in webkit
- Timestamp:
- Nov 29, 2014, 4:39:14 PM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 4 edited
-
ChangeLog (modified) (1 diff)
-
css/CSSPropertyNames.in (modified) (3 diffs)
-
css/StyleBuilderCustom.h (modified) (2 diffs)
-
css/StyleResolver.cpp (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r176577 r176584 1 2014-11-29 Sam Weinig <sam@webkit.org> 2 3 Move the '-webkit-locale', '-webkit-text-orientation', '-webkit-writing-mode', '-webkit-justify-self' and '-webkit-perspective' CSS properties to the new StyleBuilder 4 https://bugs.webkit.org/show_bug.cgi?id=139104 5 6 Reviewed by Anders Carlsson. 7 8 * css/CSSPropertyNames.in: 9 * css/StyleBuilderCustom.h: 10 (WebCore::StyleBuilderFunctions::applyValueWebkitLocale): 11 (WebCore::StyleBuilderFunctions::applyValueWebkitWritingMode): 12 (WebCore::StyleBuilderFunctions::applyValueWebkitTextOrientation): 13 (WebCore::StyleBuilderFunctions::applyValueWebkitJustifySelf): 14 (WebCore::StyleBuilderFunctions::applyValueWebkitPerspective): 15 * css/StyleResolver.cpp: 16 (WebCore::StyleResolver::applyProperty): 17 1 18 2014-11-29 Anders Carlsson <andersca@apple.com> 2 19 -
trunk/Source/WebCore/css/CSSPropertyNames.in
r176571 r176584 70 70 -webkit-font-smoothing [Inherited, LegacyStyleBuilder] 71 71 -webkit-font-variant-ligatures [Inherited, LegacyStyleBuilder] 72 -webkit-locale [Inherited, LegacyStyleBuilder]73 -webkit-text-orientation [Inherited, LegacyStyleBuilder]72 -webkit-locale [Inherited, Custom=Value] 73 -webkit-text-orientation [Inherited, Custom=Value] 74 74 -epub-text-orientation = -webkit-text-orientation 75 75 #if defined(ENABLE_IOS_TEXT_AUTOSIZING) && ENABLE_IOS_TEXT_AUTOSIZING 76 76 -webkit-text-size-adjust [Inherited, LegacyStyleBuilder] 77 77 #endif 78 -webkit-writing-mode [Inherited, LegacyStyleBuilder]78 -webkit-writing-mode [Inherited, Custom=Value] 79 79 -epub-writing-mode = -webkit-writing-mode 80 80 zoom [Custom=All] … … 388 388 -webkit-backdrop-filter [LegacyStyleBuilder] 389 389 #endif 390 -webkit-justify-self [ LegacyStyleBuilder]390 -webkit-justify-self [Custom=Value] 391 391 -webkit-font-size-delta [LegacyStyleBuilder] 392 392 #if defined(ENABLE_CSS_GRID_LAYOUT) && ENABLE_CSS_GRID_LAYOUT … … 467 467 -webkit-padding-end [LegacyStyleBuilder] 468 468 -webkit-padding-start [LegacyStyleBuilder] 469 -webkit-perspective [ LegacyStyleBuilder]469 -webkit-perspective [Custom=Value] 470 470 -webkit-perspective-origin [LegacyStyleBuilder] 471 471 -webkit-perspective-origin-x [Converter=Length] -
trunk/Source/WebCore/css/StyleBuilderCustom.h
r176490 r176584 33 33 #include "CSSImageValue.h" 34 34 #include "Frame.h" 35 #include "LocaleToScriptMapping.h" 35 36 #include "Rect.h" 36 37 #include "StyleResolver.h" … … 648 649 } 649 650 651 inline void applyValueWebkitLocale(StyleResolver& styleResolver, CSSValue& value) 652 { 653 auto& primitiveValue = downcast<CSSPrimitiveValue>(value); 654 655 if (primitiveValue.getValueID() == CSSValueAuto) 656 styleResolver.style()->setLocale(nullAtom); 657 else 658 styleResolver.style()->setLocale(primitiveValue.getStringValue()); 659 660 FontDescription fontDescription = styleResolver.style()->fontDescription(); 661 fontDescription.setScript(localeToScriptCodeForFontSelection(styleResolver.style()->locale())); 662 styleResolver.setFontDescription(fontDescription); 663 } 664 665 inline void applyValueWebkitWritingMode(StyleResolver& styleResolver, CSSValue& value) 666 { 667 styleResolver.setWritingMode(downcast<CSSPrimitiveValue>(value)); 668 669 // FIXME: It is not ok to modify document state while applying style. 670 auto& state = styleResolver.state(); 671 if (state.element() && state.element() == state.document().documentElement()) 672 state.document().setWritingModeSetOnDocumentElement(true); 673 } 674 675 inline void applyValueWebkitTextOrientation(StyleResolver& styleResolver, CSSValue& value) 676 { 677 styleResolver.setTextOrientation(downcast<CSSPrimitiveValue>(value)); 678 } 679 680 inline void applyValueWebkitJustifySelf(StyleResolver& styleResolver, CSSValue& value) 681 { 682 auto& primitiveValue = downcast<CSSPrimitiveValue>(value); 683 684 if (Pair* pairValue = primitiveValue.getPairValue()) { 685 styleResolver.style()->setJustifySelf(*pairValue->first()); 686 styleResolver.style()->setJustifySelfOverflowAlignment(*pairValue->second()); 687 } else 688 styleResolver.style()->setJustifySelf(primitiveValue); 689 } 690 691 inline void applyValueWebkitPerspective(StyleResolver& styleResolver, CSSValue& value) 692 { 693 auto& primitiveValue = downcast<CSSPrimitiveValue>(value); 694 695 if (primitiveValue.getValueID() == CSSValueNone) { 696 styleResolver.style()->setPerspective(0); 697 return; 698 } 699 700 float perspectiveValue; 701 if (primitiveValue.isLength()) 702 perspectiveValue = primitiveValue.computeLength<float>(styleResolver.state().cssToLengthConversionData()); 703 else if (primitiveValue.isNumber()) { 704 // For backward compatibility, treat valueless numbers as px. 705 Ref<CSSPrimitiveValue> value(CSSPrimitiveValue::create(primitiveValue.getDoubleValue(), CSSPrimitiveValue::CSS_PX)); 706 perspectiveValue = value.get().computeLength<float>(styleResolver.state().cssToLengthConversionData()); 707 } else { 708 ASSERT_NOT_REACHED(); 709 return; 710 } 711 712 if (perspectiveValue >= 0.0f) 713 styleResolver.style()->setPerspective(perspectiveValue); 714 } 715 650 716 } // namespace StyleBuilderFunctions 651 717 -
trunk/Source/WebCore/css/StyleResolver.cpp
r176571 r176584 2416 2416 case CSSPropertyUnicodeRange: // Only used in @font-face rules. 2417 2417 return; 2418 case CSSPropertyWebkitLocale: {2419 HANDLE_INHERIT_AND_INITIAL(locale, Locale);2420 if (!primitiveValue)2421 return;2422 if (primitiveValue->getValueID() == CSSValueAuto)2423 state.style()->setLocale(nullAtom);2424 else2425 state.style()->setLocale(primitiveValue->getStringValue());2426 FontDescription fontDescription = state.style()->fontDescription();2427 fontDescription.setScript(localeToScriptCodeForFontSelection(state.style()->locale()));2428 setFontDescription(fontDescription);2429 return;2430 }2431 2418 #if ENABLE(IOS_TEXT_AUTOSIZING) 2432 2419 case CSSPropertyWebkitTextSizeAdjust: { … … 2490 2477 } 2491 2478 #endif 2492 case CSSPropertyWebkitPerspective: {2493 HANDLE_INHERIT_AND_INITIAL(perspective, Perspective)2494 2495 if (!primitiveValue)2496 return;2497 2498 if (primitiveValue->getValueID() == CSSValueNone) {2499 state.style()->setPerspective(0);2500 return;2501 }2502 2503 float perspectiveValue;2504 if (primitiveValue->isLength())2505 perspectiveValue = primitiveValue->computeLength<float>(state.cssToLengthConversionData());2506 else if (primitiveValue->isNumber()) {2507 // For backward compatibility, treat valueless numbers as px.2508 Ref<CSSPrimitiveValue> value(CSSPrimitiveValue::create(primitiveValue->getDoubleValue(), CSSPrimitiveValue::CSS_PX));2509 perspectiveValue = value.get().computeLength<float>(state.cssToLengthConversionData());2510 } else2511 return;2512 2513 if (perspectiveValue >= 0.0f)2514 state.style()->setPerspective(perspectiveValue);2515 return;2516 }2517 2479 #if PLATFORM(IOS) 2518 2480 case CSSPropertyWebkitTouchCallout: { … … 2568 2530 return; 2569 2531 2570 // CSS Text Layout Module Level 3: Vertical writing support2571 case CSSPropertyWebkitWritingMode: {2572 HANDLE_INHERIT_AND_INITIAL(writingMode, WritingMode);2573 2574 if (primitiveValue)2575 setWritingMode(*primitiveValue);2576 2577 // FIXME: It is not ok to modify document state while applying style.2578 if (state.element() && state.element() == state.document().documentElement())2579 state.document().setWritingModeSetOnDocumentElement(true);2580 return;2581 }2582 2583 case CSSPropertyWebkitTextOrientation: {2584 HANDLE_INHERIT_AND_INITIAL(textOrientation, TextOrientation);2585 2586 if (primitiveValue)2587 setTextOrientation(*primitiveValue);2588 2589 return;2590 }2591 2592 2532 // CSS Fonts Module Level 3 2593 2533 case CSSPropertyWebkitFontFeatureSettings: { … … 2810 2750 } 2811 2751 #endif /* ENABLE(CSS_GRID_LAYOUT) */ 2812 2813 case CSSPropertyWebkitJustifySelf:2814 HANDLE_INHERIT_AND_INITIAL(justifySelf, JustifySelf);2815 if (Pair* pairValue = primitiveValue->getPairValue()) {2816 state.style()->setJustifySelf(*pairValue->first());2817 state.style()->setJustifySelfOverflowAlignment(*pairValue->second());2818 } else2819 state.style()->setJustifySelf(*primitiveValue);2820 return;2821 2822 2752 #if ENABLE(CSS_SCROLL_SNAP) 2823 2753 case CSSPropertyWebkitScrollSnapType: … … 3010 2940 case CSSPropertyWebkitColumnBreakBefore: 3011 2941 case CSSPropertyWebkitColumnBreakInside: 2942 case CSSPropertyWebkitJustifySelf: 2943 case CSSPropertyWebkitLocale: 2944 case CSSPropertyWebkitTextOrientation: 2945 case CSSPropertyWebkitWritingMode: 3012 2946 case CSSPropertyColumnCount: 3013 2947 case CSSPropertyColumnGap: … … 3072 3006 case CSSPropertyWebkitMaskSourceType: 3073 3007 case CSSPropertyWebkitNbspMode: 3008 case CSSPropertyWebkitPerspective: 3074 3009 case CSSPropertyWebkitPerspectiveOrigin: 3075 3010 case CSSPropertyWebkitPerspectiveOriginX:
Note:
See TracChangeset
for help on using the changeset viewer.