DescriptionDo not dynamically call setLayer on RenderWidgetHostViewCocoa
Instead, call it once at creation, and then call addSublayer
to cover up the layer when content comes in.
Remove the atomic add-layer-and-remove-old-one functions,
since the new arrangement allows adding the new layer before
removing the old one.
Change places that used [self layer] to explicitly call out to the
software and compositing layers.
The reason for this change is that it is not safe to dynamically
call setLayer on NSViews because of the following undocumented
feature of CoreAnimation:
Ordinarily, the NSView hierarchy and the CALayer hierarchy
match. That is, the ordering of a NSView's subviews' CALayers is
the same as the ordering of the NSView's CALayer's sublayers.
This gets completely broken when you call setLayer on a NSView.
The new CALayer will be appended to the end of the NSView's
superview's CALayer's sublayer array, even if that NSView wasn't at
the end of its superview's subview array.
BUG=348490
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=255886
Patch Set 1 #Patch Set 2 : Clean up #
Total comments: 5
Messages
Total messages: 12 (0 generated)
|