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

Issue 164305: Ensure we don't load plugins on the IO thread (Closed)

Created:
11 years, 4 months ago by jam
Modified:
9 years, 7 months ago
CC:
chromium-reviews_googlegroups.com, darin (slow to review), brettw, Ben Goodger (Google)
Visibility:
Public.

Description

Ensure we don't load plugins on the IO thread. I had to move the locks from PluginService to PluginList, so that a lock (which can block other threads) isn't held while loading the plugins. BUG=17938 TEST=added asserts which crash if plugins loaded on IO thread, current UI tests exercise them Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=23501

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 2

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Total comments: 44

Patch Set 6 : '' #

Patch Set 7 : '' #

Patch Set 8 : '' #

Patch Set 9 : '' #

Patch Set 10 : '' #

Patch Set 11 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+338 lines, -296 lines) Patch
M chrome/browser/metrics/metrics_service.h View 4 5 6 7 8 9 10 3 chunks +5 lines, -2 lines 0 comments Download
M chrome/browser/metrics/metrics_service.cc View 4 5 6 7 8 9 10 6 chunks +15 lines, -8 lines 0 comments Download
M chrome/browser/plugin_service.h View 1 2 3 4 5 6 7 8 9 10 6 chunks +2 lines, -15 lines 0 comments Download
M chrome/browser/plugin_service.cc View 1 2 3 4 5 6 7 8 9 10 8 chunks +9 lines, -34 lines 0 comments Download
M chrome/browser/renderer_host/buffered_resource_handler.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +18 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/buffered_resource_handler.cc View 1 2 3 4 5 6 7 8 9 10 10 chunks +131 lines, -15 lines 0 comments Download
M chrome/browser/renderer_host/resource_dispatcher_host.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +1 line, -7 lines 0 comments Download
M chrome/browser/renderer_host/resource_dispatcher_host.cc View 1 2 3 4 5 6 7 8 9 10 5 chunks +3 lines, -51 lines 0 comments Download
M chrome/browser/renderer_host/resource_handler.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +5 lines, -1 line 0 comments Download
M chrome/browser/renderer_host/resource_message_filter.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/renderer_host/resource_message_filter.cc View 1 2 3 4 5 6 7 8 9 10 4 chunks +16 lines, -8 lines 0 comments Download
M chrome/common/chrome_plugin_lib.cc View 4 5 6 7 8 9 10 3 chunks +1 line, -16 lines 0 comments Download
M chrome/common/render_messages_internal.h View 4 5 6 7 8 9 10 1 chunk +0 lines, -4 lines 0 comments Download
M chrome/renderer/renderer_glue.cc View 7 8 9 10 1 chunk +2 lines, -3 lines 0 comments Download
M webkit/glue/plugins/plugin_lib.cc View 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
M webkit/glue/plugins/plugin_list.h View 1 2 3 4 5 6 7 8 9 10 6 chunks +30 lines, -20 lines 0 comments Download
M webkit/glue/plugins/plugin_list.cc View 1 2 3 4 5 6 7 8 9 10 7 chunks +58 lines, -45 lines 0 comments Download
M webkit/glue/plugins/plugin_list_linux.cc View 4 5 6 7 8 9 10 3 chunks +6 lines, -4 lines 0 comments Download
M webkit/glue/plugins/plugin_list_mac.mm View 4 5 6 7 8 9 10 3 chunks +8 lines, -6 lines 0 comments Download
M webkit/glue/plugins/plugin_list_win.cc View 4 5 6 7 8 9 10 7 chunks +16 lines, -43 lines 0 comments Download
M webkit/glue/webkit_glue.h View 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
M webkit/glue/webkitclient_impl.cc View 9 10 1 chunk +1 line, -2 lines 0 comments Download
M webkit/tools/test_shell/test_shell_gtk.cc View 6 7 8 9 10 1 chunk +2 lines, -2 lines 0 comments Download
M webkit/tools/test_shell/test_shell_mac.mm View 6 7 8 9 10 1 chunk +2 lines, -2 lines 0 comments Download
M webkit/tools/test_shell/test_shell_win.cc View 6 7 8 9 10 1 chunk +2 lines, -2 lines 0 comments Download
M webkit/tools/test_shell/test_worker/test_worker_main.cc View 7 8 9 10 1 chunk +1 line, -2 lines 0 comments Download

