Closed Bug 1005405 Opened 10 years ago Closed 10 years ago

OverflowChangedTracker sometimes doesn't update all of the frame

Categories

(Core :: Layout, defect)

32 Branch
x86_64
Windows 7
defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla32
Tracking Status
firefox31 --- verified
firefox32 --- verified

People

(Reporter: mp3geek, Assigned: kip)

References

Details

(Keywords: regression, testcase, Whiteboard: [qa!] )

Attachments

(3 files)

Attached file test.rar
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0 (Beta/Release)
Build ID: 20140502134938

Steps to reproduce:

Using the test case (hover over the "dfgdfg", and expect the menu everytime)


Actual results:

Doesn't popup.


Expected results:

Menu should popup when you slide mouse over it. Previously reported and fixed: https://bugzilla.mozilla.org/show_bug.cgi?id=766843

Did work, and recently broke in nightly.
Regression;

Index of /pub/mozilla.org/firefox/tinderbox-builds/mozilla-central-win32/1397654043
16-Apr-2014 14:01 GOOD

Index of /pub/mozilla.org/firefox/tinderbox-builds/mozilla-central-win32/1397700730
17-Apr-2014 03:38  BAD
Last good revision: f3a457bc88a2
First bad revision: 746ce8a34f0f
Pushlog:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=f3a457bc88a2&tochange=746ce8a34f0f
Looks like bug 984226 to me. Kip, can you have a look?
Blocks: 984226
Component: Untriaged → Layout
Flags: needinfo?(kgilbert)
Keywords: regression, testcase
Product: Firefox → Core
Will review this today
Flags: needinfo?(kgilbert)
Assignee: nobody → kgilbert
I have reproduced the issue and confirmed that the behavior changed with the patch to Bug 984226
Status: UNCONFIRMED → NEW
Ever confirmed: true
This bug corrects an issue in OverflowChangedTracker, which resulted in an incomplete update of frames when multiple changes to different frames occurred simultaneously.
Attachment #8418205 - Flags: review?(dbaron)
(In reply to :kip (Kearwood Gilbert) from comment #6)
> Created attachment 8418205 [details] [diff] [review]
> V1 Fix For Bug 1005405
> 
> This bug corrects an issue in OverflowChangedTracker, which resulted in an
> incomplete update of frames when multiple changes to different frames
> occurred simultaneously.

This has been pushed to try:

https://tbpl.mozilla.org/?tree=Try&rev=092cd5eedf37
Comment on attachment 8418205 [details] [diff] [review]
V1 Fix For Bug 1005405,r=dbaron

r=dbaron, but it would be good to add a reftest as well
Attachment #8418205 - Flags: review?(dbaron) → review+
Attachment #8418205 - Attachment description: V1 Fix For Bug 1005405 → V1 Fix For Bug 1005405,r=dbaron
This reftest is a highly distilled version of the original testcase, reproducing the scenario where the parent frame is not updated completely by OverflowChangedTracker::Flush()
Attachment #8418375 - Flags: review?(dbaron)
Does this test fail without the patch?  (I'm not seeing where the *two* overflow changes from style are, nor what it is that depends on overflow area being correct.)
Flags: needinfo?(kgilbert)
(In reply to David Baron [:dbaron] (needinfo? me) (UTC-7) from comment #10)
> Does this test fail without the patch?  (I'm not seeing where the *two*
> overflow changes from style are, nor what it is that depends on overflow
> area being correct.)

Yes, without the patch, the text will not be visible.  Tables are one case that still depends on the OverflowChangedTracker's original behavior, which expects the parent to always be updated, even if the overflow didn't change for the child.
Flags: needinfo?(kgilbert)
(I'm assuming you tested that the reftest harness reports a failure, not just visually.  With invalidation tests like this, that's worth checking, although for other sorts of tests checking visually is fine.)
(In reply to David Baron [:dbaron] (needinfo? me) (UTC-7) from comment #12)
> (I'm assuming you tested that the reftest harness reports a failure, not
> just visually.  With invalidation tests like this, that's worth checking,
> although for other sorts of tests checking visually is fine.)

I performed a test through the reftest harness on OSX 10.9.2 / Intel; it failed (as expected) without the patch and passed with the patch present.
Attachment #8418375 - Attachment description: V1 Reftest for Bug 1005405 → V1 Reftest for Bug 1005405, r=dbaron
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/446230ff2bdb
https://hg.mozilla.org/mozilla-central/rev/50e88d51767c
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla32
Did this bug make it into aurora/upcoming FF30 ? 

Also might be a good idea to modify the title to be a bit more descriptive of the issue.
(In reply to mdew from comment #16)
> Did this bug make it into aurora/upcoming FF30 ? 

Aurora, I think. kip, do you want to request uplift or is this not safe?

> Also might be a good idea to modify the title to be a bit more descriptive
> of the issue.

Good point.
Summary: Menu no longer works (again) → OverflowChangedTracker sometimes doesn't update all of the frame
(In reply to :Gijs Kruitbosch from comment #17)
> (In reply to mdew from comment #16)
> > Did this bug make it into aurora/upcoming FF30 ? 
> 
> Aurora, I think. kip, do you want to request uplift or is this not safe?

+needinfo
Flags: needinfo?(kgilbert)
(In reply to :Gijs Kruitbosch from comment #18)
> (In reply to :Gijs Kruitbosch from comment #17)
> > (In reply to mdew from comment #16)
> > > Did this bug make it into aurora/upcoming FF30 ? 
> > 
> > Aurora, I think. kip, do you want to request uplift or is this not safe?
> 
> +needinfo

I believe this patch is quite safe and worthy of uplift
Flags: needinfo?(kgilbert)
Comment on attachment 8418205 [details] [diff] [review]
V1 Fix For Bug 1005405,r=dbaron

[Approval Request Comment]
Bug caused by (feature/regressing bug #): Bug 984226
User impact if declined: Some frames may fail to update, resulting in incorrect overflow area calculation or invisible elements.  These issues are not specific to sticky elements.
Testing completed (on m-c, etc.): Manual testing by performing DOM changes through Javascript as well as automated testing on m-c.  A reftest has been added to verify the fix and the patch has been pushed to the try server. 
Risk to taking this patch (and alternatives if risky): Medium risk.  This patch will result in more work being done while reflowing (affects change hint propagation to parent frames).  It is a simple, single line change in a class (OverflowChangeTracker) that impacts all elements during reflow.  If the patch is flawed, it could result in performance regressions.
String or IDL/UUID changes made by this patch: None
Attachment #8418205 - Flags: approval-mozilla-aurora?
Attachment #8418205 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Verified fixed 32.0a1 (2014-05-08), Win 7 x64
Status: RESOLVED → VERIFIED
Whiteboard: [qa+]
Reproduced the initial issue on old Nightly (2014-05-02), verified as fixed on Windows 7 64bit using Firefox 31 beta 6.
Whiteboard: [qa+] → [qa!]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: