summaryrefslogtreecommitdiffstats
path: root/ipc/ipc_channel_handle.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove the rest of #pragma once in one big CL.ajwong@chromium.org2012-07-111-1/+0
| | | | | | | | | For context see this thread: https://groups.google.com/a/chromium.org/forum/?fromgroups#!topic/chromium-dev/RMcVNGjB4II TBR=thakis,pkasting,jam git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146163 0039d316-1c4b-4281-b951-d872f2087c98
* Initialize IPC:ChannelHandle from existing HANDLEamit@chromium.org2012-01-241-7/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1] Add a ctor to IPC:ChannelHandle that takes a pipe HANDLE. 2] Corresponding change in Channel::ChannelImpl::CreatePipe to attach to the given pipe instead of creating a new one. Being able to hand over a pipe handle to IPC::Channel in this way has other advantages such as using anonymous pipes and safer connections between process with different level of privileges. Here's how it can be done: Server Process: - Create a server pipe, anonymous pipe is fine too. - Server creates a client handle of pipe using CreateFile. - Use DuplicateHandle to duplicate this handle for the client process. - pass over the handle value to the client process, say using comman line. Client process: - Simply receive the handle from the server and hand it over to IPC:Channel using IPC::ChannelHandle. Apart from being more flexible, this is more secure as it removes the 'connection window' while using names. BUG=none TEST=none Review URL: http://codereview.chromium.org/9150030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118786 0039d316-1c4b-4281-b951-d872f2087c98
* Fix to bug 75303abeera@google.com2011-06-241-1/+4
| | | | | | | | | | Makes the sun_path an absolute path("/tmp/pipe_name") to allow IPC between processes with different working directories BUG=75303 TEST=NONE Review URL: http://codereview.chromium.org/7167017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90400 0039d316-1c4b-4281-b951-d872f2087c98
* Convert over to channel handlesdmaclach@chromium.org2010-12-081-8/+9
| | | | | | | | | | | | This hides some of the internals of the posix channels from users, and gets rid of several #ifdef POSIX blocks. Generally simplifies usage of channels xplatform. BUG=none TEST=build Review URL: http://codereview.chromium.org/5598010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68621 0039d316-1c4b-4281-b951-d872f2087c98
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-261-0/+1
| | | | | | | | | BUG=50273 TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux TBR: erg git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
* Added support for opening a GPU command buffer from a renderer processes ↵apatrick@chromium.org2010-03-051-0/+2
| | | | | | | | | | | | through a GPU channel. Probably only works in windows only so far. TEST=none BUG=none Review URL: http://codereview.chromium.org/657046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40783 0039d316-1c4b-4281-b951-d872f2087c98
* Split the IPC code into ipc/agl@chromium.org2009-07-221-0/+45
This splits the ipc code from the common project. The 'common' project pulls in all of webkit, the v8 bindings, skia, googleurl, and a number of other projects which makes it very difficult to deal with especially for external projects wanting just to use some of Chromium's infrastructure. This puts the ipc code into its top-level ipc/ directory with a dependency only on base. The common project depends on the new ipc/ipc.gyp:ipc target so that all projects currently pulling common in to get the IPC code still have it available. This mostly follows agl's pre-gyp attempt to do this which was r13062. Known issues: - Currently a number of projects depend on chrome/chrome.gyp:common in order to use the IPC infrastructure. Rather than fixing all of these dependencies I have made common depend on ipc/ipc.gyp:ipc and added "ipc" to the include_rules section of DEPS so that checkdeps.py doesn't complain. Over time projects that need IPC should depend on the IPC project themselves and dependencies on common removed, although I don't think many projects that need IPC will be able to get away without common currently. - ipc/ipc_message_macros.h still has #include "chrome/common/..." inside of a ipc/ should not refer to files in chrome/... now. I'm not sure how to resolve this since it's really an IDE bug - the named pipe name (windows+linux) and the logging event name (all) + env variable (posix) refer explicitly to 'Chrome' which somewhat hurts the illusion of ipc/ being an independent library. I think this should be examined in a subsequent, much smaller patch. - I've eliminated the IPC.SendMsgCount counter since it was implemented in a way to create a dependency from ipc/ to chrome/common/chrome_counters. This is the same approach that r13062 took. http://codereview.chromium.org/155905 (Patch from James Robinson) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21342 0039d316-1c4b-4281-b951-d872f2087c98