Test CSS clip with composited layers. Left and right sides should look the same.

(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 800.00 600.00)
  (children 1
    (GraphicsLayer
      (bounds 800.00 600.00)
      (contentsOpaque 1)
      (children 2
        (GraphicsLayer
          (offsetFromRenderer width=-5 height=-5)
          (position 15.00 15.00)
          (bounds 110.00 110.00)
          (drawsContent 1)
          (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 1.00 1.00])
        )
        (GraphicsLayer
          (position 215.00 15.00)
          (bounds 110.00 110.00)
          (children 1
            (GraphicsLayer
              (position -5.00 -5.00)
              (bounds 120.00 120.00)
              (transform [1.00 0.00 0.00 0.00] [0.00 1.00 0.00 0.00] [0.00 0.00 1.00 0.00] [0.00 0.00 1.00 1.00])
            )
          )
        )
      )
    )
  )
)

