### 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
char temporaryCString[kCStringSize] = {0};
  CFStringGetCString(value, temporaryCString, kCStringSize,
                     kCFStringEncodingUTF8);
  region = temporaryCString;
#else
  const char* locale_ptr = setlocale(LC_TIME, nullptr);
  if (!locale_ptr)
    locale_ptr = setlocale(LC_NUMERIC, nullptr);
  if (locale_ptr) {
    std::string locale = locale_ptr;
    std::string::size_type rpos = locale.find('.');
    if (rpos != std::string::npos)
      locale = locale.substr(0, rpos);
    rpos = locale.find('_');
    if (rpos != std::string::npos && rpos + 1 < locale.size())
      region = locale.substr(rpos + 1);
  }
#endif
  return region.size() == 2 ? region : std::string();
}
void App::OnSecondInstance(const base::CommandLine::StringVector& cmd,
                           const base::FilePath& cwd) {
  Emit("second-instance", cmd, cwd);
}
bool App::HasSingleInstanceLock() const {
  if (process_singleton_)
    return true;
  return false;
}
bool App::RequestSingleInstanceLock() {