Retire CSSValueImpl and pin the W3C value facade#4160
Open
vogella wants to merge 2 commits into
Open
Conversation
CSSValueImpl is unreferenced since the computed-style cascade moved to internal types; delete it, together with the COUNTER_ERROR and RECT_ERROR message keys it was the last user of. Document the remaining W3C surface (the CssValues records and CSSStyleDeclarationImpl) as a permanent compatibility facade rather than a transitional bridge: IStylingEngine.getStyle and IThemeEngine.getStyle return W3C types and propertyHandler contributions receive values as W3C CSSValue, so this surface stays. Also drop the redundant CSSStyleDeclaration implements clause from CSSComputedStyleImpl.
vogella
added a commit
to vogella/eclipse.platform.ui
that referenced
this pull request
Jul 4, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR continues the CSS engine simplification in org.eclipse.e4.ui.css.* by removing now-dead W3C value/exception implementation classes and documenting that the remaining W3C-facing types are a permanent compatibility facade for the public styling APIs.
Changes:
- Delete the unused
CSSValueImplbase class and remove the last remaining message-key usages tied to it. - Remove the custom
DOMExceptionImpl+ExceptionResourcemachinery and inlineDOMExceptionthrows at the remaining call sites. - Update documentation/signatures to reflect the “permanent W3C facade” direction (e.g.,
CssValuesJavadoc,CSSComputedStyleImpldeclaration).
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| bundles/org.eclipse.e4.ui.css.swt/src/org/eclipse/e4/ui/css/swt/properties/converters/CSSValueSWTColorConverterImpl.java | Replaces DOMExceptionImpl usage with direct DOMException throw for invalid RGB conversion. |
| bundles/org.eclipse.e4.ui.css.core/src/org/eclipse/e4/ui/css/core/impl/dom/CssValues.java | Updates class-level Javadoc to clarify W3C value interfaces are a permanent compatibility facade. |
| bundles/org.eclipse.e4.ui.css.core/src/org/eclipse/e4/ui/css/core/impl/dom/CSSValueImpl.java | Deletes the unused legacy W3C value base implementation. |
| bundles/org.eclipse.e4.ui.css.core/src/org/eclipse/e4/ui/css/core/impl/dom/CSSStyleDeclarationImpl.java | Inlines DOMException throws for read-only mutation attempts and documents facade intent. |
| bundles/org.eclipse.e4.ui.css.core/src/org/eclipse/e4/ui/css/core/impl/dom/CSSComputedStyleImpl.java | Removes redundant implements CSSStyleDeclaration and updates the class Javadoc wording. |
| bundles/org.eclipse.e4.ui.css.core/src/org/eclipse/e4/ui/css/core/exceptions/ExceptionResource.java | Deletes the unused exception message resource bundle. |
| bundles/org.eclipse.e4.ui.css.core/src/org/eclipse/e4/ui/css/core/exceptions/DOMExceptionImpl.java | Deletes the unused custom DOMException subclass and its message-key mechanism. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
After the parser and DOM-mirror rework only two of the 19 DOMExceptionImpl message keys were still referenced. Throw plain DOMException with the message inlined at the four remaining call sites and delete DOMExceptionImpl and its ExceptionResource bundle.
d31e744 to
e481558
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
With #4122 merged, nothing references CSSValueImpl anymore, so this deletes it along with the COUNTER_ERROR and RECT_ERROR message keys it was the last user of. The remaining W3C surface (the CssValues records and CSSStyleDeclarationImpl) is now documented as a permanent compatibility facade rather than a transitional bridge, since IStylingEngine.getStyle and IThemeEngine.getStyle return W3C types and propertyHandler contributions receive values as W3C CSSValue. A second commit drops the now-dead DOM exception message-key machinery (DOMExceptionImpl, ExceptionResource): only two of its 19 messages were still referenced, now inlined as plain DOMException throws at the four call sites. Net about 210 lines removed with no behavior change.
Part of #3980.