Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
We have an internal team creating a Skin Editor for JDeveloper. It renders a preview of the component you are skinning in its different states: read-only, visited, hover, active, etc. Some of the states are browser-supported states (hover, visited, active), and some are not (read-only).
The Skinning Framework processes the skin file and generates a CSS-2 browser-supported css file.
If it sees a browser-supported pseudo-class in the selector, it passes it through to the generated CSS file. If it sees other pseudo-classes, it converts it to 'p_AF*".
So af|inputText:read-only becomes .af_inputText.p_AFReadOnly. In the rendered html, you'll see something like <div class="af_inputText p_AFReadOnly">.
af|commandButton:active becomes .af_commandButton:active. There is no need to convert :active because the browser knows what to do with it.
For the Design Time Skin Editor, they render a sample of the component in the different states. It isn't a real browser, so the browser-supported states are no supported, like :hover. They need us to convert the browser supported pseudo-clases the same as other pseudo-classes when in Design Time Mode.
This is a very simple fix in CSSGenerationUtils.java in static private String _convertPseudoClass(String pseudoClass)