Closed Bug 855233 Opened 12 years ago Closed 12 years ago

Image with opacity, border-radius covered by a positioned element disappears after hover (BasicLayers only)

Categories

(Core :: Layout, defect)

defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla23

People

(Reporter: cork, Assigned: mattwoodrow)

References

()

Details

(Keywords: regression, testcase)

Attachments

(3 files)

Attached image testcase image
Steps to reproduce: 1. Load the testcase 2. hover the image 3. blur the image Actual results: The image disappears Expected results: The image should go back to 0.8 opacity In the regression range the image is never rendered. In the improvement range the image is shown on first render, but dispersal after hover (current state) Regression: Last good nightly: 2012-09-17 First bad nightly: 2012-09-18 Pushlog: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=3f0587ce1774&tochange=0d3b17a88d5f Improvement: Last bad nightly: 2012-09-24 First good nightly: 2012-09-25 Pushlog: http://hg.mozilla.org/mozilla-central/pushloghtml?startdate=2012-09-25&enddate=2012-09-24
Attached file testcase
Worksforme on Mac...
Blocks: 855316
Assignee: nobody → matt.woodrow
This only reproduces with BasicLayers. When the layer becomes inactive, mParameters.mOffset becomes non-zero and we were re-using the existing mask (with the incorrect transform). With accelerated layers we are switching backend type, so that would force the required mask recreation. I guess we could just update the transform on the mask if this changes, rather than rebuilding. I believe the same applies for the existing mXScale/mYScale though, so I just followed suit.
Attachment #733158 - Flags: review?(ncameron)
Comment on attachment 733158 [details] [diff] [review] Create a new mask if the offset changes Review of attachment 733158 [details] [diff] [review]: ----------------------------------------------------------------- ::: layout/base/FrameLayerBuilder.cpp @@ +682,5 @@ > // remain unchanged. > nsTArray<FrameLayerBuilder::Clip::RoundedRect> mRoundedClipRects; > // scale from the masked layer which is applied to the mask > float mScaleX, mScaleY; > + nsIntPoint mOffset; please add a comment here
Attachment #733158 - Flags: review?(ncameron) → review+
Summary: Image with opacity, border-radious covered by a positioned element disappears after hover → Image with opacity, border-radius covered by a positioned element disappears after hover (BasicLayers only)
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla23
Retested the testcases in todays nightly http://hg.mozilla.org/mozilla-central/rev/55f9e3e3dae7
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: