blob: 96eb3a8e3dc269ff9b42c3d9d71ade4d3c30572e [file] [log] [blame]
// Copyright 2021 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.weblayer_private;
import org.chromium.components.installedapp.InstalledAppProviderImpl;
import org.chromium.content_public.browser.RenderFrameHost;
import org.chromium.content_public.browser.WebContentsStatics;
import org.chromium.installedapp.mojom.InstalledAppProvider;
import org.chromium.services.service_manager.InterfaceFactory;
/** Factory to create instances of the InstalledAppProvider Mojo service. */
public class InstalledAppProviderFactory implements InterfaceFactory<InstalledAppProvider> {
private final RenderFrameHost mRenderFrameHost;
public InstalledAppProviderFactory(RenderFrameHost renderFrameHost) {
mRenderFrameHost = renderFrameHost;
}
@Override
public InstalledAppProvider createImpl() {
TabImpl tab =
TabImpl.fromWebContents(WebContentsStatics.fromRenderFrameHost(mRenderFrameHost));
if (tab == null) return null;
return new InstalledAppProviderImpl(
tab.getProfile(), mRenderFrameHost, (unusedA, unusedB, unusedC) -> false);
}
}