### Preflight Checklist

- [X] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/master/CONTRIBUTING.md) for this project.
- [X] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md) that this project adheres to.
- [X] I have searched the [issue tracker](https://www.github.com/electron/electron/issues) for a feature request that matches the one I want to file, without success.

### Problem Description

Hi,

My team is trying to support universal linking in our application. Currently, in order to receive a handoff event from the browser, the application needs to listen to `continue-activity` event which provides `type` and `userInfo`. As per the Apple documentation [here](https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/Handoff/AdoptingHandoff/AdoptingHandoff.html#//apple_ref/doc/uid/TP40014338-CH2-SW10), the browser sends the app an `NSUserActivity` object with an `activityType` value of `NSUserActivityTypeBrowsingWeb`. The `webpageURL` property contains the URL the user was visiting, while the `userInfo` dictionary is empty. 

To provide a smooth handoff our application needs to know the URL the user is navigating from. Therefore, it would be great if the `webpageURL` parameter is exposed in `continue-activity` event. 


### Proposed Solution

The `NSUserActivity` object contains the `webpageURL` property which is set during the handoff process. 
I don't have any experience with Objective C but I believe the `webpageURL` property on the `userActivity` object can be allowed to pass [here](https://github.com/electron/electron/blob/da2baabb96161ea08a15820451f9374d63b4d678/shell/browser/mac/electron_application_delegate.mm#L161) to make it accessible.
https://github.com/electron/electron/blob/da2baabb96161ea08a15820451f9374d63b4d678/shell/browser/mac/electron_application_delegate.mm#L161


### Alternatives Considered

-

### Additional Information

The application needs to know the URL from where the user is navigating to provide a customized handoff experience. 
shell/browser/api/electron_api_app.cc
gin::Arguments* args) {
  v8::Isolate* isolate = JavascriptEnvironment::GetIsolate();
  gin_helper::Promise<gfx::Image> promise(isolate);
  v8::Local<v8::Promise> handle = promise.GetHandle();
  base::FilePath normalized_path = path.NormalizePathSeparators();
  IconLoader::IconSize icon_size;
  gin_helper::Dictionary options;
  if (!args->GetNext(&options)) {
    icon_size = IconLoader::IconSize::NORMAL;
  } else {
    std::string icon_size_string;
    options.Get("size", &icon_size_string);
    icon_size = GetIconSizeByString(icon_size_string);
  }
  auto* icon_manager = ElectronBrowserMainParts::Get()->GetIconManager();
  gfx::Image* icon =
      icon_manager->LookupIconFromFilepath(normalized_path, icon_size, 1.0f);
  if (icon) {
    promise.Resolve(*icon);
  } else {
    icon_manager->LoadIcon(
        normalized_path, icon_size, 1.0f,
        base::BindOnce(&OnIconDataAvailable, std::move(promise)),
        &cancelable_task_tracker_);
  }
  return handle;
}
std::vector<gin_helper::Dictionary> App::GetAppMetrics(v8::Isolate* isolate) {
  std::vector<gin_helper::Dictionary> result;