-
timothy_horton@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=124874 <rdar://problem/15349468> Reviewed by Simon Fraser. We use PlatformCALayer::clone for CSS reflections, so implement it. Also, since many reflections testcases also use masks, working on this revealed that masks weren't working, because we weren't flushing mask layers. * Shared/mac/RemoteLayerTreePropertyApplier.mm: (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): * Shared/mac/RemoteLayerTreeTransaction.mm: (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties): (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): Rename maskLayer->maskLayerID since it's a LayerID. * UIProcess/mac/RemoteLayerTreeHost.mm: (WebKit::RemoteLayerTreeHost::commit): Don't try to look up the layer if it's null. * Shared/mac/RemoteLayerTreeTransaction.h: (WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged): * Shared/mac/RemoteLayerTreeTransaction.mm: (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties): Keep track of all properties that have ever been changed on a layer. * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: (PlatformCALayerRemote::create): (PlatformCALayerRemote::PlatformCALayerRemote): (PlatformCALayerRemote::clone): Copy all of the layer properties from the original to the clone, and mark all properties that have ever been modified as needing to be flushed to the UI process. (PlatformCALayerRemote::recursiveBuildTransaction): Flush our mask layer, if we have one. (PlatformCALayerRemote::setMask): * WebProcess/WebPage/mac/PlatformCALayerRemote.h: Store the mask layer we're given. Our owning GraphicsLayer will hold on to it for us. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159967 268f45cc-cd09-0410-ab3c-d52691b4dbfc
65218ec0