Commit b39b70ca authored by Yi Gu's avatar Yi Gu Committed by Chromium LUCI CQ

[CodeHealth] Convert components/permissions/ from base::Bind and base::Callback to Once/Repeating

Bug: 1152263
Change-Id: Iea5a9ae4af34b34267f4c4a04b85ea4c3c715b5f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2585640
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: default avatarBalazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#836571}
parent fd82cbf8
...@@ -72,8 +72,7 @@ class TestPermissionContext : public PermissionContextBase { ...@@ -72,8 +72,7 @@ class TestPermissionContext : public PermissionContextBase {
// Null check required here as the quit_closure_ can also be run and reset // Null check required here as the quit_closure_ can also be run and reset
// first from within DecidePermission. // first from within DecidePermission.
if (quit_closure_) { if (quit_closure_) {
quit_closure_.Run(); std::move(quit_closure_).Run();
quit_closure_.Reset();
} }
} }
...@@ -107,21 +106,19 @@ class TestPermissionContext : public PermissionContextBase { ...@@ -107,21 +106,19 @@ class TestPermissionContext : public PermissionContextBase {
embedding_origin, user_gesture, embedding_origin, user_gesture,
std::move(callback)); std::move(callback));
if (respond_permission_) { if (respond_permission_) {
respond_permission_.Run(); std::move(respond_permission_).Run();
respond_permission_.Reset();
} else { } else {
// Stop the run loop from spinning indefinitely if no response callback // Stop the run loop from spinning indefinitely if no response callback
// has been set, as is the case with TestParallelRequests. // has been set, as is the case with TestParallelRequests.
quit_closure_.Run(); std::move(quit_closure_).Run();
quit_closure_.Reset();
} }
} }
// Set the callback to run if the permission is being responded to in the // Set the callback to run if the permission is being responded to in the
// test. This is left empty where no response is needed, such as in parallel // test. This is left empty where no response is needed, such as in parallel
// requests, invalid origin, and killswitch. // requests, invalid origin, and killswitch.
void SetRespondPermissionCallback(base::Closure callback) { void SetRespondPermissionCallback(base::OnceClosure callback) {
respond_permission_ = callback; respond_permission_ = std::move(callback);
} }
protected: protected:
...@@ -136,10 +133,10 @@ class TestPermissionContext : public PermissionContextBase { ...@@ -136,10 +133,10 @@ class TestPermissionContext : public PermissionContextBase {
private: private:
std::vector<ContentSetting> decisions_; std::vector<ContentSetting> decisions_;
bool tab_context_updated_; bool tab_context_updated_;
base::Closure quit_closure_; base::OnceClosure quit_closure_;
// Callback for responding to a permission once the request has been completed // Callback for responding to a permission once the request has been completed
// (valid URL, kill switch disabled) // (valid URL, kill switch disabled)
base::Closure respond_permission_; base::OnceClosure respond_permission_;
DISALLOW_COPY_AND_ASSIGN(TestPermissionContext); DISALLOW_COPY_AND_ASSIGN(TestPermissionContext);
}; };
...@@ -222,13 +219,13 @@ class PermissionContextBaseTests : public content::RenderViewHostTestHarness { ...@@ -222,13 +219,13 @@ class PermissionContextBaseTests : public content::RenderViewHostTestHarness {
const PermissionRequestID id( const PermissionRequestID id(
web_contents()->GetMainFrame()->GetProcess()->GetID(), web_contents()->GetMainFrame()->GetProcess()->GetID(),
web_contents()->GetMainFrame()->GetRoutingID(), -1); web_contents()->GetMainFrame()->GetRoutingID(), -1);
permission_context.SetRespondPermissionCallback(base::Bind( permission_context.SetRespondPermissionCallback(base::BindOnce(
&PermissionContextBaseTests::RespondToPermission, &PermissionContextBaseTests::RespondToPermission,
base::Unretained(this), &permission_context, id, url, decision)); base::Unretained(this), &permission_context, id, url, decision));
permission_context.RequestPermission( permission_context.RequestPermission(
web_contents(), id, url, true /* user_gesture */, web_contents(), id, url, true /* user_gesture */,
base::Bind(&TestPermissionContext::TrackPermissionDecision, base::BindOnce(&TestPermissionContext::TrackPermissionDecision,
base::Unretained(&permission_context))); base::Unretained(&permission_context)));
ASSERT_EQ(1u, permission_context.decisions().size()); ASSERT_EQ(1u, permission_context.decisions().size());
EXPECT_EQ(decision, permission_context.decisions()[0]); EXPECT_EQ(decision, permission_context.decisions()[0]);
EXPECT_TRUE(permission_context.tab_context_updated()); EXPECT_TRUE(permission_context.tab_context_updated());
...@@ -323,14 +320,14 @@ class PermissionContextBaseTests : public content::RenderViewHostTestHarness { ...@@ -323,14 +320,14 @@ class PermissionContextBaseTests : public content::RenderViewHostTestHarness {
web_contents()->GetMainFrame()->GetRoutingID(), i); web_contents()->GetMainFrame()->GetRoutingID(), i);
permission_context.SetRespondPermissionCallback( permission_context.SetRespondPermissionCallback(
base::Bind(&PermissionContextBaseTests::RespondToPermission, base::BindOnce(&PermissionContextBaseTests::RespondToPermission,
base::Unretained(this), &permission_context, id, url, base::Unretained(this), &permission_context, id, url,
CONTENT_SETTING_ASK)); CONTENT_SETTING_ASK));
permission_context.RequestPermission( permission_context.RequestPermission(
web_contents(), id, url, true /* user_gesture */, web_contents(), id, url, true /* user_gesture */,
base::Bind(&TestPermissionContext::TrackPermissionDecision, base::BindOnce(&TestPermissionContext::TrackPermissionDecision,
base::Unretained(&permission_context))); base::Unretained(&permission_context)));
histograms.ExpectTotalCount( histograms.ExpectTotalCount(
"Permissions.Prompt.Dismissed.PriorDismissCount2." + "Permissions.Prompt.Dismissed.PriorDismissCount2." +
PermissionUtil::GetPermissionString(content_settings_type), PermissionUtil::GetPermissionString(content_settings_type),
...@@ -375,14 +372,14 @@ class PermissionContextBaseTests : public content::RenderViewHostTestHarness { ...@@ -375,14 +372,14 @@ class PermissionContextBaseTests : public content::RenderViewHostTestHarness {
web_contents()->GetMainFrame()->GetRoutingID(), -1); web_contents()->GetMainFrame()->GetRoutingID(), -1);
permission_context.SetRespondPermissionCallback( permission_context.SetRespondPermissionCallback(
base::Bind(&PermissionContextBaseTests::RespondToPermission, base::BindOnce(&PermissionContextBaseTests::RespondToPermission,
base::Unretained(this), &permission_context, id, url, base::Unretained(this), &permission_context, id, url,
CONTENT_SETTING_ASK)); CONTENT_SETTING_ASK));
permission_context.RequestPermission( permission_context.RequestPermission(
web_contents(), id, url, true /* user_gesture */, web_contents(), id, url, true /* user_gesture */,
base::Bind(&TestPermissionContext::TrackPermissionDecision, base::BindOnce(&TestPermissionContext::TrackPermissionDecision,
base::Unretained(&permission_context))); base::Unretained(&permission_context)));
PermissionResult result = permission_context.GetPermissionStatus( PermissionResult result = permission_context.GetPermissionStatus(
nullptr /* render_frame_host */, url, url); nullptr /* render_frame_host */, url, url);
...@@ -414,13 +411,13 @@ class PermissionContextBaseTests : public content::RenderViewHostTestHarness { ...@@ -414,13 +411,13 @@ class PermissionContextBaseTests : public content::RenderViewHostTestHarness {
web_contents()->GetMainFrame()->GetRoutingID(), i); web_contents()->GetMainFrame()->GetRoutingID(), i);
permission_context.SetRespondPermissionCallback( permission_context.SetRespondPermissionCallback(
base::Bind(&PermissionContextBaseTests::RespondToPermission, base::BindOnce(&PermissionContextBaseTests::RespondToPermission,
base::Unretained(this), &permission_context, id, url, base::Unretained(this), &permission_context, id, url,
CONTENT_SETTING_ASK)); CONTENT_SETTING_ASK));
permission_context.RequestPermission( permission_context.RequestPermission(
web_contents(), id, url, true /* user_gesture */, web_contents(), id, url, true /* user_gesture */,
base::Bind(&TestPermissionContext::TrackPermissionDecision, base::BindOnce(&TestPermissionContext::TrackPermissionDecision,
base::Unretained(&permission_context))); base::Unretained(&permission_context)));
histograms.ExpectTotalCount( histograms.ExpectTotalCount(
"Permissions.Prompt.Dismissed.PriorDismissCount2.Geolocation", "Permissions.Prompt.Dismissed.PriorDismissCount2.Geolocation",
i + 1); i + 1);
...@@ -490,13 +487,13 @@ class PermissionContextBaseTests : public content::RenderViewHostTestHarness { ...@@ -490,13 +487,13 @@ class PermissionContextBaseTests : public content::RenderViewHostTestHarness {
web_contents()->GetMainFrame()->GetProcess()->GetID(), web_contents()->GetMainFrame()->GetProcess()->GetID(),
web_contents()->GetMainFrame()->GetRoutingID(), i); web_contents()->GetMainFrame()->GetRoutingID(), i);
permission_context.SetRespondPermissionCallback( permission_context.SetRespondPermissionCallback(
base::Bind(&PermissionContextBaseTests::RespondToPermission, base::BindOnce(&PermissionContextBaseTests::RespondToPermission,
base::Unretained(this), &permission_context, id, url, base::Unretained(this), &permission_context, id, url,
CONTENT_SETTING_ASK)); CONTENT_SETTING_ASK));
permission_context.RequestPermission( permission_context.RequestPermission(
web_contents(), id, url, true /* user_gesture */, web_contents(), id, url, true /* user_gesture */,
base::Bind(&TestPermissionContext::TrackPermissionDecision, base::BindOnce(&TestPermissionContext::TrackPermissionDecision,
base::Unretained(&permission_context))); base::Unretained(&permission_context)));
EXPECT_EQ(1u, permission_context.decisions().size()); EXPECT_EQ(1u, permission_context.decisions().size());
ASSERT_EQ(CONTENT_SETTING_ASK, permission_context.decisions()[0]); ASSERT_EQ(CONTENT_SETTING_ASK, permission_context.decisions()[0]);
...@@ -552,8 +549,8 @@ class PermissionContextBaseTests : public content::RenderViewHostTestHarness { ...@@ -552,8 +549,8 @@ class PermissionContextBaseTests : public content::RenderViewHostTestHarness {
web_contents()->GetMainFrame()->GetRoutingID(), -1); web_contents()->GetMainFrame()->GetRoutingID(), -1);
permission_context.RequestPermission( permission_context.RequestPermission(
web_contents(), id, url, true /* user_gesture */, web_contents(), id, url, true /* user_gesture */,
base::Bind(&TestPermissionContext::TrackPermissionDecision, base::BindOnce(&TestPermissionContext::TrackPermissionDecision,
base::Unretained(&permission_context))); base::Unretained(&permission_context)));
ASSERT_EQ(1u, permission_context.decisions().size()); ASSERT_EQ(1u, permission_context.decisions().size());
EXPECT_EQ(CONTENT_SETTING_BLOCK, permission_context.decisions()[0]); EXPECT_EQ(CONTENT_SETTING_BLOCK, permission_context.decisions()[0]);
...@@ -575,14 +572,14 @@ class PermissionContextBaseTests : public content::RenderViewHostTestHarness { ...@@ -575,14 +572,14 @@ class PermissionContextBaseTests : public content::RenderViewHostTestHarness {
web_contents()->GetMainFrame()->GetProcess()->GetID(), web_contents()->GetMainFrame()->GetProcess()->GetID(),
web_contents()->GetMainFrame()->GetRoutingID(), -1); web_contents()->GetMainFrame()->GetRoutingID(), -1);
permission_context.SetRespondPermissionCallback( permission_context.SetRespondPermissionCallback(
base::Bind(&PermissionContextBaseTests::RespondToPermission, base::BindOnce(&PermissionContextBaseTests::RespondToPermission,
base::Unretained(this), &permission_context, id, url, base::Unretained(this), &permission_context, id, url,
CONTENT_SETTING_ALLOW)); CONTENT_SETTING_ALLOW));
permission_context.RequestPermission( permission_context.RequestPermission(
web_contents(), id, url, true /* user_gesture */, web_contents(), id, url, true /* user_gesture */,
base::Bind(&TestPermissionContext::TrackPermissionDecision, base::BindOnce(&TestPermissionContext::TrackPermissionDecision,
base::Unretained(&permission_context))); base::Unretained(&permission_context)));
ASSERT_EQ(1u, permission_context.decisions().size()); ASSERT_EQ(1u, permission_context.decisions().size());
EXPECT_EQ(CONTENT_SETTING_ALLOW, permission_context.decisions()[0]); EXPECT_EQ(CONTENT_SETTING_ALLOW, permission_context.decisions()[0]);
...@@ -662,19 +659,19 @@ class PermissionContextBaseTests : public content::RenderViewHostTestHarness { ...@@ -662,19 +659,19 @@ class PermissionContextBaseTests : public content::RenderViewHostTestHarness {
// Request a permission without setting the callback to DecidePermission. // Request a permission without setting the callback to DecidePermission.
permission_context.RequestPermission( permission_context.RequestPermission(
web_contents(), id0, url, true /* user_gesture */, web_contents(), id0, url, true /* user_gesture */,
base::Bind(&TestPermissionContext::TrackPermissionDecision, base::BindOnce(&TestPermissionContext::TrackPermissionDecision,
base::Unretained(&permission_context))); base::Unretained(&permission_context)));
EXPECT_EQ(0u, permission_context.decisions().size()); EXPECT_EQ(0u, permission_context.decisions().size());
// Set the callback, and make a second permission request. // Set the callback, and make a second permission request.
permission_context.SetRespondPermissionCallback(base::Bind( permission_context.SetRespondPermissionCallback(base::BindOnce(
&PermissionContextBaseTests::RespondToPermission, &PermissionContextBaseTests::RespondToPermission,
base::Unretained(this), &permission_context, id0, url, response)); base::Unretained(this), &permission_context, id0, url, response));
permission_context.RequestPermission( permission_context.RequestPermission(
web_contents(), id1, url, true /* user_gesture */, web_contents(), id1, url, true /* user_gesture */,
base::Bind(&TestPermissionContext::TrackPermissionDecision, base::BindOnce(&TestPermissionContext::TrackPermissionDecision,
base::Unretained(&permission_context))); base::Unretained(&permission_context)));
ASSERT_EQ(2u, permission_context.decisions().size()); ASSERT_EQ(2u, permission_context.decisions().size());
EXPECT_EQ(response, permission_context.decisions()[0]); EXPECT_EQ(response, permission_context.decisions()[0]);
......
...@@ -406,7 +406,7 @@ void PermissionDecisionAutoBlocker::RemoveEmbargoAndResetCounts( ...@@ -406,7 +406,7 @@ void PermissionDecisionAutoBlocker::RemoveEmbargoAndResetCounts(
} }
void PermissionDecisionAutoBlocker::RemoveEmbargoAndResetCounts( void PermissionDecisionAutoBlocker::RemoveEmbargoAndResetCounts(
base::Callback<bool(const GURL& url)> filter) { base::RepeatingCallback<bool(const GURL& url)> filter) {
std::unique_ptr<ContentSettingsForOneType> settings( std::unique_ptr<ContentSettingsForOneType> settings(
new ContentSettingsForOneType); new ContentSettingsForOneType);
settings_map_->GetSettingsForOneType( settings_map_->GetSettingsForOneType(
......
...@@ -113,7 +113,7 @@ class PermissionDecisionAutoBlocker : public KeyedService { ...@@ -113,7 +113,7 @@ class PermissionDecisionAutoBlocker : public KeyedService {
// Same as above, but cleans the slate for all permissions and for all URLs // Same as above, but cleans the slate for all permissions and for all URLs
// matching |filter|. // matching |filter|.
void RemoveEmbargoAndResetCounts( void RemoveEmbargoAndResetCounts(
base::Callback<bool(const GURL& url)> filter); base::RepeatingCallback<bool(const GURL& url)> filter);
static const char* GetPromptDismissCountKeyForTesting(); static const char* GetPromptDismissCountKeyForTesting();
......
...@@ -48,12 +48,11 @@ class PermissionDecisionAutoBlockerUnitTest : public testing::Test { ...@@ -48,12 +48,11 @@ class PermissionDecisionAutoBlockerUnitTest : public testing::Test {
&browser_context_); &browser_context_);
} }
void SetLastEmbargoStatus(base::Closure quit_closure, bool status) { void SetLastEmbargoStatus(base::OnceClosure quit_closure, bool status) {
callback_was_run_ = true; callback_was_run_ = true;
last_embargoed_status_ = status; last_embargoed_status_ = status;
if (quit_closure) { if (quit_closure) {
quit_closure.Run(); std::move(quit_closure).Run();
quit_closure.Reset();
} }
} }
...@@ -307,7 +306,8 @@ TEST_F(PermissionDecisionAutoBlockerUnitTest, RemoveEmbargoAndResetCounts_All) { ...@@ -307,7 +306,8 @@ TEST_F(PermissionDecisionAutoBlockerUnitTest, RemoveEmbargoAndResetCounts_All) {
EXPECT_EQ( EXPECT_EQ(
2, autoblocker()->GetIgnoreCount(url2, ContentSettingsType::GEOLOCATION)); 2, autoblocker()->GetIgnoreCount(url2, ContentSettingsType::GEOLOCATION));
autoblocker()->RemoveEmbargoAndResetCounts(base::Bind(&FilterGoogle)); autoblocker()->RemoveEmbargoAndResetCounts(
base::BindRepeating(&FilterGoogle));
// Expect that url1's actions are gone, but url2's remain. // Expect that url1's actions are gone, but url2's remain.
EXPECT_EQ(0, autoblocker()->GetDismissCount( EXPECT_EQ(0, autoblocker()->GetDismissCount(
...@@ -358,7 +358,7 @@ TEST_F(PermissionDecisionAutoBlockerUnitTest, RemoveEmbargoAndResetCounts_All) { ...@@ -358,7 +358,7 @@ TEST_F(PermissionDecisionAutoBlockerUnitTest, RemoveEmbargoAndResetCounts_All) {
1, autoblocker()->GetIgnoreCount(url2, ContentSettingsType::MIDI_SYSEX)); 1, autoblocker()->GetIgnoreCount(url2, ContentSettingsType::MIDI_SYSEX));
// Remove everything and expect that it's all gone. // Remove everything and expect that it's all gone.
autoblocker()->RemoveEmbargoAndResetCounts(base::Bind(&FilterAll)); autoblocker()->RemoveEmbargoAndResetCounts(base::BindRepeating(&FilterAll));
EXPECT_EQ(0, autoblocker()->GetDismissCount( EXPECT_EQ(0, autoblocker()->GetDismissCount(
url1, ContentSettingsType::GEOLOCATION)); url1, ContentSettingsType::GEOLOCATION));
...@@ -609,7 +609,8 @@ TEST_F(PermissionDecisionAutoBlockerUnitTest, CheckEmbargoStartTime) { ...@@ -609,7 +609,8 @@ TEST_F(PermissionDecisionAutoBlockerUnitTest, CheckEmbargoStartTime) {
// Remove records of dismiss and ignore embargoes and confirm start time // Remove records of dismiss and ignore embargoes and confirm start time
// reverts to default. // reverts to default.
autoblocker()->RemoveEmbargoAndResetCounts(base::Bind(&FilterGoogle)); autoblocker()->RemoveEmbargoAndResetCounts(
base::BindRepeating(&FilterGoogle));
embargo_start_time = embargo_start_time =
autoblocker()->GetEmbargoStartTime(url, ContentSettingsType::GEOLOCATION); autoblocker()->GetEmbargoStartTime(url, ContentSettingsType::GEOLOCATION);
EXPECT_EQ(base::Time(), embargo_start_time); EXPECT_EQ(base::Time(), embargo_start_time);
......
...@@ -125,7 +125,7 @@ class PermissionManagerTest : public content::RenderViewHostTestHarness { ...@@ -125,7 +125,7 @@ class PermissionManagerTest : public content::RenderViewHostTestHarness {
public: public:
void OnPermissionChange(PermissionStatus permission) { void OnPermissionChange(PermissionStatus permission) {
if (!quit_closure_.is_null()) if (!quit_closure_.is_null())
quit_closure_.Run(); std::move(quit_closure_).Run();
callback_called_ = true; callback_called_ = true;
callback_result_ = permission; callback_result_ = permission;
} }
...@@ -173,8 +173,8 @@ class PermissionManagerTest : public content::RenderViewHostTestHarness { ...@@ -173,8 +173,8 @@ class PermissionManagerTest : public content::RenderViewHostTestHarness {
quit_closure_ = loop.QuitClosure(); quit_closure_ = loop.QuitClosure();
int result = GetPermissionControllerDelegate()->RequestPermission( int result = GetPermissionControllerDelegate()->RequestPermission(
type, rfh, origin, true, type, rfh, origin, true,
base::Bind(&PermissionManagerTest::OnPermissionChange, base::BindOnce(&PermissionManagerTest::OnPermissionChange,
base::Unretained(this))); base::Unretained(this)));
loop.Run(); loop.Run();
return result; return result;
} }
...@@ -261,7 +261,7 @@ class PermissionManagerTest : public content::RenderViewHostTestHarness { ...@@ -261,7 +261,7 @@ class PermissionManagerTest : public content::RenderViewHostTestHarness {
const GURL other_url_; const GURL other_url_;
bool callback_called_; bool callback_called_;
PermissionStatus callback_result_; PermissionStatus callback_result_;
base::Closure quit_closure_; base::OnceClosure quit_closure_;
std::unique_ptr<content::TestBrowserContext> browser_context_; std::unique_ptr<content::TestBrowserContext> browser_context_;
TestPermissionsClient client_; TestPermissionsClient client_;
}; };
...@@ -337,16 +337,16 @@ TEST_F(PermissionManagerTest, SubscriptionDestroyedCleanlyWithoutUnsubscribe) { ...@@ -337,16 +337,16 @@ TEST_F(PermissionManagerTest, SubscriptionDestroyedCleanlyWithoutUnsubscribe) {
// haven't been removed, crbug.com/720071. // haven't been removed, crbug.com/720071.
GetPermissionControllerDelegate()->SubscribePermissionStatusChange( GetPermissionControllerDelegate()->SubscribePermissionStatusChange(
PermissionType::GEOLOCATION, main_rfh(), url(), PermissionType::GEOLOCATION, main_rfh(), url(),
base::Bind(&PermissionManagerTest::OnPermissionChange, base::BindRepeating(&PermissionManagerTest::OnPermissionChange,
base::Unretained(this))); base::Unretained(this)));
} }
TEST_F(PermissionManagerTest, SubscribeUnsubscribeAfterShutdown) { TEST_F(PermissionManagerTest, SubscribeUnsubscribeAfterShutdown) {
int subscription_id = int subscription_id =
GetPermissionControllerDelegate()->SubscribePermissionStatusChange( GetPermissionControllerDelegate()->SubscribePermissionStatusChange(
PermissionType::GEOLOCATION, main_rfh(), url(), PermissionType::GEOLOCATION, main_rfh(), url(),
base::Bind(&PermissionManagerTest::OnPermissionChange, base::BindRepeating(&PermissionManagerTest::OnPermissionChange,
base::Unretained(this))); base::Unretained(this)));
// Simulate Keyed Services shutdown pass. Note: Shutdown will be called second // Simulate Keyed Services shutdown pass. Note: Shutdown will be called second
// time during browser_context destruction. This is ok for now: Shutdown is // time during browser_context destruction. This is ok for now: Shutdown is
...@@ -360,8 +360,8 @@ TEST_F(PermissionManagerTest, SubscribeUnsubscribeAfterShutdown) { ...@@ -360,8 +360,8 @@ TEST_F(PermissionManagerTest, SubscribeUnsubscribeAfterShutdown) {
int subscription2_id = int subscription2_id =
GetPermissionControllerDelegate()->SubscribePermissionStatusChange( GetPermissionControllerDelegate()->SubscribePermissionStatusChange(
PermissionType::GEOLOCATION, main_rfh(), url(), PermissionType::GEOLOCATION, main_rfh(), url(),
base::Bind(&PermissionManagerTest::OnPermissionChange, base::BindRepeating(&PermissionManagerTest::OnPermissionChange,
base::Unretained(this))); base::Unretained(this)));
GetPermissionControllerDelegate()->UnsubscribePermissionStatusChange( GetPermissionControllerDelegate()->UnsubscribePermissionStatusChange(
subscription2_id); subscription2_id);
...@@ -371,8 +371,8 @@ TEST_F(PermissionManagerTest, SameTypeChangeNotifies) { ...@@ -371,8 +371,8 @@ TEST_F(PermissionManagerTest, SameTypeChangeNotifies) {
int subscription_id = int subscription_id =
GetPermissionControllerDelegate()->SubscribePermissionStatusChange( GetPermissionControllerDelegate()->SubscribePermissionStatusChange(
PermissionType::GEOLOCATION, main_rfh(), url(), PermissionType::GEOLOCATION, main_rfh(), url(),
base::Bind(&PermissionManagerTest::OnPermissionChange, base::BindRepeating(&PermissionManagerTest::OnPermissionChange,
base::Unretained(this))); base::Unretained(this)));
GetHostContentSettingsMap()->SetContentSettingDefaultScope( GetHostContentSettingsMap()->SetContentSettingDefaultScope(
url(), url(), ContentSettingsType::GEOLOCATION, CONTENT_SETTING_ALLOW); url(), url(), ContentSettingsType::GEOLOCATION, CONTENT_SETTING_ALLOW);
...@@ -388,8 +388,8 @@ TEST_F(PermissionManagerTest, DifferentTypeChangeDoesNotNotify) { ...@@ -388,8 +388,8 @@ TEST_F(PermissionManagerTest, DifferentTypeChangeDoesNotNotify) {
int subscription_id = int subscription_id =
GetPermissionControllerDelegate()->SubscribePermissionStatusChange( GetPermissionControllerDelegate()->SubscribePermissionStatusChange(
PermissionType::GEOLOCATION, main_rfh(), url(), PermissionType::GEOLOCATION, main_rfh(), url(),
base::Bind(&PermissionManagerTest::OnPermissionChange, base::BindRepeating(&PermissionManagerTest::OnPermissionChange,
base::Unretained(this))); base::Unretained(this)));
GetHostContentSettingsMap()->SetContentSettingDefaultScope( GetHostContentSettingsMap()->SetContentSettingDefaultScope(
url(), GURL(), ContentSettingsType::NOTIFICATIONS, CONTENT_SETTING_ALLOW); url(), GURL(), ContentSettingsType::NOTIFICATIONS, CONTENT_SETTING_ALLOW);
...@@ -404,8 +404,8 @@ TEST_F(PermissionManagerTest, ChangeAfterUnsubscribeDoesNotNotify) { ...@@ -404,8 +404,8 @@ TEST_F(PermissionManagerTest, ChangeAfterUnsubscribeDoesNotNotify) {
int subscription_id = int subscription_id =
GetPermissionControllerDelegate()->SubscribePermissionStatusChange( GetPermissionControllerDelegate()->SubscribePermissionStatusChange(
PermissionType::GEOLOCATION, main_rfh(), url(), PermissionType::GEOLOCATION, main_rfh(), url(),
base::Bind(&PermissionManagerTest::OnPermissionChange, base::BindRepeating(&PermissionManagerTest::OnPermissionChange,
base::Unretained(this))); base::Unretained(this)));
GetPermissionControllerDelegate()->UnsubscribePermissionStatusChange( GetPermissionControllerDelegate()->UnsubscribePermissionStatusChange(
subscription_id); subscription_id);
...@@ -420,8 +420,8 @@ TEST_F(PermissionManagerTest, DifferentPrimaryUrlDoesNotNotify) { ...@@ -420,8 +420,8 @@ TEST_F(PermissionManagerTest, DifferentPrimaryUrlDoesNotNotify) {
int subscription_id = int subscription_id =
GetPermissionControllerDelegate()->SubscribePermissionStatusChange( GetPermissionControllerDelegate()->SubscribePermissionStatusChange(
PermissionType::GEOLOCATION, main_rfh(), url(), PermissionType::GEOLOCATION, main_rfh(), url(),
base::Bind(&PermissionManagerTest::OnPermissionChange, base::BindRepeating(&PermissionManagerTest::OnPermissionChange,
base::Unretained(this))); base::Unretained(this)));
GetHostContentSettingsMap()->SetContentSettingDefaultScope( GetHostContentSettingsMap()->SetContentSettingDefaultScope(
other_url(), url(), ContentSettingsType::GEOLOCATION, other_url(), url(), ContentSettingsType::GEOLOCATION,
...@@ -437,8 +437,8 @@ TEST_F(PermissionManagerTest, DifferentSecondaryUrlDoesNotNotify) { ...@@ -437,8 +437,8 @@ TEST_F(PermissionManagerTest, DifferentSecondaryUrlDoesNotNotify) {
int subscription_id = int subscription_id =
GetPermissionControllerDelegate()->SubscribePermissionStatusChange( GetPermissionControllerDelegate()->SubscribePermissionStatusChange(
PermissionType::STORAGE_ACCESS_GRANT, main_rfh(), url(), PermissionType::STORAGE_ACCESS_GRANT, main_rfh(), url(),
base::Bind(&PermissionManagerTest::OnPermissionChange, base::BindRepeating(&PermissionManagerTest::OnPermissionChange,
base::Unretained(this))); base::Unretained(this)));
GetHostContentSettingsMap()->SetContentSettingDefaultScope( GetHostContentSettingsMap()->SetContentSettingDefaultScope(
url(), other_url(), ContentSettingsType::STORAGE_ACCESS, url(), other_url(), ContentSettingsType::STORAGE_ACCESS,
...@@ -454,8 +454,8 @@ TEST_F(PermissionManagerTest, WildCardPatternNotifies) { ...@@ -454,8 +454,8 @@ TEST_F(PermissionManagerTest, WildCardPatternNotifies) {
int subscription_id = int subscription_id =
GetPermissionControllerDelegate()->SubscribePermissionStatusChange( GetPermissionControllerDelegate()->SubscribePermissionStatusChange(
PermissionType::GEOLOCATION, main_rfh(), url(), PermissionType::GEOLOCATION, main_rfh(), url(),
base::Bind(&PermissionManagerTest::OnPermissionChange, base::BindRepeating(&PermissionManagerTest::OnPermissionChange,
base::Unretained(this))); base::Unretained(this)));
GetHostContentSettingsMap()->SetDefaultContentSetting( GetHostContentSettingsMap()->SetDefaultContentSetting(
ContentSettingsType::GEOLOCATION, CONTENT_SETTING_ALLOW); ContentSettingsType::GEOLOCATION, CONTENT_SETTING_ALLOW);
...@@ -474,8 +474,8 @@ TEST_F(PermissionManagerTest, ClearSettingsNotifies) { ...@@ -474,8 +474,8 @@ TEST_F(PermissionManagerTest, ClearSettingsNotifies) {
int subscription_id = int subscription_id =
GetPermissionControllerDelegate()->SubscribePermissionStatusChange( GetPermissionControllerDelegate()->SubscribePermissionStatusChange(
PermissionType::GEOLOCATION, main_rfh(), url(), PermissionType::GEOLOCATION, main_rfh(), url(),
base::Bind(&PermissionManagerTest::OnPermissionChange, base::BindRepeating(&PermissionManagerTest::OnPermissionChange,
base::Unretained(this))); base::Unretained(this)));
GetHostContentSettingsMap()->ClearSettingsForOneType( GetHostContentSettingsMap()->ClearSettingsForOneType(
ContentSettingsType::GEOLOCATION); ContentSettingsType::GEOLOCATION);
...@@ -491,8 +491,8 @@ TEST_F(PermissionManagerTest, NewValueCorrectlyPassed) { ...@@ -491,8 +491,8 @@ TEST_F(PermissionManagerTest, NewValueCorrectlyPassed) {
int subscription_id = int subscription_id =
GetPermissionControllerDelegate()->SubscribePermissionStatusChange( GetPermissionControllerDelegate()->SubscribePermissionStatusChange(
PermissionType::GEOLOCATION, main_rfh(), url(), PermissionType::GEOLOCATION, main_rfh(), url(),
base::Bind(&PermissionManagerTest::OnPermissionChange, base::BindRepeating(&PermissionManagerTest::OnPermissionChange,
base::Unretained(this))); base::Unretained(this)));
GetHostContentSettingsMap()->SetContentSettingDefaultScope( GetHostContentSettingsMap()->SetContentSettingDefaultScope(
url(), url(), ContentSettingsType::GEOLOCATION, CONTENT_SETTING_BLOCK); url(), url(), ContentSettingsType::GEOLOCATION, CONTENT_SETTING_BLOCK);
...@@ -511,8 +511,8 @@ TEST_F(PermissionManagerTest, ChangeWithoutPermissionChangeDoesNotNotify) { ...@@ -511,8 +511,8 @@ TEST_F(PermissionManagerTest, ChangeWithoutPermissionChangeDoesNotNotify) {
int subscription_id = int subscription_id =
GetPermissionControllerDelegate()->SubscribePermissionStatusChange( GetPermissionControllerDelegate()->SubscribePermissionStatusChange(
PermissionType::GEOLOCATION, main_rfh(), url(), PermissionType::GEOLOCATION, main_rfh(), url(),
base::Bind(&PermissionManagerTest::OnPermissionChange, base::BindRepeating(&PermissionManagerTest::OnPermissionChange,
base::Unretained(this))); base::Unretained(this)));
GetHostContentSettingsMap()->SetContentSettingDefaultScope( GetHostContentSettingsMap()->SetContentSettingDefaultScope(
url(), url(), ContentSettingsType::GEOLOCATION, CONTENT_SETTING_ALLOW); url(), url(), ContentSettingsType::GEOLOCATION, CONTENT_SETTING_ALLOW);
...@@ -530,8 +530,8 @@ TEST_F(PermissionManagerTest, ChangesBackAndForth) { ...@@ -530,8 +530,8 @@ TEST_F(PermissionManagerTest, ChangesBackAndForth) {
int subscription_id = int subscription_id =
GetPermissionControllerDelegate()->SubscribePermissionStatusChange( GetPermissionControllerDelegate()->SubscribePermissionStatusChange(
PermissionType::GEOLOCATION, main_rfh(), url(), PermissionType::GEOLOCATION, main_rfh(), url(),
base::Bind(&PermissionManagerTest::OnPermissionChange, base::BindRepeating(&PermissionManagerTest::OnPermissionChange,
base::Unretained(this))); base::Unretained(this)));
GetHostContentSettingsMap()->SetContentSettingDefaultScope( GetHostContentSettingsMap()->SetContentSettingDefaultScope(
url(), url(), ContentSettingsType::GEOLOCATION, CONTENT_SETTING_ALLOW); url(), url(), ContentSettingsType::GEOLOCATION, CONTENT_SETTING_ALLOW);
...@@ -558,8 +558,8 @@ TEST_F(PermissionManagerTest, ChangesBackAndForthWorker) { ...@@ -558,8 +558,8 @@ TEST_F(PermissionManagerTest, ChangesBackAndForthWorker) {
int subscription_id = int subscription_id =
GetPermissionControllerDelegate()->SubscribePermissionStatusChange( GetPermissionControllerDelegate()->SubscribePermissionStatusChange(
PermissionType::GEOLOCATION, nullptr, url(), PermissionType::GEOLOCATION, nullptr, url(),
base::Bind(&PermissionManagerTest::OnPermissionChange, base::BindRepeating(&PermissionManagerTest::OnPermissionChange,
base::Unretained(this))); base::Unretained(this)));
GetHostContentSettingsMap()->SetContentSettingDefaultScope( GetHostContentSettingsMap()->SetContentSettingDefaultScope(
url(), url(), ContentSettingsType::GEOLOCATION, CONTENT_SETTING_ALLOW); url(), url(), ContentSettingsType::GEOLOCATION, CONTENT_SETTING_ALLOW);
...@@ -583,8 +583,8 @@ TEST_F(PermissionManagerTest, SubscribeMIDIPermission) { ...@@ -583,8 +583,8 @@ TEST_F(PermissionManagerTest, SubscribeMIDIPermission) {
int subscription_id = int subscription_id =
GetPermissionControllerDelegate()->SubscribePermissionStatusChange( GetPermissionControllerDelegate()->SubscribePermissionStatusChange(
PermissionType::MIDI, main_rfh(), url(), PermissionType::MIDI, main_rfh(), url(),
base::Bind(&PermissionManagerTest::OnPermissionChange, base::BindRepeating(&PermissionManagerTest::OnPermissionChange,
base::Unretained(this))); base::Unretained(this)));
CheckPermissionStatus(PermissionType::GEOLOCATION, PermissionStatus::ASK); CheckPermissionStatus(PermissionType::GEOLOCATION, PermissionStatus::ASK);
GetHostContentSettingsMap()->SetContentSettingDefaultScope( GetHostContentSettingsMap()->SetContentSettingDefaultScope(
...@@ -608,8 +608,8 @@ TEST_F(PermissionManagerTest, PermissionIgnoredCleanup) { ...@@ -608,8 +608,8 @@ TEST_F(PermissionManagerTest, PermissionIgnoredCleanup) {
GetPermissionControllerDelegate()->RequestPermission( GetPermissionControllerDelegate()->RequestPermission(
PermissionType::GEOLOCATION, main_rfh(), url(), /*user_gesture=*/true, PermissionType::GEOLOCATION, main_rfh(), url(), /*user_gesture=*/true,
base::Bind(&PermissionManagerTest::OnPermissionChange, base::BindOnce(&PermissionManagerTest::OnPermissionChange,
base::Unretained(this))); base::Unretained(this)));
EXPECT_FALSE(PendingRequestsEmpty()); EXPECT_FALSE(PendingRequestsEmpty());
...@@ -794,8 +794,8 @@ TEST_F(PermissionManagerTest, SubscribeWithPermissionDelegation) { ...@@ -794,8 +794,8 @@ TEST_F(PermissionManagerTest, SubscribeWithPermissionDelegation) {
int subscription_id = int subscription_id =
GetPermissionControllerDelegate()->SubscribePermissionStatusChange( GetPermissionControllerDelegate()->SubscribePermissionStatusChange(
PermissionType::GEOLOCATION, child, GURL(kOrigin2), PermissionType::GEOLOCATION, child, GURL(kOrigin2),
base::Bind(&PermissionManagerTest::OnPermissionChange, base::BindRepeating(&PermissionManagerTest::OnPermissionChange,
base::Unretained(this))); base::Unretained(this)));
EXPECT_FALSE(callback_called()); EXPECT_FALSE(callback_called());
// Location should be blocked for the child because it's not delegated. // Location should be blocked for the child because it's not delegated.
...@@ -831,8 +831,8 @@ TEST_F(PermissionManagerTest, SubscribeWithPermissionDelegation) { ...@@ -831,8 +831,8 @@ TEST_F(PermissionManagerTest, SubscribeWithPermissionDelegation) {
subscription_id = subscription_id =
GetPermissionControllerDelegate()->SubscribePermissionStatusChange( GetPermissionControllerDelegate()->SubscribePermissionStatusChange(
PermissionType::GEOLOCATION, child, GURL(kOrigin2), PermissionType::GEOLOCATION, child, GURL(kOrigin2),
base::Bind(&PermissionManagerTest::OnPermissionChange, base::BindRepeating(&PermissionManagerTest::OnPermissionChange,
base::Unretained(this))); base::Unretained(this)));
EXPECT_FALSE(callback_called()); EXPECT_FALSE(callback_called());
// Blocking access to the parent should trigger the callback to be run for the // Blocking access to the parent should trigger the callback to be run for the
......
...@@ -67,7 +67,7 @@ class PermissionPrompt { ...@@ -67,7 +67,7 @@ class PermissionPrompt {
virtual bool WasCurrentRequestAlreadyDisplayed() = 0; virtual bool WasCurrentRequestAlreadyDisplayed() = 0;
}; };
typedef base::Callback< typedef base::RepeatingCallback<
std::unique_ptr<PermissionPrompt>(content::WebContents*, Delegate*)> std::unique_ptr<PermissionPrompt>(content::WebContents*, Delegate*)>
Factory; Factory;
......
...@@ -445,7 +445,7 @@ bool PermissionRequestManager::WasCurrentRequestAlreadyDisplayed() { ...@@ -445,7 +445,7 @@ bool PermissionRequestManager::WasCurrentRequestAlreadyDisplayed() {
PermissionRequestManager::PermissionRequestManager( PermissionRequestManager::PermissionRequestManager(
content::WebContents* web_contents) content::WebContents* web_contents)
: content::WebContentsObserver(web_contents), : content::WebContentsObserver(web_contents),
view_factory_(base::Bind(&PermissionPrompt::Create)), view_factory_(base::BindRepeating(&PermissionPrompt::Create)),
view_(nullptr), view_(nullptr),
tab_is_hidden_(web_contents->GetVisibility() == tab_is_hidden_(web_contents->GetVisibility() ==
content::Visibility::HIDDEN), content::Visibility::HIDDEN),
......
...@@ -20,13 +20,13 @@ MockPermissionPromptFactory::MockPermissionPromptFactory( ...@@ -20,13 +20,13 @@ MockPermissionPromptFactory::MockPermissionPromptFactory(
requests_count_(0), requests_count_(0),
response_type_(PermissionRequestManager::NONE), response_type_(PermissionRequestManager::NONE),
manager_(manager) { manager_(manager) {
manager->set_view_factory_for_testing( manager->set_view_factory_for_testing(base::BindRepeating(
base::Bind(&MockPermissionPromptFactory::Create, base::Unretained(this))); &MockPermissionPromptFactory::Create, base::Unretained(this)));
} }
MockPermissionPromptFactory::~MockPermissionPromptFactory() { MockPermissionPromptFactory::~MockPermissionPromptFactory() {
manager_->set_view_factory_for_testing( manager_->set_view_factory_for_testing(
base::Bind(&MockPermissionPromptFactory::DoNotCreate)); base::BindRepeating(&MockPermissionPromptFactory::DoNotCreate));
for (auto* prompt : prompts_) for (auto* prompt : prompts_)
prompt->factory_ = nullptr; prompt->factory_ = nullptr;
prompts_.clear(); prompts_.clear();
...@@ -86,7 +86,7 @@ void MockPermissionPromptFactory::WaitForPermissionBubble() { ...@@ -86,7 +86,7 @@ void MockPermissionPromptFactory::WaitForPermissionBubble() {
base::RunLoop loop; base::RunLoop loop;
show_bubble_quit_closure_ = loop.QuitClosure(); show_bubble_quit_closure_ = loop.QuitClosure();
loop.Run(); loop.Run();
show_bubble_quit_closure_ = base::Closure(); show_bubble_quit_closure_ = base::RepeatingClosure();
} }
// static // static
......
...@@ -81,7 +81,7 @@ class MockPermissionPromptFactory { ...@@ -81,7 +81,7 @@ class MockPermissionPromptFactory {
std::vector<MockPermissionPrompt*> prompts_; std::vector<MockPermissionPrompt*> prompts_;
PermissionRequestManager::AutoResponseType response_type_; PermissionRequestManager::AutoResponseType response_type_;
base::Closure show_bubble_quit_closure_; base::RepeatingClosure show_bubble_quit_closure_;
// The bubble manager that will be associated with this factory. // The bubble manager that will be associated with this factory.
PermissionRequestManager* manager_; PermissionRequestManager* manager_;
......
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