Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(219)

Issue 8678037: Render Core Animation plugins through WebKit's compositor rather than (Closed)

Created:
9 years, 1 month ago by Ken Russell (switch to Gerrit)
Modified:
9 years ago
CC:
chromium-reviews, joi+watch-content_chromium.org, jam, darin-cc_chromium.org, dpranke-watch+content_chromium.org, Nico
Visibility:
Public.

Description

Render Core Animation plugins through WebKit's compositor rather than directly to the screen in the browser process. The new composited code path is now the default, though the old code path has been left in place under a command line flag while we gain confidence. Issue 105344 has been filed about removing the old code path. The new code path does not currently support 10.5. The consequence is that plugins using the InvalidatingCoreAnimation rendering model will not work on this version of Mac OS. Pepper 3D is not affected; it now uses a different rendering path. Changed the type of IOSurfaces' IDs from uint64 to uint32 in a few places throughout the code to match the IOSurfaceID typedef in the system header. This was necessary in order to simplify integration with Chrome's OpenGL code. There is a known problem in the new code path with garbage occasionally being drawn to the plugin's area during live resizing of Core Animation plugins. Issue 105346 has been filed to track this. It is unclear whether the additional complexity of the fix that is likely needed is worth it. Tested manually with the following content, with and without the --disable-composited-core-animation-plugins flag: - YouTube (does not trigger this code path) - Google+ Hangouts - http://unity3d.com/gallery/demos/live-demos (Unity 3D) - http://www.erain.com/labs/molehill/ (Stage 3D in Flash 11) - http://www.nissan-stagejuk3d.com/ (Stage 3D in Flash 11, live resizing; web site is flaky, sometimes fails to start) BUG=38967 TEST=manual testing with above test cases Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=112126

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 10

Patch Set 3 : '' #

Total comments: 2

Patch Set 4 : Patch addressing feedback, before rebaselining #

Patch Set 5 : Final patch to be committed #

Unified diffs Side-by-side diffs Delta from patch set Stats (+332 lines, -78 lines) Patch
M content/browser/plugin_process_host.cc View 1 2 3 4 1 chunk +3 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_process_host_impl.cc View 1 2 3 4 1 chunk +3 lines, -0 lines 0 comments Download
M content/common/plugin_messages.h View 1 2 3 4 2 chunks +26 lines, -0 lines 0 comments Download
M content/plugin/webplugin_accelerated_surface_proxy_mac.h View 1 2 3 4 1 chunk +12 lines, -3 lines 0 comments Download
M content/plugin/webplugin_accelerated_surface_proxy_mac.cc View 1 2 3 4 3 chunks +62 lines, -24 lines 0 comments Download
M content/plugin/webplugin_proxy.h View 1 2 3 4 2 chunks +19 lines, -2 lines 0 comments Download
M content/plugin/webplugin_proxy.cc View 1 2 3 4 2 chunks +18 lines, -2 lines 0 comments Download
M content/renderer/webplugin_delegate_proxy.h View 1 2 3 4 2 chunks +10 lines, -0 lines 0 comments Download
M content/renderer/webplugin_delegate_proxy.cc View 1 2 3 4 4 chunks +32 lines, -0 lines 0 comments Download
M ui/base/ui_base_switches.h View 1 2 3 4 2 chunks +10 lines, -0 lines 0 comments Download
M ui/base/ui_base_switches.cc View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M ui/gfx/surface/accelerated_surface_mac.h View 1 2 3 4 2 chunks +4 lines, -4 lines 0 comments Download
M ui/gfx/surface/accelerated_surface_mac.cc View 1 2 3 4 5 chunks +18 lines, -15 lines 0 comments Download
M webkit/plugins/npapi/plugin_host.cc View 1 2 3 4 5 chunks +15 lines, -2 lines 0 comments Download
M webkit/plugins/npapi/webplugin.h View 1 2 3 4 1 chunk +7 lines, -0 lines 0 comments Download
M webkit/plugins/npapi/webplugin_accelerated_surface_mac.h View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M webkit/plugins/npapi/webplugin_delegate_impl.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M webkit/plugins/npapi/webplugin_delegate_impl_mac.mm View 1 2 3 4 7 chunks +26 lines, -8 lines 0 comments Download
M webkit/plugins/npapi/webplugin_impl.h View 1 2 3 4 2 chunks +13 lines, -0 lines 0 comments Download
M webkit/plugins/npapi/webplugin_impl.cc View 1 2 3 4 2 chunks +44 lines, -18 lines 0 comments Download