Messages

Total messages: 12 (0 generated)
jam
11 years, 4 months ago (2009-08-11 02:53:42 UTC) #1
abarth-chromium
This looks great except for the one question below. Thanks. http://codereview.chromium.org/164305/diff/27/34 File chrome/browser/renderer_host/buffered_resource_handler.cc (left): http://codereview.chromium.org/164305/diff/27/34#oldcode121 ...
11 years, 4 months ago (2009-08-11 03:06:37 UTC) #2
jam
http://codereview.chromium.org/164305/diff/27/34 File chrome/browser/renderer_host/buffered_resource_handler.cc (left): http://codereview.chromium.org/164305/diff/27/34#oldcode121 Line 121: sniff_content_ = should_buffer_ = false; On 2009/08/11 03:06:37, ...
11 years, 4 months ago (2009-08-11 04:08:16 UTC) #3
abarth-chromium
Ok. LGTM. Adam On Mon, Aug 10, 2009 at 9:08 PM, <jam@chromium.org> wrote: > > ...
11 years, 4 months ago (2009-08-11 04:14:28 UTC) #4
jam
Please have a look at the latest version, to fix some crashes I added an ...
11 years, 4 months ago (2009-08-12 00:44:46 UTC) #5
jam
Actually, hold on from looking at this. I just realized that the big locks in ...
11 years, 4 months ago (2009-08-12 01:42:40 UTC) #6
jam
ok, this is now ready for a second look. I had to move the locks ...
11 years, 4 months ago (2009-08-12 03:00:17 UTC) #7
abarth-chromium
Ok. I added a bunch of nits in PluginList. Basically, you want to make it ...
11 years, 4 months ago (2009-08-12 03:52:05 UTC) #8
abarth-chromium
http://codereview.chromium.org/164305/diff/63/66 File chrome/browser/renderer_host/buffered_resource_handler.cc (right): http://codereview.chromium.org/164305/diff/63/66#newcode399 Line 399: void BufferedResourceHandler::LoadPlugins() { Should DCHECK which thread we're ...
11 years, 4 months ago (2009-08-12 03:52:14 UTC) #9
jam
http://codereview.chromium.org/164305/diff/63/66 File chrome/browser/renderer_host/buffered_resource_handler.cc (right): http://codereview.chromium.org/164305/diff/63/66#newcode399 Line 399: void BufferedResourceHandler::LoadPlugins() { On 2009/08/12 03:52:14, abarth wrote: ...
11 years, 4 months ago (2009-08-13 00:01:28 UTC) #10
abarth-chromium
Ok John. I've done my best to verify that this code is correct. I'd prefer ...
11 years, 4 months ago (2009-08-13 02:27:36 UTC) #11
M-A Ruel
11 years, 4 months ago (2009-08-14 14:33:10 UTC) #12
From:
http://build.chromium.org/buildbot/waterfall/builders/Chromium%20Reliability/...
Will get the partial result of current build r23419.
Results for extended list of web sites:
success: 62356; crashes: 68; crash dumps: 0; timeout: 550

Crash rate increased dramatically at:
http://build.chromium.org/buildbot/waterfall/builders/Chromium%20Reliability/...
Will get the partial result of current build r23421.
Results for extended list of web sites:
success: 57578; crashes: 1374; crash dumps: 0; timeout: 559


Changes:
http://src.chromium.org/viewvc/chrome?view=rev&revision=23420
http://src.chromium.org/viewvc/chrome?view=rev&revision=23421

Feels like 23420 is the culprit. Reverting.

Powered by Google App Engine
This is Rietveld 408576698