Closed Bug 1381847 Opened 7 years ago Closed 22 days ago

opacity + pointer-events:none affecting painting on scroll

Categories

(Core :: Graphics: Layers, defect, P3)

54 Branch
defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox57 --- wontfix
firefox58 --- affected

People

(Reporter: tomxor, Unassigned)

Details

(Whiteboard: [gfx-noted])

Attachments

(1 file)

Attached file index.html
User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36

Steps to reproduce:

Requirements:
- Presumed Windows Only (Could not reproduce on 64bit Linux)
- Software Rendering Only (Does not occur with hardware acceleration option enabled)
- 32bit v54, 64bit v54, 32bit v55.0b9 

This test case has been reduced as much as possible however the conditions are still many and specific, so I will paste the shortest possible source bellow instead of steps:

	<!doctype html>

	<div A>

		Text Node <!-- required -->

		<div B></div>

	</div>

	<style>

		body {
			height: 200vh;
		}

		[A] {
			opacity: 0.5; /* must be: 0 < x < 1 */
		}
		[A]:before {
			content: 'A'; /* must be: non-space char */
		}

		[B] {
			opacity: 0.0; /* must be: 0 */
			position: fixed; /* must be: fixed */
			pointer-events: none; /* must be: none */
		}
		[B]:before {
			content: 'B'; /* must be: non-space char */
		}

	</style>



Actual results:

When scrolling with mouse the parent element [A] sticks to the viewport.

When using the scroll bar it does not, also when hovering the scroll bar after scrolling it corrects the error.


Expected results:

The parent element should appear in the correct position when scrolling.

This issue has been reported by many end users in one of our products, so this specific setup of Windows + FireFox + Software Rending appears to be quite common.
Note this does not work inside of a jsfiddle like service... you must run the test case standalone in the root frame.
Component: Untriaged → Layout
Product: Firefox → Core
Priority: -- → P3
I reproduced on Mac and Win64. Appears to be a Layerization bug.
Status: UNCONFIRMED → NEW
Component: Layout → Graphics: Layers
Ever confirmed: true
Priority: P3 → --
Summary: [Windows Software Rendering Bug]: Parent of fixed position child sticks to viewport on scroll → opacity + pointer-events:none affecting painting on scroll
Priority: -- → P3
Whiteboard: [gfx-noted]
Severity: normal → S3

Reporter, are you still experiencing this issue?

Flags: needinfo?(tomxor)

I don't have access to a windows VM at the moment.

I don't know how common software rendering is these days either, then again that doesn't necessarily mean the bug should be ignored if it's still there.

Flags: needinfo?(tomxor)

Can someone give it a test on Windows?

I don't know what the config was or even if it would be the same as 7 years ago but layers.acceleration.disabled is probably a good bet.

Thanks for following up!

Tested on Windows 10 with software rendering force enabled and the issue does not reproduce.

Status: NEW → RESOLVED
Closed: 22 days ago
Resolution: --- → WORKSFORME

Thanks. I expect it was taken out by the Servo project since this is pretty old.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: