summaryrefslogtreecommitdiffstats
path: root/content/browser/browser_child_process_host_impl.h
Commit message (Collapse)AuthorAgeFilesLines
* Allow multiple NaCl modules to be debugged.bradnelson@google.com2014-01-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Assigning the first NaCl module to load to port 4014, allowing other to be dynamic, using a code path currently used for testing. Expose the port used by each module in the Task Manager UI to make it available to users debugging NaCl modules. Follow on changes will add extension api fields to make debuggable modules discoverable to a web based debugger. NOTE: The debug stub port on windows is opened at a different layer (inside nacl, only availabled with --disable-sandbox). This will be exposed in a follow on change. Reviewers: yoshiki@chromium.org (for task_manager) pkasting@chromium.org (for browser/ui) brettw@chromium.org (for content) noelallen@chromium.org (for nacl) BUG=328714 TEST=trybots R=yoshiki@chromium.org,pkasting@chromium.org,brettw@chromium.org,noelallen@chromium.org Review URL: https://codereview.chromium.org/102073008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244041 0039d316-1c4b-4281-b951-d872f2087c98
* Convert string16 to base::string16 in content.brettw@chromium.org2013-12-031-1/+1
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/102593002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238447 0039d316-1c4b-4281-b951-d872f2087c98
* Make BrowserMessageFilter not derive from IPC::ChannelProxy::MessageFilter. ↵jam@chromium.org2013-10-011-0/+4
| | | | | | | | | | This allows us to hide the OnMessageReceived which shouldn't be overridden from child classes, and also avoid the pattern of requiring an overridden method to have to call to the base class. R=scherkus@chromium.org, scherkus Review URL: https://codereview.chromium.org/24514003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226251 0039d316-1c4b-4281-b951-d872f2087c98
* Move AlterEnvironment to base/environment.h, implement on Windows. This ↵brettw@chromium.org2013-08-301-1/+1
| | | | | | | | | | | | | 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
* Fix getting exit status for browser child process.jln@chromium.org2013-08-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | This makes BrowserChildProcessHost::GetTerminationStatus() similar to RenderProcessHostImpl::GetChildTerminationStatus(). Linux requires waitpid() to block to get an exit status reliably. Otherwise the kernel is at liberty to not reap the process, even if it's already currently exiting or dead. If we know that a process is dead, we should make use of the known_dead argument to ChildProcessLauncher::GetChildTerminationStatus(), as does RenderProcessHostImpl::GetChildTerminationStatus(). A discussion of this tricky issue is available in crbug.com/157458 and the related CL. This will, among other things, fix NaCl's crash throttling security measure. BUG=274827,nativeclient:359 R=mseaborn@chromium.org, piman@chromium.org Review URL: https://codereview.chromium.org/23019012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219814 0039d316-1c4b-4281-b951-d872f2087c98
* Created multi-process-friendly PowerMonitor interface.bajones@chromium.org2013-08-021-0/+3
| | | | | | | | | | | | | PowerMonitor status is now captured in the browser process, which has the appropriate UI thread, and then sent via IPC to other processes which are interested in the power state. BUG=236031 R=apatrick@chromium.org, jam@chromium.org, jar@chromium.org, jvoung@chromium.org, kbr@chromium.org, mpcomplete@chromium.org, palmer@chromium.org, piman@chromium.org, vandebo@chromium.org Review URL: https://codereview.chromium.org/17074009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215381 0039d316-1c4b-4281-b951-d872f2087c98
* Update include paths in content/browser for base/process changes.rsesek@chromium.org2013-07-231-1/+1
| | | | | | | | | 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
* Lower the priority of shared workers that aren't associated with the ↵simonhatch@chromium.org2013-05-311-0/+3
| | | | | | | | | | | | | | | | | foreground tab. This should help out less powerful devices in the case where there's a shared worker in another tab and a cpu intensive page in the foreground. BUG= TEST=Open a doc, see webworker running, switch tabs and check webworker's priority by outputting contents of /sys/fs/cgroup/cpu/chrome_renderers/background/cgroup.proc on ChromeOS. With an open doc in a background tab, run 720p video (ie. youtube) at fullscreen, should stay fairly smooth. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=199840 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=200932 Review URL: https://chromiumcodereview.appspot.com/14137016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203272 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 200932 "Lower the priority of shared workers that aren't ..."simonhatch@chromium.org2013-05-201-3/+0
| | | | | | | | | | | | | | | | | | | > Lower the priority of shared workers that aren't associated with the foreground tab. > > This should help out less powerful devices in the case where there's a shared worker in another tab and a cpu intensive page in the foreground. > > BUG= > TEST=Open a doc, see webworker running, switch tabs and check webworker's priority by outputting contents of /sys/fs/cgroup/cpu/chrome_renderers/background/cgroup.proc on ChromeOS. With an open doc in a background tab, run 720p video (ie. youtube) at fullscreen, should stay fairly smooth. > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=199840 > > Review URL: https://chromiumcodereview.appspot.com/14137016 TBR=simonhatch@chromium.org Review URL: https://codereview.chromium.org/15465006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201090 0039d316-1c4b-4281-b951-d872f2087c98
* Lower the priority of shared workers that aren't associated with the ↵simonhatch@chromium.org2013-05-181-0/+3
| | | | | | | | | | | | | | | foreground tab. This should help out less powerful devices in the case where there's a shared worker in another tab and a cpu intensive page in the foreground. BUG= TEST=Open a doc, see webworker running, switch tabs and check webworker's priority by outputting contents of /sys/fs/cgroup/cpu/chrome_renderers/background/cgroup.proc on ChromeOS. With an open doc in a background tab, run 720p video (ie. youtube) at fullscreen, should stay fairly smooth. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=199840 Review URL: https://chromiumcodereview.appspot.com/14137016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200932 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 199840 "Lower the priority of shared workers that aren't ..."simonhatch@chromium.org2013-05-131-3/+0
| | | | | | | | | | | | | | | | | > Lower the priority of shared workers that aren't associated with the foreground tab. > > This should help out less powerful devices in the case where there's a shared worker in another tab and a cpu intensive page in the foreground. > > BUG= > TEST=Open a doc, see webworker running, switch tabs and check webworker's priority by outputting contents of /sys/fs/cgroup/cpu/chrome_renderers/background/cgroup.proc on ChromeOS. With an open doc in a background tab, run 720p video (ie. youtube) at fullscreen, should stay fairly smooth. > > Review URL: https://chromiumcodereview.appspot.com/14137016 TBR=simonhatch@chromium.org Review URL: https://codereview.chromium.org/15012025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@199847 0039d316-1c4b-4281-b951-d872f2087c98
* Lower the priority of shared workers that aren't associated with the ↵simonhatch@chromium.org2013-05-131-0/+3
| | | | | | | | | | | | | foreground tab. This should help out less powerful devices in the case where there's a shared worker in another tab and a cpu intensive page in the foreground. BUG= TEST=Open a doc, see webworker running, switch tabs and check webworker's priority by outputting contents of /sys/fs/cgroup/cpu/chrome_renderers/background/cgroup.proc on ChromeOS. With an open doc in a background tab, run 720p video (ie. youtube) at fullscreen, should stay fairly smooth. Review URL: https://chromiumcodereview.appspot.com/14137016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@199840 0039d316-1c4b-4281-b951-d872f2087c98
* Split the ProcessType enum into process types that content knows about ↵jam@chromium.org2013-03-221-1/+1
| | | | | | | | | | | (which will remain in src\content) and those that are for chrome (which moved to src\chrome). This way we won't get any more layering violations where nacl code is in content. Also move the NaCl command line switches to chrome. BUG=191682 Review URL: https://codereview.chromium.org/12662019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189763 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor sandbox_policy.cc so that it doesn't contain the sandbox policies ↵jam@chromium.org2013-03-201-1/+1
| | | | | | | | | | | | | | | | | | | | 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
* Windows: BrowserChildProcessHostImpl reports OnProcessCrashed if the child ↵apatrick@chromium.org2013-03-061-0/+13
| | | | | | | | | | | | | | | | process crashes before connecting the IPC channel. When a child process crashes, this is generally detected by an error on the IPC channel, i.e. OnChannelError being called. However, if the child process exits or crashes before this IPC channel has been established, the crash is lost. The browser process sees the child process being launched but never learns of its termination. This patch uses a WaitableEventWatcher to track the lifetime of the child process up to the point the IPC channel is connected. If the child process crashes in the interim, the usual OnProcessCrashed handler is invoked. This is important for the GPU child process because it is prone to crashing before the IPC channel is established; it has to initialize Direct3D before the sandbox is turned on. This would lead to a browser hang if Direct3D or the driver crashed during initialization. BUG=177611 Review URL: https://chromiumcodereview.appspot.com/12374061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186498 0039d316-1c4b-4281-b951-d872f2087c98
* content: convert child process notifications to observer usagephajdan.jr@chromium.org2013-02-281-4/+9
| | | | | | | | BUG=170921 Review URL: https://codereview.chromium.org/12212089 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185337 0039d316-1c4b-4281-b951-d872f2087c98
* Use base namespace for FilePath in content/browserbrettw@chromium.org2013-02-071-1/+1
| | | | | | Review URL: https://codereview.chromium.org/12213066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@181349 0039d316-1c4b-4281-b951-d872f2087c98
* Move the remaning files in content\common to the content namespace.jam@chromium.org2012-10-241-13/+13
| | | | | | Review URL: https://codereview.chromium.org/11235068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163732 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Add a note to BrowserChildProcessHost::Launch().thestig@chromium.org2012-07-171-5/+5
| | | | | | | | | BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10787027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146943 0039d316-1c4b-4281-b951-d872f2087c98
* Remove #pragma once from contentajwong@chromium.org2012-07-111-1/+0
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10696166 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146071 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the code to wait on disconnected child processes to get the exit ↵jam@chromium.org2012-07-091-16/+1
| | | | | | | | code. This was done in r101435 to fix a problem where we were seeing processes "quit" but the result code wasn't ready. It looks like r68831 caused this, since it made the channel be disconnected before the process exits. Review URL: https://chromiumcodereview.appspot.com/10702048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145676 0039d316-1c4b-4281-b951-d872f2087c98
* Small cleanup in BrowserChildProcessHost. ↵jam@chromium.org2012-06-191-1/+0
| | | | | | | | ChildProcessHostDelegate::ShutdownStarted isn't called. Review URL: https://chromiumcodereview.appspot.com/10559047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142989 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove base::environment_vector and ↵thestig@chromium.org2012-02-241-2/+2
| | | | | | | | | | | 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
* Rename BrowserChildProcessHost implementation class to ↵jam@chromium.org2012-01-231-0/+113
BrowserChildProcessHostImpl. BUG=98716 Review URL: https://chromiumcodereview.appspot.com/9117006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118758 0039d316-1c4b-4281-b951-d872f2087c98