RESOLVED FIXED 142154
Controls panel should have system blurry background
https://bugs.webkit.org/show_bug.cgi?id=142154
Summary Controls panel should have system blurry background
Dean Jackson
Reported 2015-03-01 16:00:50 PST
The media controls on iOS should have a blurry background (like the system default). This means we need to expose the UIBackdropView appearance to a CSS property.
Attachments
Patch (34.98 KB, patch)
2015-03-01 16:36 PST, Dean Jackson
no flags
Archive of layout-test-results from ews101 for mac-mavericks (537.44 KB, application/zip)
2015-03-01 17:39 PST, Build Bot
no flags
Archive of layout-test-results from ews107 for mac-mavericks-wk2 (761.95 KB, application/zip)
2015-03-01 17:44 PST, Build Bot
no flags
Patch (37.43 KB, patch)
2015-03-02 17:41 PST, Dean Jackson
simon.fraser: review+
buildbot: commit-queue-
Archive of layout-test-results from ews104 for mac-mavericks-wk2 (716.79 KB, application/zip)
2015-03-02 19:01 PST, Build Bot
no flags
Patch (38.14 KB, patch)
2015-03-03 13:12 PST, Dean Jackson
no flags
Patch (38.15 KB, patch)
2015-03-03 13:38 PST, Dean Jackson
buildbot: commit-queue-
Patch (38.31 KB, patch)
2015-03-03 13:50 PST, Dean Jackson
no flags
Archive of layout-test-results from ews106 for mac-mavericks-wk2 (848.26 KB, application/zip)
2015-03-03 15:05 PST, Build Bot
no flags
Radar WebKit Bug Importer
Comment 1 2015-03-01 16:01:54 PST
Dean Jackson
Comment 2 2015-03-01 16:36:01 PST
Build Bot
Comment 3 2015-03-01 17:39:32 PST
Comment on attachment 247642 [details] Patch Attachment 247642 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/5327221405253632 New failing tests: compositing/tiling/tiled-layer-resize.html compositing/tiling/empty-to-tiled.html
Build Bot
Comment 4 2015-03-01 17:39:35 PST
Created attachment 247646 [details] Archive of layout-test-results from ews101 for mac-mavericks The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews101 Port: mac-mavericks Platform: Mac OS X 10.9.5
Build Bot
Comment 5 2015-03-01 17:44:34 PST
Comment on attachment 247642 [details] Patch Attachment 247642 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/5387368932573184 New failing tests: compositing/masks/become-tiled-mask.html compositing/tiling/tiled-layer-resize.html compositing/tiling/empty-to-tiled.html
Build Bot
Comment 6 2015-03-01 17:44:37 PST
Created attachment 247647 [details] Archive of layout-test-results from ews107 for mac-mavericks-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-mavericks-wk2 Platform: Mac OS X 10.9.5
Darin Adler
Comment 7 2015-03-01 21:01:06 PST
Comment on attachment 247642 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=247642&action=review > Source/WebCore/css/CSSValueKeywords.in:722 > media-time-remaining-display > +media-controls-dark-bar-background > +media-controls-light-bar-background Please keep these in alphabetical order. > Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:3153 > + bool needsTileBackingUsageChanged = true; > + if (((layerType == PlatformCALayer::LayerTypeDarkSystemBackdropLayer || layerType == PlatformCALayer::LayerTypeLightSystemBackdropLayer) && existingLayerType != PlatformCALayer::LayerTypeTiledBackingLayer) > + || ((existingLayerType == PlatformCALayer::LayerTypeDarkSystemBackdropLayer && existingLayerType == PlatformCALayer::LayerTypeLightSystemBackdropLayer) && layerType != PlatformCALayer::LayerTypeTiledBackingLayer)) > + needsTileBackingUsageChanged = false; I think this should be written using a helper function that maps a type into a usage rather than these long boolean expressions. I don’t know exactly how the code would come out, but I think it would be more readable. > Source/WebKit2/UIProcess/ios/RemoteLayerTreeHostIOS.mm:164 > +@interface WKBackdropView : _UIBackdropView > + > +@end Not sure you need the blank line here. > Source/WebKit2/UIProcess/ios/RemoteLayerTreeHostIOS.mm:181 > +@end > namespace WebKit { Need a blank line here.
Dean Jackson
Comment 8 2015-03-02 17:41:48 PST
Build Bot
Comment 9 2015-03-02 19:01:18 PST
Comment on attachment 247725 [details] Patch Attachment 247725 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/5376368447586304 New failing tests: fast/css/object-fit/object-fit-canvas.html
Build Bot
Comment 10 2015-03-02 19:01:26 PST
Created attachment 247734 [details] Archive of layout-test-results from ews104 for mac-mavericks-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews104 Port: mac-mavericks-wk2 Platform: Mac OS X 10.9.5
Tim Horton
Comment 11 2015-03-03 10:40:20 PST
Comment on attachment 247725 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=247725&action=review > Source/WebCore/platform/graphics/GraphicsLayer.h:435 > + enum CustomAppearance { NoCustomAppearance, ScrollingOverhang, ScrollingShadow, CustomLightBackdropAppearance, CustomDarkBackdropAppearance }; I don't think these should have "Custom" in their names.
Dean Jackson
Comment 12 2015-03-03 11:13:26 PST
Test failures don't happen locally. Object fit shouldn't be affected.
Simon Fraser (smfr)
Comment 13 2015-03-03 11:43:29 PST
Comment on attachment 247725 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=247725&action=review > Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:1328 > + if (!needBackdropLayerType && m_usingBackdropLayerType) { > + changeLayerTypeTo(needTiledLayer ? PlatformCALayer::LayerTypeTiledBackingLayer : PlatformCALayer::LayerTypeWebLayer); > + m_usingBackdropLayerType = false; > + } else if (needBackdropLayerType && !m_usingBackdropLayerType) { > + changeLayerTypeTo(layerTypeForCustomBackdropAppearance(customAppearance())); > + m_usingBackdropLayerType = true; > + } else if (needTiledLayer != m_usingTiledBacking) > + changeLayerTypeTo(needTiledLayer ? PlatformCALayer::LayerTypeTiledBackingLayer : PlatformCALayer::LayerTypeWebLayer); I would much prefer this first computed the new layer type, then just called changeLayerTypeTo() once. I think that's better coding style. > Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:3148 > +static bool changeRequiresTiledBackingUsageUpdate(PlatformCALayer::LayerType oldLayerType, PlatformCALayer::LayerType newLayerType) > +{ > + return (oldLayerType == PlatformCALayer::LayerTypeTiledBackingLayer || newLayerType == PlatformCALayer::LayerTypeTiledBackingLayer); > +} Not sure this is worth its own function. > Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h:487 > + unsigned m_usingBackdropLayerType : 1; Can be a bool : 1 > Source/WebCore/rendering/RenderBox.h:57 > + || hasTransformRelatedProperty() || hasHiddenBackface() || hasReflection() || hasAppearanceRequiringLayer() > + || style().specifiesColumns() || !style().hasAutoZIndex(); I think you could unwrap this. > Source/WebCore/rendering/RenderBoxModelObject.h:126 > - virtual bool requiresLayer() const override { return isRoot() || isPositioned() || createsGroup() || hasClipPath() || hasTransformRelatedProperty() || hasHiddenBackface() || hasReflection(); } > + virtual bool requiresLayer() const override { return isRoot() || isPositioned() || createsGroup() || hasClipPath() || hasTransformRelatedProperty() || hasHiddenBackface() || hasReflection() || hasAppearanceRequiringLayer(); } It's a bit sad that you're slowing everyone down with this change. What about the other requiresLayer() impls?
Dean Jackson
Comment 14 2015-03-03 13:12:38 PST
Dean Jackson
Comment 15 2015-03-03 13:38:51 PST
WebKit Commit Bot
Comment 16 2015-03-03 13:41:20 PST
Attachment 247788 [details] did not pass style-queue: ERROR: Source/WebKit2/Platform/spi/ios/UIKitSPI.h:659: Should have a space between // and comment [whitespace/comments] [4] ERROR: Source/WebKit2/Platform/spi/ios/UIKitSPI.h:662: Should have a space between // and comment [whitespace/comments] [4] Total errors found: 2 in 26 files If any of these errors are false positives, please file a bug against check-webkit-style.
Dean Jackson
Comment 17 2015-03-03 13:50:17 PST
Build Bot
Comment 18 2015-03-03 15:05:22 PST
Comment on attachment 247788 [details] Patch Attachment 247788 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/5712639690801152 New failing tests: fast/css/object-fit/object-fit-canvas.html
Build Bot
Comment 19 2015-03-03 15:05:25 PST
Created attachment 247801 [details] Archive of layout-test-results from ews106 for mac-mavericks-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews106 Port: mac-mavericks-wk2 Platform: Mac OS X 10.9.5
Dean Jackson
Comment 20 2015-03-03 16:40:35 PST
Note You need to log in before you can comment on or make changes to this bug.