mac: Migrate HTTPTransportMac to NSURLSession [crashpad/crashpad : main]

7 views
Skip to first unread message

Justin Cohen (Gerrit)

unread,
May 13, 2026, 12:08:47 PM (3 days ago) May 13
to Mark Mentovai, crashpa...@luci-project-accounts.iam.gserviceaccount.com, crashp...@chromium.org
Attention needed from Mark Mentovai

Justin Cohen voted and added 1 comment

Votes added by Justin Cohen

Commit-Queue+1

1 comment

Patchset-level comments
File-level comment, Patchset 2 (Latest):
Justin Cohen . resolved

I'm going through my backlog. Do we want to fix this?

Open in Gerrit

Related details

Attention is currently required from:
  • Mark Mentovai
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: crashpad/crashpad
Gerrit-Branch: main
Gerrit-Change-Id: Ia4e1307fb20f15eb217df2af449c0d62aba800bb
Gerrit-Change-Number: 7815315
Gerrit-PatchSet: 2
Gerrit-Owner: Justin Cohen <justi...@google.com>
Gerrit-Reviewer: Justin Cohen <justi...@google.com>
Gerrit-Reviewer: Mark Mentovai <ma...@chromium.org>
Gerrit-Attention: Mark Mentovai <ma...@chromium.org>
Gerrit-Comment-Date: Wed, 13 May 2026 16:08:45 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Mark Mentovai (Gerrit)

unread,
May 13, 2026, 12:23:37 PM (3 days ago) May 13
to Justin Cohen, crashpa...@luci-project-accounts.iam.gserviceaccount.com, crashp...@chromium.org
Attention needed from Justin Cohen

Mark Mentovai added 2 comments

File util/net/http_transport_mac.mm
Line 253, Patchset 2 (Latest): NSURLSession* session = [NSURLSession sharedSession];
Mark Mentovai . unresolved

Do we want the shared session or a `-sessionWithConfiguration:[NSURLSessionConfiguration ephemeralSessionConfiguration]`?

Line 262, Patchset 2 (Latest): dispatch_semaphore_signal(semaphore);
Mark Mentovai . unresolved

The semaphore in the completion handler seems like an awful way to make this synchronous. Do we have nicer sugar around this? This can’t be the only place this pattern has come up.

Otherwise: `#include <dispatch/dispatch.h>`.

Open in Gerrit

Related details

Attention is currently required from:
  • Justin Cohen
