|
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}
|
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
|
Total messages: 9 (3 generated)
|