Commit 4e0e7e53 authored by Mike West's avatar Mike West Committed by Commit Bot

Remove the persistence checkbox from external protocol handler UI.

We realized in a conversation around issue 951540 that we don't have settings UI
that allows users to reconsider decisions they've made around external protocol
support. Until we work that out, and make longer-term decisions about the
permission model around the feature generally, we should stop making the problem
worse by removing that checkbox from the UI.

Based on existing telemetry (`BrowserDialogs.ExternalProtocol.HandleState`),
this will affect ~8% of users who interact with the dialog, which itself is a
fairly small group of Chrome's users overall.

Bug: 982341, 987149
Change-Id: I723979aab9606d1c2337a36a8f5a0686b95bb9be
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1708070
Commit-Queue: Mike West <mkwst@chromium.org>
Reviewed-by: default avatarKamila Hasanbega <hkamila@google.com>
Reviewed-by: default avatarBret Sepulveda <bsep@chromium.org>
Reviewed-by: default avatarEmily Stark <estark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#680353}
parent 1b818f50
...@@ -42,7 +42,9 @@ void ExternalProtocolHandler::RunExternalProtocolDialog( ...@@ -42,7 +42,9 @@ void ExternalProtocolHandler::RunExternalProtocolDialog(
new ExternalProtocolDialog(std::move(delegate), web_contents); new ExternalProtocolDialog(std::move(delegate), web_contents);
} }
ExternalProtocolDialog::~ExternalProtocolDialog() {} ExternalProtocolDialog::~ExternalProtocolDialog() {
delete remember_decision_checkbox_;
}
gfx::Size ExternalProtocolDialog::CalculatePreferredSize() const { gfx::Size ExternalProtocolDialog::CalculatePreferredSize() const {
constexpr int kDialogContentWidth = 400; constexpr int kDialogContentWidth = 400;
...@@ -108,7 +110,11 @@ ExternalProtocolDialog::ExternalProtocolDialog( ...@@ -108,7 +110,11 @@ ExternalProtocolDialog::ExternalProtocolDialog(
DCHECK(delegate_->GetMessageText().empty()); DCHECK(delegate_->GetMessageText().empty());
remember_decision_checkbox_ = remember_decision_checkbox_ =
new views::Checkbox(delegate_->GetCheckboxText()); new views::Checkbox(delegate_->GetCheckboxText());
AddChildView(remember_decision_checkbox_); remember_decision_checkbox_->SetChecked(false);
// TODO(982341): We intentionally don't add |remember_decision_checkbox_| to
// the dialog, as we're reevaluating whether we actually want persistence
// for this mechanism going forward.
constrained_window::ShowWebModalDialogViews(this, web_contents); constrained_window::ShowWebModalDialogViews(this, web_contents);
chrome::RecordDialogCreation(chrome::DialogIdentifier::EXTERNAL_PROTOCOL); chrome::RecordDialogCreation(chrome::DialogIdentifier::EXTERNAL_PROTOCOL);
......
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