summaryrefslogtreecommitdiffstats
path: root/ipc/ipc_message_utils.h
Commit message (Collapse)AuthorAgeFilesLines
* base: string_util.h -> utf_string_conversions.h fix.jhawkins@chromium.org2010-03-091-1/+3
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/678001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40972 0039d316-1c4b-4281-b951-d872f2087c98
* Added support for opening a GPU command buffer from a renderer processes ↵apatrick@chromium.org2010-03-051-1/+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
* Take out intptr_t IPC serialization support to prevent people from sending ↵jam@chromium.org2010-02-091-15/+11
| | | | | | | | pointers between trusted and untrusted processes. Move HWNDs and other Windows HANDLEs serialization to use 32 bits even on 64 bit platforms since that's all that's needed. Review URL: http://codereview.chromium.org/565001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38455 0039d316-1c4b-4281-b951-d872f2087c98
* linux: build with -Wextraevan@chromium.org2010-02-051-2/+2
| | | | | | | | | | | | 95% of this is removing "const" from return types, but turning this on found one bug! (A "for" loop that expected its iterator to go negative but which was using an unsigned type.) BUG=34160 Review URL: http://codereview.chromium.org/570012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38266 0039d316-1c4b-4281-b951-d872f2087c98
* Add the ability for the GPU process to be used to paint the backing store of abrettw@chromium.org2010-01-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tab. This is the first pass and is currently a bit buggy and incomplete. This patch refactors the backing store to make it a virtual interface which is then implemented by the platform-specific backing stores. This cleans up the multi-platform aspects of the old code, and also makes it possible to create different backing stores (such as ones in another process). This renames the BackingStore::PaintRect function to PaintToBackingStore which clears up what it does. I would often get confused and think that it paints the backing store to the screen. This makes a common way to capture backing store information and adds it to the backing store API. This removed a bunch of ugly ifdefs. This adds the ability for a backing store to specify that the TransportDIB should not be freed by RenderWidgetHost when painting is complete. This is necessary since the out-of-process version needs to use it after the RenderWidget paint function has returned. This pushes up the vector of copy_rect from RenderWidgetHost to the actual BackingStores. This prevents us from sending duplicate data over IPC. It also makes the common non-IPC case more efficient, since we end up setting up various surfaces only once when there are multiple update rects. BUG=none TEST=none Review URL: http://codereview.chromium.org/523028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36075 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid calling vector resize() with excessive size parameter: fix broken ↵cevans@chromium.org2009-12-311-13/+7
| | | | | | | | | | | integer overflow checks, or remove resize() calls to simplify non-hot-path cases, or add stronger validations as appropriate. BUG=31364 TEST=NONE Review URL: http://codereview.chromium.org/519031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35414 0039d316-1c4b-4281-b951-d872f2087c98
* Defense-in-depth: initialize some variables.cevans@chromium.org2009-12-301-2/+2
| | | | | | | | | BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/517025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35387 0039d316-1c4b-4281-b951-d872f2087c98
* Move the utility process messages to their own file now that we have more thanbrettw@chromium.org2009-12-151-0/+2
| | | | | | | | | | 16 message types. BUG=none TEST=none Review URL: http://codereview.chromium.org/460119 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34597 0039d316-1c4b-4281-b951-d872f2087c98
* Added CommandBufferProxy, CommandBufferStub. Replaced NPAPI with IPC for ↵apatrick@google.com2009-12-121-4/+1
| | | | | | | | | | | synchronous messages. WebPluginDelegateImpl can instantiate a command buffer. Removed remaining dependencies on NPAPI. TEST=none BUG=none Review URL: http://codereview.chromium.org/465040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34397 0039d316-1c4b-4281-b951-d872f2087c98
* Added new IPC message class for CommandBuffer.apatrick@google.com2009-12-041-6/+4
| | | | | | | | | | Increased IPC message header type from 16 bits to 32 bits so it can accomodate more message classes. TEST=none BUG=none Review URL: http://codereview.chromium.org/399013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33832 0039d316-1c4b-4281-b951-d872f2087c98
* First step towards NaCl-Chrome integration:1. NaCl plugin becomes a built-in ↵gregoryd@google.com2009-09-291-0/+1
| | | | | | | | | | | plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "--internal-nacl" is required to enable the built-in NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandboxCommitted: http://src.chromium.org/viewvc/chrome?view=rev&revision=27315 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=27324 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=27397 Review URL: http://codereview.chromium.org/153002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27445 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 27397 - First step towards NaClChrome integration:1. NaCl plugin ↵gregoryd@google.com2009-09-281-1/+0
| | | | | | | | | | | | | becomes a builtin plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "internalnacl" is required to enable the builtin NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandboxCommitted: http://src.chromium.org/viewvc/chrome?view=rev&revision=27315 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=27324 Review URL: http://codereview.chromium.org/153002 TBR=gregoryd@google.com Review URL: http://codereview.chromium.org/235042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27400 0039d316-1c4b-4281-b951-d872f2087c98
* First step towards NaCl-Chrome integration:1. NaCl plugin becomes a built-in ↵gregoryd@google.com2009-09-281-0/+1
| | | | | | | | | plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "--internal-nacl" is required to enable the built-in NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandboxCommitted: http://src.chromium.org/viewvc/chrome?view=rev&revision=27315 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=27324 Review URL: http://codereview.chromium.org/153002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27397 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 27324 - First step towards NaClChrome integration:1. NaCl plugin ↵gregoryd@google.com2009-09-261-1/+0
| | | | | | | | | | | | becomes a builtin plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "internalnacl" is required to enable the builtin NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandboxCommitted: http://src.chromium.org/viewvc/chrome?view=rev&revision=27315 Review URL: http://codereview.chromium.org/153002 TBR=bradnelson@google.com Review URL: http://codereview.chromium.org/244017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27326 0039d316-1c4b-4281-b951-d872f2087c98
* First step towards NaCl-Chrome integration:1. NaCl plugin becomes a built-in ↵gregoryd@google.com2009-09-261-0/+1
| | | | | | | | plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "--internal-nacl" is required to enable the built-in NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandboxCommitted: http://src.chromium.org/viewvc/chrome?view=rev&revision=27315 Review URL: http://codereview.chromium.org/153002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27324 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 27315 - First step towards NaClChrome integration:1. NaCl plugin ↵gregoryd@google.com2009-09-261-1/+0
| | | | | | | | | | | | becomes a builtin plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "internalnacl" is required to enable the builtin NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandbox Review URL: http://codereview.chromium.org/153002 TBR=gregoryd@google.com Review URL: http://codereview.chromium.org/244014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27317 0039d316-1c4b-4281-b951-d872f2087c98
* First step towards NaCl-Chrome integration:1. NaCl plugin becomes a built-in ↵gregoryd@google.com2009-09-261-0/+1
| | | | | | | | plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "--internal-nacl" is required to enable the built-in NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandbox Review URL: http://codereview.chromium.org/153002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27315 0039d316-1c4b-4281-b951-d872f2087c98
* Preparing rollback in case things don't work out.bradnelson@google.com2009-09-181-1/+0
| | | | | | | | | | | This rolls back 26540, gregoryd's attempt at a nacl landing. BUG=None TEST=None Review URL: http://codereview.chromium.org/213019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26543 0039d316-1c4b-4281-b951-d872f2087c98
* This is a copy of http://codereview.chromium.org/153002/showgregoryd@google.com2009-09-181-0/+1
| | | | | | | | | | First step towards NaCl-Chrome integration:1. NaCl plugin becomes a built-in plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. This CL relies on another CL that contains the changes on the Native Client side: http://codereview.chromium.org/1501904. Command line flag "--internal-nacl" is required to enable the built-in NaCl plugin.5. NaCl still cannot run in Chrome sandbox, so the "--no-sandbox" flag is also required TBR=bradnelson Review URL: http://codereview.chromium.org/207025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26540 0039d316-1c4b-4281-b951-d872f2087c98
* Add a nullable string16 class to base. It combines a string16 + a null paramjorlow@chromium.org2009-08-271-0/+27
| | | | | | | | | | | | | | | | | | in order to cover all the possible states of a WebKit string. For strings where the null state is not meaninfully different from the empty state, this class should NOT be used. There are, however, some cases where we do need to track null. LocalStorage is an example. This class should be a fairly light weight way to do so. This change also adds implicit conversion to and from WebStrings. This also switches LocalStorage's IPCs over to using this new class. BUG=17343 TEST=none Review URL: http://codereview.chromium.org/174484 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24574 0039d316-1c4b-4281-b951-d872f2087c98
* Implementation of getBackgroundPage(), getToolstrips(), andaa@chromium.org2009-08-141-5/+13
| | | | | | | | | | | | | | | getTabContentses(). This lands http://codereview.chromium.org/159067. Raf, the only thing you need to look at is the changes to extensions_process_bindings.js and extension_api.json. BUG=13577 TEST=Browser tests added Review URL: http://codereview.chromium.org/164458 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23422 0039d316-1c4b-4281-b951-d872f2087c98
* Cross-process Message Port implementation.jam@chromium.org2009-08-041-0/+19
| | | | | | | | | I'm sending this first, then I'll add support to workers in another changelist to avoid making this change larger. TEST=running message port related layout tests in ui_tests Review URL: http://codereview.chromium.org/159372 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22356 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the massive type confusion for ParamTraits in the IPC code.deanm@chromium.org2009-07-281-49/+22
| | | | | | | | | | | | | By using non-primitive types (like size_t), we are constantly having problems with duplicate definitions for the same type. Just implement all of the IPC using the primitive types (int, long, etc), and there is no confusion. Also fix a bunch of incorrect format specifiers. Review URL: http://codereview.chromium.org/159520 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21872 0039d316-1c4b-4281-b951-d872f2087c98
* posix: cut down on IPC logging spew a bitevan@chromium.org2009-07-281-1/+1
| | | | | | | | We don't need to show the message type if we know the message name. Review URL: http://codereview.chromium.org/159511 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21851 0039d316-1c4b-4281-b951-d872f2087c98
* posix: handle chars more delicately in ipc loggingevan@chromium.org2009-07-271-4/+25
| | | | | | | | | | | | | Since we're displaying to stdout, we don't want to dump arbitrary bytes to the IPC log. Make it display only ASCII and clip it to a reasonable max length. (PS: I tried to resolve the vector<char> / vector<unsigned char> schism at first but it bleeds across out entire codebase...) Review URL: http://codereview.chromium.org/159430 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21705 0039d316-1c4b-4281-b951-d872f2087c98
* Split the IPC code into ipc/agl@chromium.org2009-07-221-0/+1221
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Revert "Move IPC code to ipc/"agl@chromium.org2009-04-031-1258/+0
| | | | | | | This reverts commit r13062 which, unsurprisingly, broke the build. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13063 0039d316-1c4b-4281-b951-d872f2087c98
* Move IPC code to ipc/agl@chromium.org2009-04-031-0/+1258
(No review URL: Rietvelt couldn't cope) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13062 0039d316-1c4b-4281-b951-d872f2087c98