Commit f8e874c9 authored by Clark DuVall's avatar Clark DuVall Committed by Commit Bot

[WebLayer] Prompt for DSE permissions in incognito

Incognito mode should not automatically grant DSE permissions.

Bug: 1119910
Change-Id: I387ade23bdc654b7b4ab0337522a09a62e6268e3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2367634Reviewed-by: default avatarJohn Abd-El-Malek <jam@chromium.org>
Commit-Queue: Clark DuVall <cduvall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#800311}
parent cce73dd2
......@@ -28,6 +28,9 @@ bool IsPermissionControlledByDse(ContentSettingsType type,
}
void ResetDsePermissions(content::BrowserContext* browser_context) {
// Incognito should still have to prompt for permissions.
if (browser_context->IsOffTheRecord())
return;
GURL url = GetDseOrigin().GetURL();
HostContentSettingsMapFactory::GetForBrowserContext(browser_context)
->SetContentSettingDefaultScope(url, url,
......
// Copyright 2020 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.
#include "components/content_settings/core/browser/host_content_settings_map.h"
#include "content/public/test/browser_test_utils.h"
#include "weblayer/browser/host_content_settings_map_factory.h"
#include "weblayer/browser/tab_impl.h"
#include "weblayer/shell/browser/shell.h"
#include "weblayer/test/weblayer_browser_test.h"
#include "weblayer/test/weblayer_browser_test_utils.h"
namespace weblayer {
namespace {
constexpr char kDseOrigin[] = "https://www.google.com";
}
using DefaultSearchEngineBrowserTest = WebLayerBrowserTest;
IN_PROC_BROWSER_TEST_F(DefaultSearchEngineBrowserTest,
HasGeolocationPermission) {
auto* settings_map = HostContentSettingsMapFactory::GetForBrowserContext(
static_cast<TabImpl*>(shell()->tab())
->web_contents()
->GetBrowserContext());
EXPECT_EQ(settings_map->GetContentSetting(GURL(kDseOrigin), GURL(kDseOrigin),
ContentSettingsType::GEOLOCATION,
std::string()),
CONTENT_SETTING_ALLOW);
EXPECT_EQ(settings_map->GetContentSetting(GURL(kDseOrigin), GURL(kDseOrigin),
ContentSettingsType::NOTIFICATIONS,
std::string()),
CONTENT_SETTING_ASK);
}
class IncognitoDefaultSearchEngineBrowserTest
: public DefaultSearchEngineBrowserTest {
public:
IncognitoDefaultSearchEngineBrowserTest() { SetShellStartsInIncognitoMode(); }
};
IN_PROC_BROWSER_TEST_F(IncognitoDefaultSearchEngineBrowserTest,
IncognitoDoesNotHaveGeolocationPermission) {
auto* settings_map = HostContentSettingsMapFactory::GetForBrowserContext(
static_cast<TabImpl*>(shell()->tab())
->web_contents()
->GetBrowserContext());
EXPECT_EQ(settings_map->GetContentSetting(GURL(kDseOrigin), GURL(kDseOrigin),
ContentSettingsType::GEOLOCATION,
std::string()),
CONTENT_SETTING_ASK);
EXPECT_EQ(settings_map->GetContentSetting(GURL(kDseOrigin), GURL(kDseOrigin),
ContentSettingsType::NOTIFICATIONS,
std::string()),
CONTENT_SETTING_ASK);
}
} // namespace weblayer
......@@ -131,6 +131,7 @@ test("weblayer_browsertests") {
"../browser/client_hints_browsertest.cc",
"../browser/content_settings_browsertest.cc",
"../browser/cookie_manager_browsertest.cc",
"../browser/default_search_engine_browsertest.cc",
"../browser/download_browsertest.cc",
"../browser/errorpage_browsertest.cc",
"../browser/favicon/favicon_fetcher_browsertest.cc",
......
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