Submit Requirements:
    • requirement satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: crashpad/crashpad
    Gerrit-Branch: main
    Gerrit-Change-Id: Ia4e1307fb20f15eb217df2af449c0d62aba800bb
    Gerrit-Change-Number: 7815315
    Gerrit-PatchSet: 2
    Gerrit-Owner: Justin Cohen <justi...@google.com>
    Gerrit-Reviewer: Justin Cohen <justi...@google.com>
    Gerrit-Reviewer: Mark Mentovai <ma...@chromium.org>
    Gerrit-Attention: Justin Cohen <justi...@google.com>
    Gerrit-Comment-Date: Wed, 13 May 2026 16:23:35 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Justin Cohen (Gerrit)

    unread,
    May 13, 2026, 12:48:02 PM (3 days ago) May 13
    to Mark Mentovai, crashpa...@luci-project-accounts.iam.gserviceaccount.com, crashp...@chromium.org
    Attention needed from Mark Mentovai

    Justin Cohen added 2 comments

    File util/net/http_transport_mac.mm
    Line 253, Patchset 2: NSURLSession* session = [NSURLSession sharedSession];
    Mark Mentovai . unresolved

    Do we want the shared session or a `-sessionWithConfiguration:[NSURLSessionConfiguration ephemeralSessionConfiguration]`?

    Justin Cohen

    Ah, ephemeralSessionConfiguration is a good idea. Good catch. I don't think we want a shared session caching things, especially on iOS when we are running in the host app.

    Also added finishTasksAndInvalidate

    Line 262, Patchset 2: dispatch_semaphore_signal(semaphore);
    Mark Mentovai . unresolved

    The semaphore in the completion handler seems like an awful way to make this synchronous. Do we have nicer sugar around this? This can’t be the only place this pattern has come up.

    Otherwise: `#include <dispatch/dispatch.h>`.

    Justin Cohen

    util/ios/scoped_background_task.mm uses a similar dispatch_semaphore_signal/dispatch_semaphore_wait pattern.

    I could use crashpad::Semaphore semaphore(0) / semaphore_ptr->Signal(); / semaphore.Wait();, but it's unclear if that's any better. it also means capturing the semaphore_ptr, but since we are waiting it doesn't really matter.

    any preference? For now added the missing include.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Mark Mentovai
    Submit Requirements:
    • requirement satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: crashpad/crashpad
    Gerrit-Branch: main
    Gerrit-Change-Id: Ia4e1307fb20f15eb217df2af449c0d62aba800bb
    Gerrit-Change-Number: 7815315
    Gerrit-PatchSet: 3
    Gerrit-Owner: Justin Cohen <justi...@google.com>
    Gerrit-Reviewer: Justin Cohen <justi...@google.com>
    Gerrit-Reviewer: Mark Mentovai <ma...@chromium.org>
    Gerrit-Attention: Mark Mentovai <ma...@chromium.org>
    Gerrit-Comment-Date: Wed, 13 May 2026 16:48:00 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Mark Mentovai <ma...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Mark Mentovai (Gerrit)

    unread,
    May 13, 2026, 12:56:11 PM (3 days ago) May 13
    to Justin Cohen, crashpa...@luci-project-accounts.iam.gserviceaccount.com, crashp...@chromium.org
    Attention needed from Justin Cohen

    Mark Mentovai added 3 comments

    File util/net/http_transport_mac.mm
    Line 253, Patchset 3 (Latest): dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
    Mark Mentovai . unresolved

    Call `dispatch_release` on me when you’re done!

    Line 262, Patchset 2: dispatch_semaphore_signal(semaphore);
    Mark Mentovai . unresolved

    The semaphore in the completion handler seems like an awful way to make this synchronous. Do we have nicer sugar around this? This can’t be the only place this pattern has come up.

    Otherwise: `#include <dispatch/dispatch.h>`.

    Justin Cohen

    util/ios/scoped_background_task.mm uses a similar dispatch_semaphore_signal/dispatch_semaphore_wait pattern.

    I could use crashpad::Semaphore semaphore(0) / semaphore_ptr->Signal(); / semaphore.Wait();, but it's unclear if that's any better. it also means capturing the semaphore_ptr, but since we are waiting it doesn't really matter.

    any preference? For now added the missing include.

    Mark Mentovai

    util/ios/scoped_background_task.mm uses a similar dispatch_semaphore_signal/dispatch_semaphore_wait pattern.

    I could use crashpad::Semaphore semaphore(0) / semaphore_ptr->Signal(); / semaphore.Wait();, but it's unclear if that's any better. it also means capturing the semaphore_ptr, but since we are waiting it doesn't really matter.

    any preference? For now added the missing include.

    It’s the same. But it would have made it easier to do the right thing (automatic `dispatch_release`, it checks relevant return values.)

    I was hoping that there was a cleaner pattern for this, but maybe not. OK.

    Line 269, Patchset 3 (Latest): [session finishTasksAndInvalidate];
    Mark Mentovai . unresolved

    I would have hoped that it did something like this in its `-dealloc`, but OK.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Justin Cohen
    Submit Requirements:
    • requirement satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: crashpad/crashpad
    Gerrit-Branch: main
    Gerrit-Change-Id: Ia4e1307fb20f15eb217df2af449c0d62aba800bb
    Gerrit-Change-Number: 7815315
    Gerrit-PatchSet: 3
    Gerrit-Owner: Justin Cohen <justi...@google.com>
    Gerrit-Reviewer: Justin Cohen <justi...@google.com>
    Gerrit-Reviewer: Mark Mentovai <ma...@chromium.org>
    Gerrit-Attention: Justin Cohen <justi...@google.com>
    Gerrit-Comment-Date: Wed, 13 May 2026 16:56:08 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Mark Mentovai <ma...@chromium.org>
    Comment-In-Reply-To: Justin Cohen <justi...@google.com>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Justin Cohen (Gerrit)

    unread,
    May 13, 2026, 1:17:55 PM (3 days ago) May 13
    to Mark Mentovai, crashpa...@luci-project-accounts.iam.gserviceaccount.com, crashp...@chromium.org
    Attention needed from Mark Mentovai

    Justin Cohen added 2 comments

    File util/net/http_transport_mac.mm
    Line 262, Patchset 2: dispatch_semaphore_signal(semaphore);
    Mark Mentovai . unresolved

    The semaphore in the completion handler seems like an awful way to make this synchronous. Do we have nicer sugar around this? This can’t be the only place this pattern has come up.

    Otherwise: `#include <dispatch/dispatch.h>`.

    Justin Cohen

    util/ios/scoped_background_task.mm uses a similar dispatch_semaphore_signal/dispatch_semaphore_wait pattern.

    I could use crashpad::Semaphore semaphore(0) / semaphore_ptr->Signal(); / semaphore.Wait();, but it's unclear if that's any better. it also means capturing the semaphore_ptr, but since we are waiting it doesn't really matter.

    any preference? For now added the missing include.

    Mark Mentovai

    util/ios/scoped_background_task.mm uses a similar dispatch_semaphore_signal/dispatch_semaphore_wait pattern.

    I could use crashpad::Semaphore semaphore(0) / semaphore_ptr->Signal(); / semaphore.Wait();, but it's unclear if that's any better. it also means capturing the semaphore_ptr, but since we are waiting it doesn't really matter.

    any preference? For now added the missing include.

    It’s the same. But it would have made it easier to do the right thing (automatic `dispatch_release`, it checks relevant return values.)

    I was hoping that there was a cleaner pattern for this, but maybe not. OK.

    Justin Cohen

    Er, I thought we don't need this since we build with ARC.

     error: 'release' is unavailable: not available in automatic reference counting mode
    269 | dispatch_release(semaphore);
    | ^
    Line 269, Patchset 3 (Latest): [session finishTasksAndInvalidate];
    Mark Mentovai . resolved

    I would have hoped that it did something like this in its `-dealloc`, but OK.

    Justin Cohen

    Acknowledged

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Mark Mentovai
    Submit Requirements:
    • requirement satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: crashpad/crashpad
    Gerrit-Branch: main
    Gerrit-Change-Id: Ia4e1307fb20f15eb217df2af449c0d62aba800bb
    Gerrit-Change-Number: 7815315
    Gerrit-PatchSet: 3
    Gerrit-Owner: Justin Cohen <justi...@google.com>
    Gerrit-Reviewer: Justin Cohen <justi...@google.com>
    Gerrit-Reviewer: Mark Mentovai <ma...@chromium.org>
    Gerrit-Attention: Mark Mentovai <ma...@chromium.org>
    Gerrit-Comment-Date: Wed, 13 May 2026 17:17:53 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Mark Mentovai (Gerrit)

    unread,
    May 13, 2026, 1:31:18 PM (3 days ago) May 13
    to Justin Cohen, crashpa...@luci-project-accounts.iam.gserviceaccount.com, crashp...@chromium.org
    Attention needed from Justin Cohen

    Mark Mentovai voted and added 2 comments

    Votes added by Mark Mentovai

    Code-Review+1

    2 comments

    File util/net/http_transport_mac.mm
    Line 253, Patchset 3 (Latest): dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
    Mark Mentovai . resolved

    Call `dispatch_release` on me when you’re done!

    Mark Mentovai

    Oh, I forgot that dispatch objects via the C interface participated in ARC.

    Line 262, Patchset 2: dispatch_semaphore_signal(semaphore);
    Mark Mentovai . unresolved

    The semaphore in the completion handler seems like an awful way to make this synchronous. Do we have nicer sugar around this? This can’t be the only place this pattern has come up.

    Otherwise: `#include <dispatch/dispatch.h>`.

    Justin Cohen

    util/ios/scoped_background_task.mm uses a similar dispatch_semaphore_signal/dispatch_semaphore_wait pattern.

    I could use crashpad::Semaphore semaphore(0) / semaphore_ptr->Signal(); / semaphore.Wait();, but it's unclear if that's any better. it also means capturing the semaphore_ptr, but since we are waiting it doesn't really matter.

    any preference? For now added the missing include.

    Mark Mentovai

    util/ios/scoped_background_task.mm uses a similar dispatch_semaphore_signal/dispatch_semaphore_wait pattern.

    I could use crashpad::Semaphore semaphore(0) / semaphore_ptr->Signal(); / semaphore.Wait();, but it's unclear if that's any better. it also means capturing the semaphore_ptr, but since we are waiting it doesn't really matter.

    any preference? For now added the missing include.

    It’s the same. But it would have made it easier to do the right thing (automatic `dispatch_release`, it checks relevant return values.)

    I was hoping that there was a cleaner pattern for this, but maybe not. OK.

    Justin Cohen

    Er, I thought we don't need this since we build with ARC.

     error: 'release' is unavailable: not available in automatic reference counting mode
    269 | dispatch_release(semaphore);
    | ^
    Mark Mentovai

    The only thing left to do here is maybe `CHECK` on `dispatch_semaphore_create`’s return value.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Justin Cohen
    Submit Requirements:
    • requirement satisfiedCode-Owners
    • requirement satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: crashpad/crashpad
    Gerrit-Branch: main
    Gerrit-Change-Id: Ia4e1307fb20f15eb217df2af449c0d62aba800bb
    Gerrit-Change-Number: 7815315
    Gerrit-PatchSet: 3
    Gerrit-Owner: Justin Cohen <justi...@google.com>
    Gerrit-Reviewer: Justin Cohen <justi...@google.com>
    Gerrit-Reviewer: Mark Mentovai <ma...@chromium.org>
    Gerrit-Attention: Justin Cohen <justi...@google.com>
    Gerrit-Comment-Date: Wed, 13 May 2026 17:31:15 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Justin Cohen (Gerrit)

    unread,
    May 13, 2026, 1:38:56 PM (3 days ago) May 13
    to Mark Mentovai, crashpa...@luci-project-accounts.iam.gserviceaccount.com, crashp...@chromium.org

    Justin Cohen added 2 comments

    File util/net/http_transport_mac.mm
    Line 253, Patchset 2: NSURLSession* session = [NSURLSession sharedSession];
    Mark Mentovai . resolved

    Do we want the shared session or a `-sessionWithConfiguration:[NSURLSessionConfiguration ephemeralSessionConfiguration]`?

    Justin Cohen

    Ah, ephemeralSessionConfiguration is a good idea. Good catch. I don't think we want a shared session caching things, especially on iOS when we are running in the host app.

    Also added finishTasksAndInvalidate

    Justin Cohen

    Acknowledged

    Line 262, Patchset 2: dispatch_semaphore_signal(semaphore);
    Mark Mentovai . resolved

    The semaphore in the completion handler seems like an awful way to make this synchronous. Do we have nicer sugar around this? This can’t be the only place this pattern has come up.

    Otherwise: `#include <dispatch/dispatch.h>`.

    Justin Cohen

    util/ios/scoped_background_task.mm uses a similar dispatch_semaphore_signal/dispatch_semaphore_wait pattern.

    I could use crashpad::Semaphore semaphore(0) / semaphore_ptr->Signal(); / semaphore.Wait();, but it's unclear if that's any better. it also means capturing the semaphore_ptr, but since we are waiting it doesn't really matter.

    any preference? For now added the missing include.

    Mark Mentovai

    util/ios/scoped_background_task.mm uses a similar dispatch_semaphore_signal/dispatch_semaphore_wait pattern.

    I could use crashpad::Semaphore semaphore(0) / semaphore_ptr->Signal(); / semaphore.Wait();, but it's unclear if that's any better. it also means capturing the semaphore_ptr, but since we are waiting it doesn't really matter.

    any preference? For now added the missing include.

    It’s the same. But it would have made it easier to do the right thing (automatic `dispatch_release`, it checks relevant return values.)

    I was hoping that there was a cleaner pattern for this, but maybe not. OK.

    Justin Cohen

    Er, I thought we don't need this since we build with ARC.

     error: 'release' is unavailable: not available in automatic reference counting mode
    269 | dispatch_release(semaphore);
    | ^
    Mark Mentovai

    The only thing left to do here is maybe `CHECK` on `dispatch_semaphore_create`’s return value.

    Justin Cohen

    Done

    Open in Gerrit

    Related details

    Attention set is empty
    Submit Requirements:
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: crashpad/crashpad
      Gerrit-Branch: main
      Gerrit-Change-Id: Ia4e1307fb20f15eb217df2af449c0d62aba800bb
      Gerrit-Change-Number: 7815315
      Gerrit-PatchSet: 4
      Gerrit-Owner: Justin Cohen <justi...@google.com>
      Gerrit-Reviewer: Justin Cohen <justi...@google.com>
      Gerrit-Reviewer: Mark Mentovai <ma...@chromium.org>
      Gerrit-Comment-Date: Wed, 13 May 2026 17:38:54 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      open
      diffy

      Mark Mentovai (Gerrit)

      unread,
      May 13, 2026, 1:40:34 PM (3 days ago) May 13
      to Justin Cohen, crashpa...@luci-project-accounts.iam.gserviceaccount.com, crashp...@chromium.org
      Attention needed from Justin Cohen

      Mark Mentovai voted and added 1 comment

      Votes added by Mark Mentovai

      Code-Review+1

      1 comment

      Patchset-level comments
      File-level comment, Patchset 4 (Latest):
      Mark Mentovai . resolved

      Good to go now.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Justin Cohen
      Submit Requirements:
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: crashpad/crashpad
      Gerrit-Branch: main
      Gerrit-Change-Id: Ia4e1307fb20f15eb217df2af449c0d62aba800bb
      Gerrit-Change-Number: 7815315
      Gerrit-PatchSet: 4
      Gerrit-Owner: Justin Cohen <justi...@google.com>
      Gerrit-Reviewer: Justin Cohen <justi...@google.com>
      Gerrit-Reviewer: Mark Mentovai <ma...@chromium.org>
      Gerrit-Attention: Justin Cohen <justi...@google.com>
      Gerrit-Comment-Date: Wed, 13 May 2026 17:40:31 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Justin Cohen (Gerrit)

      unread,
      May 13, 2026, 2:10:06 PM (3 days ago) May 13
      to Mark Mentovai, crashpa...@luci-project-accounts.iam.gserviceaccount.com, crashp...@chromium.org

      Justin Cohen voted Commit-Queue+2

      Commit-Queue+2
      Open in Gerrit

      Related details

      Attention set is empty
      Submit Requirements:
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: crashpad/crashpad
      Gerrit-Branch: main
      Gerrit-Change-Id: Ia4e1307fb20f15eb217df2af449c0d62aba800bb
      Gerrit-Change-Number: 7815315
      Gerrit-PatchSet: 4
      Gerrit-Owner: Justin Cohen <justi...@google.com>
      Gerrit-Reviewer: Justin Cohen <justi...@google.com>
      Gerrit-Reviewer: Mark Mentovai <ma...@chromium.org>
      Gerrit-Comment-Date: Wed, 13 May 2026 18:10:03 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      crashpad-scoped@luci-project-accounts.iam.gserviceaccount.com (Gerrit)

      unread,
      May 13, 2026, 2:10:16 PM (3 days ago) May 13
      to Justin Cohen, Mark Mentovai, crashp...@chromium.org

      crashpa...@luci-project-accounts.iam.gserviceaccount.com submitted the change

      Change information

      Commit message:
      mac: Migrate HTTPTransportMac to NSURLSession

      Replaces the deprecated NSURLConnection API with NSURLSessionDataTask
      and a dispatch semaphore to maintain the synchronous
      ExecuteSynchronously interface contract. Uses an ephemeral session
      configuration to avoid persisting caches or cookies to disk, and
      invalidates the session object upon task completion to prevent resource
      leaks.

      Since the minimum deployment target is macOS 12.0, NSURLSession is
      guaranteed to be available at runtime.
      Change-Id: Ia4e1307fb20f15eb217df2af449c0d62aba800bb
      Reviewed-by: Mark Mentovai <ma...@chromium.org>
      Commit-Queue: Justin Cohen <justi...@google.com>
      Files:
      Change size: S
      Delta: 1 file changed, 24 insertions(+), 11 deletions(-)
      Branch: refs/heads/main
      Submit Requirements:
      • requirement satisfiedCode-Review: +1 by Mark Mentovai
      Open in Gerrit
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: merged
      Gerrit-Project: crashpad/crashpad
      Gerrit-Branch: main
      Gerrit-Change-Id: Ia4e1307fb20f15eb217df2af449c0d62aba800bb
      Gerrit-Change-Number: 7815315
      Gerrit-PatchSet: 5
      Gerrit-Owner: Justin Cohen <justi...@google.com>
      Gerrit-Reviewer: Justin Cohen <justi...@google.com>
      Gerrit-Reviewer: Mark Mentovai <ma...@chromium.org>
      open
      diffy
      satisfied_requirement
      Reply all
      Reply to author
      Forward
      0 new messages