0 Replies Latest reply on Oct 17, 2008 9:13 PM by Peter Farland

    [svn] 3734: Fixing advanced CSS descendant selectors for the alpha release.

    Peter Farland Level 3
      Revision: 3734
      Author: pfarland@adobe.com
      Date: 2008-10-17 22:13:34 -0700 (Fri, 17 Oct 2008)

      Log Message:
      -----------
      Fixing advanced CSS descendant selectors for the alpha release.

      - We now check descendant types against any superclass.

      - Removed StyleProtoChain.getClassStyleDeclarations()'s recursive "Class" lookup for each superclass of an IStyleClient during the search for type selectors in the hierarchy. This was replaced with a simple describeType-based description (called once per type).

      - Added a method to report whether any advanced styles had been registered with the StyleManager to optimize style declaration matching for the default case of simple style declarations.

      - Removed advanced selector cache key calculation from StyleProtoChain in favor of the legacy simple type level cache. Future work may be required to cache advanced, display list sensitive style information.

      - Fixed the specificity calculation for global selectors.

      QE: Yes
      Doc: No.
      Checkintests: Pass
      mxunit styles tests: Pass
      select mustella styles tests: Pass
      Reviewer: Glenn

      Bugs:
      SDK-17351 - [Advanced CSS] Descendant selectors don't work for Application
      SDK-17361 - [Advanced CSS] If you use descendant and id selectors together, the id selector doesn't work correctly
      SDK-17385 - [Advanced CSS] If you use descendant and class selectors together, the class selector doesn't work correctly

      Ticket Links:
      ------------
      http://bugs.adobe.com/jira/browse/SDK-17351
      http://bugs.adobe.com/jira/browse/SDK-17361
      http://bugs.adobe.com/jira/browse/SDK-17385

      Modified Paths:
      --------------
      flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSSelector.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IAdvancedStyleClient.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleManager3.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/NameUtil.as
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleDef.vm
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleModule.vm
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/gen/ClassDefLib.vm