Skip to content

Commit fc7b80f

Browse files
committed
Started integration initial value in declaration info
1 parent 398f756 commit fc7b80f

File tree

64 files changed

+313
-67
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+313
-67
lines changed

src/AngleSharp.Css/Constants/InitialValues.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ static class InitialValues
147147
public static readonly ICssValue StrokeDashoffsetDecl = Length.Zero;
148148
public static readonly ICssValue StrokeDasharrayDecl = new Constant<Object>(CssKeywords.None, null);
149149
public static readonly ICssValue StrokeWidthDecl = new Length(1.0, Length.Unit.Px);
150+
public static readonly ICssValue StrokeMiterlimitDecl = new Length(1.0, Length.Unit.None);
150151
public static readonly ICssValue RubyPositionDecl = new Constant<RubyPosition>(CssKeywords.Over, RubyPosition.Over);
151152
public static readonly ICssValue RubyOverhangDecl = new Constant<RubyOverhangMode>(CssKeywords.None, RubyOverhangMode.None);
152153
public static readonly ICssValue RubyAlignDecl = new Constant<RubyAlignment>(CssKeywords.SpaceAround, RubyAlignment.SpaceAround);

src/AngleSharp.Css/DeclarationInfo.cs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
namespace AngleSharp.Css
22
{
3+
using AngleSharp.Css.Dom;
34
using System;
5+
using static ValueConverters;
46

57
/// <summary>
68
/// A collection of useful information regarding a CSS declaration.
@@ -13,13 +15,15 @@ public class DeclarationInfo
1315
/// <param name="name">The name of the declaration.</param>
1416
/// <param name="converter">The value converter.</param>
1517
/// <param name="flags">The property flags.</param>
18+
/// <param name="initialValue">The initial value, if any.</param>
1619
/// <param name="shorthands">The names of the associated shorthand declarations, if any.</param>
1720
/// <param name="longhands">The names of the associated longhand declarations, if any.</param>
18-
public DeclarationInfo(String name, IValueConverter converter, PropertyFlags flags = PropertyFlags.None, String[] shorthands = null, String[] longhands = null)
21+
public DeclarationInfo(String name, IValueConverter converter, PropertyFlags flags = PropertyFlags.None, ICssValue initialValue = null, String[] shorthands = null, String[] longhands = null)
1922
{
2023
Name = name;
21-
Converter = converter;
24+
Converter = Or(converter, AssignInitial(initialValue));
2225
Flags = flags;
26+
InitialValue = initialValue;
2327
Shorthands = shorthands ?? Array.Empty<String>();
2428
Longhands = longhands ?? Array.Empty<String>();
2529
}
@@ -29,6 +33,11 @@ public DeclarationInfo(String name, IValueConverter converter, PropertyFlags fla
2933
/// </summary>
3034
public String Name { get; }
3135

36+
/// <summary>
37+
/// Gets the initial value of the declaration, if any.
38+
/// </summary>
39+
public ICssValue InitialValue { get; }
40+
3241
/// <summary>
3342
/// Gets the associated value converter.
3443
/// </summary>

src/AngleSharp.Css/Declarations/BackfaceVisibilityDeclaration.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
namespace AngleSharp.Css.Declarations
22
{
3+
using AngleSharp.Css.Dom;
34
using System;
45
using static ValueConverters;
56

67
static class BackfaceVisibilityDeclaration
78
{
89
public static String Name = PropertyNames.BackfaceVisibility;
910

10-
public static IValueConverter Converter = Or(BackfaceVisibilityConverter, AssignInitial(InitialValues.BackfaceVisibilityDecl));
11+
public static IValueConverter Converter = BackfaceVisibilityConverter;
12+
13+
public static ICssValue InitialValue = InitialValues.BackfaceVisibilityDecl;
1114

1215
public static PropertyFlags Flags = PropertyFlags.None;
1316
}

src/AngleSharp.Css/Declarations/BottomDeclaration.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
namespace AngleSharp.Css.Declarations
22
{
3-
using AngleSharp.Css.Values;
3+
using AngleSharp.Css.Dom;
44
using System;
55
using static ValueConverters;
66

77
static class BottomDeclaration
88
{
99
public static String Name = PropertyNames.Bottom;
1010

11-
public static IValueConverter Converter = Or(AutoLengthOrPercentConverter, AssignInitial(InitialValues.BottomDecl));
11+
public static IValueConverter Converter = AutoLengthOrPercentConverter;
12+
13+
public static ICssValue InitialValue = InitialValues.BottomDecl;
1214

1315
public static PropertyFlags Flags = PropertyFlags.Unitless | PropertyFlags.Animatable;
1416
}

src/AngleSharp.Css/Declarations/BoxDecorationBreakDeclaration.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
namespace AngleSharp.Css.Declarations
22
{
3+
using AngleSharp.Css.Dom;
34
using System;
45
using static ValueConverters;
56

67
static class BoxDecorationBreakDeclaration
78
{
89
public static String Name = PropertyNames.BoxDecorationBreak;
910

10-
public static IValueConverter Converter = Or(BoxDecorationConverter, AssignInitial(InitialValues.BoxDecorationBreakDecl));
11+
public static IValueConverter Converter = BoxDecorationConverter;
12+
13+
public static ICssValue InitialValue = InitialValues.BoxDecorationBreakDecl;
1114

1215
public static PropertyFlags Flags = PropertyFlags.None;
1316
}

src/AngleSharp.Css/Declarations/BoxShadowDeclaration.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
namespace AngleSharp.Css.Declarations
22
{
3+
using AngleSharp.Css.Dom;
34
using System;
45
using static ValueConverters;
56

67
static class BoxShadowDeclaration
78
{
89
public static String Name = PropertyNames.BoxShadow;
910

10-
public static IValueConverter Converter = Or(MultipleShadowConverter, AssignInitial(InitialValues.BoxShadowDecl));
11+
public static IValueConverter Converter = MultipleShadowConverter;
12+
13+
public static ICssValue InitialValue = InitialValues.BoxShadowDecl;
1114

1215
public static PropertyFlags Flags = PropertyFlags.Animatable;
1316
}

src/AngleSharp.Css/Declarations/BreakAfterDeclaration.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
namespace AngleSharp.Css.Declarations
22
{
3+
using AngleSharp.Css.Dom;
34
using System;
45
using static ValueConverters;
56

67
static class BreakAfterDeclaration
78
{
89
public static String Name = PropertyNames.BreakAfter;
910

10-
public static IValueConverter Converter = Or(BreakModeConverter, AssignInitial(InitialValues.BreakAfterDecl));
11+
public static IValueConverter Converter = BreakModeConverter;
12+
13+
public static ICssValue InitialValue = InitialValues.BreakAfterDecl;
1114

1215
public static PropertyFlags Flags = PropertyFlags.None;
1316
}

src/AngleSharp.Css/Declarations/BreakBeforeDeclaration.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
namespace AngleSharp.Css.Declarations
22
{
3+
using AngleSharp.Css.Dom;
34
using System;
45
using static ValueConverters;
56

67
static class BreakBeforeDeclaration
78
{
89
public static String Name = PropertyNames.BreakBefore;
910

10-
public static IValueConverter Converter = Or(BreakModeConverter, AssignInitial(InitialValues.BreakBeforeDecl));
11+
public static IValueConverter Converter = BreakModeConverter;
12+
13+
public static ICssValue InitialValue = InitialValues.BreakBeforeDecl;
1114

1215
public static PropertyFlags Flags = PropertyFlags.None;
1316
}

src/AngleSharp.Css/Declarations/BreakInsideDeclaration.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
namespace AngleSharp.Css.Declarations
22
{
3+
using AngleSharp.Css.Dom;
34
using System;
45
using static ValueConverters;
56

67
static class BreakInsideDeclaration
78
{
89
public static String Name = PropertyNames.BreakInside;
910

10-
public static IValueConverter Converter = Or(BreakInsideModeConverter, AssignInitial(InitialValues.BreakInsideDecl));
11+
public static IValueConverter Converter = BreakInsideModeConverter;
12+
13+
public static ICssValue InitialValue = InitialValues.BreakInsideDecl;
1114

1215
public static PropertyFlags Flags = PropertyFlags.None;
1316
}

src/AngleSharp.Css/Declarations/CaptionSideDeclaration.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
namespace AngleSharp.Css.Declarations
22
{
3+
using AngleSharp.Css.Dom;
34
using System;
45
using static ValueConverters;
56

67
static class CaptionSideDeclaration
78
{
89
public static String Name = PropertyNames.CaptionSide;
910

10-
public static IValueConverter Converter = Or(CaptionSideConverter, AssignInitial(InitialValues.CaptionSideDecl));
11+
public static IValueConverter Converter = CaptionSideConverter;
12+
13+
public static ICssValue InitialValue = InitialValues.CaptionSideDecl;
1114

1215
public static PropertyFlags Flags = PropertyFlags.None;
1316
}

0 commit comments

Comments
 (0)