RESOLVED FIXED Bug 27272
[Leopard] Fixed position elements flash when CSS transforms are applied on page > 2048px tall
https://bugs.webkit.org/show_bug.cgi?id=27272
Summary [Leopard] Fixed position elements flash when CSS transforms are applied on pa...
M. Dave Auayan
Reported 2009-07-14 12:57:19 PDT
Fixed position elements flash when a CSS transform is applied to an element on a long page in the latest WebKit nightly builds
Attachments
Example (881 bytes, text/html)
2009-07-14 12:58 PDT, M. Dave Auayan
no flags
Video of behaviour (232.84 KB, video/quicktime)
2009-07-14 17:38 PDT, M. Dave Auayan
no flags
Patch (6.98 KB, patch)
2009-08-07 17:57 PDT, Simon Fraser (smfr)
mitz: review+
Patch (1.63 KB, patch)
2009-09-15 13:14 PDT, Simon Fraser (smfr)
mitz: review+
M. Dave Auayan
Comment 1 2009-07-14 12:58:35 PDT
Created attachment 32730 [details] Example
M. Dave Auayan
Comment 2 2009-07-14 13:02:49 PDT
Also, I just noticed the transition is not working.
Simon Fraser (smfr)
Comment 3 2009-07-14 15:12:54 PDT
The flash is really just the text appearance changing, right? If so, I think this is a dup. If the transitions are broken, please file another bug. They work for me. *** This bug has been marked as a duplicate of bug 23364 ***
M. Dave Auayan
Comment 4 2009-07-14 15:44:14 PDT
(In reply to comment #3) > The flash is really just the text appearance changing, right? If so, I think > this is a dup. > The flashing element (a div with a fixed position, in the example) is not the element being transformed. The fixed positioned element disappears from the page, and reappears at the end of the transform when an element on the page has a transform applied (in the example's case, on :hover). If the example wasn't obvious, then perhaps my original issue has been resolved. > If the transitions are broken, please file another bug. They work for me. > I'm currently updating, my working copy, once it's done building, i'll revisit this.
Simon Fraser (smfr)
Comment 5 2009-07-14 15:46:55 PDT
Ah, then I think this a dup of bug 26430. It works fine for me in a recent nightly. *** This bug has been marked as a duplicate of bug 26430 ***
M. Dave Auayan
Comment 6 2009-07-14 17:36:06 PDT
(In reply to comment #5) > Ah, then I think this a dup of bug 26430. It works fine for me in a recent > nightly. > I haven't finished building yet, but so far, I've tried this on my macbook pro and mac mini with the same results (flashing) in the latest nightly. The testcase for bug 26430 appears to be fixed. The flashing started recently, the r45754 build, perhaps. The current version of Safari and the Nightly build for Windows do not exhibit this behaviour. I see the platform was incorrectly (automatically) set as PC, maybe this is the source of the confusion?
M. Dave Auayan
Comment 7 2009-07-14 17:38:24 PDT
Created attachment 32753 [details] Video of behaviour
Simon Fraser (smfr)
Comment 8 2009-07-14 17:42:52 PDT
Does this same problem happen if you make a new user account and then try the testcase? Can you try a different Mac too?
M. Dave Auayan
Comment 9 2009-07-15 10:13:40 PDT
(In reply to comment #8) > Does this same problem happen if you make a new user account and then try the > testcase? Can you try a different Mac too? Indeed, this problem persists across a MacBook Pro, a MacBook, a Mac Mini, and a Titanium PowerBook, all running the current version of Leopard (not Snow Leopard). The nightly builds before 45754 do not have this problem.
Simon Fraser (smfr)
Comment 10 2009-07-15 10:24:23 PDT
Reopening based on last comment.
Simon Fraser (smfr)
Comment 11 2009-07-15 10:26:40 PDT
Dave: could you email me a System Profile for your machine please?
Simon Fraser (smfr)
Comment 12 2009-07-15 10:49:07 PDT
Hardware is Intel, 10.5.7
Simon Fraser (smfr)
Comment 13 2009-07-16 18:03:06 PDT
Ah, this is related to the page height. I see the problem. It's Leopard-only.
Simon Fraser (smfr)
Comment 14 2009-07-16 18:28:12 PDT
Simon Fraser (smfr)
Comment 15 2009-08-07 17:57:05 PDT
mitz
Comment 16 2009-08-07 19:04:11 PDT
Comment on attachment 34349 [details] Patch > + WebHTMLView* htmlView = (WebHTMLView*)documentView; With Objective-C objects, the star should go next to the variable name. There should also be a space before the star in the cast. > +#if defined(BUILDING_ON_LEOPARD) > + // Turn off default animations. > + NSNull* nullValue = [NSNull null]; The star should be next to nullValue. > + NSDictionary* actions = [NSDictionary dictionaryWithObjectsAndKeys: > + nullValue, @"anchorPoint", > + nullValue, @"bounds", > + nullValue, @"contents", > + nullValue, @"contentsRect", > + nullValue, @"opacity", > + nullValue, @"position", > + nullValue, @"shadowColor", > + nullValue, @"sublayerTransform", > + nullValue, @"sublayers", > + nullValue, @"transform", > + nullValue, @"zPosition", > + nil]; > + [viewLayer setStyle:[NSDictionary dictionaryWithObject:actions forKey:@"actions"]]; We usually avoid autoreleased objects like the above NSNull and two NSDictionaries. It doesn’t really matter that they are autoreleased in this case. > + const float kMaxHeight = 4096; Please use CGFloat. I don’t think the k prefix is necessary. > + float documentHeight = layerViewFrame.size.height; Please use CGFloat. > + float topOffset = NSMinY(visibleRect); Ditto. > + float bottomOffset = documentHeight - layerViewFrame.size.height - topOffset; … r=me
Simon Fraser (smfr)
Comment 17 2009-08-07 21:08:56 PDT
Simon Fraser (smfr)
Comment 18 2009-08-25 08:45:39 PDT
*** Bug 28705 has been marked as a duplicate of this bug. ***
Simone Manganelli
Comment 19 2009-08-25 10:05:43 PDT
I am seeing this bug in r47686. Are you sure this is fixed?
M. Dave Auayan
Comment 20 2009-08-25 10:08:20 PDT
(In reply to comment #19) > I am seeing this bug in r47686. Are you sure this is fixed? The bug displayed in my test case seems to be fixed, however I'm still getting very similar behavior on my site at http://lib.rario.us/ - i haven't had a chance to reduce that yet.
Simone Manganelli
Comment 21 2009-08-25 10:11:17 PDT
The test case in this bug report flashes just as described; i.e.: it's not fixed for me at all. The video of the behavior shows exactly what I'm seeing in r47686. Also see bug 28705 ( https://bugs.webkit.org/show_bug.cgi?id=28705 ) for another reduction that isn't fixed in r47686.
Simon Fraser (smfr)
Comment 22 2009-08-25 10:20:19 PDT
(In reply to comment #20) > The bug displayed in my test case seems to be fixed, however I'm still getting > very similar behavior on my site at http://lib.rario.us/ Please give a full URL that I can access without having to create an account or log in. (In reply to comment #21) > The test case in this bug report flashes just as described; i.e.: it's not > fixed for me at all. The video of the behavior shows exactly what I'm seeing > in r47686. > > Also see bug 28705 ( https://bugs.webkit.org/show_bug.cgi?id=28705 ) for > another reduction that isn't fixed in r47686. I can reproduce neither of these issues with a current nightly build. Please make sure you are actually running the nightly, and that you don't have any DYLD_FRAMEWORK_PATH stuff set up that might cause it to pick up the wrong frameworks.
Simone Manganelli
Comment 23 2009-08-25 10:27:24 PDT
Yep, running the nightly. No DYLD_FRAMEWORK_PATH set up. Tested this under a completely new user account, both bugs still happen. Mac OS X 10.5.8, 2 GHz Intel Core 2 Duo MacBook.
Simone Manganelli
Comment 24 2009-08-25 10:32:32 PDT
I went back to r46969, too, the earliest nightly I can download that supposedly has the fix, and the problem still happens there too. So maybe there's another case that causes the bug to happen that was never fixed in the first place.
Simon Fraser (smfr)
Comment 25 2009-08-25 10:41:30 PDT
Simone, M.Dave: please give me the following information for your system: Run OpenGL Driver Monitor (in /Developer/Applications/Graphics Tools/) -- you'll need Developer tools installed. Choose Monitors -> Renderer Info Expand the line that refers to your graphics hardware Expand the line "OpenGL limits" Expand the line "Textures" Now look at the number for MAX_TEXTURE_SIZE and report back here. Thanks!
M. Dave Auayan
Comment 26 2009-08-25 10:43:38 PDT
(In reply to comment #25) > Simone, M.Dave: > Now look at the number for MAX_TEXTURE_SIZE and report back here. > > Thanks! I've got 8192
Simon Fraser (smfr)
Comment 27 2009-08-25 10:44:58 PDT
(In reply to comment #26) > I've got 8192 What is the hardware?
M. Dave Auayan
Comment 28 2009-08-25 10:47:15 PDT
(In reply to comment #27) > (In reply to comment #26) > > I've got 8192 > > What is the hardware? NVIDIA GeForce 8600M GT
Simone Manganelli
Comment 29 2009-08-25 10:51:50 PDT
MAX_TEXTURE_SIZE = 2048, with a Intel GMA 950 "graphics" "card".
Simon Fraser (smfr)
Comment 30 2009-08-25 10:53:42 PDT
Simone: I believe you are seeing the bug (the fix was for 4k texture sizes). M. Dave: I think your nightly is not running with the right frameworks. Do you have a ~/.MacOSX/environment.plist set up with a DYLD_FRAMEWORK_PATH in it?
M. Dave Auayan
Comment 31 2009-08-25 11:12:02 PDT
(In reply to comment #30) > M. Dave: I think your nightly is not running with the right frameworks. Do you > have a ~/.MacOSX/environment.plist set up with a DYLD_FRAMEWORK_PATH in it? The only thing I have there is the PATH entry. WebKit nightly on a new user account also exhibits the same behavior on my site.
Simon Fraser (smfr)
Comment 32 2009-08-25 11:17:20 PDT
M. Dave: ah, MAX_3D_TEXTURE_SIZE on your hardware is 2k, so maybe the bug still applies. If you experiment with a testcase, does the bug start to show when the page gets > 2048px tall?
M. Dave Auayan
Comment 33 2009-08-25 12:04:29 PDT
(In reply to comment #32) > M. Dave: ah, MAX_3D_TEXTURE_SIZE on your hardware is 2k, so maybe the bug still > applies. If you experiment with a testcase, does the bug start to show when the > page gets > 2048px tall? The page in the original test case should be 10,000px tall and I have no issues in webkit. In case I misunderstood, I also managed to get a 2600px tall window and still had no problem. This page at http://lib.rario.us/ is a very short page, but also exhibits flashing when you hover over the logo on the top left. I will try to reduce this and attach a new test case.
Simon Fraser (smfr)
Comment 34 2009-08-25 12:07:48 PDT
(In reply to comment #33) > (In reply to comment #32) > > M. Dave: ah, MAX_3D_TEXTURE_SIZE on your hardware is 2k, so maybe the bug still > > applies. If you experiment with a testcase, does the bug start to show when the > > page gets > 2048px tall? > > The page in the original test case should be 10,000px tall and I have no issues > in webkit. In case I misunderstood, I also managed to get a 2600px tall window > and still had no problem. OK, so I was confused. This all makes sense now. > This page at http://lib.rario.us/ is a very short page, but also exhibits > flashing when you hover over the logo on the top left. > > I will try to reduce this and attach a new test case. That's expected behavior at present (see 23364). No need for a testcase or another bug.
Eric Seidel (no email)
Comment 35 2009-09-01 03:11:32 PDT
As far as I can tell from Simon's comments above this particular bug can be marked fixed and further discussion is under bug 23364. Thanks!
Simone Manganelli
Comment 36 2009-09-01 03:16:29 PDT
Eric: no, this bug is not fixed, I'm still experiencing it and Simon acknowledged that. Bug 23364 is for an unrelated bug that M. Dave mentioned that he thought was the same as this bug.
Simon Fraser (smfr)
Comment 37 2009-09-01 08:20:32 PDT
Not fixed. The fix needs changing from 4k px to 2k px.
Simon Fraser (smfr)
Comment 38 2009-09-15 13:14:22 PDT
Simon Fraser (smfr)
Comment 39 2009-09-15 14:27:03 PDT
Note You need to log in before you can comment on or make changes to this bug.