W3C home > Mailing lists > Public > www-style@w3.org > September 2012

Re: [cssom] CSSRule.parentRule and CSSRule.parentStyleSheet should return a "CSSRule?"

From: Glenn Adams <glenn@skynav.com>
Date: Sun, 2 Sep 2012 19:31:23 +0800
Message-ID: <CACQ=j+eOqiQvABdKkp4HqEHsX5kSPVy5HRxGAzhBrap_FEA=Cw@mail.gmail.com>
To: Daniel Glazman <daniel.glazman@disruptive-innovations.com>
Cc: www-style@w3.org
On Sun, Sep 2, 2012 at 3:46 PM, Daniel Glazman <
daniel.glazman@disruptive-innovations.com> wrote:

> Le 01/09/12 03:41, Boris Zbarsky a écrit :
>
>  On 8/31/12 8:41 PM, Glenn Adams wrote:
>>
>>> Please check. If CSSOM defined constructors for CSSRule concrete
>>> subclasses, then I could see this happening. But it doesn't at present,
>>> and I'm not sure it appropriate to spec if the spec doesn't otherwise
>>> define a context in which it could be null.
>>>
>>
>> I think the issue here might be one of lifetime management. I believe
>> that if you're holding on to a rule and the rule's stylesheet is not
>> attached to a document and you're not holding on to the stylesheet
>> itself we will garbage-collect the stylesheet and null out the rule's
>> parentStyleSheet. Could be wrong, though.
>>
>
> 1. get a CSS rule from the OM, keep it in a JS variable
> 2. find the owner node
> 3. delete it from DOM
> 4. parentStylesheet is then null
>

If the deletion of a Node that refers to a stylesheet causes the stylesheet
to be deleted, then it should delete every rule if there are no live
references to one of its rules; otherwise, if there is a live reference to
one of its rule or to the stylesheet, then the stylesheet and node should
not be deleted until that live reference is non-reachable.

I consider deleting the stylesheet to be an implementation bug, or
certainly an undocumented (and probably undesirable - read illogical)
behavior.


>
> I'm hitting it a lot.


OK, but it certainly doesn't mean we should condone such behavior. I would
prefer to call that behavior a bug.
Received on Sunday, 2 September 2012 11:32:11 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:59 GMT