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

Issue 159907: linux: fix windowless Flash when scrolling (Closed)

Created:
11 years, 4 months ago by piman
Modified:
9 years, 7 months ago
CC:
chromium-reviews_googlegroups.com
Visibility:
Public.

Description

linux: fix windowless Flash when scrolling Apparently on linux windowless Flash needs a paint after a NPP_SetWindow, otherwise it cancels its timer to do InvalidateRect. Also in this change: WebKit calls WebPluginImpl::setFrameRect at each paint, even if the rects haven't changed. That used to always send a message to the plugin process, which is unnecessary (that case is always a no-op in the WebPluginDelegateImpl), so I fixed that too. BUG=18423 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=22702

Patch Set 1 #

Total comments: 4

Patch Set 2 : address review comments #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+54 lines, -32 lines) Patch
M chrome/plugin/webplugin_proxy.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M webkit/glue/plugins/webplugin_delegate_impl_gtk.cc View 2 chunks +8 lines, -1 line 0 comments Download
M webkit/glue/webplugin_delegate.h View 1 chunk +1 line, -0 lines 0 comments Download
M webkit/glue/webplugin_impl.h View 1 2 chunks +6 lines, -2 lines 0 comments Download
M webkit/glue/webplugin_impl.cc View 4 chunks +33 lines, -29 lines 1 comment Download

Messages

Total messages: 7 (0 generated)
piman
11 years, 4 months ago (2009-08-05 06:03:17 UTC) #1
Evan Martin
Again, I think John needs to be the reviewer of this. http://codereview.chromium.org/159907/diff/1/3 File webkit/glue/plugins/webplugin_delegate_impl_gtk.cc (right): ...
11 years, 4 months ago (2009-08-05 17:32:08 UTC) #2
piman
http://codereview.chromium.org/159907/diff/1/3 File webkit/glue/plugins/webplugin_delegate_impl_gtk.cc (right): http://codereview.chromium.org/159907/diff/1/3#newcode624 Line 624: plugin_->InvalidateRect(clip_rect_); On 2009/08/05 17:32:08, Evan Martin wrote: > ...
11 years, 4 months ago (2009-08-06 00:26:56 UTC) #3
piman
On Tue, Aug 4, 2009 at 11:03 PM, <piman@chromium.org> wrote: > Reviewers: Evan Martin, John ...
11 years, 4 months ago (2009-08-06 17:22:25 UTC) #4
jam
http://codereview.chromium.org/159907/diff/3001/4004 File webkit/glue/webplugin_impl.cc (right): http://codereview.chromium.org/159907/diff/3001/4004#newcode750 Line 750: if (first_geometry_update_ || window_rect != window_rect_ || This ...
11 years, 4 months ago (2009-08-06 18:20:39 UTC) #5
piman
On Thu, Aug 6, 2009 at 11:20 AM, <jam@chromium.org> wrote: > > http://codereview.chromium.org/159907/diff/3001/4004 > File ...
11 years, 4 months ago (2009-08-06 23:46:40 UTC) #6
jam
11 years, 4 months ago (2009-08-07 00:10:29 UTC) #7
On Thu, Aug 6, 2009 at 4:46 PM, Antoine Labour <piman@chromium.org> wrote:

> On Thu, Aug 6, 2009 at 11:20 AM, <jam@chromium.org> wrote:
> >
> > http://codereview.chromium.org/159907/diff/3001/4004
> > File webkit/glue/webplugin_impl.cc (right):
> >
> > http://codereview.chromium.org/159907/diff/3001/4004#newcode750
> > Line 750: if (first_geometry_update_ || window_rect != window_rect_ ||
> > This code is pretty fragile, we went through a lot of iterations to get
> > it right.  Sometimes 'cleanup' changes end up causing regressions here,
> > so need to be very careful.
> >
> > We used to do a check if the window rects change, but then stopped in
> > http://src.chromium.org/viewvc/chrome?view=rev&revision=13822.  I
> > realize the code isn't the same before and after, so test with that bug
> > at least on Windows and make sure there are no regressions.  Also, note
> > that this is an async message so it's pretty cheap.
>
> So I checked that bug on both linux and windows, and everything still
> works as expected.
> I verified that all the WebPluginDelegateImpl (all platforms including
> mac) do a no-op on both the windowed and windowless paths when neither
> the window_rect nor the clip_rect change.
>
> The message is async, but there's still data to munge to generate the
> message, and extra syscalls, and possibly context switches which are
> expensive on single-proc, best to avoid if possible, since that
> happens for every paint of every plugin.
> It also make debugging on the plugin side a bit easier if you're
> looking at scroll etc. because your BP won't hit unless it's a real
> move.
>
> If you think it's too risky, we can always separate that part of the
> change.


cool, if you verified it, then lgtm.  the depending code must has changed
since when it was needed.


>
>
>
> >
> > http://codereview.chromium.org/159907
> >
>

Powered by Google App Engine
This is Rietveld 408576698