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

Issue 8071013: Finish moving plugin probing out of process. (Closed)

Created:
9 years, 2 months ago by Robert Sesek
Modified:
9 years, 2 months ago
Reviewers:
Bernhard Bauer, jam
CC:
chromium-reviews, stevenjb, nkostylev+watch_chromium.org, dpranke+watch-content_chromium.org, joi+watch-content_chromium.org, darin-cc_chromium.org, stuartmorgan+watch_chromium.org, davemoore+watch_chromium.org
Visibility:
Public.

Description

Finish moving plugin probing out of process. This moves all browser-side synchronous callers to use the asynchronous PluginService interface. BUG=17863, 95114 TEST=Covered by tests. Plugins still work. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=105069

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : Ready for review #

Total comments: 5

Patch Set 4 : Address comments #

Patch Set 5 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+209 lines, -128 lines) Patch
M chrome/browser/browser_about_handler.cc View 1 2 3 4 6 chunks +24 lines, -10 lines 0 comments Download
M chrome/browser/chromeos/gview_request_interceptor.cc View 1 2 3 chunks +3 lines, -3 lines 0 comments Download
M chrome/browser/chromeos/gview_request_interceptor_unittest.cc View 1 2 3 chunks +20 lines, -7 lines 0 comments Download
M chrome/browser/component_updater/npapi_flash_component_installer.cc View 1 2 3 4 6 chunks +12 lines, -7 lines 0 comments Download
M chrome/browser/plugin_data_remover.h View 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/browser/plugin_data_remover.cc View 2 chunks +2 lines, -4 lines 0 comments Download
M chrome/browser/plugin_data_remover_helper.cc View 1 2 3 4 chunks +9 lines, -8 lines 0 comments Download
M chrome/browser/plugin_prefs.cc View 2 chunks +2 lines, -1 line 0 comments Download
M chrome/browser/ui/browser.cc View 1 2 3 4 3 chunks +4 lines, -5 lines 0 comments Download
M chrome/browser/ui/cocoa/drag_util.mm View 1 chunk +1 line, -2 lines 0 comments Download
M chrome/browser/ui/webui/flash_ui.cc View 1 9 chunks +29 lines, -6 lines 0 comments Download
M content/browser/plugin_service.h View 1 2 3 4 3 chunks +16 lines, -1 line 0 comments Download
M content/browser/plugin_service.cc View 1 2 3 4 9 chunks +52 lines, -29 lines 0 comments Download
M content/browser/plugin_service_filter.h View 1 2 3 2 chunks +11 lines, -1 line 0 comments Download
M content/browser/renderer_host/render_message_filter.h View 1 chunk +0 lines, -2 lines 0 comments Download
M content/browser/renderer_host/render_message_filter.cc View 1 2 3 4 1 chunk +0 lines, -13 lines 0 comments Download
M content/browser/utility_process_host.cc View 1 2 chunks +3 lines, -0 lines 0 comments Download
M webkit/plugins/npapi/plugin_lib_mac.mm View 1 2 chunks +19 lines, -4 lines 0 comments Download
M webkit/plugins/npapi/plugin_list.h View 1 1 chunk +0 lines, -5 lines 0 comments Download
M webkit/plugins/npapi/plugin_list.cc View 1 1 chunk +0 lines, -18 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
Robert Sesek
9 years, 2 months ago (2011-10-04 21:25:26 UTC) #1
jam
The code lgtm, but it's hard to follow every place where each of the old ...
9 years, 2 months ago (2011-10-04 22:42:30 UTC) #2
Bernhard Bauer
http://codereview.chromium.org/8071013/diff/5001/chrome/browser/plugin_data_remover_helper.cc File chrome/browser/plugin_data_remover_helper.cc (right): http://codereview.chromium.org/8071013/diff/5001/chrome/browser/plugin_data_remover_helper.cc#newcode21 chrome/browser/plugin_data_remover_helper.cc:21: // The internal class is refcounted so it can ...
9 years, 2 months ago (2011-10-05 13:00:45 UTC) #3
Robert Sesek
On 2011/10/04 22:42:30, John Abd-El-Malek wrote: > The code lgtm, but it's hard to follow ...
9 years, 2 months ago (2011-10-05 18:27:16 UTC) #4
Bernhard Bauer
On 2011/10/05 18:27:16, rsesek wrote: > On 2011/10/04 22:42:30, John Abd-El-Malek wrote: > > The ...
9 years, 2 months ago (2011-10-06 10:10:13 UTC) #5
Robert Sesek
On 2011/10/06 10:10:13, Bernhard Bauer wrote: > On 2011/10/05 18:27:16, rsesek wrote: > > On ...
9 years, 2 months ago (2011-10-06 18:08:17 UTC) #6
Bernhard Bauer
On 2011/10/06 18:08:17, rsesek wrote: > On 2011/10/06 10:10:13, Bernhard Bauer wrote: > > On ...
9 years, 2 months ago (2011-10-07 09:11:23 UTC) #7
Bernhard Bauer
On 2011/10/07 09:11:23, Bernhard Bauer wrote: > On 2011/10/06 18:08:17, rsesek wrote: > > On ...
9 years, 2 months ago (2011-10-07 09:12:54 UTC) #8
jam
9 years, 2 months ago (2011-10-07 16:10:07 UTC) #9
On 2011/10/06 18:08:17, rsesek wrote:
> On 2011/10/06 10:10:13, Bernhard Bauer wrote:
> > On 2011/10/05 18:27:16, rsesek wrote:
> > > On 2011/10/04 22:42:30, John Abd-El-Malek wrote:
> > > > The code lgtm, but it's hard to follow every place where each of the old
> > > > functions were called and would plugins if it were stale with now, where
> it
> > > > would not. I'm worried that where before we might have done disk io on
the
> > > wrong
> > > > thread, now we break. Can we add CHECKs to make sure that when these
> methods
> > > are
> > > > called the plugins exist?
> > > 
> > > Hmm. Where would you add the CHECK, though? The return value for
> > > GetPluginInfoByPath et al indicates (plugins_loaded && plugin_found). If
the
> > > plugin is disabled, then that CHECK would trip.
> > 
> > Whether a plug-in is disabled or not shouldn't figure into this anymore, as
> that
> > is now stored in PluginPrefs. PluginList always returns all plug-ins it
knows
> > about.
> 
> Could we avoid this whole issue by kicking off a startup task to load the
> plugins initially? We can do it delayed by a few seconds to ensure we don't
> regress startup time, but that way plugins can't ever be in the unloaded
state.

This already happens from MetricsService. It's after 30s I believe. We wouldn't
want to do it too quick, in case that interfers with profile loading etc.
However, no matter how soon we start loading them, we want to make sure that all
code paths that get the cached version must have went through an async path
previously to wait on plugin loading.

btw if it wasn't clear, this is lgtm as is, this is just something to think
about and do in a future cl

Powered by Google App Engine
This is Rietveld 408576698