Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Issue 155905: Separates ipc code from common (http://crbug.com/16829) (Closed)

Created:
11 years, 5 months ago by jamesr1
Modified:
9 years, 7 months ago
CC:
chromium-reviews_googlegroups.com
Visibility:
Public.

Description

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 #if 0 block because of http://crbug.com/7828 even though logically files within 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.

Patch Set 1 #

Patch Set 2 : Fixes a number of include paths and deps #

Patch Set 3 : Splits chrome_descriptors.h, moves ipc_test_sink back to common/, adds ipc/ipc.gyp:* to target All #

Patch Set 4 : Renames common_message_utils to common_param_traits and rebases up to r21329 #

Patch Set 5 : Fixes reference to 'common_message_traits' it's actually 'common_param_traits' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+10307 lines, -10107 lines) Patch
M DEPS View 1 chunk +1 line, -0 lines 0 comments Download
M WATCHLISTS View 1 chunk +1 line, -1 line 0 comments Download
M base/file_descriptor_posix.h View 1 chunk +1 line, -1 line 0 comments Download
M build/all.gyp View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/app/breakpad_linux.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/app_modal_dialog.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/automation/automation_provider.h View 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/browser/automation/automation_resource_message_filter.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/automation/automation_resource_tracker.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/automation/extension_port_container.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/extensions/extension_message_service.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/in_process_webkit/dom_storage_dispatcher_host.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/jsmessage_box_handler.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/modal_html_dialog_delegate.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/net/resolve_proxy_msg_helper.h View 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/browser/plugin_process_host.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/plugin_process_host.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M chrome/browser/renderer_host/audio_renderer_host.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/renderer_host/audio_renderer_host.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/renderer_host/browser_render_process_host.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/renderer_host/render_process_host.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/renderer_host/render_widget_host.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/renderer_host/resource_dispatcher_host.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/renderer_host/resource_message_filter.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/sandbox_policy.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/tab_contents/render_view_host_manager_unittest.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/tab_contents/web_contents_unittest.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/utility_process_host.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/utility_process_host.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/views/about_ipc_dialog.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/views/about_ipc_dialog.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/worker_host/worker_process_host.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/worker_host/worker_process_host.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/worker_host/worker_service.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/chrome.gyp View 1 2 3 8 chunks +6 lines, -56 lines 0 comments Download
M chrome/common/app_cache/app_cache_context_impl.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/common/app_cache/app_cache_dispatcher.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/common/app_cache/app_cache_dispatcher_host.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/common/child_process_host.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/common/child_process_host.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/common/child_thread.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/common/child_thread.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/common/chrome_counters.h View 1 chunk +0 lines, -3 lines 0 comments Download
M chrome/common/chrome_counters.cc View 1 chunk +0 lines, -5 lines 0 comments Download
M chrome/common/chrome_descriptors.h View 1 2 1 chunk +3 lines, -3 lines 0 comments Download
A chrome/common/common_param_traits.h View 1 chunk +251 lines, -0 lines 0 comments Download
A chrome/common/common_param_traits.cc View 1 chunk +225 lines, -0 lines 0 comments Download
A chrome/common/common_param_traits_unittest.cc View 4 1 chunk +151 lines, -0 lines 0 comments Download
M chrome/common/devtools_messages.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/common/devtools_messages_internal.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/common/extensions/extension_unpacker.cc View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M chrome/common/file_descriptor_set_posix.h View 1 chunk +0 lines, -108 lines 0 comments Download
M chrome/common/file_descriptor_set_posix.cc View 1 chunk +0 lines, -119 lines 0 comments Download
M chrome/common/file_descriptor_set_unittest.cc View 1 chunk +0 lines, -178 lines 0 comments Download
chrome/common/ipc_channel.h View 1 chunk +0 lines, -118 lines 0 comments Download
M chrome/common/ipc_channel_handle.h View 1 chunk +0 lines, -45 lines 0 comments Download
M chrome/common/ipc_channel_posix.h View 1 chunk +0 lines, -135 lines 0 comments Download
M chrome/common/ipc_channel_posix.cc View 1 chunk +0 lines, -839 lines 0 comments Download
M chrome/common/ipc_channel_proxy.h View 1 chunk +0 lines, -209 lines 0 comments Download
M chrome/common/ipc_channel_proxy.cc View 1 chunk +0 lines, -288 lines 0 comments Download
M chrome/common/ipc_channel_win.h View 1 chunk +0 lines, -85 lines 0 comments Download
M chrome/common/ipc_channel_win.cc View 1 chunk +0 lines, -444 lines 0 comments Download
M chrome/common/ipc_fuzzing_tests.cc View 1 chunk +0 lines, -430 lines 0 comments Download
M chrome/common/ipc_logging.h View 1 chunk +0 lines, -112 lines 0 comments Download
M chrome/common/ipc_logging.cc View 1 chunk +0 lines, -317 lines 0 comments Download
M chrome/common/ipc_maybe.h View 1 chunk +0 lines, -19 lines 0 comments Download
M chrome/common/ipc_message.h View 1 chunk +0 lines, -279 lines 0 comments Download
M chrome/common/ipc_message.cc View 1 chunk +0 lines, -124 lines 0 comments Download
M chrome/common/ipc_message_macros.h View 1 chunk +0 lines, -1150 lines 0 comments Download
M chrome/common/ipc_message_unittest.cc View 1 chunk +0 lines, -150 lines 0 comments Download
chrome/common/ipc_message_utils.h View 1 chunk +0 lines, -1444 lines 0 comments Download
M chrome/common/ipc_message_utils.cc View 1 chunk +0 lines, -448 lines 0 comments Download
M chrome/common/ipc_send_fds_test.cc View 1 chunk +0 lines, -187 lines 0 comments Download
M chrome/common/ipc_sync_channel.h View 1 chunk +0 lines, -162 lines 0 comments Download
M chrome/common/ipc_sync_channel.cc View 1 chunk +0 lines, -453 lines 0 comments Download
M chrome/common/ipc_sync_channel_unittest.cc View 1 chunk +0 lines, -1009 lines 0 comments Download
M chrome/common/ipc_sync_message.h View 1 chunk +0 lines, -96 lines 0 comments Download
M chrome/common/ipc_sync_message.cc View 1 chunk +0 lines, -126 lines 0 comments Download
M chrome/common/ipc_sync_message_unittest.h View 1 chunk +0 lines, -98 lines 0 comments Download
M chrome/common/ipc_sync_message_unittest.cc View 1 chunk +0 lines, -249 lines 0 comments Download
M chrome/common/ipc_test_sink.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M chrome/common/ipc_tests.h View 1 chunk +0 lines, -47 lines 0 comments Download
M chrome/common/ipc_tests.cc View 1 chunk +0 lines, -476 lines 0 comments Download
M chrome/common/logging_chrome.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/common/message_router.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/common/plugin_messages.h View 1 2 3 2 chunks +3 lines, -2 lines 0 comments Download
M chrome/common/plugin_messages_internal.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/common/render_messages.h View 1 2 3 2 chunks +3 lines, -2 lines 0 comments Download
M chrome/common/render_messages_internal.h View 1 2 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/common/resource_dispatcher.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/common/webkit_param_traits.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/common/worker_messages.h View 1 2 3 2 chunks +3 lines, -2 lines 0 comments Download
M chrome/common/worker_messages_internal.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/plugin/npobject_proxy.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/plugin/npobject_stub.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/plugin/plugin_channel.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/plugin/plugin_channel_base.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/plugin/plugin_channel_base.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/plugin/plugin_main.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M chrome/plugin/webplugin_delegate_stub.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/plugin/webplugin_proxy.h View 1 1 chunk +1 line, -1 line 0 comments Download
M chrome/renderer/audio_message_filter.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/renderer/audio_message_filter.cc View 1 chunk +1 line, -1 line 0 comments Download
chrome/renderer/automation/dom_automation_controller.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/renderer/devtools_agent_filter.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/renderer/dom_ui_bindings.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/renderer/external_host_bindings.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/renderer/mock_printer.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/renderer/mock_render_thread.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/renderer/plugin_channel_host.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/renderer/render_process.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/renderer/render_thread_unittest.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/renderer/render_widget.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/renderer/renderer_main_unittest.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/renderer/webplugin_delegate_proxy.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/renderer/webplugin_delegate_proxy.cc View 1 1 chunk +1 line, -1 line 0 comments Download
chrome/renderer/webworker_proxy.h View 1 chunk +1 line, -1 line 0 comments Download
chrome/test/automation/autocomplete_edit_proxy.h View 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/test/automation/automation_messages.h View 1 2 3 2 chunks +3 lines, -2 lines 0 comments Download
M chrome/test/automation/automation_messages_internal.h View 1 chunk +1 line, -1 line 0 comments Download
chrome/test/automation/automation_proxy.h View 1 chunk +3 lines, -3 lines 0 comments Download
chrome/test/automation/automation_proxy.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/worker/webworkerclient_proxy.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/worker/webworkerclient_proxy.cc View 1 chunk +1 line, -1 line 0 comments Download
A ipc/file_descriptor_set_posix.h View 1 2 1 chunk +108 lines, -0 lines 0 comments Download
A ipc/file_descriptor_set_posix.cc View 1 chunk +119 lines, -0 lines 0 comments Download
A ipc/file_descriptor_set_unittest.cc View 1 chunk +178 lines, -0 lines 0 comments Download
A ipc/ipc.gyp View 1 2 1 chunk +108 lines, -0 lines 0 comments Download
A ipc/ipc_channel.h View 1 chunk +118 lines, -0 lines 0 comments Download
A ipc/ipc_channel_handle.h View 1 chunk +45 lines, -0 lines 0 comments Download
A ipc/ipc_channel_posix.h View 1 chunk +135 lines, -0 lines 0 comments Download
A ipc/ipc_channel_posix.cc View 1 chunk +837 lines, -0 lines 0 comments Download
ipc/ipc_channel_proxy.h View 1 chunk +209 lines, -0 lines 0 comments Download
A ipc/ipc_channel_proxy.cc View 1 chunk +288 lines, -0 lines 0 comments Download
A ipc/ipc_channel_win.h View 1 chunk +85 lines, -0 lines 0 comments Download
A ipc/ipc_channel_win.cc View 1 chunk +442 lines, -0 lines 0 comments Download
A ipc/ipc_descriptors.h View 1 2 1 chunk +14 lines, -0 lines 0 comments Download
ipc/ipc_fuzzing_tests.cc View 1 chunk +430 lines, -0 lines 0 comments Download
A ipc/ipc_logging.h View 1 chunk +112 lines, -0 lines 0 comments Download
ipc/ipc_logging.cc View 1 1 chunk +309 lines, -0 lines 0 comments Download
A ipc/ipc_message.h View 1 chunk +279 lines, -0 lines 0 comments Download
A ipc/ipc_message.cc View 1 chunk +124 lines, -0 lines 0 comments Download
A ipc/ipc_message_macros.h View 1 chunk +1150 lines, -0 lines 0 comments Download
A ipc/ipc_message_unittest.cc View 1 chunk +67 lines, -0 lines 0 comments Download
A ipc/ipc_message_utils.h View 1 chunk +1221 lines, -0 lines 0 comments Download
A ipc/ipc_message_utils.cc View 1 chunk +235 lines, -0 lines 0 comments Download
A ipc/ipc_send_fds_test.cc View 1 chunk +187 lines, -0 lines 0 comments Download
A ipc/ipc_switches.h View 1 chunk +20 lines, -0 lines 0 comments Download
A ipc/ipc_switches.cc View 1 chunk +28 lines, -0 lines 0 comments Download
A ipc/ipc_sync_channel.h View 1 chunk +162 lines, -0 lines 0 comments Download
A ipc/ipc_sync_channel.cc View 1 chunk +453 lines, -0 lines 0 comments Download
A ipc/ipc_sync_channel_unittest.cc View 1 chunk +1009 lines, -0 lines 0 comments Download
A ipc/ipc_sync_message.h View 1 chunk +96 lines, -0 lines 0 comments Download
A ipc/ipc_sync_message.cc View 1 chunk +126 lines, -0 lines 0 comments Download
A ipc/ipc_sync_message_unittest.h View 1 chunk +98 lines, -0 lines 0 comments Download
A ipc/ipc_sync_message_unittest.cc View 1 chunk +249 lines, -0 lines 0 comments Download
A ipc/ipc_tests.h View 1 chunk +47 lines, -0 lines 0 comments Download
A ipc/ipc_tests.cc View 1 chunk +476 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
jamesr1
Passes all try bots.
11 years, 5 months ago (2009-07-22 18:05:43 UTC) #1
agl
chrome_descriptor.h probably shouldn't be moved. I'm also unsure about file_descriptor_set. Can you email a link ...
11 years, 5 months ago (2009-07-22 18:16:08 UTC) #2
jamesr1
On Wed, Jul 22, 2009 at 11:16 AM, <agl@chromium.org> wrote: > chrome_descriptor.h probably shouldn't be ...
11 years, 5 months ago (2009-07-22 18:33:22 UTC) #3
jamesr1
Patch updated. I've also added a list of Known Issues with this patch to the ...
11 years, 5 months ago (2009-07-22 20:54:32 UTC) #4
agl
Darin still needs to OK it, but LGTM. I should note that the Reitveld change ...
11 years, 5 months ago (2009-07-22 21:09:18 UTC) #5
darin (slow to review)
I recently added common/webkit_param_traits.h. I think that is a better file name than say webkit_message_utils.h. ...
11 years, 5 months ago (2009-07-22 22:18:31 UTC) #6
M-A Ruel
11 years, 4 months ago (2009-08-04 16:57:39 UTC) #7
On 2009/07/22 22:18:31, darin wrote:
> Otherwise, LGTM

YOU FORGOT TO SVN:IGNORE THE GENERATED PROJECT FILES. (I'll do because
you're not alone)

Powered by Google App Engine
This is Rietveld 408576698