summaryrefslogtreecommitdiffstats
path: root/content/browser/child_process_launcher.cc
Commit message (Collapse)AuthorAgeFilesLines
* Linux: fix getting termination status for known dead processes.jln@chromium.org2014-01-101-0/+3
| | | | | | | | | | | | | | | | | | While a process is being destroyed by the kernel, it will loose its IPC file descriptors which signals to the browser that the process is dead. In that timeframe, doing a non blocking waitpid() is racy and can indicate the process as still being running while the kernel is still destroying it. We unify Linux with OS X and use known_dead even in the non Zygote case. BUG=332635 NOTRY=true Review URL: https://codereview.chromium.org/130633002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244069 0039d316-1c4b-4281-b951-d872f2087c98
* LOG(INFO) -> VLOG(0) in content/scottmg@chromium.org2013-11-231-1/+1
| | | | | | | | | | | | Let me know if you prefer to keep some of these as INFO or just delete them. R=jam@chromium.org BUG=322805 Review URL: https://codereview.chromium.org/84293002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236936 0039d316-1c4b-4281-b951-d872f2087c98
* Android: remove ContentViewCore from the renderer crash codepath.ppi@chromium.org2013-11-081-3/+8
| | | | | | | | | | | | | | | | | This patch employs base::TerminationStatus to communicate the state of the oom bindings when a child process dies and exposes renderProcessGone() in WebContentsObserverAndroid, removing the need for ContentViewCore to be involved in the renderer crash codepath. This allows to drop tracking the pid of the renderer process in ContentViewCore and eliminates the need for the |tab_crashed_| flag in native ContentViewCoreImpl. BUG=314583 Review URL: https://codereview.chromium.org/58203002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233905 0039d316-1c4b-4281-b951-d872f2087c98
* Pass StatsTable shared memory via global descriptors on Posix rather than ↵rmcilroy@chromium.org2013-10-161-13/+18
| | | | | | | | | | | | | | using named shared memory. This is required for to enable chrome://stats Android where there is no /dev/shm. This also provides the added advantage of not requiring the --no-sandbox command line flag with the --enable-stats-table on Posix. BUG=None Review URL: https://codereview.chromium.org/22911027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228903 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a bug where killing pages doesn't yield a sad-tabccameron@chromium.org2013-09-171-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The determination of whether or not to put up a sad tab page is made based on the termination status of the renderer process. The termination status of the renderer process is checked when the channel between the browser and the renderer stops working. There is a race here because there is no reason to believe that the renderer process has finished terminating at the time that the browser detects that its channel to the renderer is dead. If renderer process is believed to be still running at the moment when the decision to put up the sad tab page is taken, then no sad tab will be put up, the view of the renderer will be removed (eventually), and a transparent window will result. This bug was previously fixed on Linux with with https://chromiumcodereview.appspot.com/11316261 this patch expands that fix to Mac. In particular, if the renderer process is known to be dead, wait for the process to terminate before taking its termination status. To be sure that the browser does not wait forever on a renderer that is not exiting, send a kill signal to the renderer before doing the wait. BUG=167538 Review URL: https://chromiumcodereview.appspot.com/23866011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223526 0039d316-1c4b-4281-b951-d872f2087c98
* Define magic descriptors in one place.dongseong.hwang@intel.com2013-09-111-1/+2
| | | | | | | | | Currently, zygote and sandbox ipc descriptors are defined in 3 places. This CL defines them in one place. Review URL: https://chromiumcodereview.appspot.com/23956010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222594 0039d316-1c4b-4281-b951-d872f2087c98
* Move AlterEnvironment to base/environment.h, implement on Windows. This ↵brettw@chromium.org2013-08-301-4/+4
| | | | | | | | | | | | | re-implements the Posix version to be more like the Windows version and to share some parsing code. The new version will be somewhat slower due to some extra mallocs, but is shorter and more clear. I didn't want to implement a super optimized version on Windows, and the alternative would be to keep the new Windows version and the old Posix version in parallel which seemed less desirable. This changes the input from a vector to a map and just adds the map on the LaunchOptions rather than requiring the caller to set a pointer. This cleans up the callsites somewhat. BUG= R=viettrungluu@chromium.org Review URL: https://codereview.chromium.org/22750002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220608 0039d316-1c4b-4281-b951-d872f2087c98
* Update include paths in base for base/process changes.rsesek@chromium.org2013-07-251-0/+1
| | | | | | | | | | | | | | This also updates any stragglers that I missed, fixes mistakes I may have made, and deletes the forwarding headers. After this CL, the proces_util.h project is complete. BUG=242290 TBR=brettw@chromium.org Review URL: https://codereview.chromium.org/20265004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@213702 0039d316-1c4b-4281-b951-d872f2087c98
* Update include paths in content/browser for base/process changes.rsesek@chromium.org2013-07-231-1/+0
| | | | | | | | | BUG=242290 TBR=sky@chromium.org Review URL: https://codereview.chromium.org/19495006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@213225 0039d316-1c4b-4281-b951-d872f2087c98
* Update content/ to use scoped_refptr<T>::get() rather than implicit ↵rsleevi@chromium.org2013-06-021-1/+1
| | | | | | | | | | | | | "operator T*" Linux fixes BUG=110610 TBR=darin Review URL: https://chromiumcodereview.appspot.com/16294003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203624 0039d316-1c4b-4281-b951-d872f2087c98
* [Mac] Remove base::LaunchSynchronize and rewrite content::MachBroker.rsesek@chromium.org2013-04-111-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | This restructures the way MachBroker parent-child communication happens. Now, the MachBroker lock will be held for the duration of LaunchProcess until the PID is returned and inserted into the MachMap. Since the lock must also be acquired on the broker thread to insert the received task port into the MachMap, this ensures that the placeholder is always inserted before the task port. MachBroker has also been rewritten to use Mach IPC directly, rather than the C++ wrappers in base/mach_ipc_mac.h. The wrappers are not flexible enough to allow the use of an audit trailer. This trailer is used to verify the PID of the sender of the check in message in the parent. Previously, this was done by another kernel trap, pid_for_task. BUG=179923 Originally Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=193486 Reverted: https://src.chromium.org/viewvc/chrome?view=rev&revision=193511 Review URL: https://codereview.chromium.org/13845008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193638 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 193486 "[Mac] Remove base::LaunchSynchronize and rewrite ..."rsesek@chromium.org2013-04-111-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | > [Mac] Remove base::LaunchSynchronize and rewrite content::MachBroker. > > This restructures the way MachBroker parent-child communication happens. Now, > the MachBroker lock will be held for the duration of LaunchProcess until the > PID is returned and inserted into the MachMap. Since the lock must also be > acquired on the broker thread to insert the received task port into the > MachMap, this ensures that the placeholder is always inserted before the task > port. > > MachBroker has also been rewritten to use Mach IPC directly, rather than the C++ > wrappers in base/mach_ipc_mac.h. The wrappers are not flexible enough to allow > the use of an audit trailer. This trailer is used to verify the PID of the > sender of the check in message in the parent. Previously, this was done by > another kernel trap, pid_for_task. > > BUG=179923 > > > Review URL: https://chromiumcodereview.appspot.com/13845008 TBR=rsesek@chromium.org Review URL: https://codereview.chromium.org/14120002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193511 0039d316-1c4b-4281-b951-d872f2087c98
* [Mac] Remove base::LaunchSynchronize and rewrite content::MachBroker.rsesek@chromium.org2013-04-101-18/+18
| | | | | | | | | | | | | | | | | | | | | | This restructures the way MachBroker parent-child communication happens. Now, the MachBroker lock will be held for the duration of LaunchProcess until the PID is returned and inserted into the MachMap. Since the lock must also be acquired on the broker thread to insert the received task port into the MachMap, this ensures that the placeholder is always inserted before the task port. MachBroker has also been rewritten to use Mach IPC directly, rather than the C++ wrappers in base/mach_ipc_mac.h. The wrappers are not flexible enough to allow the use of an audit trailer. This trailer is used to verify the PID of the sender of the check in message in the parent. Previously, this was done by another kernel trap, pid_for_task. BUG=179923 Review URL: https://chromiumcodereview.appspot.com/13845008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193486 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor sandbox_policy.cc so that it doesn't contain the sandbox policies ↵jam@chromium.org2013-03-201-7/+9
| | | | | | | | | | | | | | | | | | | | for all processes. Instead have whoever creates a sandboxed process set this data. This allows us to clean a few NaCl related changes in content: -remove NaCl sandbox rules from content -remove the hack for ifdef'ing out the GPU policy since it didn't link for nacl64.exe -remove the 1GB memory reservation for the NaCl loader process out of content Other cleanup: -renamed sandbox_policy.* to sandbox_win.* to match the other platform-specific sandbox files -moved BrokerGetFileHandleForProcess to internal content files since it's not called from outside -remove AddGpuDllEvictionPolicy since it was redundant (the one dll it removed was already listed in the generic list) There's still more cleanup to be done in the sandbox code (i.e. remove chrome frame switch, nacl process type switch etc). I will do that in future changes. BUG=191682 Review URL: https://codereview.chromium.org/12805004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189175 0039d316-1c4b-4281-b951-d872f2087c98
* Fix x86 build of Android.yfriedman@chromium.org2013-03-191-1/+1
| | | | | | | | | | | | | | After https://chromiumcodereview.appspot.com/12321131/ there are two copies of child_process_launcher.cc content/browser/android and in content/browser. Rename the former to avoid having duplicate basenames which is a problem for some toolchains. This wasn't seen in chromium as there isn't coverage for x86. BUG=178382 TBR=joth,jam Review URL: https://chromiumcodereview.appspot.com/12575010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188970 0039d316-1c4b-4281-b951-d872f2087c98
* Since some child processes, such as PPAPI_BROKER plugin, might not run in ↵kjyoun@google.com2013-03-191-5/+5
| | | | | | | | | | | sandbox, Sandboxed process is renamed to Child process BUG=178382 Review URL: https://chromiumcodereview.appspot.com/12321131 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188907 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 184213rtenneti@chromium.org2013-02-251-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | | > Revert 183407 > > Child process launch - Record process creation times. > > > > Added MPArch.ChildProcessLaunchFirst and MPArch.ChildProcessLaunchSubsequent > > histograms to ltrack all child process creation times. > > > > This replaces MPArch.RendererLaunchFirst and MPArch.RendererLaunchSubsequent > > histograms that were there earlier. > > https://code.google.com/p/chrome-browser/source/browse/trunk/src/chrome/browser/renderer_host/browser_render_process_host.cc?spec=svn27589&r=27589 > > > > BUG=167326 > > R=sky@chromium.org > > > > Review URL: https://chromiumcodereview.appspot.com/12255086 > > TBR=rtenneti@chromium.org > Review URL: https://codereview.chromium.org/12328066 TBR=rtenneti@chromium.org Review URL: https://codereview.chromium.org/12328088 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184451 0039d316-1c4b-4281-b951-d872f2087c98
* Move file_path.h to base/files.brettw@chromium.org2013-02-241-1/+1
| | | | | | TBR=sky git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184344 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 183407rtenneti@chromium.org2013-02-221-31/+1
| | | | | | | | | | | | | | | | | | | | | > Child process launch - Record process creation times. > > Added MPArch.ChildProcessLaunchFirst and MPArch.ChildProcessLaunchSubsequent > histograms to ltrack all child process creation times. > > This replaces MPArch.RendererLaunchFirst and MPArch.RendererLaunchSubsequent > histograms that were there earlier. > https://code.google.com/p/chrome-browser/source/browse/trunk/src/chrome/browser/renderer_host/browser_render_process_host.cc?spec=svn27589&r=27589 > > BUG=167326 > R=sky@chromium.org > > Review URL: https://chromiumcodereview.appspot.com/12255086 TBR=rtenneti@chromium.org Review URL: https://codereview.chromium.org/12328066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184213 0039d316-1c4b-4281-b951-d872f2087c98
* Child process launch - Record process creation times.rtenneti@chromium.org2013-02-201-1/+31
| | | | | | | | | | | | | | | | Added MPArch.ChildProcessLaunchFirst and MPArch.ChildProcessLaunchSubsequent histograms to ltrack all child process creation times. This replaces MPArch.RendererLaunchFirst and MPArch.RendererLaunchSubsequent histograms that were there earlier. https://code.google.com/p/chrome-browser/source/browse/trunk/src/chrome/browser/renderer_host/browser_render_process_host.cc?spec=svn27589&r=27589 BUG=167326 R=sky@chromium.org Review URL: https://chromiumcodereview.appspot.com/12255086 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@183407 0039d316-1c4b-4281-b951-d872f2087c98
* Use base namespace for FilePath in content/browserbrettw@chromium.org2013-02-071-3/+3
| | | | | | Review URL: https://codereview.chromium.org/12213066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@181349 0039d316-1c4b-4281-b951-d872f2087c98
* [Android] Ensure android_webview doesn't start child processes.benm@chromium.org2013-01-121-0/+4
| | | | | | | | | | Android WebView runs in single process mode, fail fast with a CHECK if we try to start up a child process. Review URL: https://chromiumcodereview.appspot.com/11826052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176551 0039d316-1c4b-4281-b951-d872f2087c98
* Removing unnecessary content:: namespace qualifier.darin@chromium.org2013-01-021-2/+1
| | | | | | | | | TBR=jam@chromium.org Review URL: https://chromiumcodereview.appspot.com/11737002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174797 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: inform the Zygote when it's waiting on a dead processjln@chromium.org2012-12-061-1/+2
| | | | | | | | | | | | | | | | | If the browser calls ProcessDied() and asks the Zygote to wait (without blocking) on a dead process, the kernel might not be done destroying it and the Zygote may mistakenly claim that the process is alive. We now inform the Zygote over the IPC that the process is already dead so that it can wait synchroneously. BUG=157458 NOTRY=true Review URL: https://chromiumcodereview.appspot.com/11316261 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171450 0039d316-1c4b-4281-b951-d872f2087c98
* Move global_descriptors to base/posix.brettw@chromium.org2012-11-091-1/+1
| | | | | | | | | | This file represents a posix-only concept. BUG= Review URL: https://codereview.chromium.org/11293210 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167008 0039d316-1c4b-4281-b951-d872f2087c98
* Because of UID isolation on Android, crash dump generation has to happenjcivelli@chromium.org2012-10-241-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | in-process for renderers as well (as the browser cannot access all the necessary states of the renderer process). Breakpad has support for generating minidumps to a passed FD (as the renderer process on Android does not have permission to create file), so the flow on Android is: - when a render process is created the browser creates a file and passes its FD to the process - the renderer process initializes Breakpad with that FD - if there is a crash, Breakpad generates the minidump to that FD. - when the browser process detects a renderer stopped it checks the minidump file. If it's empty it deletes the file. If it's not empty, it means there was a crasher in which case it moves it to the crash dump folder for it to be picked up and uploaded by the Java side. BUG=None TEST=Test that minidumps are generated and uploaded when visiting about:crash and about:crashbrowserforrealz on Android and desktop Chrome. Review URL: https://chromiumcodereview.appspot.com/11189068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163917 0039d316-1c4b-4281-b951-d872f2087c98
* Move the remaning files in content\common to the content namespace.jam@chromium.org2012-10-241-13/+15
| | | | | | Review URL: https://codereview.chromium.org/11235068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163732 0039d316-1c4b-4281-b951-d872f2087c98
* Move sandbox code in content to content namespace.jam@chromium.org2012-10-231-1/+2
| | | | | | Review URL: https://codereview.chromium.org/11228040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163656 0039d316-1c4b-4281-b951-d872f2087c98
* Close leaking FDs.jcivelli@chromium.org2012-09-251-15/+18
| | | | | | | | | | | | | When starting a SandboxedProcess the resource file descriptors were leaked in the browser process, eventually causing crashers. BUG=None TEST=When using the Android content shell for a long time, it should not crash. Review URL: https://chromiumcodereview.appspot.com/10949027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158456 0039d316-1c4b-4281-b951-d872f2087c98
* On Posix, make all child processes quit when the browser dies, not just the ↵jam@chromium.org2012-07-301-1/+1
| | | | | | | | | | | renderers. On bots, seeing that sometimes child processes are hanging around after the browser process is gone. This confuses the sharding scripts. BUG=90448 Review URL: https://chromiumcodereview.appspot.com/10834068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149023 0039d316-1c4b-4281-b951-d872f2087c98
* Move zygote_host_impl_linux.* to content/browser/zygote_hostjln@chromium.org2012-07-241-1/+1
| | | | | | | | | BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10806076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148026 0039d316-1c4b-4281-b951-d872f2087c98
* Upstream ChildProcessLauncher changes for Android.yfriedman@chromium.org2012-06-281-18/+83
| | | | | | | | | | Includes updates to SandboxedProcess* to support passing multiple FDs to child processes. Review URL: https://chromiumcodereview.appspot.com/10696025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144801 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor GetCrashSignalFD to be more generic.yfriedman@chromium.org2012-06-221-21/+17
| | | | | | | | | | | | | | | Enables us to pass more file descriptors down to the child process. This will be used by the Android port. As part of this, I cleaned up a ChildProcessLauncher::Context::LaunchInternal to be a little more generic. This can result in a little extra work but cleans up the zygote/non-zygote code paths. Review URL: https://chromiumcodereview.appspot.com/10584007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143574 0039d316-1c4b-4281-b951-d872f2087c98
* Tighten up DEPS some more. NaCl/service process code are including internal ↵jam@chromium.org2012-06-041-1/+1
| | | | | | | | | content files. Fix the instances other sandbox stuff, which I'll do in a followup. BUG=98716 Review URL: https://chromiumcodereview.appspot.com/10512010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140346 0039d316-1c4b-4281-b951-d872f2087c98
* Added code so renderer would cleanly exit.asharif@chromium.org2012-04-101-2/+7
| | | | | | | | | | | | | | | | | | | | | | | This code is only invoked when --renderer-clean-exit is passed to Chrome. It does the following: 1. Makes the browser process not send a SIGTERM to its children. 2. Makes the renderer process not call _exit() in OnChannelError(). Why is this needed? The renderer process in Chrome does not exit cleanly currently so when Chrome is profiled for optimization we do not get representative data and miss out on optimization opportunities. This CL addresses that problem by ensuring that exit handlers including profile dumpers get run before the renderer exits. BUG=107584 TEST=Rebuilt Chrome with -fprofile-generate. Verified that the renderer process' profile is included when Chrome is closed. Review URL: http://codereview.chromium.org/9936002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131625 0039d316-1c4b-4281-b951-d872f2087c98
* Add an API around zygoteHost so that chrome doesn't reach into the internal ↵jam@chromium.org2012-02-251-6/+6
| | | | | | | | | content implementation. BUG=98716 Review URL: https://chromiumcodereview.appspot.com/9463029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123604 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove base::environment_vector and ↵thestig@chromium.org2012-02-241-4/+4
| | | | | | | | | | | base::file_handle_mapping_vector to StudlyCaps. BUG=none TEST=none Review URL: http://codereview.chromium.org/9429039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123438 0039d316-1c4b-4281-b951-d872f2087c98
* Don't use zygote for Android's child process launcher.satish@chromium.org2012-02-081-12/+12
| | | | | | | | | | | | | This is to get content_unittests linking. The full implementation will call into Android APIs in subsequent CLs. BUG=None TEST= Review URL: http://codereview.chromium.org/9357002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120992 0039d316-1c4b-4281-b951-d872f2087c98
* Move the ProcessWatcher methods out of content/common/process_watcher into ↵jam@chromium.org2011-11-231-2/+2
| | | | | | | | | | | base/process_util, alongside the other process methods. The only non-trivial move change is to the Windows implementation, where I changed KillProcess to use an exit code of kProcessKilledExitCode instead of content::RESULT_CODE_HUNG. cpu said that the existing code was incorrect, since GetTerminationStatus() should be mapping that result to TERMINATION_STATUS_PROCESS_WAS_KILLED. So I changed the exit code to kProcessKilledExitCode. This might make the UMA stats for killed processes to go up (and crashed to go down), but that will be an accounting change and should be zero-sum. BUG=98716 Review URL: http://codereview.chromium.org/8674003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111371 0039d316-1c4b-4281-b951-d872f2087c98
* Convert NewRunnableFunction/NewRunnableMethod calls to use base::Bind().dcheng@chromium.org2011-11-151-5/+6
| | | | | | | | | BUG=none TEST=compiles and tests pass. Review URL: http://codereview.chromium.org/8556001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110164 0039d316-1c4b-4281-b951-d872f2087c98
* Move BrowserThread to content namespace.joi@chromium.org2011-11-021-0/+2
| | | | | | | | | 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
* Split BrowserThread into public API and private implementation, step 1.joi@chromium.org2011-10-281-2/+2
| | | | | | | | | | | | | | | | | | | | | 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
* Move resource_codes to content/public/common.jam@chromium.org2011-10-251-1/+1
| | | | | | | BUG=98716 Review URL: http://codereview.chromium.org/8382021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107061 0039d316-1c4b-4281-b951-d872f2087c98
* Move content_browser_client.h to public, and while at it, movejoi@chromium.org2011-10-191-1/+1
| | | | | | | | | | | | window_container_type.h as well since it is included by content_browser_client.h BUG=98716 TEST=it builds + existing tests Review URL: http://codereview.chromium.org/8346017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106323 0039d316-1c4b-4281-b951-d872f2087c98
* Move content_switches to content\public\common.jam@chromium.org2011-10-131-1/+1
| | | | | | | BUG=98716 Review URL: http://codereview.chromium.org/8277018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105389 0039d316-1c4b-4281-b951-d872f2087c98
* Content: Log an error when we are unable to launch childrvargas@google.com2011-10-121-0/+3
| | | | | | | | | | | | | processes. BUG=82226 TEST=none Review URL: http://codereview.chromium.org/8228027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105111 0039d316-1c4b-4281-b951-d872f2087c98
* Remove RenderProcessHost::is_extension_processjochen@chromium.org2011-10-051-1/+1
| | | | | | | | | | | | Also move the --process=extension command line flag to --extension-process BUG=89642 TEST=everything still works Review URL: http://codereview.chromium.org/8113035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104173 0039d316-1c4b-4281-b951-d872f2087c98
* Move handle dumpage to the renderer process (so that it works correctly) and ↵cdn@chromium.org2011-09-201-15/+0
| | | | | | | | | | move handle enumerator into common. BUG=96488 TEST=N/A Review URL: http://codereview.chromium.org/7888024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102004 0039d316-1c4b-4281-b951-d872f2087c98
* Wait properly for renderer crashesphajdan.jr@chromium.org2011-09-191-0/+5
| | | | | | | | | | | | | | This replaces a Sleep in automation with a wait for renderer crash. It turns out that our IPC on POSIX had one loophole that caused it not to notice very early crashes, so I also fixed that. The problem was that when the child process died before connecting to the parent's IPC channel, the parent wouldn't notice the crash because the child end of the IPC pipe was kept open for too long. This change makes the code close the child end of the pipe right after forking the child. This might also help with automation not noticing the browser crash during initial launch, or at least should be a good step toward fixing that problem. BUG=38497,90489 Review URL: http://codereview.chromium.org/7870008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101760 0039d316-1c4b-4281-b951-d872f2087c98
* Fix race condition in ChildProcessLauncher. r79308 made process_ used on ↵jam@chromium.org2011-09-071-13/+17
| | | | | | | | | CHILD_PROCESS_LAUNCHER thread, even though it's not thread safe. I switched it to pass the handle directly, and made all the methods that run on CHILD_PROCESS_LAUNCHER static to make this clearer. This also makes BrowserRenderProcessHost handle the case where ChildProcessLauncher fails, which it should (just like BrowserChildProcessHost does). It's another error why the zygote is failing sometimes. Review URL: http://codereview.chromium.org/7739003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100002 0039d316-1c4b-4281-b951-d872f2087c98