Open Bug 443978 Opened 12 years ago Updated 1 year ago

Support mutation of CSSFontFaceRule DOM objects from JavaScript

Categories

(Core :: DOM: CSS Object Model, defect, P3)

defect

Tracking

()

People

(Reporter: zwol, Assigned: emilio)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

The initial implementation of CSSFontFaceRule DOM objects as coded in bug 441469 does not include support for modifying those objects from JavaScript.  Specifically, there are stub methods for three interfaces, that always return NS_ERROR_NOT_IMPLEMENTED:

 nsIDOMCSSFontFaceRule::SetCssText
 nsIDOMCSSStyleDeclaration::SetCssText
 nsIDOMCSSStyleDeclaration::SetProperty

(note that there is a custom implementation of nsIDOMCSSStyleDeclaration for CSSFontFaceRule objects, currently called CSSFontDescriptorBlock and hidden away in nsCSSRules.cpp).

These are not technically difficult to implement but are not necessary for people to proceed with bug 441473, and so I am splitting their implementation from bug 441469.
Flags: wanted1.9.1?
Version: unspecified → Trunk
Flags: wanted1.9.1? → wanted1.9.1+
These are actually much harder to implement than I thought, because we don't have a good way to make consumers of style data aware that font-face descriptors have changed.  And we're running out of time for feature work, so I'm taking this off the 1.9.1 radar.
Flags: wanted1.9.1+
I no longer work for Mozilla, I am deassigning myself from bugs I have no intention of working on as a volunteer.
Assignee: zackw → nobody
Status: ASSIGNED → NEW
Sigh. This is severely blocking BlueGriffon's CSS Pro Editor...

This makes testability of some @font-face bits much harder, and shouldn't be hard now, I'd think...

See https://github.com/w3c/csswg-drafts/issues/3588.

Component: CSS Parsing and Computation → DOM: CSS Object Model
Flags: needinfo?(emilio)
Priority: -- → P3

And fix change handling for RemoveProperty, which was supported but didn't
invalidate anything.

Assignee: nobody → emilio
Flags: needinfo?(emilio)
You need to log in before you can comment on or make changes to this bug.