The default bug view has changed. See this FAQ.

Repaint error: Delay until full display of element

RESOLVED FIXED in Firefox 17

Status

()

Core
Layout
RESOLVED FIXED
5 years ago
4 years ago

People

(Reporter: hmitsch, Assigned: roc)

Tracking

({regression})

17 Branch
mozilla19
regression
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite +

Firefox Tracking Flags

(firefox16 unaffected, firefox17+ fixed, firefox18+ fixed, firefox19+ fixed)

Details

Attachments

(6 attachments)

(Reporter)

Description

5 years ago
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

Comment 1

5 years ago
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: 539356
Keywords: regressionwindow-wanted

Updated

5 years ago
Version: 18 Branch → 17 Branch

Comment 2

5 years ago
Created attachment 674222 [details]
Screenshot FF19 on Win 7

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.

Comment 3

5 years ago
Loic, thanks!

> Suspected bug: bug 539356.

\cc Matt as he worked on 539356 (dlbi).

Comment 4

5 years ago
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.

Comment 5

5 years ago
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
Blocks: 691651
tracking-firefox17: --- → ?
tracking-firefox18: --- → ?
tracking-firefox19: --- → ?
Keywords: regressionwindow-wanted → regression
Assignee: nobody → roc
Created attachment 674523 [details]
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.
Created attachment 674541 [details] [diff] [review]
fix
Attachment #674541 - Flags: review?(bzbarsky)
Comment on attachment 674541 [details] [diff] [review]
fix

r=me
Attachment #674541 - Flags: review?(bzbarsky) → review+

Updated

5 years ago
status-firefox16: --- → unaffected
status-firefox17: --- → affected
status-firefox18: --- → affected
status-firefox19: --- → affected
tracking-firefox17: ? → +
tracking-firefox18: ? → +
tracking-firefox19: ? → +
https://hg.mozilla.org/integration/mozilla-inbound/rev/e4367fd2043f
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
It's this patch.
Created attachment 675358 [details] [diff] [review]
fix regressions

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+
https://hg.mozilla.org/integration/mozilla-inbound/rev/f6f8969f4a70
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?
https://hg.mozilla.org/mozilla-central/rev/f6f8969f4a70
Status: NEW → RESOLVED
Last Resolved: 5 years ago
status-firefox19: affected → fixed
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla19

Updated

5 years ago
Depends on: 806056
(Reporter)

Comment 17

5 years ago
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?
Created attachment 676017 [details] [diff] [review]
Backout bug 691591 on beta

[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+
https://hg.mozilla.org/releases/mozilla-beta/rev/f1e54c50517a
status-firefox17: affected → fixed
Created attachment 678576 [details] [diff] [review]
Backout bug 691591 on aurora

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+

Updated

4 years ago
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+
https://hg.mozilla.org/releases/mozilla-aurora/rev/eab0a3d65b1e
status-firefox18: affected → fixed
(Reporter)

Comment 26

4 years ago
Verified fix on latest Aurora. It works. Right in time for tonight's MozMUC meetup. You guys rock! AwesomeR.

Thank you,
   Henrik

Updated

4 years ago
Depends on: 812665
You need to log in before you can comment on or make changes to this bug.