Messages

Total messages: 16 (0 generated)
Ken Russell (switch to Gerrit)
Please review: stuartmorgan, pinkerton: everything OWNERS: jam: content/browser/, content/common/, content/public/, content/renderer/ ben: ui/gfx/surface/ ananta: webkit/plugins/npapi/ ...
9 years, 1 month ago (2011-11-24 05:02:20 UTC) #1
jam
content lgtm
9 years, 1 month ago (2011-11-24 21:23:38 UTC) #2
stuartmorgan
On 2011/11/24 05:02:20, kbr wrote: > The new code path does not currently support 10.5. ...
9 years ago (2011-11-28 09:12:26 UTC) #3
stuartmorgan
Have you done any tests that actually test the compositing? i.e., that transparency works, and ...
9 years ago (2011-11-28 10:09:04 UTC) #4
Ken Russell (switch to Gerrit)
On 2011/11/28 09:12:26, stuartmorgan wrote: > On 2011/11/24 05:02:20, kbr wrote: > > The new ...
9 years ago (2011-11-28 23:00:03 UTC) #5
Ken Russell (switch to Gerrit)
On 2011/11/28 10:09:04, stuartmorgan wrote: > Have you done any tests that actually test the ...
9 years ago (2011-11-28 23:40:15 UTC) #6
Ken Russell (switch to Gerrit)
bauerb: looking for backup OWNERS review of webkit/plugins/npapi/ in case ananta is out tomorrow.
9 years ago (2011-11-29 03:55:09 UTC) #7
stuartmorgan
On 2011/11/28 23:00:03, kbr wrote: > It's technically feasible. I personally have no plan to ...
9 years ago (2011-11-29 11:46:40 UTC) #8
stuartmorgan
LGTM My questions about testing the actual compositing cases were mostly out of curiosity; I'm ...
9 years ago (2011-11-29 11:49:39 UTC) #9
jam
http://codereview.chromium.org/8678037/diff/14001/webkit/plugins/npapi/plugin_host.cc File webkit/plugins/npapi/plugin_host.cc (right): http://codereview.chromium.org/8678037/diff/14001/webkit/plugins/npapi/plugin_host.cc#newcode77 webkit/plugins/npapi/plugin_host.cc:77: // We can't reference the kDisableCompositedCoreAnimationPlugins duplicating the switch ...
9 years ago (2011-11-29 18:56:21 UTC) #10
Ben Goodger (Google)
lgtm
9 years ago (2011-11-29 19:03:22 UTC) #11
Bernhard Bauer
webkit/plugins/ LGTM.
9 years ago (2011-11-29 21:03:38 UTC) #12
Ken Russell (switch to Gerrit)
http://codereview.chromium.org/8678037/diff/14001/webkit/plugins/npapi/plugin_host.cc File webkit/plugins/npapi/plugin_host.cc (right): http://codereview.chromium.org/8678037/diff/14001/webkit/plugins/npapi/plugin_host.cc#newcode77 webkit/plugins/npapi/plugin_host.cc:77: // We can't reference the kDisableCompositedCoreAnimationPlugins On 2011/11/29 18:56:21, ...
9 years ago (2011-11-30 00:23:32 UTC) #13
jam
webkit lgtm
9 years ago (2011-11-30 00:25:09 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/kbr@chromium.org/8678037/27001
9 years ago (2011-11-30 02:00:12 UTC) #15
commit-bot: I haz the power
9 years ago (2011-11-30 04:42:24 UTC) #16
Change committed as 112126

Powered by Google App Engine
This is Rietveld 408576698