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

Issue 11956022: Browser Plugin: Allocate Instance IDs in BrowserPluginEmbedder instead of BrowserPluginManager (Closed)

Created:
7 years, 11 months ago by Fady Samuel
Modified:
7 years, 11 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, jam
Visibility:
Public.

Description

Browser Plugin: Allocate Instance IDs in BrowserPluginEmbedder instead of BrowserPluginManager This patch is a step towards enabling window.open. How it works: 1. On the initial navigation, BrowserPlugin asynchronously requests a new Instance ID from the browser process. 2. The request and response BrowserPluginHostMsg_AllocateInstanceIDRequest, and BrowserPluginMsg_AllocateInstanceIDResponse are managed by BrowserPluginManager. 3. Once the browser process has allocated an instance ID and relayed it to BrowserPlugin, then BrowserPlugin collects all the current state of BrowserPlugin and stores it in a BrowserPluginHostMsg_CreateGuest_Params struct and ships it to the browser process using the new instance ID to create a new guest with that initial state. Initial state includes the current value of the src attribute. 4. Once BrowserPlugin has an instance ID, it will begin sending IPCs to the browser process as state changes, rather than merely accumulating state changes in member variables. BUG=140316 Test=BrowserPluginHostTest.*, BrowserPluginTest.*, WebViewTest.* Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=178167

Patch Set 1 #

Patch Set 2 : Diff against simplified focus #

Total comments: 24

Patch Set 3 : Addressed Istiaque's comments #

Total comments: 15

Patch Set 4 : Addressed creis' comments #

Total comments: 6

Patch Set 5 : Fixed nits #

Total comments: 2

Patch Set 6 : Fixed nit #

Patch Set 7 : Fixed tests #

Patch Set 8 : Merged with ToT #

Unified diffs Side-by-side diffs Delta from patch set Stats (+243 lines, -134 lines) Patch
M content/browser/browser_plugin/browser_plugin_embedder.h View 1 2 3 4 4 chunks +9 lines, -6 lines 0 comments Download
M content/browser/browser_plugin/browser_plugin_embedder.cc View 1 2 3 4 chunks +18 lines, -1 line 0 comments Download
M content/browser/browser_plugin/browser_plugin_host_browsertest.cc View 1 2 2 chunks +2 lines, -0 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -3 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.cc View 1 2 3 4 5 6 7 2 chunks +12 lines, -17 lines 0 comments Download
M content/common/browser_plugin_messages.h View 1 2 3 4 5 6 7 3 chunks +14 lines, -0 lines 0 comments Download
M content/renderer/browser_plugin/browser_plugin.h View 1 2 3 4 5 6 7 5 chunks +6 lines, -2 lines 0 comments Download
M content/renderer/browser_plugin/browser_plugin.cc View 1 2 3 4 5 6 7 6 chunks +51 lines, -21 lines 0 comments Download
M content/renderer/browser_plugin/browser_plugin_browsertest.cc View 1 2 3 4 5 6 13 chunks +59 lines, -58 lines 0 comments Download
M content/renderer/browser_plugin/browser_plugin_manager.h View 1 2 3 3 chunks +4 lines, -2 lines 0 comments Download
M content/renderer/browser_plugin/browser_plugin_manager.cc View 1 1 chunk +1 line, -2 lines 0 comments Download
M content/renderer/browser_plugin/browser_plugin_manager_impl.h View 1 2 3 4 5 6 7 3 chunks +7 lines, -0 lines 0 comments Download
M content/renderer/browser_plugin/browser_plugin_manager_impl.cc View 1 2 3 4 5 6 7 4 chunks +22 lines, -5 lines 0 comments Download
M content/renderer/browser_plugin/mock_browser_plugin.h View 1 chunk +3 lines, -5 lines 0 comments Download
M content/renderer/browser_plugin/mock_browser_plugin.cc View 1 chunk +4 lines, -6 lines 0 comments Download
M content/renderer/browser_plugin/mock_browser_plugin_manager.h View 1 2 3 4 5 6 2 chunks +6 lines, -0 lines 0 comments Download
M content/renderer/browser_plugin/mock_browser_plugin_manager.cc View 1 2 3 4 5 6 2 chunks +23 lines, -6 lines 0 comments Download

Messages

