Commit 74749523 authored by Avi Drissman's avatar Avi Drissman Committed by Commit Bot

Fix Firefox password importing on the Mac.

Use a plugin child process, which doesn't have library validation.
This way, loading the nss3 dylib into the process will work.

Bug: 1111241
Change-Id: I8c9c6c0c77ac345bfb73e1574bccebc0db9dd791
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2404487Reviewed-by: default avatarRobert Sesek <rsesek@chromium.org>
Commit-Queue: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#806293}
parent 84a74213
......@@ -17,6 +17,7 @@
#include "chrome/grit/generated_resources.h"
#include "components/strings/grit/components_strings.h"
#include "content/public/browser/service_process_host.h"
#include "content/public/common/child_process_host.h"
#include "ui/base/l10n/l10n_util.h"
ExternalProcessImporterClient::ExternalProcessImporterClient(
......@@ -42,6 +43,12 @@ void ExternalProcessImporterClient::Start() {
profile_import_.BindNewPipeAndPassReceiver(),
content::ServiceProcessHost::Options()
.WithDisplayName(IDS_UTILITY_PROCESS_PROFILE_IMPORTER_NAME)
#if defined(OS_MAC)
// Importing from Firefox involves loading a Firefox dylib into the
// importer service process. Use the child process that doesn't
// enforce library validation so that this will work.
.WithChildFlags(content::ChildProcessHost::CHILD_PLUGIN)
#endif
.Pass());
profile_import_.set_disconnect_handler(
base::BindOnce(&ExternalProcessImporterClient::OnProcessCrashed, this));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment