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

Issue 1303103002: IPC: Add attachment brokering support to the message header. (Closed)

Created:
5 years, 4 months ago by erikchen
Modified:
5 years, 4 months ago
Reviewers:
CC:
chromium-reviews, darin-cc_chromium.org, jam
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Reland #1: IPC: Add attachment brokering support to the message header. This reland fixes a race condition in the unit test SendHandleTwice that caused the test to flakily fail, mostly on XP machines. This reland also updates switch statements to contain a block for the newly added enum BrokerableAttachment::PLACEHOLDER, which was causing problems with the clang Windows build. > Message dispatch happens before message translation, and message dispatch > requires that all brokered attachments have been received. This means that > attachment brokering needs to function without message translation. This is > accomplished by modifying the message header to include a new field > num_brokered_attachments, and writing the attachment ids into the IPC Channel > immediately following the pickled message itself. > > AttachmentBrokerPrivilegedWinUnittest was expanded to test ChannelReader in the > receiving process. It is now a fully functional end-to-end test of attachment > brokering. > > BUG=493414 TBR=tsepez@chromium.org BUG=493414 Committed: https://crrev.com/37a2e0b682555bf35852d707dbd74b68f345841f Cr-Commit-Position: refs/heads/master@{#344933}

Patch Set 1 #

Patch Set 2 : Add log statements. Fix switch statements. #

Patch Set 3 : Fix unit test. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+607 lines, -193 lines) Patch
M ipc/BUILD.gn View 2 chunks +5 lines, -0 lines 0 comments Download
M ipc/attachment_broker_privileged_win.cc View 1 2 chunks +5 lines, -1 line 0 comments Download
M ipc/attachment_broker_privileged_win_unittest.cc View 1 2 12 chunks +192 lines, -63 lines 0 comments Download
M ipc/attachment_broker_unprivileged_win.cc View 1 1 chunk +5 lines, -1 line 0 comments Download
M ipc/brokerable_attachment.h View 3 chunks +16 lines, -11 lines 0 comments Download
M ipc/brokerable_attachment.cc View 1 chunk +39 lines, -21 lines 0 comments Download
M ipc/handle_attachment_win.h View 1 chunk +0 lines, -1 line 0 comments Download
M ipc/handle_attachment_win.cc View 2 chunks +2 lines, -15 lines 0 comments Download
M ipc/handle_win.h View 1 chunk +2 lines, -0 lines 0 comments Download
M ipc/handle_win.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M ipc/ipc.gyp View 1 chunk +3 lines, -0 lines 0 comments Download
M ipc/ipc.gypi View 1 chunk +2 lines, -0 lines 0 comments Download
M ipc/ipc_channel.h View 4 chunks +26 lines, -6 lines 0 comments Download
M ipc/ipc_channel.cc View 1 chunk +22 lines, -0 lines 0 comments Download
M ipc/ipc_channel_posix.cc View 1 chunk +1 line, -0 lines 0 comments Download
M ipc/ipc_channel_reader.h View 1 chunk +4 lines, -0 lines 0 comments Download
M ipc/ipc_channel_reader.cc View 7 chunks +21 lines, -11 lines 0 comments Download
M ipc/ipc_channel_reader_unittest.cc View 5 chunks +9 lines, -16 lines 0 comments Download
M ipc/ipc_channel_win.h View 1 chunk +1 line, -1 line 0 comments Download
M ipc/ipc_channel_win.cc View 7 chunks +34 lines, -16 lines 0 comments Download
M ipc/ipc_message.h View 3 chunks +48 lines, -5 lines 0 comments Download
M ipc/ipc_message.cc View 4 chunks +88 lines, -0 lines 0 comments Download
M ipc/ipc_message_attachment_set.h View 1 chunk +5 lines, -2 lines 0 comments Download
M ipc/ipc_message_attachment_set.cc View 1 chunk +17 lines, -9 lines 0 comments Download
M ipc/ipc_message_start.h View 1 chunk +1 line, -0 lines 0 comments Download
M ipc/ipc_message_utils.cc View 2 chunks +4 lines, -2 lines 0 comments Download
A + ipc/ipc_test_message_generator.h View 1 chunk +1 line, -1 line 0 comments Download
A + ipc/ipc_test_message_generator.cc View 1 chunk +6 lines, -6 lines 0 comments Download
A ipc/ipc_test_messages.h View 1 chunk +14 lines, -0 lines 0 comments Download
A ipc/placeholder_brokerable_attachment.h View 1 chunk +28 lines, -0 lines 0 comments Download
A + ipc/placeholder_brokerable_attachment.cc View 1 chunk +4 lines, -5 lines 0 comments Download

Messages

Total messages: 9 (3 generated)
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1303103002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1303103002/40001
5 years, 4 months ago (2015-08-21 22:59:30 UTC) #2
commit-bot: I haz the power
Try jobs failed on following builders: android_arm64_dbg_recipe on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/android_arm64_dbg_recipe/builds/110532) android_compile_dbg on tryserver.chromium.linux (JOB_FAILED, ...
5 years, 4 months ago (2015-08-21 23:21:06 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1303103002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1303103002/40001
5 years, 4 months ago (2015-08-21 23:34:48 UTC) #6
commit-bot: I haz the power
Committed patchset #3 (id:40001)
5 years, 4 months ago (2015-08-22 00:26:43 UTC) #7
commit-bot: I haz the power
Patchset 3 (id:??) landed as https://crrev.com/37a2e0b682555bf35852d707dbd74b68f345841f Cr-Commit-Position: refs/heads/master@{#344933}
5 years, 4 months ago (2015-08-22 00:27:36 UTC) #8
erikchen
5 years, 3 months ago (2015-08-27 19:48:57 UTC) #9
Message was sent while issue was closed.
A revert of this CL (patchset #3 id:40001) has been created in
https://codereview.chromium.org/1312433009/ by erikchen@chromium.org.

The reason for reverting is: Reverting on suspicion of causing crashes in
Canary.

https://code.google.com/p/chromium/issues/detail?id=524032.

Powered by Google App Engine
This is Rietveld 408576698