Skip to content

Commit

Permalink
Privacy Review: move header element into card fragments.
Browse files Browse the repository at this point in the history
This patch moves the header div from privacy_review_page.html to a
duplicated header div for each card fragment, which should be a visual
no-op. This is required so that the header will animate along with the
card contents, once animations are added.

Bug: 1215630
Change-Id: I13e46641f19f519792830392cbbe7a27a2347901
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3320398
Reviewed-by: Rainhard Findling <rainhard@chromium.org>
Commit-Queue: Bret Sepulveda <bsep@chromium.org>
Cr-Commit-Position: refs/heads/main@{#949988}
  • Loading branch information
bsep-chromium authored and Chromium LUCI CQ committed Dec 9, 2021
1 parent d33edbc commit 4a3fec8
Show file tree
Hide file tree
Showing 9 changed files with 61 additions and 91 deletions.
@@ -1,4 +1,13 @@
<style include="privacy-review-fragment-shared"></style>
<div class="header">
<picture>
<source
srcset="./images/privacy_review/clear_on_exit_graphic_dark.svg"
media="(prefers-color-scheme: dark)">
<img alt="" src="./images/privacy_review/clear_on_exit_graphic.svg">
</picture>
<div class="header-label">$i18n{privacyReviewClearOnExitCardHeader}</div>
</div>
<div class="embedded-setting-wrapper">
<settings-toggle-button id="clearOnExit"
pref="{{prefs.generated.cookie_session_only}}"
Expand Down
@@ -1,4 +1,13 @@
<style include="privacy-review-fragment-shared"></style>
<div class="header">
<picture>
<source
srcset="./images/privacy_review/cookies_graphic_dark.svg"
media="(prefers-color-scheme: dark)">
<img alt="" src="./images/privacy_review/cookies_graphic.svg">
</picture>
<div class="header-label">$i18n{privacyReviewCookiesCardHeader}</div>
</div>
<settings-radio-group id="cookiesRadioGroup"
pref="{{prefs.generated.cookie_primary_setting}}"
selectable-elements="settings-collapse-radio-button">
Expand Down
Expand Up @@ -37,6 +37,21 @@
--settings-collapse-separator-line: var(--cr-separator-line);
}

.header {
align-items: center;
column-gap: 16px;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: space-between;
padding: 24px 0 16px 0;
}

.header-label {
flex: 1;
font-size: 123%; /* Should be 16px when 100% is 13px. */
}

.headline {
color: var(--google-grey-800);
font-size: 22px;
Expand Down
@@ -1,4 +1,13 @@
<style include="privacy-review-fragment-shared"></style>
<div class="header">
<picture>
<source
srcset="./images/privacy_review/history_sync_graphic_dark.svg"
media="(prefers-color-scheme: dark)">
<img alt="" src="./images/privacy_review/history_sync_graphic.svg">
</picture>
<div class="header-label">$i18n{privacyReviewHistorySyncCardHeader}</div>
</div>
<div class="embedded-setting-wrapper">
<settings-toggle-button id="historyToggle"
pref="{{historySyncVirtualPref_}}"
Expand Down
@@ -1,4 +1,13 @@
<style include="privacy-review-fragment-shared"></style>
<div class="header">
<picture>
<source
srcset="./images/privacy_review/msbb_graphic_dark.svg"
media="(prefers-color-scheme: dark)">
<img alt="" src="./images/privacy_review/msbb_graphic.svg">
</picture>
<div class="header-label">$i18n{privacyReviewMsbbCardHeader}</div>
</div>
<div class="embedded-setting-wrapper">
<settings-toggle-button id="urlCollectionToggle"
pref="{{prefs.url_keyed_anonymized_data_collection.enabled}}"
Expand Down
@@ -1,19 +1,4 @@
<style include="cr-shared-style settings-shared">
#header {
align-items: center;
column-gap: 16px;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: space-between;
padding: 24px 24px 16px 24px;
}

#headerLabel {
flex: 1;
font-size: 123%; /* Should be 16px when 100% is 13px. */
}

.footer {
align-items: center;
display: flex;
Expand All @@ -40,15 +25,6 @@
}
</style>
<div class="privacy-review-card">
<div id="header" hidden="[[hideHeader_]]">
<picture>
<source
srcset="[[headerModel_.darkImage]]"
media="(prefers-color-scheme: dark)">
<img id="headerImage" alt="" src="[[headerModel_.lightImage]]">
</picture>
<div id="headerLabel">[[headerModel_.title]]</div>
</div>
<template is="dom-if"
if="[[showFragment_(
privacyReviewStepEnum_.WELCOME, privacyReviewStep_)]]">
Expand Down
Expand Up @@ -36,14 +36,7 @@ import {CookiePrimarySetting} from '../../site_settings/site_settings_prefs_brow
import {PrivacyReviewStep} from './constants.js';
import {StepIndicatorModel} from './step_indicator.js';

type HeaderModel = {
title: string,
lightImage: string,
darkImage: string,
};

interface PrivacyReviewStepComponents {
headerModel?: HeaderModel;
onForwardNavigation(): void;
onBackNavigation?(): void;
isAvailable(): boolean;
Expand Down Expand Up @@ -88,7 +81,6 @@ export class SettingsPrivacyReviewPageElement extends PrivacyReviewBase {
privacyReviewStep_: {
type: String,
value: PrivacyReviewStep.WELCOME,
observer: 'onPrivacyReviewStepChanged_',
},

/**
Expand All @@ -115,8 +107,6 @@ export class SettingsPrivacyReviewPageElement extends PrivacyReviewBase {
private syncBrowserProxy_: SyncBrowserProxy =
SyncBrowserProxyImpl.getInstance();
private syncStatus_: SyncStatus;
private hideHeader_: boolean;
private headerModel_?: HeaderModel;

constructor() {
super();
Expand Down Expand Up @@ -175,11 +165,6 @@ export class SettingsPrivacyReviewPageElement extends PrivacyReviewBase {
[
PrivacyReviewStep.MSBB,
{
headerModel: {
title: this.i18n('privacyReviewMsbbCardHeader'),
lightImage: './images/privacy_review/msbb_graphic.svg',
darkImage: './images/privacy_review/msbb_graphic_dark.svg',
},
onForwardNavigation: () => {
this.navigateToCard_(PrivacyReviewStep.CLEAR_ON_EXIT);
},
Expand All @@ -189,11 +174,6 @@ export class SettingsPrivacyReviewPageElement extends PrivacyReviewBase {
[
PrivacyReviewStep.CLEAR_ON_EXIT,
{
headerModel: {
title: this.i18n('privacyReviewClearOnExitCardHeader'),
lightImage: './images/privacy_review/clear_on_exit_graphic.svg',
darkImage: './images/privacy_review/clear_on_exit_graphic_dark.svg',
},
onForwardNavigation: () => {
this.navigateToCard_(PrivacyReviewStep.HISTORY_SYNC);
},
Expand All @@ -207,11 +187,6 @@ export class SettingsPrivacyReviewPageElement extends PrivacyReviewBase {
[
PrivacyReviewStep.HISTORY_SYNC,
{
headerModel: {
title: this.i18n('privacyReviewHistorySyncCardHeader'),
lightImage: './images/privacy_review/history_sync_graphic.svg',
darkImage: './images/privacy_review/history_sync_graphic_dark.svg',
},
onForwardNavigation: () => {
this.navigateToCard_(PrivacyReviewStep.SAFE_BROWSING);
},
Expand All @@ -224,11 +199,6 @@ export class SettingsPrivacyReviewPageElement extends PrivacyReviewBase {
[
PrivacyReviewStep.SAFE_BROWSING,
{
headerModel: {
title: this.i18n('privacyReviewSafeBrowsingCardHeader'),
lightImage: './images/privacy_review/safe_browsing_graphic.svg',
darkImage: './images/privacy_review/safe_browsing_graphic_dark.svg',
},
onForwardNavigation: () => {
this.navigateToCard_(PrivacyReviewStep.COOKIES);
},
Expand All @@ -241,11 +211,6 @@ export class SettingsPrivacyReviewPageElement extends PrivacyReviewBase {
[
PrivacyReviewStep.COOKIES,
{
headerModel: {
title: this.i18n('privacyReviewCookiesCardHeader'),
lightImage: './images/privacy_review/cookies_graphic.svg',
darkImage: './images/privacy_review/cookies_graphic_dark.svg',
},
onForwardNavigation: () => {
this.navigateToCard_(PrivacyReviewStep.COMPLETION);
HatsBrowserProxyImpl.getInstance().trustSafetyInteractionOccurred(
Expand Down Expand Up @@ -361,12 +326,6 @@ export class SettingsPrivacyReviewPageElement extends PrivacyReviewBase {
};
}

private onPrivacyReviewStepChanged_() {
this.headerModel_ = this.privacyReviewStepToComponentsMap_
.get(this.privacyReviewStep_)!.headerModel;
this.hideHeader_ = this.headerModel_ === undefined;
}

private isSyncOn_(): boolean {
return !!this.syncStatus_ && !!this.syncStatus_.signedIn &&
!this.syncStatus_.hasError;
Expand Down
@@ -1,4 +1,13 @@
<style include="privacy-review-fragment-shared"></style>
<div class="header">
<picture>
<source
srcset="./images/privacy_review/safe_browsing_graphic_dark.svg"
media="(prefers-color-scheme: dark)">
<img alt="" src="./images/privacy_review/safe_browsing_graphic.svg">
</picture>
<div class="header-label">$i18n{privacyReviewSafeBrowsingCardHeader}</div>
</div>
<settings-radio-group id="safeBrowsingRadioGroup"
pref="{{prefs.generated.safe_browsing}}"
selectable-elements="settings-collapse-radio-button">
Expand Down Expand Up @@ -76,4 +85,4 @@
</div>
</div>
</settings-collapse-radio-button>
</settings-radio-group>
</settings-radio-group>
25 changes: 0 additions & 25 deletions chrome/test/data/webui/settings/privacy_review_page_test.ts
Expand Up @@ -153,8 +153,6 @@ suite('PrivacyReviewPage', function() {
}

type AssertCardComponentsVisibleParams = {
headerTextExpected?: string,
headerImgSrcExpected?: string,
isSettingFooterVisibleExpected?: boolean,
isBackButtonVisibleExpected?: boolean,
isWelcomeFragmentVisibleExpected?: boolean,
Expand All @@ -167,8 +165,6 @@ suite('PrivacyReviewPage', function() {
};

function assertCardComponentsVisible({
headerTextExpected,
headerImgSrcExpected,
isSettingFooterVisibleExpected,
isBackButtonVisibleExpected,
isWelcomeFragmentVisibleExpected,
Expand All @@ -179,19 +175,6 @@ suite('PrivacyReviewPage', function() {
isSafeBrowsingFragmentVisibleExpected,
isCookiesFragmentVisibleExpected,
}: AssertCardComponentsVisibleParams) {
assertEquals(!!headerTextExpected, isChildVisible(page, '#header'));
if (headerTextExpected) {
assertEquals(
headerTextExpected,
page.shadowRoot!.querySelector<HTMLElement>(
'#headerLabel')!.textContent);
assertTrue(!!headerImgSrcExpected);
assertEquals(
'chrome://settings/privacy/images/privacy_review/' +
headerImgSrcExpected,
page.shadowRoot!.querySelector<HTMLImageElement>(
'#headerImage')!.src);
}
assertEquals(
!!isSettingFooterVisibleExpected,
isChildVisible(page, '#settingFooter'));
Expand Down Expand Up @@ -267,8 +250,6 @@ suite('PrivacyReviewPage', function() {
function assertMsbbCardVisible() {
assertQueryParameter(PrivacyReviewStep.MSBB);
assertCardComponentsVisible({
headerTextExpected: page.i18n('privacyReviewMsbbCardHeader'),
headerImgSrcExpected: 'msbb_graphic.svg',
isSettingFooterVisibleExpected: true,
isMsbbFragmentVisibleExpected: true,
});
Expand All @@ -278,8 +259,6 @@ suite('PrivacyReviewPage', function() {
function assertHistorySyncCardVisible() {
assertQueryParameter(PrivacyReviewStep.HISTORY_SYNC);
assertCardComponentsVisible({
headerTextExpected: page.i18n('privacyReviewHistorySyncCardHeader'),
headerImgSrcExpected: 'history_sync_graphic.svg',
isSettingFooterVisibleExpected: true,
isBackButtonVisibleExpected: true,
isHistorySyncFragmentVisibleExpected: true,
Expand All @@ -290,8 +269,6 @@ suite('PrivacyReviewPage', function() {
function assertSafeBrowsingCardVisible() {
assertQueryParameter(PrivacyReviewStep.SAFE_BROWSING);
assertCardComponentsVisible({
headerTextExpected: page.i18n('privacyReviewSafeBrowsingCardHeader'),
headerImgSrcExpected: 'safe_browsing_graphic.svg',
isSettingFooterVisibleExpected: true,
isBackButtonVisibleExpected: true,
isSafeBrowsingFragmentVisibleExpected: true,
Expand All @@ -302,8 +279,6 @@ suite('PrivacyReviewPage', function() {
function assertCookiesCardVisible() {
assertQueryParameter(PrivacyReviewStep.COOKIES);
assertCardComponentsVisible({
headerTextExpected: page.i18n('privacyReviewCookiesCardHeader'),
headerImgSrcExpected: 'cookies_graphic.svg',
isSettingFooterVisibleExpected: true,
isBackButtonVisibleExpected: true,
isCookiesFragmentVisibleExpected: true,
Expand Down

0 comments on commit 4a3fec8

Please sign in to comment.