summaryrefslogtreecommitdiffstats
path: root/ipc/ipc_message.cc
Commit message (Collapse)AuthorAgeFilesLines
* IPC: Get rid of FileDescriptor usage from FileDescriptorSet and Messagemorrita2014-09-241-11/+17
| | | | | | | | | | | | | | | This is a step toward to killing FileDescriptor. This change lets FiileDescriptorSet have both Files (for owning fds) and PlatformFiles (for non-owning fds). Doing this, we no longer need FileDescriptor which provides |auto_close| flag. BUG=415294 TEST=ipc_tests, ipc_mojo_unittests R=agl@chromium.org, jam@hcromium.org, viettrungluu@chromium.org Review URL: https://codereview.chromium.org/583473002 Cr-Commit-Position: refs/heads/master@{#296498}
* Ensure that any IPC sent from a child process that couldn't be deserialized ↵jam@chromium.org2014-05-151-5/+6
| | | | | | | | | | | | causes that process to be killed. Today we do this only for a subset of IPCs and not all process types. R=jar@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/283313002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270839 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 260408 "Another temporary CHECK to help track down crash ..."viettrungluu@chromium.org2014-03-301-2/+0
| | | | | | | | | | | | | | | | | > Another temporary CHECK to help track down crash in IPC. > > (Grasping at straws here.) > > TBR=sievers@chromium.org, cpu@chromium.org > BUG=357915 > > Review URL: https://codereview.chromium.org/218513002 TBR=viettrungluu@chromium.org Review URL: https://codereview.chromium.org/218573002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260418 0039d316-1c4b-4281-b951-d872f2087c98
* Another temporary CHECK to help track down crash in IPC.viettrungluu@chromium.org2014-03-301-0/+2
| | | | | | | | | | | (Grasping at straws here.) TBR=sievers@chromium.org, cpu@chromium.org BUG=357915 Review URL: https://codereview.chromium.org/218513002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260408 0039d316-1c4b-4281-b951-d872f2087c98
* Use StaticAtomicSequenceNumber instead of subtle::Atomic32 in IPCMessage.andrew@tullo.ch2014-02-251-3/+3
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/177123004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253169 0039d316-1c4b-4281-b951-d872f2087c98
* Revert https://src.chromium.org/viewvc/chrome?view=rev&revision=231330bbudge@chromium.org2013-11-041-4/+4
| | | | | | | | | | This is a speculative revert to see if it's the cause of hanging renderers. BUG=313112 Review URL: https://codereview.chromium.org/57783006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232819 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unused IPC::Message priority.bbudge@chromium.org2013-10-281-4/+4
| | | | | | | | | | | | | | | | | Removes the PriorityValue enum and field from IPC::Message. This doesn't appear to be used anywhere. Changes the data message ctor to take a size_t data_len parameter. This works around an ambiguity problem with the main ctor, which has a similar signature and would require lots of futzing with our test code to fix. To make this work, the matching Pickle constructor is also changed to take a size_t data_len parameter. BUG=194304 Review URL: https://codereview.chromium.org/35643005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231330 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Correct bit-shift in IPC hash generation."dsinclair@chromium.org2013-08-141-1/+1
| | | | | | | | | | | | | | This reverts commit r213882. This change caused too much shifting. Reverting back to the original as it is, in fact, correct. BUG= TBR=cpu@chromium.org Review URL: https://chromiumcodereview.appspot.com/23081002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@217408 0039d316-1c4b-4281-b951-d872f2087c98
* Correct bit-shift in IPC hash generation.dsinclair@chromium.org2013-07-261-1/+1
| | | | | | | | | | | | | | | | | | The actual bit shifting that happens does not match what is specified in the comment. With the current implementation we will shift the PID over 14 bits, this sets the top 22 bits with the bottom 22 bits of the PID. When then OR the count with 0x3fff giving us 14 bits which we shift over 8 bits. This will end up OR'ing 8 bits of the count with 8 bits of the PID. Instead, we shift the PID over 22 bits, giving is 10 bits of the PID and shift the 14 bits of the count over 8. There should be no OR'ing between the PID and the count. This then matches what is specified in the comments. BUG= Review URL: https://chromiumcodereview.appspot.com/20106002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@213882 0039d316-1c4b-4281-b951-d872f2087c98
* Add async trace events to trace progress of IPC messagesjbates@chromium.org2012-09-041-2/+25
| | | | | | | | BUG=79942 Review URL: https://chromiumcodereview.appspot.com/10919023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154840 0039d316-1c4b-4281-b951-d872f2087c98
* Make the serialization of IPC::Messages inside other IPC::Messages independentbrettw@chromium.org2012-06-291-0/+13
| | | | | | | | | | | | | | of the platform. This is necessary for sending nested messages between nacl (which the IPC system thinks is posix and so has extra header goo) and a Windows client app (which doesn't have this stuff). BUG= Review URL: https://chromiumcodereview.appspot.com/10667002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144840 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor Pickle Read methods to use higher performance PickleIterator.jbates@chromium.org2012-03-071-2/+2
| | | | | | | | | | | | | | | | There was a lot of redundant error checking and initialization code in all Pickle Read methods because of the void** iterator type. This change replaces the void* iterator with PickleIterator, which encapsulates the read pointer so that less error checking and initialization code is needed for reading. PickleIterator has all the necessary data to do the actual reading. The advantage of having it provide Read methods (as opposed to leaving them solely in the Pickle interface) is that the callers do not need to pass around the const Pickle* once they have a PickleIterator. Followup CLs will refactor the call sites to remove const Pickle* arguments where they are now unnecessary. Then the Pickle::Read* methods can be removed entirely. The alternative approach would have been to change the Pickle::Read methods to non-const and remove the iterator parameter (making Read methods advance an internal read pointer). Unfortunately, the const Read with iterator design is entrenched throughout the chromium code, making this a much more complex change with the same performance outcome. BUG=13108 Review URL: https://chromiumcodereview.appspot.com/9447084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125447 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: Make devtools window dockable.thakis@chromium.org2010-01-051-1/+1
| | | | | | | | | | | | | | | | | | | | xib change: Deleted NSBox, added NSSplitView instead (with a thin divider and without any child views). I added the devtools tabcontents to TabContentsController; windows and linux instead add it to the browser window and switch it on every tab change. What I've done makes more sense to me and might work better with a) dragging a tab with docked devtools into a new window and b) toggling fullscreen. BUG=17368 TEST= * Inspect element, click the "attach" item in the lower left corner. Devtools should attach to the tab. Click it again, should detach. Re-attach, switch tabs. Should only be in the tab it was attached to. Open another devtools window in another tab, should be attached there. Drag tab with attached devtools into a new window, should work. * Inspect element with docked devtools, close devtools, inspect another element. devtools should open with the same size it had when it was closed, and should still be docked. * Hover link with docked devtools. Status bubble should not overlap devtools. * Go to http://www.pagetutor.com/keeper/http_authentication/index.html and make sure the http auth sheet still shows up Review URL: http://codereview.chromium.org/526001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35576 0039d316-1c4b-4281-b951-d872f2087c98
* Fixing valgrind issues.apatrick@google.com2009-12-051-0/+2
| | | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/460081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33892 0039d316-1c4b-4281-b951-d872f2087c98
* Added new IPC message class for CommandBuffer.apatrick@google.com2009-12-041-2/+2
| | | | | | | | | | 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
* GTK: Properly convert task manager UI row to task manager model row.estade@chromium.org2009-11-041-1/+1
| | | | | | | | | | | Also clean up some leaking tree paths. BUG=22961 TEST=after sorting, task manager still works normally Review URL: http://codereview.chromium.org/362001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30976 0039d316-1c4b-4281-b951-d872f2087c98
* Split the IPC code into ipc/agl@chromium.org2009-07-221-0/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-124/+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/+124
(No review URL: Rietvelt couldn't cope) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13062 0039d316-1c4b-4281-b951-d872f2087c98