Commit 40fb9201 authored by khmel@chromium.org's avatar khmel@chromium.org Committed by Commit Bot

arc: Handle optional settings link for preferences in OptIn.

This handles the cases when settings and learn more links may not
present in text. Text comes from translation resources and may be
omitted internationally or unintentionally. We can not validate all
resources and also text may now don't have such links. So let be safe.
In production that may lead to the case when such link might not work
correctly (don't react). In test this is a reason for autotest failure
that uses ARC OptIn flow.

TBR=xiyuan@chromium.org

BUG=805304
BUG=905958

TEST: Manually, with extra logging confirms that no report is generated.
Change-Id: Iba5786b5361a6a99c4808cffdb8b0d7a3d155fb9
Reviewed-on: https://chromium-review.googlesource.com/c/1341074
Commit-Queue: Yury Khmel <khmel@chromium.org>
Reviewed-by: default avatarJosh Horwich <jhorwich@chromium.org>
Reviewed-by: default avatarYury Khmel <khmel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609072}
parent 7012112e
...@@ -238,16 +238,20 @@ class MetricsPreferenceCheckbox extends PreferenceCheckbox { ...@@ -238,16 +238,20 @@ class MetricsPreferenceCheckbox extends PreferenceCheckbox {
// So, meanwhile, we set the link everytime we update the text. // So, meanwhile, we set the link everytime we update the text.
// TODO: fix the translation text, and main html. // TODO: fix the translation text, and main html.
var learnMoreLink = label.querySelector(this.learnMoreLinkId_); var learnMoreLink = label.querySelector(this.learnMoreLinkId_);
learnMoreLink.addEventListener( if (learnMoreLink) {
'click', (event) => this.onLearnMoreLinkClicked(event)); learnMoreLink.addEventListener(
learnMoreLink.addEventListener( 'click', (event) => this.onLearnMoreLinkClicked(event));
'keydown', (event) => this.suppressKeyDown(event)); learnMoreLink.addEventListener(
'keydown', (event) => this.suppressKeyDown(event));
}
// settings-link is used only in privacy section. // settings-link is used only in privacy section.
var settingsLink = label.querySelector('#settings-link'); var settingsLink = label.querySelector('#settings-link');
settingsLink.addEventListener( if (settingsLink) {
'click', (event) => this.onPrivacySettingsLinkClicked(event)); settingsLink.addEventListener(
settingsLink.addEventListener( 'click', (event) => this.onPrivacySettingsLinkClicked(event));
'keydown', (event) => this.suppressKeyDown(event)); settingsLink.addEventListener(
'keydown', (event) => this.suppressKeyDown(event));
}
} }
/** Called when "privacy settings" link is clicked. */ /** Called when "privacy settings" link is clicked. */
......
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