Skip to content

Commit 6520672

Browse files
Mark Rowechromeos-ci-prod
authored andcommitted
Reland "Use Mojo for communicating with web_app_shortcut_copier"
This is a reland of commit 3806c10c31140d32997718e7699255fc30c1abc1 Don't try to use + to concatenate string literals. Let the C preprocessor concatenate them instead. Original change's description: > Use Mojo for communicating with web_app_shortcut_copier > > This makes it possible for web_app_shortcut_copier to reliably verify > the identity of the process that it is performing work on behalf of > (http://go/peer-process-validation). > > `WebAppShortcutCreator` moves away from passing the source and > destination path to be copied to `web_app_shortcut_copier` via command > line arguments. Instead a Mojo invitation is passed via the command line > and a synchronous call is used to request the copy be performed. > > `web_app_shortcut_copier` is updated to recover the Mojo endpoint from > its command line and process the `CopyWebAppShortcut` message. The > copier exits after a message has been processed. > > During initialization, `web_app_shortcut_copier` sets a > `ProcessRequirement` to prevent anyone other than the browser process > from establishing a Mojo connection with it. Enforcement of the > requirement by `MachPortRendezvousClientMac` is currently gated by a > feature flag. This needs to be enabled by default before the feature > flag that enables use of `web_app_shortcut_copier` can be enabled. > > Bug: 361784552 > Change-Id: I3a9b5128d21223bcd03a4acda2491bb1e42ed896 > Include-Ci-Only-Tests: true > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5924245 > Reviewed-by: Nasko Oskov <nasko@chromium.org> > Reviewed-by: Alex Gough <ajgo@chromium.org> > Reviewed-by: Marijn Kruisselbrink <mek@chromium.org> > Auto-Submit: Mark Rowe <markrowe@chromium.org> > Commit-Queue: Mark Rowe <markrowe@chromium.org> > Cr-Commit-Position: refs/heads/main@{#1374160} Bug: 361784552 Change-Id: Id6760eb087f3b56e5ad6f0e3fc381e09ef733919 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5968202 Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Nasko Oskov <nasko@chromium.org> Commit-Queue: Mark Rowe <markrowe@chromium.org> Reviewed-by: Marijn Kruisselbrink <mek@chromium.org> Cr-Commit-Position: refs/heads/main@{#1374937} CrOS-Libchrome-Original-Commit: 653850f8272cd92ab8811bc0e3b6fc456887f118
1 parent e56691d commit 6520672

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

mojo/public/cpp/bindings/sync_call_restrictions.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,12 @@ class HostFrameSinkManager;
4848
class HostGpuMemoryBufferManager;
4949
} // namespace viz
5050

51+
#if BUILDFLAG(IS_MAC)
52+
namespace web_app {
53+
class WebAppShortcutCopierSyncCallHelper;
54+
} // namespace web_app
55+
#endif
56+
5157
namespace mojo {
5258
class ScopedAllowSyncCallForTesting;
5359

@@ -134,6 +140,9 @@ class COMPONENT_EXPORT(MOJO_CPP_BINDINGS) SyncCallRestrictions {
134140
friend class content::StreamTextureFactory;
135141
#if BUILDFLAG(IS_WIN)
136142
friend class content::DCOMPTextureFactory;
143+
#endif
144+
#if BUILDFLAG(IS_MAC)
145+
friend class web_app::WebAppShortcutCopierSyncCallHelper;
137146
#endif
138147
// END ALLOWED USAGE.
139148

0 commit comments

Comments
 (0)