Commit d37dc255 authored by Rayan Kanso's avatar Rayan Kanso Committed by Commit Bot

[gIRA] Don't return early if in incognito mode.

Check for the installed apps, then return an empty list if in incognito
mode, to prevent the ability to use this API for detecting incognito mode.

Bug: 1045506
Change-Id: I83c4611947990af470d64ac723fc6695893e2a23
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2066778
Commit-Queue: Rayan Kanso <rayankans@chromium.org>
Auto-Submit: Rayan Kanso <rayankans@chromium.org>
Reviewed-by: default avatarPeter Beverloo <peter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#743132}
parent d6befd3e
...@@ -13,6 +13,25 @@ ...@@ -13,6 +13,25 @@
namespace content { namespace content {
namespace {
#if defined(OS_WIN)
void DidGetInstalledApps(
bool is_off_the_record,
InstalledAppProviderImpl::FilterInstalledAppsCallback callback,
std::vector<blink::mojom::RelatedApplicationPtr> apps) {
if (is_off_the_record) {
// Don't expose the installed apps if this is off the record.
std::move(callback).Run({});
return;
}
std::move(callback).Run(std::move(apps));
}
#endif
} // namespace
InstalledAppProviderImpl::InstalledAppProviderImpl( InstalledAppProviderImpl::InstalledAppProviderImpl(
RenderFrameHost* render_frame_host) RenderFrameHost* render_frame_host)
: render_frame_host_(render_frame_host) { : render_frame_host_(render_frame_host) {
...@@ -23,17 +42,17 @@ void InstalledAppProviderImpl::FilterInstalledApps( ...@@ -23,17 +42,17 @@ void InstalledAppProviderImpl::FilterInstalledApps(
std::vector<blink::mojom::RelatedApplicationPtr> related_apps, std::vector<blink::mojom::RelatedApplicationPtr> related_apps,
const GURL& manifest_url, const GURL& manifest_url,
FilterInstalledAppsCallback callback) { FilterInstalledAppsCallback callback) {
if (render_frame_host_->GetProcess()->GetBrowserContext()->IsOffTheRecord()) {
std::move(callback).Run(std::vector<blink::mojom::RelatedApplicationPtr>());
return;
}
bool is_implemented = false; bool is_implemented = false;
if (base::FeatureList::IsEnabled(features::kInstalledAppProvider)) { if (base::FeatureList::IsEnabled(features::kInstalledAppProvider)) {
#if defined(OS_WIN) #if defined(OS_WIN)
is_implemented = true; is_implemented = true;
bool is_off_the_record =
render_frame_host_->GetProcess()->GetBrowserContext()->IsOffTheRecord();
installed_app_provider_win::FilterInstalledAppsForWin( installed_app_provider_win::FilterInstalledAppsForWin(
std::move(related_apps), std::move(callback), render_frame_host_); std::move(related_apps),
base::BindOnce(&DidGetInstalledApps, is_off_the_record,
std::move(callback)),
render_frame_host_);
#endif #endif
} }
......
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