Skip to content

Retire CSSValueImpl and pin the W3C value facade#4160

Open
vogella wants to merge 2 commits into
eclipse-platform:masterfrom
vogella:css-retire-cssvalueimpl
Open

Retire CSSValueImpl and pin the W3C value facade#4160
vogella wants to merge 2 commits into
eclipse-platform:masterfrom
vogella:css-retire-cssvalueimpl

Conversation

@vogella

@vogella vogella commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

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.

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
@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Test Results

0 tests  ±0   0 ✅ ±0   0s ⏱️ ±0s
0 suites ±0   0 💤 ±0 
0 files   ±0   0 ❌ ±0 

Results for commit e481558. ± Comparison against base commit 74e6073.

♻️ This comment has been updated with latest results.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 CSSValueImpl base class and remove the last remaining message-key usages tied to it.
  • Remove the custom DOMExceptionImpl + ExceptionResource machinery and inline DOMException throws at the remaining call sites.
  • Update documentation/signatures to reflect the “permanent W3C facade” direction (e.g., CssValues Javadoc, CSSComputedStyleImpl declaration).

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.
@vogella vogella force-pushed the css-retire-cssvalueimpl branch from d31e744 to e481558 Compare July 5, 2026 15:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants