0
Commit Graph

21 Commits

Author SHA1 Message Date
hclam@chromium.org
9a9ab7d35b PluginLoader loads plugins again after last load completes
If the list of plugins has updated before PluginLoader gets a
request to load plugins it occasionally fails to load the entire
list. This happens when PluginLoader is serving the last plugin
load request.

To make sure PluginLoader is up-to-date with the latest plugin
list all plugin load requests are served.

BUG=117561
TEST=content_unittests --gtest_filter=PluginLoader*
R=rsesek

Review URL: http://codereview.chromium.org/9665017

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126250 0039d316-1c4b-4281-b951-d872f2087c98
2012-03-12 22:51:11 +00:00
jam@chromium.org
c4f883a6d4 Create an API around UtilityProcessHost and use that from chrome.
BUG=98716
Review URL: https://chromiumcodereview.appspot.com/9317074

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120342 0039d316-1c4b-4281-b951-d872f2087c98
2012-02-03 17:02:07 +00:00
jhawkins@chromium.org
7557d28044 PluginLoaderPosix: Fix the case where the utility process crashes after all plugins have been loaded.
This was causing a crash on load on my system.

BUG=111935
TEST=none
R=rsesek

Review URL: https://chromiumcodereview.appspot.com/9297049

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120098 0039d316-1c4b-4281-b951-d872f2087c98
2012-02-01 20:50:16 +00:00
dgrogan@chromium.org
a3b85d85e7 A few clients of the utility process had a race condition that could lead to a browser crash if the utility process crashed. IndexedDB was the worst offender. WebstoreInstallHelper, the profile importer, and posix plugin loader were also affected.
As a side effect, NaClProcessHost and GpuProcessHost are now notified when their respective processes are killed and treat such an occurrence as a crash.

BUG=108871
TEST=


Review URL: http://codereview.chromium.org/9235052

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119340 0039d316-1c4b-4281-b951-d872f2087c98
2012-01-27 02:04:48 +00:00
jam@chromium.org
e67385f309 Rename PluginService to PluginServiceImpl.
BUG=98716
Review URL: http://codereview.chromium.org/9019004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115279 0039d316-1c4b-4281-b951-d872f2087c98
2011-12-21 06:00:56 +00:00
jam@chromium.org
3a5180ae72 Create an API around PluginService and use it from Chrome.
BUG=98716
Review URL: http://codereview.chromium.org/9006036

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115259 0039d316-1c4b-4281-b951-d872f2087c98
2011-12-21 02:39:38 +00:00
jhawkins@chromium.org
5abe630d97 Coverity: Initialize member variables.
CID=100356,100360,100368,100373,100374,100562,101529,101530,101536,101541,
    101542,101595,101630,101685,101687,101689,101776,101812,101813,101854,
    101861,101862,101871,101883,101886,101887,102034
BUG=none
TEST=none
R=binji

Review URL: http://codereview.chromium.org/8965054

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115225 0039d316-1c4b-4281-b951-d872f2087c98
2011-12-20 23:44:32 +00:00
dbeam@chromium.org
661ed097db Revert 113027 - Zygote most of the uses of the utility process on Linux
Allow the user of the utility process to specify whether the zygote
should be used on Linux. This allows to sandbox all the uses
of the utility process that don't do FS access, which right now are all
except extension unpacking and NPAPI plugin listing.

This is the first step to get the utility process sandboxed 
on Linux. Since most of the uses of the utility process 
don't do file access, launching all of those from the zygote 
will simplify sandboxing the one that does: extension 
unpacking.

BUG=93109
TEST=Try installing an extension from the web store.


Review URL: http://codereview.chromium.org/8770025

TBR=jorgelo@chromium.org
Review URL: http://codereview.chromium.org/8817013

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113165 0039d316-1c4b-4281-b951-d872f2087c98
2011-12-06 08:58:09 +00:00
jorgelo@chromium.org
2d5ad67db2 Zygote most of the uses of the utility process on Linux
Allow the user of the utility process to specify whether the zygote
should be used on Linux. This allows to sandbox all the uses
of the utility process that don't do FS access, which right now are all
except extension unpacking and NPAPI plugin listing.

This is the first step to get the utility process sandboxed 
on Linux. Since most of the uses of the utility process 
don't do file access, launching all of those from the zygote 
will simplify sandboxing the one that does: extension 
unpacking.

BUG=93109
TEST=Try installing an extension from the web store.


Review URL: http://codereview.chromium.org/8770025

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113027 0039d316-1c4b-4281-b951-d872f2087c98
2011-12-05 21:26:59 +00:00
jam@chromium.org
4734d0beca Make ChildProcessHost be used through an interface in content/public, instead of by inheritence.
BUG=98716
Review URL: http://codereview.chromium.org/8787004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112878 0039d316-1c4b-4281-b951-d872f2087c98
2011-12-03 07:10:44 +00:00
jam@chromium.org
4cb4310995 Don't make classes derive from ChildProcessHost, and instead have them use it through composition. This cleans up the code and makes it easier to understand (as well as more closely conform to the Google C++ style guide). It also makes it possible to add an interface around ChildProcessHost in a future change.
BUG=98716
Review URL: http://codereview.chromium.org/8774040

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112769 0039d316-1c4b-4281-b951-d872f2087c98
2011-12-02 20:24:49 +00:00
rsesek@chromium.org
ee06617d1e Refactor PluginService to take PluginList as a dependency.
Also creates MockPluginService for use in tests.

BUG=103788,chromium-os:22447
TEST=none

Review URL: http://codereview.chromium.org/8493019

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109532 0039d316-1c4b-4281-b951-d872f2087c98
2011-11-10 23:20:05 +00:00
viettrungluu@chromium.org
d9b73c84e0 uint32_t -> uint32 in content/browser/plugin_loader_posix.* and include basictypes.h.
The header file currently doesn't compile on Windows (unless a definition for
uint32_t is picked up from elsewhere, coincidentally).

Review URL: http://codereview.chromium.org/8511034

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109329 0039d316-1c4b-4281-b951-d872f2087c98
2011-11-09 23:17:28 +00:00
rsesek@chromium.org
893e281de8 Send the index in the canonical list over IPC when using the OOP plugin loader.
Comparing paths does not work all the time on Linux if the plugin is wrapped and
is initially loaded from a symlinked location.

BUG=17863
TEST=Waterfall Linux(dbg)(2) plugin_tests

Review URL: http://codereview.chromium.org/8440042

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108306 0039d316-1c4b-4281-b951-d872f2087c98
2011-11-02 16:40:16 +00:00
rsesek@chromium.org
6a0dc7af6e [Linux] Load plugins out-of-process.
This also fixes a bug in PluginLoaderPosix where if the last N plugins in the
canonical list crash, the callbacks are never run.

BUG=17863
TEST=On Linux, plugins work as before.

Originally Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=106962
Reverted: http://src.chromium.org/viewvc/chrome?view=rev&revision=106977

Review URL: http://codereview.chromium.org/8372015

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108286 0039d316-1c4b-4281-b951-d872f2087c98
2011-11-02 14:37:07 +00:00
joi@chromium.org
631bb742a2 Move BrowserThread to content namespace.
TBR=owners
BUG=98716

Review URL: http://codereview.chromium.org/8437002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108270 0039d316-1c4b-4281-b951-d872f2087c98
2011-11-02 11:29:39 +00:00
joi@chromium.org
c38831a108 Split BrowserThread into public API and private implementation, step 1.
Only content/ now has the ability to create BrowserThread objects,
with the exception that tests can create the
content::TestBrowserThread subclass, and (temporarily) code in chrome/
can create the DeprecatedBrowserThread subclass.

A follow-up change will make content/ take care of its own thread
creation, remove DeprecatedBrowserThread, and move all state and
non-trivial constructors from BrowserThread down to BrowserThreadImpl.

Also moved BrowserProcessSubThread into content/ namespace.  As part
of follow-up cleanup, chrome/ will stop using this class.

BUG=98716
TEST=existing

Review URL: http://codereview.chromium.org/8392042

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107718 0039d316-1c4b-4281-b951-d872f2087c98
2011-10-28 12:44:49 +00:00
rsesek@chromium.org
95e9507072 Revert 106962 - Broke plugin_tests - [Linux] Load plugins out-of-process.
This also fixes a bug in PluginLoaderPosix where if the last N plugins in the
canonical list crash, the callbacks are never run.

BUG=17863
TEST=On Linux, plugins work as before.


Review URL: http://codereview.chromium.org/8372015

TBR=rsesek@chromium.org
Review URL: http://codereview.chromium.org/8351014

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106977 0039d316-1c4b-4281-b951-d872f2087c98
2011-10-24 21:06:16 +00:00
rsesek@chromium.org
7ccfb894aa [Linux] Load plugins out-of-process.
This also fixes a bug in PluginLoaderPosix where if the last N plugins in the
canonical list crash, the callbacks are never run.

BUG=17863
TEST=On Linux, plugins work as before.


Review URL: http://codereview.chromium.org/8372015

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106962 0039d316-1c4b-4281-b951-d872f2087c98
2011-10-24 20:01:48 +00:00
rsesek@chromium.org
d4af1e727c Gracefully handle child process death in out-of-process plugin loading.
This also queues requests to load plugins, based on http://codereview.chromium.org/8243010/.

BUG=100053
TEST=Install Sonix webcam driver on OS X Lion and try to load a Flash video. It plays.

Review URL: http://codereview.chromium.org/8318028

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106738 0039d316-1c4b-4281-b951-d872f2087c98
2011-10-21 17:45:43 +00:00
rsesek@chromium.org
6be08ae197 Move PluginLoaderClient to PluginLoaderPosix in its own file.
BUG=none
TEST=none


Review URL: http://codereview.chromium.org/8334004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106003 0039d316-1c4b-4281-b951-d872f2087c98
2011-10-18 02:23:23 +00:00