- From: Simon Pieters <simonp@opera.com>
- Date: Wed, 21 Aug 2013 16:11:08 +0200
- To: "www-style@w3.org" <www-style@w3.org>, François REMY <francois.remy.dev@outlook.com>
On Tue, 06 Aug 2013 19:08:33 +0200, François REMY
<francois.remy.dev@outlook.com> wrote:
>> Subject: [css-om] CSSStyleDeclaration.parentElement
>>> Returns the element that host the current style declaration, if any. {
>>> NOTE: This attribute is mutually exclusive with the parentRule
>>> attribute, in the sense at most one of the two can return a non-null
>>> value. }
>>>
>>> // would be great to add to the web platform, polyfilling
>>> "someNode.style.someProperty" is a huge pain right now...
>>
>> Can you elaborate on the use case?
>
> I want to fake support for some property. Let's say I want to support
> "flow-from" from the CSS Regions Spec.
>
> The normal way to do this would be to extend CSSStyleDeclaration and
> define some "flowFrom" property there. However, if you want to apply
> this property, you need to have a reference to the element on which this
> property applies and you have none in the CSSStyleDeclaration interface.
> { NOTE: you may, for instance, want to update some HTML attribute in
> response to a change in style. }
>
>
>
>
> My idea to work-around the lack of "parentElement" was then to override
> HTMLElement.prototype.style and path the "parentElement" property when
> the style declaration is created but... thank you Webkit for considering
> "style" as a magic own value property of every element, that's so
> helpful!
That's a bug in WebKit, WebIDL requires it on the prototype.
> Finally, I settled on a new "myStyle" property which would return the
> "style" of the element but would add manually the "parentElement"
> property so that I can access it in my "flowFrom" getter/setter. That's
> a ugly hack but I can't do better for now...
So this property would point to the element for element.style but be null
for cssrule.style et al?
I'm having a bit of difficulty reasoning around your use case since it's
about polyfilling. For instance, getting flow-from implemented in browsers
would remove the need for parentElement in your case.
--
Simon Pieters
Opera Software
Received on Wednesday, 21 August 2013 14:05:47 UTC