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

Issue 1199963011: Force new surface on BrowserPluginGuest reattach. (Closed)

Created:
5 years, 6 months ago by wjmaclean
Modified:
5 years, 5 months ago
CC:
chromium-reviews, darin-cc_chromium.org, nasko+codewatch_chromium.org, jam, creis+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Force new surface on BrowserPluginGuest reattach. Sometimes a BrowserPlugin object in an embedder renderer is destroyed and replaced, without RenderWidgetHostViewGuest knowing. This means that during the next compositor swap the new BrowserPlugin does not have a surface to composit into. This CL forces a new surface to be send to the BrowserPlugin if it is determined that the BrowserPlugin has not received a surface since it attached to BrowserPluginGuest. BUG=501573 Committed: https://crrev.com/321584de7a278818f3ed143bda999d544583e800 Cr-Commit-Position: refs/heads/master@{#336848}

Patch Set 1 #

Patch Set 2 : Add test, clear surface when not attached. #

Patch Set 3 : Add blank lines where needed. #

Total comments: 2

Patch Set 4 : Rename & move ClearCompositorSurfaceIfNecessary(). #

Total comments: 4

Patch Set 5 : Fix style, improve function name. #

Patch Set 6 : Fix test, and add check for null surface id in test. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+101 lines, -9 lines) Patch
M content/browser/browser_plugin/browser_plugin_guest.h View 1 2 3 chunks +19 lines, -0 lines 0 comments Download
M content/browser/browser_plugin/browser_plugin_guest.cc View 1 2 3 4 5 4 chunks +6 lines, -1 line 0 comments Download
M content/browser/frame_host/render_widget_host_view_child_frame.h View 1 2 3 1 chunk +3 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_widget_host_view_child_frame.cc View 1 2 3 4 2 chunks +7 lines, -3 lines 0 comments Download
M content/browser/frame_host/render_widget_host_view_guest.cc View 1 2 3 2 chunks +7 lines, -5 lines 0 comments Download
M content/browser/frame_host/render_widget_host_view_guest_unittest.cc View 1 2 3 4 5 3 chunks +59 lines, -0 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 27 (8 generated)
wjmaclean
dzhioev@ - could you please try this patch locally and see if it restores correct ...
5 years, 6 months ago (2015-06-23 13:41:31 UTC) #1
dzhioev (left Google)
On 2015/06/23 13:41:31, wjmaclean wrote: > dzhioev@ - could you please try this patch locally ...
5 years, 6 months ago (2015-06-24 19:02:29 UTC) #2
wjmaclean
On 2015/06/24 19:02:29, dzhioev wrote: > On 2015/06/23 13:41:31, wjmaclean wrote: > > dzhioev@ - ...
5 years, 6 months ago (2015-06-24 19:53:58 UTC) #3
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1199963011/20001
5 years, 6 months ago (2015-06-25 22:04:59 UTC) #5
wjmaclean
kenrb@ - please review changes in RenderWidgetHostViewGuest* fsamuel@ - please review changes in BrowserPluginGuest*
5 years, 6 months ago (2015-06-25 22:10:44 UTC) #7
Fady Samuel
Passing along to Istiaque for review...
5 years, 6 months ago (2015-06-25 22:18:10 UTC) #9
kenrb
https://codereview.chromium.org/1199963011/diff/40001/content/browser/frame_host/render_widget_host_view_guest.cc File content/browser/frame_host/render_widget_host_view_guest.cc (right): https://codereview.chromium.org/1199963011/diff/40001/content/browser/frame_host/render_widget_host_view_guest.cc#newcode207 content/browser/frame_host/render_widget_host_view_guest.cc:207: void RenderWidgetHostViewGuest::ClearSurfaceIfNecessary() { Is there any reason this can't ...
5 years, 6 months ago (2015-06-26 14:07:04 UTC) #10
wjmaclean
Addressed comments ... PTAL. https://codereview.chromium.org/1199963011/diff/40001/content/browser/frame_host/render_widget_host_view_guest.cc File content/browser/frame_host/render_widget_host_view_guest.cc (right): https://codereview.chromium.org/1199963011/diff/40001/content/browser/frame_host/render_widget_host_view_guest.cc#newcode207 content/browser/frame_host/render_widget_host_view_guest.cc:207: void RenderWidgetHostViewGuest::ClearSurfaceIfNecessary() { On 2015/06/26 ...
5 years, 6 months ago (2015-06-26 16:25:06 UTC) #11
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1199963011/60001
5 years, 6 months ago (2015-06-26 16:34:31 UTC) #13
kenrb
lgtm for the RenderWidgetHostView* changes, with one nit. https://codereview.chromium.org/1199963011/diff/60001/content/browser/frame_host/render_widget_host_view_guest.h File content/browser/frame_host/render_widget_host_view_guest.h (right): https://codereview.chromium.org/1199963011/diff/60001/content/browser/frame_host/render_widget_host_view_guest.h#newcode146 content/browser/frame_host/render_widget_host_view_guest.h:146: Not ...
5 years, 6 months ago (2015-06-26 17:18:24 UTC) #14
lazyboy
LGTM https://chromiumcodereview.appspot.com/1199963011/diff/60001/content/browser/frame_host/render_widget_host_view_child_frame.cc File content/browser/frame_host/render_widget_host_view_child_frame.cc (right): https://chromiumcodereview.appspot.com/1199963011/diff/60001/content/browser/frame_host/render_widget_host_view_child_frame.cc#newcode421 content/browser/frame_host/render_widget_host_view_child_frame.cc:421: surface_factory_->Destroy(surface_id_); nit: indent
5 years, 6 months ago (2015-06-26 18:03:21 UTC) #15
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_android_rel_ng/builds/38555)
5 years, 6 months ago (2015-06-26 18:08:22 UTC) #17
wjmaclean
nasko@chromium.org: Please provide OWNERs review for RenderWidgetHostView* https://codereview.chromium.org/1199963011/diff/60001/content/browser/frame_host/render_widget_host_view_child_frame.cc File content/browser/frame_host/render_widget_host_view_child_frame.cc (right): https://codereview.chromium.org/1199963011/diff/60001/content/browser/frame_host/render_widget_host_view_child_frame.cc#newcode421 content/browser/frame_host/render_widget_host_view_child_frame.cc:421: surface_factory_->Destroy(surface_id_); On ...
5 years, 5 months ago (2015-06-27 16:30:58 UTC) #19
wjmaclean
fsamuel@ - can you give OWNERs rubber-stamp for BrowserPluginGuest changes please? :-)
5 years, 5 months ago (2015-06-27 16:39:40 UTC) #20
Fady Samuel
LGTM. You and Istiaque should be in the OWNERS file.
5 years, 5 months ago (2015-06-27 20:05:09 UTC) #21
nasko
Rubberstamp LGTM based on kenrb@'s review.
5 years, 5 months ago (2015-06-29 09:57:00 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1199963011/100001
5 years, 5 months ago (2015-06-30 18:26:44 UTC) #25
commit-bot: I haz the power
Committed patchset #6 (id:100001)
5 years, 5 months ago (2015-06-30 19:22:09 UTC) #26
commit-bot: I haz the power
5 years, 5 months ago (2015-06-30 19:23:17 UTC) #27
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/321584de7a278818f3ed143bda999d544583e800
Cr-Commit-Position: refs/heads/master@{#336848}

Powered by Google App Engine
This is Rietveld 408576698