summaryrefslogtreecommitdiffstats
path: root/ipc/ipc_message_macros.h
Commit message (Collapse)AuthorAgeFilesLines
* Change common_message_generator code block.tsepez@chromium.org2011-03-121-17/+27
| | | | | | | | | | | | | | | Makes namespace IPC {} more tightly wrapped around the inclusion of the genertor header file. Updates comments in ipc_message_macros to indicate this new style of block. Makes message ID generation into a macro so can be re-used in forthcoming ipclist CL. Simplfies the NULL macros. Adds #pragma once to param traits, because we can. Review URL: http://codereview.chromium.org/6683014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77943 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed a bug in the serialization of history::URLRow.danno@chromium.org2011-03-101-2/+2
| | | | | | | | | | | | | This caused profile import to fail and crash Chromium on startup. BUG=75526 TEST=Remove all the profile data, then start Chromium. It crashes immediately during profile import. (only tested on mac). Review URL: http://codereview.chromium.org/6650026 Patch from Joao da Silva <joaodasilva@chromium.org>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77642 0039d316-1c4b-4281-b951-d872f2087c98
* Move resource related IPCs to their own file in content. I added a ↵jam@chromium.org2011-03-051-3/+5
| | | | | | | | | IPC_STRUCT_TRAITS_PARENT macro to allow the automatic serializing macros to add a parent struct. TBR=tsepez Review URL: http://codereview.chromium.org/6628035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77048 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt to reduce the amount of cut n paste needed to maintain these.tsepez@chromium.org2011-03-011-994/+368
| | | | | | Review URL: http://codereview.chromium.org/6581046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76417 0039d316-1c4b-4281-b951-d872f2087c98
* Make the implementation .cc files go away, instead have the authors give us ↵tsepez@chromium.org2011-02-111-17/+161
| | | | | | | | a header only. Review URL: http://codereview.chromium.org/6410007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74637 0039d316-1c4b-4281-b951-d872f2087c98
* Make IPC::Channel::Listener:OnMessageReceived have a return value indicating ↵jam@chromium.org2010-12-241-5/+4
| | | | | | | | | whether a message was processed or not. TBR=brettw Review URL: http://codereview.chromium.org/5978003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70139 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up Automation and Chrome Frame IPC code.-only use routed messages when ↵jam@chromium.org2010-12-231-1/+146
| | | | | | | | needed-use routing IDs to avoid manually unpacking messages-remove data structures from IPC namespace (that should only be used for IPC code, and param traits)Note that I temporarily commented out part of a test in external_tab_test.cc because I couldn't figure out how to get the updated gmock macros to compile. Review URL: http://codereview.chromium.org/5998006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70105 0039d316-1c4b-4281-b951-d872f2087c98
* Create a message filter for message port and worker messages. This allows a ↵jam@chromium.org2010-12-211-1/+1
| | | | | | | | nice cleanup of getting rid of the notifications when RenderMessageFilter and WorkerProcessHost go away. SafeBrowsingResourceHandler doesn't need it anymore as well, since it now overrides OnRequestClosed() which does the same thing. Review URL: http://codereview.chromium.org/6055002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69862 0039d316-1c4b-4281-b951-d872f2087c98
* Make DOMStorageDispatcherHost be a message filter (and rename it ↵jam@chromium.org2010-12-131-0/+64
| | | | | | | | accordingly). It now derives from BrowserMessageFilter and hence gets message dispatching to different threads for free. Review URL: http://codereview.chromium.org/5722003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69049 0039d316-1c4b-4281-b951-d872f2087c98
* Switch a bunch of remaining filters to derive from BrowserMessageFilters so ↵jam@chromium.org2010-12-131-0/+4
| | | | | | | | that ResourceMessageFilter doesn't have to know about them and vice versa. A bunch of small cleanup in the process. I've added new message files for classes that want their messages dispatched on threads other than the IO. Review URL: http://codereview.chromium.org/5698008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69008 0039d316-1c4b-4281-b951-d872f2087c98
* Add missing new linejam@chromium.org2010-12-081-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68665 0039d316-1c4b-4281-b951-d872f2087c98
* ipc: Simplify the magic required to create IPC message headers.This gets rid ↵jam@chromium.org2010-12-081-881/+582
| | | | | | | | | of having to include the files in a magic place because of xcode dependency issues, and just makes it simpler to create new IPC message classes. It also gets rid of including the X_messages_internal.h file multiple times, which simplifies things and should make the build a little faster. In a future change, I will remove the "internal.h" files since they're no longer needed. Review URL: http://codereview.chromium.org/5526008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68664 0039d316-1c4b-4281-b951-d872f2087c98
* scons: excise more scons references from the code baseevan@chromium.org2010-12-031-1/+1
| | | | | | | | | | I got to undo some hacks, too! TEST=compiles Review URL: http://codereview.chromium.org/5535003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68119 0039d316-1c4b-4281-b951-d872f2087c98
* Add ppapi_message_internal to the magic list of headers so the dependencies ↵brettw@google.com2010-12-021-0/+1
| | | | | | | | | | work out correctly on Mac. TEST=none BUG=none Review URL: http://codereview.chromium.org/5336008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68010 0039d316-1c4b-4281-b951-d872f2087c98
* Part 2 of reapplying r64637.erg@google.com2010-11-101-2/+2
| | | | | | | | | | | | | Move the automation message files from chrome/test/automation to chrome/common/. This requires a temporary override to chrome/common/DEPS until Part 3 lands. BUG=51409 TEST=compiles Review URL: http://codereview.chromium.org/4758001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65695 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for returning the session_id in both CreateExternalTab and ↵hansl@google.com2010-11-051-5/+29
| | | | | | | | | | | | ConnectExternalTab. The ChromeFrame objects now provides an unfrozen interface called IChromeFramePrivate. This interface provides a GetSessionId() which returns the ID used by Chrome in its Tab javascript object. This ID is necessary in CEEE for its tabs management. BUG=None TEST=None Review URL: http://codereview.chromium.org/4467002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65257 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Refactor automation messages." due to mysterious problems on mac.erg@google.com2010-11-011-2/+2
| | | | | | | | | | | | | This reverts commit c1c1fed998ee4d839bfe256150e5e59220ebc0ef (r64637). TBR=nirnimesh@ BUG=51409 TEST=none Review URL: http://codereview.chromium.org/4194007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64644 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor automation messages.erg@google.com2010-11-011-2/+2
| | | | | | | | | | | | | | | | | automation_messages used to live in chrome/test/automation, when it's needed by browser and chrome_frame. When I started lifting code out of headers and into implementation files, I was getting link errors and temporarily solved the problem by compiling the cc files manually into libbrowser.a. Now this is part of chrome/common/ which is included by all targets needed. While doing this, discover that automation IPC redefines the ContextMenuParams struct. Rename it to MiniContextMenuParams. BUG=51409 TEST=none Review URL: http://codereview.chromium.org/4200007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64637 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 55888: Allow per-plugin content settings.bauerb@chromium.org2010-08-191-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | Now with Fixed Unit Tests! Run with --enable-resource-content-settings and --enable-click-to-play to enable. TabSpecificContentSettings now keeps track of which resources were blocked. The content setting bubble displays those resource, and selecting the "allow radio buttons adds exceptions for these resources. The infobar for non-sandboxed plug-ins now also shows a button to always allow the blocked plug-in on that site. Screenshot of the plugin bubble: http://imgur.com/6npqv.png Because we need to change the title and radio button labels depending on whether we track specific plug-ins, we copy them from the ContentSettingBubbleModel. XIB changes: Add a text field for the blocked plug-ins to ContentBlockedPlugins.xib, hooked up to the |blockedResourcesField_| outlet. BUG=39252,38432 TEST=HostContentSettingsMapTest.*,manual Review URL: http://codereview.chromium.org/2873104 Review URL: http://codereview.chromium.org/3124018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56687 0039d316-1c4b-4281-b951-d872f2087c98
* Remove all wstrings from the IPC logging subsystem.erg@google.com2010-08-181-57/+57
| | | | | | | | | | | | | | | | Changes all IPC Log methods from wstring to string. All static logging debug data changed from wchar[] to char[]. Various string conversion/numeric headers no longer need to be included in ipc_message_utils.h and have been removed (and added in all implementation files that require them). BUG=none TEST=none Review URL: http://codereview.chromium.org/3159013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56563 0039d316-1c4b-4281-b951-d872f2087c98
* Reapplies all the IPC system work (reverts the revert r56272).erg@google.com2010-08-171-285/+348
| | | | | | | | | | | That patch wasn't what caused the regression in the page cycler. BUG=51411,52103 TEST=still compiles Review URL: http://codereview.chromium.org/3106018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56390 0039d316-1c4b-4281-b951-d872f2087c98
* Completely revert all my IPC work to see if this was what regressed the page ↵erg@google.com2010-08-171-348/+285
| | | | | | | | | | | cycler. BUG=51411,52103 TEST=page cycler Review URL: http://codereview.chromium.org/3170020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56272 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 55888: Allow per-plugin content settings.bauerb@chromium.org2010-08-121-20/+0
| | | | | | | | | | | | | | | | | | | | | | | Run with --enable-resource-content-settings and --enable-click-to-play to enable. TabSpecificContentSettings now keeps track of which resources were blocked. The content setting bubble displays those resource, and selecting the "allow radio buttons adds exceptions for these resources. The infobar for non-sandboxed plug-ins now also shows a button to always allow the blocked plug-in on that site. Screenshot of the plugin bubble: http://imgur.com/6npqv.png Because we need to change the title and radio button labels depending on whether we track specific plug-ins, we copy them from the ContentSettingBubbleModel. XIB changes: Add a text field for the blocked plug-ins to ContentBlockedPlugins.xib, hooked up to the |blockedResourcesField_| outlet. BUG=39252,38432 TEST=manual Review URL: http://codereview.chromium.org/2873104 TBR: bauerb@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55891 0039d316-1c4b-4281-b951-d872f2087c98
* Allow per-plugin content settings.bauerb@chromium.org2010-08-121-0/+20
| | | | | | | | | | | | | | | | | | | | | Run with --enable-resource-content-settings and --enable-click-to-play to enable. TabSpecificContentSettings now keeps track of which resources were blocked. The content setting bubble displays those resource, and selecting the "allow radio buttons adds exceptions for these resources. The infobar for non-sandboxed plug-ins now also shows a button to always allow the blocked plug-in on that site. Screenshot of the plugin bubble: http://imgur.com/6npqv.png Because we need to change the title and radio button labels depending on whether we track specific plug-ins, we copy them from the ContentSettingBubbleModel. XIB changes: Add a text field for the blocked plug-ins to ContentBlockedPlugins.xib, hooked up to the |blockedResourcesField_| outlet. BUG=39252,38432 TEST=manual Review URL: http://codereview.chromium.org/2873104 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55888 0039d316-1c4b-4281-b951-d872f2087c98
* Reapplies r55735, fixing some message code that was checked in that I ↵erg@google.com2010-08-111-200/+152
| | | | | | | | | | | | collided with. BUG=51411 TEST=none TBR=mpcomplete Review URL: http://codereview.chromium.org/3118009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55749 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "FBTF: Allow forward declaration of classes passed to sync IPC messages."erg@google.com2010-08-111-152/+200
| | | | | | | | | | | | This reverts commit r55735. BUG=none TEST=none TBR=mirandac Review URL: http://codereview.chromium.org/3152007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55738 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Allow forward declaration of classes passed to sync IPC messages.erg@google.com2010-08-111-200/+152
| | | | | | | | | | | | | This is a continuation of r55259, where we convert the remaining IPC messages to the new system. At this point, all the messages should be able to accept forward declared classes/structs as parameters. BUG=51411 TEST=none Review URL: http://codereview.chromium.org/3018045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55735 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Reapplies r55259, the first new IPC definition patch.erg@google.com2010-08-101-85/+196
| | | | | | | | | | | | | This moves MessageWithTuple::Read() back into the main ipc_message_utils.h header from the private ipc_messsage_utils_impl.h header. In release mode, this was causing link failures. BUG=51411 TEST=none Review URL: http://codereview.chromium.org/3069034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55587 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 55259 - FBTF: New IPC definitions, only applied to async ROUTED and ↵pinkerton@google.com2010-08-091-196/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CONTROL messages. The slowest cc files in chrome include render_messages.h and other IPC message definitions. Including one of these files will bring in half of chrome because in the IPC system previously required full class definitions due to implementation details. The new system allows forward declarations and places the implementations of functions that need the full class definitions (ctor/dtor()/Log() and superclass ctor/Read() methods) into a separate xxx_messages.cc file using a parallel set of macros to ipc_message_macros.h. This has the added benefit of moving most of the template instantiation junk into a small number of files. Pros: - Will speed up compiling by a lot once everything is forward declared. - Already, intermediary .o/.a files are smaller. Cons: - Adds a 4th pass to the messages system, this time in a different header. BUG=51411 TEST=none Review URL: http://codereview.chromium.org/2873090 TBR=erg@google.com Review URL: http://codereview.chromium.org/3080040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55406 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: New IPC definitions, only applied to async ROUTED and CONTROL messages.erg@google.com2010-08-061-85/+196
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The slowest cc files in chrome include render_messages.h and other IPC message definitions. Including one of these files will bring in half of chrome because in the IPC system previously required full class definitions due to implementation details. The new system allows forward declarations and places the implementations of functions that need the full class definitions (ctor/dtor()/Log() and superclass ctor/Read() methods) into a separate xxx_messages.cc file using a parallel set of macros to ipc_message_macros.h. This has the added benefit of moving most of the template instantiation junk into a small number of files. Pros: - Will speed up compiling by a lot once everything is forward declared. - Already, intermediary .o/.a files are smaller. Cons: - Adds a 4th pass to the messages system, this time in a different header. BUG=51411 TEST=none Review URL: http://codereview.chromium.org/2873090 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55259 0039d316-1c4b-4281-b951-d872f2087c98
* Add pyauto hooks for bookmarks.jrg@chromium.org2010-03-121-0/+76
| | | | | | | | | | Get model, add/remove, add folder, reparent, change title/url. BUG=34492 Review URL: http://codereview.chromium.org/792003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41450 0039d316-1c4b-4281-b951-d872f2087c98
* Move the utility process messages to their own file now that we have more thanbrettw@chromium.org2009-12-151-5/+3
| | | | | | | | | | 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
* Fix a minor typo in ipc_message_macros.h (split out of ↵dglazkov@chromium.org2009-12-101-1/+1
| | | | | | | | | | | http://codereview.chromium.org/460020) BUG=none TEST=none Review URL: http://codereview.chromium.org/466072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34256 0039d316-1c4b-4281-b951-d872f2087c98
* Added new IPC message class for CommandBuffer.apatrick@google.com2009-12-041-4/+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
* Split the IPC code into ipc/agl@chromium.org2009-07-221-0/+1150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1140/+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/+1140
(No review URL: Rietvelt couldn't cope) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13062 0039d316-1c4b-4281-b951-d872f2087c98