Closed Bug 315541 Opened 20 years ago Closed 20 years ago

[FIX]Hovering over this broken image testcase makes it disappear

Categories

(Core :: Layout, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla1.9alpha1

People

(Reporter: martijn.martijn, Assigned: bzbarsky)

References

Details

(Keywords: regression, testcase)

Attachments

(3 files)

See upcoming testcase. When hovering over the broken image, it disappears. It seems to be a regression, works in 2005-09-18 build, fails in 2005-09-20, the fix for bug 11011 seems the most likely candidate.
Attached file testcase
I'm also getting an assertion when hovering over the broken image: ###!!! ASSERTION: node in map twice: 'Not Reached', file c:/mozilla/mozilla/layo ut/base/nsFrameManager.cpp, line 1632 Similar to bug 180897.
So here's what's going on: 1) Mousing over the image sends the <area> into the :hover state 2) We check for state dependent style on the <area>. Since <area> matches :link, it has state dependent style given our ua.css. So we post a restyle event targeted at the <area>. 3) We reresolve style for the <area>. The primary frame for it is the image frame(!). So we reresolve style for the <img>. Its style hasn't actually changed, so we move along to dealing with kids, etc. 4) We notice that the <img> has a :before style (in ua.css), but no before frame (because it's a replaced element). So we toss in a reframe hint and return. 5) Reframing removes the image frame, then calls ContentInserted on our content (the <area>). Which of course doesn't do squat about the image frame reappearing and instead tries to create a second undisplayed entry. Now I think I should fix step 4 here, but it feels to me like we could reproduce the same issue by just having a :hover style on <area>... Especially if the page styles the area to not be display:none. I'm not really sure what we can do about that. :(
Attached patch PatchSplinter Review
OK, looks like actually styling the area to have a frame is ok too; not sure why, but I'm not worrying about it too much. ;)
Assignee: nobody → bzbarsky
Status: NEW → ASSIGNED
Attachment #202266 - Flags: superreview?(dbaron)
Attachment #202266 - Flags: review?(dbaron)
OS: Windows XP → All
Priority: -- → P2
Hardware: PC → All
Summary: Hovering over this broken image testcase makes it disappear → [FIX]Hovering over this broken image testcase makes it disappear
Target Milestone: --- → mozilla1.9alpha
Attachment #202266 - Flags: superreview?(dbaron)
Attachment #202266 - Flags: superreview+
Attachment #202266 - Flags: review?(dbaron)
Attachment #202266 - Flags: review+
Seeing in branch also even though "Version" says trunk: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051107 Firefox/1.5 ID:2005110708
Version should be the latest version that shows the bug. In this case, that's trunk. I'm not touching this code on branch, for what it's worth.
Fixed.
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Could it be that this patch also fixed bug 327380?
No.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: