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

Issue 9968097: Browser Plugin: Renderer-side changes (Closed)

Created:
8 years, 8 months ago by Fady Samuel
Modified:
8 years, 7 months ago
Reviewers:
Charlie Reis, brettw, jam
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, jam, apatrick_chromium, rjkroege, Mihai Parparita -not on Chrome
Visibility:
Public.

Description

Renderer-side changes for browser plugin Major Classes: BrowserPluginChannelManager: Manages GuestToEmbedderChannels. It essentially wraps a map that is keyed on channel names. GuestToEmbedderChannel: Is a Dispatcher. Receives/Sends Ppapi messages. Keeps track of all RenderViews that have an associated PP_Instance in a map (RenderViews that are guests). brettw@ might want to have a look here? BrowserPluginRegistry: Wrapper around map that keeps track of Browser Plugin PluginModules keyed on the guest process id. This is similar to the PepperPluginRegistry but has a different key type. BrowserPluginVarSerializationRules: Temporary do nothing class as suggested by brettw@ BrowserPlugin: Towards becoming a wrapper around a WebPluginContainerImpl that swaps out WebPluginImpl/WebViewPlugin on navigation. We get a blank WebViewPlugin (is this a best thing to do to get a blank placeholder?) if we have an empty src attribute or while we're navigating for the first time. Otherwise, on cross-process navigations, we substitute one WebPluginImpl for another WebPluginImpl. TODO: BrowserPlugin should track the lifetime of WebPluginContainerImpl, but right now it lives forever which is bad. Will fix this in a subsequent patch. This requires some WebKit changes first. BUG=117897 TEST=manually Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=138416

Patch Set 1 #

Patch Set 2 : Patch #

Patch Set 3 : Patch ready for review after cleanup #

Patch Set 4 : Removed unnecessary include and forward declaration. #

Total comments: 78

Patch Set 5 : Lots of cleanup! Thanks jam@! #

Patch Set 6 : Addressed most of piman@'s concerns #

Patch Set 7 : Reorganized code so that the channel is created before creating the RenderView. Context no longer c… #

Patch Set 8 : Removed unnecessary changes #

Patch Set 9 : GuestToHostChannel in content namespace #

Patch Set 10 : Removed a silly DCHECK(false) that crept in during test #

Patch Set 11 : Fixed lifetime (tied to lifetime of RenderViewImpl) #

Patch Set 12 : Removed unnecessary change that I merged into my local branch #

Patch Set 13 : Updated to merge with ToT #

Patch Set 14 : Use plugin hang monitor #

Patch Set 15 : Removed unnecessary printfs #

Patch Set 16 : Yikes. guest_to_host_channel disappeared #

Patch Set 17 : Delete PpapiCommandBufferProxy on WebGraphicsContext3DCommandBuferImpl destruction. Recover context… #

Patch Set 18 : GuestToHostChannel kills itself on channel error. Fixed hang on reload. #

Patch Set 19 : GuestToHostChannel must outlive PpapiCommandBufferProxy because PpapiCommandBufferProxy depends on … #

Patch Set 20 : Updated to latest changes. #

Patch Set 21 : Updated relative to cleanup patch #

Patch Set 22 : Updated #

Patch Set 23 : Updated after merging with ToT #

Total comments: 74

Patch Set 24 : Better lost context recovery #

Patch Set 25 : Cleanup according to jam@ #

Patch Set 26 : Updated to compile with clang #

Total comments: 32

Patch Set 27 : cleanup according to creis@ #

Patch Set 28 : Fixed copyright #

Patch Set 29 : Fixed copyright #

Patch Set 30 : fixed build #

