Closed Bug 163556 Opened 18 years ago Closed 17 years ago
Affects Style should move from ns IStyle Sheet to ns IStyle Rule Processor
AttributeAffectsStyle belongs next to HasStateDependentStyle on nsIStyleRuleProcessor rather than on nsIStyleSheet. While doing this, the nsCSSStyleSheet implementation could be simplified and converted from nsHashtable to pldhash.
Status: NEW → ASSIGNED
Priority: -- → P3
Target Milestone: --- → Future
This is work in progress. It compiles, but I haven't tested it yet.
Target Milestone: Future → mozilla1.4alpha
I used this testcase and a |printf| right after the change in nsCSSFrameConstructor.cpp to verify that the changes are doing what I expected. (I got |affects==0| for the first and fourth buttons and |affects==1| for the second and third.) Everything seems to work just fine.
Attachment #112774 - Attachment description: patch (work in progress) → patch
Fix leak caused by omitted PL_DHashTableFinish.
Attachment #112774 - Attachment is obsolete: true
How about a clearEntry callback to fix the array leak, too? :-)
Attachment #113701 - Attachment is obsolete: true
Comment on attachment 113706 [details] [diff] [review] patch >+ AttributeRuleProcessorData(nsIPresContext* aPresContext, >+ nsIContent* aContent, >+ nsIAtom* aAttribute, >+ PRInt32 aModType) Odd indentation.... >+ nsIAtom* medium = nsnull; >+ aPresContext->GetMedium(&medium); >+ AttributeData data(aPresContext, medium, aContent, aAttribute, aModType); >+ WalkRuleProcessors(SheetHasAttributeStyle, &data); >+ NS_IF_RELEASE(medium); I know you just copied that refcounting, but could we make that an nsCOMPtr? And maybe even fix the place you copied from? (we should really have a decent way to not have all this identical-looking code... most of this file is screaming "Macro!" at me... but that's a battle for another day). Nice simplification of the attr hash stuff....
Addresses bz's nsCOMPtr comment.
Attachment #113706 - Attachment is obsolete: true
Fix checked in to trunk, 2003-02-22 08:10 PST.
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.