Closed
Bug 650759
Opened 13 years ago
Closed 13 years ago
position:fixed BasicShadowColorLayers are wrongly translated on scroll
Categories
(Core :: Layout, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 668698
People
(Reporter: tatiana, Assigned: tatiana)
References
Details
Attachments
(1 file, 5 obsolete files)
2.95 KB,
text/html
|
Details |
scroll dp4.html in remote Fennec expected outcome: black square stays on it's position while scrolling actual outcome: black square shakes on scroll
Assignee | ||
Comment 1•13 years ago
|
||
Assignee | ||
Comment 2•13 years ago
|
||
this bug caused by 48f385ad9f0c : + const nsIntRect* clipRect = shadow->GetShadowClipRect(); + if (clipRect) { + nsIntRect transformedClipRect(*clipRect); + transformedClipRect.MoveBy(shadowTransform._41, shadowTransform._42); + shadow->SetShadowClipRect(&transformedClipRect); + } here we apply scale + translate + truncate to int rectangle, later in BasicLayerManager::PaintLayer() we translate truncated clipRect back (snapToPixels == true): mTarget->Rectangle(gfxRect(clipRect->x, clipRect->y, clipRect->width, clipRect->height), PR_TRUE); mTarget->Clip();
Assignee | ||
Comment 3•13 years ago
|
||
Assignee: nobody → tanya.meshkova
Attachment #526704 -
Flags: review?(roc)
Comment on attachment 526695 [details] [diff] [review] reftest Please use hg export to generate your patches. Your patches are showing up in Bugzilla without file names on each hunk. These tests should not be in reftest-sanity, we should probably move these test-pos-fixed tests to a new directory, say layout/reftests/displayport-fixed-pos.
Comment on attachment 526704 [details] [diff] [review] Drop extra translations You'll need a comment in the code explaining why it's correct to apply the transform of the child layer to the child layer's cliprect --- normally, that's wrong.
Comment 6•13 years ago
|
||
> These tests should not be in reftest-sanity, we should probably move these
> test-pos-fixed tests to a new directory, say
> layout/reftests/displayport-fixed-pos.
by default remote reftests are running only tests in reftest-sanity directory, what should be done in order to include remote tests from other folders?
Comment 7•13 years ago
|
||
I think we started with a small set of tests just to get something working. Joel and Chris can answer more clearly if we have plans to get more things working.
Assignee | ||
Comment 8•13 years ago
|
||
Attachment #526704 -
Attachment is obsolete: true
Attachment #526704 -
Flags: review?(roc)
Attachment #527291 -
Flags: review?(roc)
Assignee | ||
Comment 9•13 years ago
|
||
Attachment #526695 -
Attachment is obsolete: true
Attachment #527292 -
Flags: feedback?(roc)
Assignee | ||
Updated•13 years ago
|
Attachment #527292 -
Flags: feedback?(jones.chris.g)
(In reply to comment #7) > I think we started with a small set of tests just to get something working. > Joel and Chris can answer more clearly if we have plans to get more things > working. Getting all the reftests passing on desktop (again) is on my todo list but not very high atm. Joel has been working on the tests running on android.
Comment on attachment 527292 [details] [diff] [review] reftest (v2) >diff --git a/layout/reftests/displayport-fixed-pos/reftest.list b/layout/reftests/displayport-fixed-pos/reftest.list If we need to create a new directory for these, let's just put them in layout/reftests/displayport/. Rob might have suggestions for existing directories they fit in. >diff --git a/layout/tools/reftest/reftest.js b/layout/tools/reftest/reftest.js >+function RecvSetViewConfig(xsr, ysr, xs, ys) >+{ >+ enableAsyncScrolling(); >+ rootView().scrollTo(xsr, ysr); >+ rootView().setScale(xs, ys); >+} These settings persist across page loads. They need to be reset when the currently-executing test finishes or later tests will fail.
Attachment #527292 -
Flags: feedback?(jones.chris.g) → feedback-
Hmm, this patch still doesn't seem right. I suspect the code that modifies the fixed-pos layer's effective transform should also modify the effective clip rect.
Assignee | ||
Comment 13•13 years ago
|
||
Attachment #527291 -
Attachment is obsolete: true
Attachment #527291 -
Flags: review?(roc)
Attachment #529482 -
Flags: feedback?(roc)
No, that's not what I mean. You added code to RenderFrameParent that adjusts the fixed-pos shadow layer's effective transform. That same code should also adjust the effective cliprect.
Assignee | ||
Comment 15•13 years ago
|
||
It's gone after http://hg.mozilla.org/mozilla-central/rev/e302cef502f6 and http://hg.mozilla.org/mozilla-central/rev/b8ea31e6eeb4 fixes
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → DUPLICATE
Assignee | ||
Updated•13 years ago
|
Attachment #527292 -
Attachment is obsolete: true
Attachment #527292 -
Flags: feedback?(roc)
Assignee | ||
Updated•13 years ago
|
Attachment #529482 -
Attachment is obsolete: true
Attachment #529482 -
Flags: feedback?(roc)
You need to log in
before you can comment on or make changes to this bug.
Description
•