Class StrictCss3
- java.lang.Object
-
- com.google.common.css.compiler.ast.DefaultTreeVisitor
-
- com.google.common.css.compiler.passes.StrictCssBase
-
- com.google.common.css.compiler.passes.StrictCss3
-
- All Implemented Interfaces:
AtRuleHandler,CssCompilerPass,CssTreeVisitor
public class StrictCss3 extends StrictCssBase
This compiler pass enforces that only correct CSS level 3 is used. Be aware that there is no final specification yet and that the draft is distributed over several documents.The official W3C drafts used here: Selectors Level 3, CSS3 Basic User Interface Module
Wikipedia gives a good overview: Comparison of layout engines (Cascading Style Sheets)
TODO(fbenz): The ProcessRefiners and ProcessKeyframes passes should run before.
-
-
Field Summary
-
Fields inherited from class com.google.common.css.compiler.passes.StrictCssBase
errorManager, visitController
-
-
Constructor Summary
Constructors Constructor Description StrictCss3(VisitController visitController, ErrorManager errorManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanenterCombinator(CssCombinatorNode combinator)Ensures that the combinator '/deep/' (not strict CSS 3) is not used.booleanenterPseudoClass(CssPseudoClassNode node)Called before visiting aCssPseudoClassNode's sub treesbooleanenterPseudoElement(CssPseudoElementNode node)Ensures that only pseudo-elements valid in CSS 3 are used.-
Methods inherited from class com.google.common.css.compiler.passes.StrictCssBase
enterValueNode, reportUnsupported, runPass
-
Methods inherited from class com.google.common.css.compiler.ast.DefaultTreeVisitor
enterArgumentNode, enterAttributeSelector, enterBlock, enterCharSet, enterClassSelector, enterComponent, enterCompositeValueNode, enterCompositeValueNodeOperator, enterConditionalBlock, enterConditionalRule, enterDeclaration, enterDeclarationBlock, enterDefinition, enterFontFace, enterForLoop, enterFunctionNode, enterIdSelector, enterImportBlock, enterImportRule, enterKey, enterKeyBlock, enterKeyframeRuleset, enterKeyframesRule, enterMediaRule, enterMediaTypeListDelimiter, enterMixin, enterMixinDefinition, enterPageRule, enterPageSelector, enterPropertyValue, enterProvideNode, enterRequireNode, enterRuleset, enterSelector, enterSelectorBlock, enterTree, enterUnknownAtRule, leaveArgumentNode, leaveAttributeSelector, leaveBlock, leaveCharSet, leaveClassSelector, leaveCombinator, leaveComponent, leaveCompositeValueNode, leaveCompositeValueNodeOperator, leaveConditionalBlock, leaveConditionalRule, leaveDeclaration, leaveDeclarationBlock, leaveDefinition, leaveFontFace, leaveForLoop, leaveFunctionNode, leaveIdSelector, leaveImportBlock, leaveImportRule, leaveKey, leaveKeyBlock, leaveKeyframeRuleset, leaveKeyframesRule, leaveMediaRule, leaveMediaTypeListDelimiter, leaveMixin, leaveMixinDefinition, leavePageRule, leavePageSelector, leavePropertyValue, leaveProvideNode, leavePseudoClass, leavePseudoElement, leaveRequireNode, leaveRuleset, leaveSelector, leaveSelectorBlock, leaveTree, leaveUnknownAtRule, leaveValueNode
-
-
-
-
Constructor Detail
-
StrictCss3
public StrictCss3(VisitController visitController, ErrorManager errorManager)
-
-
Method Detail
-
enterCombinator
public boolean enterCombinator(CssCombinatorNode combinator)
Ensures that the combinator '/deep/' (not strict CSS 3) is not used.- Specified by:
enterCombinatorin interfaceCssTreeVisitor- Overrides:
enterCombinatorin classDefaultTreeVisitor
-
enterPseudoClass
public boolean enterPseudoClass(CssPseudoClassNode node)
Description copied from interface:CssTreeVisitorCalled before visiting aCssPseudoClassNode's sub trees- Specified by:
enterPseudoClassin interfaceCssTreeVisitor- Overrides:
enterPseudoClassin classDefaultTreeVisitor
-
enterPseudoElement
public boolean enterPseudoElement(CssPseudoElementNode node)
Ensures that only pseudo-elements valid in CSS 3 are used.- Specified by:
enterPseudoElementin interfaceCssTreeVisitor- Overrides:
enterPseudoElementin classDefaultTreeVisitor
-
-