Total messages: 17 (0 generated)
Fady Samuel
7 years, 11 months ago (2013-01-16 21:19:29 UTC) #1
lazyboy
Some comments. https://chromiumcodereview.appspot.com/11956022/diff/2001/content/browser/browser_plugin/browser_plugin_embedder.cc File content/browser/browser_plugin/browser_plugin_embedder.cc (right): https://chromiumcodereview.appspot.com/11956022/diff/2001/content/browser/browser_plugin/browser_plugin_embedder.cc#newcode35 content/browser/browser_plugin/browser_plugin_embedder.cc:35: instance_counter_(0) { prefer naming it such that ...
7 years, 11 months ago (2013-01-17 17:39:25 UTC) #2
Fady Samuel
PTAL https://codereview.chromium.org/11956022/diff/2001/content/browser/browser_plugin/browser_plugin_embedder.cc File content/browser/browser_plugin/browser_plugin_embedder.cc (right): https://codereview.chromium.org/11956022/diff/2001/content/browser/browser_plugin/browser_plugin_embedder.cc#newcode35 content/browser/browser_plugin/browser_plugin_embedder.cc:35: instance_counter_(0) { On 2013/01/17 17:39:25, lazyboy wrote: > ...
7 years, 11 months ago (2013-01-17 18:40:38 UTC) #3
lazyboy
lgtm
7 years, 11 months ago (2013-01-17 19:51:17 UTC) #4
Fady Samuel
+creis@ for content OWNER review. Thanks, Fady
7 years, 11 months ago (2013-01-17 19:54:05 UTC) #5
Charlie Reis
Nice. Glad that we're making the browser responsible for the instance IDs, which should work ...
7 years, 11 months ago (2013-01-18 01:54:31 UTC) #6
Fady Samuel
PTAL https://codereview.chromium.org/11956022/diff/9001/content/browser/browser_plugin/browser_plugin_embedder.cc File content/browser/browser_plugin/browser_plugin_embedder.cc (right): https://codereview.chromium.org/11956022/diff/9001/content/browser/browser_plugin/browser_plugin_embedder.cc#newcode310 content/browser/browser_plugin/browser_plugin_embedder.cc:310: if (params.src.empty()) On 2013/01/18 01:54:31, creis wrote: > ...
7 years, 11 months ago (2013-01-18 02:23:10 UTC) #7
Charlie Reis
https://codereview.chromium.org/11956022/diff/9001/content/renderer/browser_plugin/browser_plugin_manager_impl.cc File content/renderer/browser_plugin/browser_plugin_manager_impl.cc (right): https://codereview.chromium.org/11956022/diff/9001/content/renderer/browser_plugin/browser_plugin_manager_impl.cc#newcode70 content/renderer/browser_plugin/browser_plugin_manager_impl.cc:70: PickleIterator iter(message); On 2013/01/18 02:23:10, Fady Samuel wrote: > ...
7 years, 11 months ago (2013-01-18 05:36:45 UTC) #8
Fady Samuel
PTAL https://codereview.chromium.org/11956022/diff/32001/content/browser/browser_plugin/browser_plugin_embedder.h File content/browser/browser_plugin/browser_plugin_embedder.h (right): https://codereview.chromium.org/11956022/diff/32001/content/browser/browser_plugin/browser_plugin_embedder.h#newcode63 content/browser/browser_plugin/browser_plugin_embedder.h:63: // |routing_id|. On 2013/01/18 05:36:45, creis wrote: > ...
7 years, 11 months ago (2013-01-18 15:26:25 UTC) #9
Fady Samuel
PTAL https://codereview.chromium.org/11956022/diff/32001/content/browser/browser_plugin/browser_plugin_embedder.h File content/browser/browser_plugin/browser_plugin_embedder.h (right): https://codereview.chromium.org/11956022/diff/32001/content/browser/browser_plugin/browser_plugin_embedder.h#newcode63 content/browser/browser_plugin/browser_plugin_embedder.h:63: // |routing_id|. On 2013/01/18 05:36:45, creis wrote: > ...
7 years, 11 months ago (2013-01-18 15:26:25 UTC) #10
Charlie Reis
Thanks, LGTM. https://codereview.chromium.org/11956022/diff/41001/content/renderer/browser_plugin/browser_plugin.cc File content/renderer/browser_plugin/browser_plugin.cc (right): https://codereview.chromium.org/11956022/diff/41001/content/renderer/browser_plugin/browser_plugin.cc#newcode346 content/renderer/browser_plugin/browser_plugin.cc:346: nit: No need for second extra line ...
7 years, 11 months ago (2013-01-18 17:24:28 UTC) #11
Fady Samuel
Thanks. https://codereview.chromium.org/11956022/diff/41001/content/renderer/browser_plugin/browser_plugin.cc File content/renderer/browser_plugin/browser_plugin.cc (right): https://codereview.chromium.org/11956022/diff/41001/content/renderer/browser_plugin/browser_plugin.cc#newcode346 content/renderer/browser_plugin/browser_plugin.cc:346: On 2013/01/18 17:24:28, creis wrote: > nit: No ...
7 years, 11 months ago (2013-01-18 17:27:13 UTC) #12
Fady Samuel
+cdn@ for browser_plugin_messages security audit.
7 years, 11 months ago (2013-01-18 17:40:22 UTC) #13
Fady Samuel
7 years, 11 months ago (2013-01-18 20:16:04 UTC) #14
Cris Neckar
IPC security audit LGTM
7 years, 11 months ago (2013-01-22 20:40:02 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/fsamuel@chromium.org/11956022/46001
7 years, 11 months ago (2013-01-22 20:41:47 UTC) #16
commit-bot: I haz the power
7 years, 11 months ago (2013-01-23 00:07:09 UTC) #17
Message was sent while issue was closed.
Change committed as 178167

Powered by Google App Engine
This is Rietveld 408576698