Patch Set 31 : Make RefCounted<GuestToEmbedderChannel> a friend #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1248 lines, -291 lines) Patch
M content/common/browser_plugin_messages.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 chunks +39 lines, -23 lines 0 comments Download
M content/content_renderer.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +10 lines, -2 lines 0 comments Download
A content/renderer/browser_plugin/browser_plugin.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +91 lines, -0 lines 0 comments Download
A content/renderer/browser_plugin/browser_plugin.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +167 lines, -0 lines 0 comments Download
A content/renderer/browser_plugin/browser_plugin_channel_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +73 lines, -0 lines 0 comments Download
A content/renderer/browser_plugin/browser_plugin_channel_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +122 lines, -0 lines 0 comments Download
D content/renderer/browser_plugin/browser_plugin_placeholder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 21 1 chunk +0 lines, -89 lines 0 comments Download
D content/renderer/browser_plugin/browser_plugin_placeholder.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 21 1 chunk +0 lines, -143 lines 0 comments Download
A content/renderer/browser_plugin/browser_plugin_registry.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +37 lines, -0 lines 0 comments Download
A content/renderer/browser_plugin/browser_plugin_registry.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 chunk +45 lines, -0 lines 0 comments Download
A content/renderer/browser_plugin/browser_plugin_var_serialization_rules.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +35 lines, -0 lines 0 comments Download
A content/renderer/browser_plugin/browser_plugin_var_serialization_rules.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +51 lines, -0 lines 0 comments Download
A content/renderer/browser_plugin/guest_to_embedder_channel.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +126 lines, -0 lines 0 comments Download
A content/renderer/browser_plugin/guest_to_embedder_channel.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +280 lines, -0 lines 0 comments Download
M content/renderer/pepper/pepper_plugin_delegate_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +7 lines, -0 lines 0 comments Download
M content/renderer/pepper/pepper_plugin_delegate_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2 chunks +36 lines, -0 lines 0 comments Download
M content/renderer/render_thread_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 4 chunks +13 lines, -0 lines 0 comments Download
M content/renderer/render_thread_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 3 chunks +27 lines, -16 lines 0 comments Download
M content/renderer/render_view_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 6 chunks +39 lines, -5 lines 0 comments Download
M content/renderer/render_view_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 12 chunks +49 lines, -12 lines 0 comments Download
M content/test/render_view_test.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 24 (0 generated)
Fady Samuel
Hi John, Antoine, Now that most of the graphics work is out of the way, ...
8 years, 8 months ago (2012-04-03 22:31:08 UTC) #1
Fady Samuel
Hi John, Antoine, I feel that that the barebones implementation of the renderer-side of the ...
8 years, 8 months ago (2012-04-06 17:06:37 UTC) #2
jam
i defer to others on the ppapi guts please run lint on your changes or ...
8 years, 8 months ago (2012-04-06 21:05:23 UTC) #3
Fady Samuel
Thanks for catching all the stale comments, and cruft that crept in as I refactored ...
8 years, 8 months ago (2012-04-06 22:46:31 UTC) #4
piman
I think I'm starting to understand some of the problems you're running into. Some things ...
8 years, 8 months ago (2012-04-06 23:19:25 UTC) #5
Fady Samuel
Hi Antoine, I believe I've addressed all your concerns. Three issues are unresolved as listed ...
8 years, 8 months ago (2012-04-11 22:06:34 UTC) #6
Fady Samuel
Hi Antoine, Could you please take a look, I've addressed the remaining issues. Fady
8 years, 8 months ago (2012-04-18 03:31:25 UTC) #7
Fady Samuel
Hi John, Charlie, Could you please review this? I know this is a lot of ...
8 years, 7 months ago (2012-05-15 23:07:47 UTC) #8
Fady Samuel
Hi all, Summary of major classes above in issue. jam@: Please review for style, layering ...
8 years, 7 months ago (2012-05-16 01:39:59 UTC) #9
jam
http://codereview.chromium.org/9968097/diff/58003/content/common/browser_plugin_messages.h File content/common/browser_plugin_messages.h (right): http://codereview.chromium.org/9968097/diff/58003/content/common/browser_plugin_messages.h#newcode60 content/common/browser_plugin_messages.h:60: int /* guest routing id */, nit: unix_hacker for ...
8 years, 7 months ago (2012-05-16 02:22:40 UTC) #10
Fady Samuel
https://chromiumcodereview.appspot.com/9968097/diff/58003/content/common/browser_plugin_messages.h File content/common/browser_plugin_messages.h (right): https://chromiumcodereview.appspot.com/9968097/diff/58003/content/common/browser_plugin_messages.h#newcode60 content/common/browser_plugin_messages.h:60: int /* guest routing id */, On 2012/05/16 02:22:40, ...
8 years, 7 months ago (2012-05-16 04:43:53 UTC) #11
Charlie Reis
On 2012/05/16 01:39:59, Fady Samuel wrote: > creis@: Mostly for high level design. We discussed ...
8 years, 7 months ago (2012-05-17 20:36:47 UTC) #12
Fady Samuel
> I guess I don't see where the things we discussed about navigation come up ...
8 years, 7 months ago (2012-05-17 20:44:05 UTC) #13
Fady Samuel
https://chromiumcodereview.appspot.com/9968097/diff/54005/content/renderer/browser_plugin/browser_plugin.cc File content/renderer/browser_plugin/browser_plugin.cc (right): https://chromiumcodereview.appspot.com/9968097/diff/54005/content/renderer/browser_plugin/browser_plugin.cc#newcode97 content/renderer/browser_plugin/browser_plugin.cc:97: int default_width, int default_height, const std::string& default_src) { On ...
8 years, 7 months ago (2012-05-17 22:18:02 UTC) #14
Charlie Reis
LGTM from a high-level navigation perspective.
8 years, 7 months ago (2012-05-17 23:00:19 UTC) #15
jam
lgtm
8 years, 7 months ago (2012-05-18 20:50:54 UTC) #16
brettw
I just don't have time to review the details of this patch. Is there somebody ...
8 years, 7 months ago (2012-05-22 18:07:16 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/fsamuel@chromium.org/9968097/65004
8 years, 7 months ago (2012-05-22 18:08:43 UTC) #18
commit-bot: I haz the power
Presubmit check for 9968097-65004 failed and returned exit status 1. Running presubmit commit checks ...
8 years, 7 months ago (2012-05-22 18:09:25 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/fsamuel@chromium.org/9968097/67054
8 years, 7 months ago (2012-05-22 18:15:54 UTC) #20
commit-bot: I haz the power
Try job failure for 9968097-67054 (retry) (retry) on mac_rel for step "compile" (clobber build). It's ...
8 years, 7 months ago (2012-05-22 18:33:38 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/fsamuel@chromium.org/9968097/72004
8 years, 7 months ago (2012-05-22 22:32:30 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/fsamuel@chromium.org/9968097/72008
8 years, 7 months ago (2012-05-22 22:51:17 UTC) #23
commit-bot: I haz the power
8 years, 7 months ago (2012-05-23 01:38:51 UTC) #24
Try job failure for 9968097-72008 (retry) on win for step "compile" (clobber
build).
It's a second try, previously, step "compile" failed.
http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win&number...

Powered by Google App Engine
This is Rietveld 408576698