Closed Bug 804323 Opened 12 years ago Closed 12 years ago

Repaint error: Delay until full display of element

Categories

(Core :: Layout, defect)

17 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla19
Tracking Status
firefox16 --- unaffected
firefox17 + fixed
firefox18 + fixed
firefox19 + fixed

People

(Reporter: hmitsch, Assigned: roc)

References

Details

(Keywords: regression)

Attachments

(6 files)

Steps to reproduce: - Open http://carishina.net/henrik/webapps/BlickAmMozilla/zwitter.html - Press "Stream!" - Wait 2 seconds (twitter is being queried) - Tweets are drawn in rectangles Expected result: - Rectangles should be drawn immediately Actual result: - Rectangles are only fully drawn after a short delay Issue reproduced on: - Aurora (Fx 18) on Mac OS and Windows - Nightly (2012-10-15) on Mac OS Issue NOT reproducible on: - Firefox 16.0.1 on Windows - Safari 6.0.1 on Mac OS - Chrome 24.0 on Mac OS
I can reproduce this bug with a current version of Firefox Beta (17.0) on OSX. I can NOT reproduce this bug with the current version of Firefox Release (16.0.1) on OSX. Removing dependency on `dlbi|539356` bug, as that one landed in Gecko 18, but the bug is also available in Gecko 17.
No longer depends on: dlbi
Version: 18 Branch → 17 Branch
Rectangles are sometimes cut, see the screenshot I attached. m-c good=2012-08-13 bad=2012-08-14 http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=f89feda9d997&tochange=22288130fea2 Suspected bug: bug 539356.
Loic, thanks! > Suspected bug: bug 539356. \cc Matt as he worked on 539356 (dlbi).
The zooming is done by setting the style of the <body> element to something like this: transform-origin: 626.5px 317.5px 0px; transform: translate(-410.963px, -193.484px) rotate(-2.31655rad) skewX(0rad) scale(0.978596, 0.978596); By changing the values in JS, the transitions/zoom effects are created.
Regression window(m-i) Good: http://hg.mozilla.org/integration/mozilla-inbound/rev/b753e1dce89f Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Firefox/17.0 ID:20120812205544 Bad: http://hg.mozilla.org/integration/mozilla-inbound/rev/94e4dbce3b94 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Firefox/17.0 ID:20120812215445 Pushlog: http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=b753e1dce89f&tochange=94e4dbce3b94 Inlocal build Last Good: 2d6fd808c2b0 First Bad: f4e247827bab Triggered by: f4e247827bab Robert O'Callahan — Bug 691651. When an element changes between having a transform and not having one, don't reframe if we don't need to. r=dbaron
Assignee: nobody → roc
Attached file testcase
If you reload the testcase a few times, the yellow box will sometimes fail to appear. Dumping the frame tree shows that in those cases, the yellow box has been added as an aboslutely-positioned child of the root element instead of the transformed body.
Attached patch fixSplinter Review
Attachment #674541 - Flags: review?(bzbarsky)
Attachment #674541 - Flags: review?(bzbarsky) → review+
Either this patch or bug 801488's patches caused mochitest browser-chrome crashes on all platforms. Backed out. https://hg.mozilla.org/integration/mozilla-inbound/rev/293bdc2afe11 https://tbpl.mozilla.org/php/getParsedLog.php?id=16451037&tree=Mozilla-Inbound 0 libxul.so!nsGenericHTMLElement::GetOffsetRect(nsRect&, nsIContent**) [nsGenericHTMLElement.cpp : 490 + 0x6] eip = 0x013e5761 esp = 0xbfbc2910 ebp = 0xbfbc2998 ebx = 0x027a1234 esi = 0x91bb1858 edi = 0x8b213228 eax = 0xf0dea7ff ecx = 0x027a1234 edx = 0x8b0b7e00 efl = 0x00010296 Found by: given as instruction pointer in context 1 libxul.so!nsGenericHTMLElement::GetOffsetHeight(int*) [nsGenericHTMLElement.cpp : 625 + 0x17] eip = 0x013e3cea esp = 0xbfbc29a0 ebp = 0xbfbc29e8 ebx = 0x8d991da0 esi = 0xbfbc29dc edi = 0x8f3fa420 Found by: call frame info 2 libxul.so!nsIDOMHTMLElement_GetOffsetHeight [dom_quickstubs.cpp : 12640 + 0xb] eip = 0x017c484e esp = 0xbfbc29f0 ebp = 0xbfbc2a38 ebx = 0x8d991da0 esi = 0xb2fff8a0 edi = 0xa63b2024 Found by: call frame info 3 0x3b1d326 eip = 0x03b1d327 esp = 0xbfbc2a40 ebp = 0xbfbc2a88 ebx = 0x8d991da0 esi = 0x8aafe010 edi = 0xb2fff8b0 Found by: call frame info 4 libxul.so + 0x1aea233 eip = 0x027a1234 esp = 0xbfbc2a90 ebp = 0xb2fff848 Found by: previous frame's frame pointer 5 libxul.so!js::mjit::EnterMethodJIT(JSContext*, js::StackFrame*, void*, JS::Value*, bool) [MethodJIT.cpp : 1043 + 0x1c] eip = 0x022273da esp = 0xbfbc2aa0 ebp = 0xb2fff848 Found by: stack scanning 6 libxul.so!mozilla::css::Loader::InsertSheetInDoc(nsCSSStyleSheet*, nsIContent*, nsIDocument*) [Loader.cpp : 1310 + 0x5] eip = 0x01227079 esp = 0xbfbc2ac0 ebp = 0xb2fff848 Found by: stack scanning 7 libxul.so!js::mjit::JaegerShot(JSContext*, bool) [MethodJIT.cpp : 1101 + 0x8] eip = 0x02227567 esp = 0xbfbc2b10 ebp = 0xb2fff848 Found by: stack scanning 8 libc-2.11.so + 0xdab47 eip = 0x00bc2b48 esp = 0xbfbc2b30 ebp = 0xb2fff848 Found by: stack scanning 9 libxul.so!js::Interpret(JSContext*, js::StackFrame*, js::InterpMode) [jsinterp.cpp : 2420 + 0x15] eip = 0x020f9981 esp = 0xbfbc2b70 ebp = 0xb2fff848 Found by: stack scanning 10 libxul.so!XPCWrappedNative::GetWrappedNativeOfJSObject(JSContext*, JSObject*, JSObject*, JSObject**, XPCWrappedNativeTearOff**) [XPCWrappedNative.cpp : 1869 + 0xa] eip = 0x017b6af7 esp = 0xbfbc2b90 ebp = 0xb2fff848 Found by: stack scanning
Attached patch fix regressionsSplinter Review
The crashes were due to use calling MarkAbsoluteContainingBlock on a frame that already is one, wiping out the old AbsoluteContainer property.
Attachment #675358 - Flags: review?(bzbarsky)
Comment on attachment 675358 [details] [diff] [review] fix regressions r=me
Attachment #675358 - Flags: review?(bzbarsky) → review+
Comment on attachment 675358 [details] [diff] [review] fix regressions [Approval Request Comment] Bug caused by (feature/regressing bug #): 691651 User impact if declined: Some pages won't render correctly Testing completed (on m-c, etc.): none Risk to taking this patch (and alternatives if risky): Not trivial, but not a very complicated patch either. We have the alternative of backing out bug 691651 on beta instead of taking this patch there. String or UUID changes made by this patch: None.
Attachment #675358 - Flags: approval-mozilla-beta?
Attachment #675358 - Flags: approval-mozilla-aurora?
Status: NEW → RESOLVED
Closed: 12 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla19
Depends on: 806056
Just tested this on the latest Nightly build. It works. Thanks for fixing the issue so quickly. Best regards, Henrik (the person who reported this bug)
Comment on attachment 675358 [details] [diff] [review] fix regressions Review of attachment 675358 [details] [diff] [review]: ----------------------------------------------------------------- This patch caused bug 806056. Let's back out bug 691651 on beta and try to settle things down for Aurora.
Attachment #675358 - Flags: approval-mozilla-beta?
Attachment #675358 - Flags: approval-mozilla-aurora?
[Approval Request Comment] Bug caused by (feature/regressing bug #): 691591 User impact if declined: Problems rendering some Web pages Testing completed (on m-c, etc.): none, this is just a backout for beta Risk to taking this patch (and alternatives if risky): nothing better than this String or UUID changes made by this patch: none
Attachment #676017 - Flags: approval-mozilla-beta?
Attachment #676017 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Your beta-backout patch with some minor tweaks. It fixes the test in this bug and running reftests locally ... looks good so far.
Attachment #678576 - Flags: review?(roc)
Comment on attachment 678576 [details] [diff] [review] Backout bug 691591 on aurora Review of attachment 678576 [details] [diff] [review]: ----------------------------------------------------------------- Thanks!
Attachment #678576 - Flags: review?(roc) → review+
Attachment #678576 - Flags: approval-mozilla-aurora?
Comment on attachment 678576 [details] [diff] [review] Backout bug 691591 on aurora lowrisk backout patch, approving on aurora
Attachment #678576 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Verified fix on latest Aurora. It works. Right in time for tonight's MozMUC meetup. You guys rock! AwesomeR. Thank you, Henrik
Depends on: 812665
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: