WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WONTFIX
172266
REGRESSION (new media controls): backdrops appear with visibility:hidden, showing new media controls when it shouldn't on apple.com
https://bugs.webkit.org/show_bug.cgi?id=172266
Summary
REGRESSION (new media controls): backdrops appear with visibility:hidden, sho...
Antti Koivisto
Reported
2017-05-18 02:37:24 PDT
-webkit-appearance: media-controls-light-bar-background has problems with visibility.
Attachments
patch
(6.02 KB, patch)
2017-05-18 02:55 PDT
,
Antti Koivisto
no flags
Details
Formatted Diff
Diff
patch
(6.52 KB, patch)
2017-05-18 07:53 PDT
,
Antti Koivisto
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Antti Koivisto
Comment 1
2017-05-18 02:55:03 PDT
Created
attachment 310501
[details]
patch
Antti Koivisto
Comment 2
2017-05-18 03:55:05 PDT
<
rdar://problem/32141959
>
Antti Koivisto
Comment 3
2017-05-18 04:17:27 PDT
Alternatively or additionally we could simply stop generating layers for fully invisible subtrees. We track this already in the RenderLayer tree.
Antti Koivisto
Comment 4
2017-05-18 07:53:01 PDT
Created
attachment 310508
[details]
patch A better patch that blocks editing for UA shadow trees. The changed to eliminate raw pointers from SearchInputType are also retained.
Antti Koivisto
Comment 5
2017-05-18 08:00:08 PDT
Oops wrong bug. The original patch is for this one.
Simon Fraser (smfr)
Comment 6
2017-05-18 08:40:10 PDT
Comment on
attachment 310501
[details]
patch View in context:
https://bugs.webkit.org/attachment.cgi?id=310501&action=review
> Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:1640 > + bool needBackdropLayerType = (customAppearance() == LightBackdropAppearance || customAppearance() == DarkBackdropAppearance) && m_contentsVisible;
It's a bit weird to change the layer type based on visibility. What's the actual problem here; does CA still do backdrop stuff on layers with the hidden attribute, or do we fail to set the hidden attribute on some of the layers we create?
> LayoutTests/compositing/visibility/visibility-custom-backdrop-appearance.html:74 > + toggle.offsetWidth;
Why do you need to force layout?
> LayoutTests/compositing/visibility/visibility-custom-backdrop-appearance.html:75 > + toggle.classList.toggle("hidden");
You could just put a class on document.body and rewrite the selectors.
Antti Koivisto
Comment 7
2017-05-18 08:50:26 PDT
> It's a bit weird to change the layer type based on visibility. What's the > actual problem here; does CA still do backdrop stuff on layers with the > hidden attribute, or do we fail to set the hidden attribute on some of the > layers we create?
Custom backdrop layer replaces m_layer and for m_layer we just null out the content (and call setContentsHidden which doesn't do much) instead of calling setHidden. Visible stuff on backdrop layer is not content so we fail to hide it. The logic here is that we don't need backdrop layer at all when it is not visible.
> > LayoutTests/compositing/visibility/visibility-custom-backdrop-appearance.html:74 > > + toggle.offsetWidth; > > Why do you need to force layout?
I wanted to ensure that there is a mutation in the layer tree. I'm not actually sure if this is sufficient for that.
Antti Koivisto
Comment 8
2017-05-18 08:54:06 PDT
We could alternatively call setHidden in updateContentsVisibility when isCustomBackdropLayerType(m_layer->layerType()). That is more lines of code and I'm not sure if it is any better.
Antti Koivisto
Comment 9
2017-05-23 09:12:57 PDT
https://bugs.webkit.org/show_bug.cgi?id=172499
takes care of this.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug