Chromium Code Reviews
DescriptionUnobfuscate RWHVMac accelerated compositing code path by separating it from plugin code.
This simplification (and multi-race-condition-bug-fix) unfortunately comes with one subtle regression which is that as soon as a OSX chrome window renders accelerated content, it becomes permanently non-opaque. This causes the square gray lines to show up in the upper window corners that currently only show up if a tab has accelerated content. When I tried to support dynamically changing setOpaque, there were rare occurrences of black/transparent flashing when rapidly switching tabs between GPU and non-GPU content. Since we know that we have to fix the window border issue for real (crbug.com/56154) a little more of it is an acceptable trade-off for a reduction in flashing.
This cleanup also seems to fix:
- all black/transparent flashing (I can't repro it anymore)
- window immobilization (104996)
- slider widget jumps around during window resize (104996)
BUG=121129, 56154, 104996, 119640, 81733
TEST=Open lots of webgl and software tabs and rapidly switch between them, make sure things update properly, resize window, etc.
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=130989
Patch Set 1 #Patch Set 2 : checkpoint - about to remove underlaySurfaceAdded feature #Patch Set 3 : . #Patch Set 4 : cleanup #Patch Set 5 : split IOSurfaceSupport stuff #Patch Set 6 : cleanup #
Total comments: 12
Patch Set 7 : kbr feedback #Patch Set 8 : update / merge #Patch Set 9 : public APIs of CompositingIOSurface set context current #
Total comments: 1
Messages
Total messages: 28 (0 generated)
|