| Index: chrome/browser/resources/settings/privacy_page/privacy_page.js
|
| diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.js b/chrome/browser/resources/settings/privacy_page/privacy_page.js
|
| index 00b0dd17e1868f4b1d697082105af64e4ad9441d..f8a2b7a5644efa698c991bcacf32f62a9fed4dd0 100644
|
| --- a/chrome/browser/resources/settings/privacy_page/privacy_page.js
|
| +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.js
|
| @@ -28,17 +28,41 @@ Polymer({
|
| },
|
|
|
| /** @private */
|
| - showClearBrowsingDataDialog_: Boolean,
|
| + showClearBrowsingDataDialog_: {
|
| + computed: 'computeShowClearBrowsingDataDialog_(currentRoute)',
|
| + type: Boolean,
|
| + },
|
| },
|
|
|
| ready: function() {
|
| this.ContentSettingsTypes = settings.ContentSettingsTypes;
|
| },
|
|
|
| + /** @suppress {missingProperties} */
|
| + attached: function() {
|
| + settings.main.rendered.then(function() {
|
| + if (this.showClearBrowsingDataDialog_) {
|
| + var dialog = this.$$('settings-clear-browsing-data-dialog').$.dialog;
|
| + // TODO(dbeam): cast to a CrDialogElement when it compiles.
|
| + dialog.refit();
|
| + }
|
| + }.bind(this));
|
| + },
|
| +
|
| + /**
|
| + * @return {boolean} Whether the Clear Browsing Data dialog should be showing.
|
| + * @private
|
| + */
|
| + computeShowClearBrowsingDataDialog_: function() {
|
| + var route = this.currentRoute;
|
| + return route && route.dialog == 'clear-browsing-data';
|
| + },
|
| +
|
| /** @private */
|
| onManageCertificatesTap_: function() {
|
| <if expr="use_nss_certs">
|
| - this.$.pages.setSubpageChain(['manage-certificates']);
|
| + var pages = /** @type {!SettingsAnimatedPagesElement} */(this.$.pages);
|
| + pages.setSubpageChain(['manage-certificates']);
|
| </if>
|
| <if expr="is_win or is_macosx">
|
| settings.PrivacyPageBrowserProxyImpl.getInstance().
|
| @@ -48,12 +72,18 @@ Polymer({
|
|
|
| /** @private */
|
| onSiteSettingsTap_: function() {
|
| - this.$.pages.setSubpageChain(['site-settings']);
|
| + var pages = /** @type {!SettingsAnimatedPagesElement} */(this.$.pages);
|
| + pages.setSubpageChain(['site-settings']);
|
| },
|
|
|
| /** @private */
|
| onClearBrowsingDataTap_: function() {
|
| - this.showClearBrowsingDataDialog_ = true;
|
| + this.currentRoute = {
|
| + page: this.currentRoute.page,
|
| + section: this.currentRoute.section,
|
| + subpage: this.currentRoute.subpage,
|
| + dialog: 'clear-browsing-data',
|
| + };
|
| },
|
|
|
| /**
|
| @@ -61,7 +91,14 @@ Polymer({
|
| * @private
|
| */
|
| onIronOverlayClosed_: function(event) {
|
| - if (Polymer.dom(event).rootTarget.tagName == 'CR-DIALOG')
|
| - this.showClearBrowsingDataDialog_ = false;
|
| + if (Polymer.dom(event).rootTarget.tagName != 'CR-DIALOG')
|
| + return;
|
| +
|
| + this.currentRoute = {
|
| + page: this.currentRoute.page,
|
| + section: this.currentRoute.section,
|
| + subpage: this.currentRoute.subpage,
|
| + // Drop dialog key.
|
| + };
|
| },
|
| });
|
|
|