summaryrefslogtreecommitdiffstats
path: root/ipc/ipc_message.cc
Commit message (Collapse)AuthorAgeFilesLines
* 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