Bug 197837 - GraphicsLayer contentsVisible property miscomputed when using backing sharing
Summary: GraphicsLayer contentsVisible property miscomputed when using backing sharing
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Compositing (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-05-13 07:12 PDT by Antti Koivisto
Modified: 2019-05-13 08:23 PDT (History)
1 user (show)

See Also:


Attachments
test (1.09 KB, text/html)
2019-05-13 07:12 PDT, Antti Koivisto
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Antti Koivisto 2019-05-13 07:12:37 PDT
The attached test case produces layer tree

(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 800.00 600.00)
  (deep color 1)
  (children 1
    (GraphicsLayer
      (bounds 800.00 600.00)
      (contentsOpaque 1)
      (deep color 1)
      (children 2
        (GraphicsLayer
          (position 8.00 8.00)
          (bounds 500.00 500.00)
          (contentsOpaque 1)
          (deep color 1)
        )
        (GraphicsLayer
          (position 30.00 30.00)
          (bounds 250.00 250.00)
          (drawsContent 1)
          (contentsVisible 0)
          (deep color 1)
        )
      )
    )
  )
)

The layer with (contentsVisible 0) has visible contents in backing sharing descendants.
Comment 1 Antti Koivisto 2019-05-13 07:12:52 PDT
Created attachment 369729 [details]
test
Comment 2 Antti Koivisto 2019-05-13 07:18:13 PDT
Maybe we can simply remove contentsVisible and userInteractionEnabled GraphicsLayer properties? Their purpose seems to be entirely subsumed by the event region.
Comment 3 Simon Fraser (smfr) 2019-05-13 08:15:35 PDT
Does the event region control whether an overflow scroll is interactive? If so, then it sounds like we can remove these. But we need to make sure that the pointer-events and visibility properties are correctly reflected in event regions, and that event regions correctly disable interaction on UIScrollViews. More tests required!
Comment 4 Antti Koivisto 2019-05-13 08:23:17 PDT
(In reply to Simon Fraser (smfr) from comment #3)
> Does the event region control whether an overflow scroll is interactive?

Yep.

> If
> so, then it sounds like we can remove these. But we need to make sure that
> the pointer-events and visibility properties are correctly reflected in
> event regions, and that event regions correctly disable interaction on
> UIScrollViews. More tests required!

Event regions do respect both visibility and pointer-events and has some testing for those too already.