Chromium change: https://chromium.googlesource.com/chromium/src/+/7f6955321792ce372e935f49cd4420b5b6ecb15f commit 7f6955321792ce372e935f49cd4420b5b6ecb15f Author: Lukasz Anforowicz <lukasza@chromium.org> Date: Tue Sep 15 16:05:22 2020 +0000 Make WebUIURLLoaderFactory always owned by its |receivers_|. This CL changes (and slightly renames) CreateWebUIURLLoaderFactory so that it returns mojo::PendingRemote to a WebUIURLLoaderFactory that is owned by its |receivers_| and will self-delete when the last receiver disconnects. This CL removes the ability to directly construct and own a std::unique_ptr<WebUIURLLoaderFactory>, because this ability means that the factory can be destructed while receivers bound via the Clone method are still alive (see the associated bug). This CL mostly just follows the pattern established earlier by https://crrev.com/c/2337411. Bug: 1106995