Chromium Code Reviews
Help | Chromium Project | Gerrit Changes | Sign in
(409)

Issue 18082: Improve scrolling performance when there are many windowed plugins in a page.... (Closed)

Created:
10 years, 7 months ago by jam
Modified:
8 years, 2 months ago
CC:
chromium-reviews_googlegroups.com
Visibility:
Public.

Description

Improve scrolling performance when there are many windowed plugins in a page. This works by parenting windowed plugins with an HWND that's hosted in the browser process, so that no synchronous cross process messages are used when scrolling. BUG=5428 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=8239

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Patch Set 6 : Only call BeginDeferWindowPos if we need to #

Total comments: 8

Patch Set 7 : Call DestroyWindow on the right thread & ensure NPP_SetWindow is called right away #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+236 lines, -192 lines) Patch
M chrome/browser/plugin_process_host.h View 1 2 3 4 5 6 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/plugin_process_host.cc View 1 2 3 4 5 6 3 chunks +94 lines, -0 lines 0 comments Download
M chrome/browser/render_widget_host.cc View 1 2 3 4 5 2 chunks +7 lines, -1 line 0 comments Download
M chrome/common/plugin_messages_internal.h View 1 2 3 4 5 6 2 chunks +10 lines, -3 lines 1 comment Download
M chrome/plugin/webplugin_delegate_stub.h View 1 chunk +0 lines, -2 lines 0 comments Download
M chrome/plugin/webplugin_delegate_stub.cc View 1 chunk +1 line, -4 lines 0 comments Download
M chrome/plugin/webplugin_proxy.h View 2 chunks +1 line, -2 lines 0 comments Download
M chrome/plugin/webplugin_proxy.cc View 1 2 3 4 5 6 7 chunks +32 lines, -7 lines 0 comments Download
M chrome/renderer/webplugin_delegate_proxy.h View 2 chunks +1 line, -5 lines 0 comments Download
M chrome/renderer/webplugin_delegate_proxy.cc View 4 chunks +2 lines, -9 lines 0 comments Download
M webkit/glue/plugins/test/plugin_npobject_lifetime_test.cc View 1 chunk +0 lines, -3 lines 0 comments Download
M webkit/glue/plugins/webplugin_delegate_impl.h View 5 chunks +3 lines, -20 lines 0 comments Download
M webkit/glue/plugins/webplugin_delegate_impl.cc View 1 2 3 4 5 6 6 chunks +25 lines, -62 lines 0 comments Download
M webkit/glue/webplugin_delegate.h View 1 chunk +2 lines, -6 lines 0 comments Download
M webkit/glue/webplugin_impl.h View 1 2 3 4 5 6 3 chunks +2 lines, -4 lines 0 comments Download
M webkit/glue/webplugin_impl.cc View 1 2 3 4 5 6 10 chunks +28 lines, -59 lines 0 comments Download
M webkit/tools/test_shell/test_webview_delegate.cc View 2 3 2 chunks +26 lines, -4 lines 0 comments Download

Messages

Total messages: 11 (0 generated)
jam
10 years, 7 months ago (2009-01-15 03:21:11 UTC) #1
Peter Kasting
How do we prevent a hung plugin from hanging the browser UI in general, then? ...
10 years, 7 months ago (2009-01-15 05:41:19 UTC) #2
darin (slow to review)
On 2009/01/15 05:41:19, pkasting wrote: > How do we prevent a hung plugin from hanging ...
10 years, 7 months ago (2009-01-15 06:12:06 UTC) #3
ananta
If the issues occur because of Window messages like WM_WINDOWPOSCHANGING/WM_WINDOWPOSCHANGED being sent to the plugin ...
10 years, 7 months ago (2009-01-15 14:15:05 UTC) #4
jam
Well now the plugin window's position isn't changing, so it doesn't get a WM_WINDOWPOSCHANGING/WM_WINDOWPOSCHANGED. It's ...
10 years, 7 months ago (2009-01-15 21:44:17 UTC) #5
darin (slow to review)
LG http://codereview.chromium.org/18082/diff/317/79 File chrome/browser/plugin_process_host.cc (right): http://codereview.chromium.org/18082/diff/317/79#newcode353 Line 353: FilePath plugin_path, IPC::Message* reply_msg) nit: no need ...
10 years, 7 months ago (2009-01-15 23:13:38 UTC) #6
jam
http://codereview.chromium.org/18082/diff/317/79 File chrome/browser/plugin_process_host.cc (right): http://codereview.chromium.org/18082/diff/317/79#newcode353 Line 353: FilePath plugin_path, IPC::Message* reply_msg) On 2009/01/15 23:13:38, darin ...
10 years, 7 months ago (2009-01-16 01:20:13 UTC) #7
jam
http://codereview.chromium.org/18082/diff/317/76 File webkit/glue/webplugin_impl.cc (right): http://codereview.chromium.org/18082/diff/317/76#newcode138 Line 138: // to do expensive operations if we didn't ...
10 years, 7 months ago (2009-01-16 01:41:21 UTC) #8
jam
Updated cl. The problem with offscreen plugins was caused by NPP_Write being called before NPP_SetWindow. ...
10 years, 7 months ago (2009-01-16 20:12:19 UTC) #9
darin (slow to review)
http://codereview.chromium.org/18082/diff/317/79 File chrome/browser/plugin_process_host.cc (right): http://codereview.chromium.org/18082/diff/317/79#newcode392 Line 392: wcex.lpszClassName = L"NativeWindowClassWrapper"; OK http://codereview.chromium.org/18082/diff/103/112 File chrome/common/plugin_messages_internal.h (right): ...
10 years, 7 months ago (2009-01-16 22:08:39 UTC) #10
darin (slow to review)
10 years, 7 months ago (2009-01-16 22:08:45 UTC) #11
LGTM

Powered by Google App Engine
This is Rietveld 408576698