| Index: chrome/browser/resources/settings/people_page/change_picture.js
|
| diff --git a/chrome/browser/resources/settings/people_page/change_picture.js b/chrome/browser/resources/settings/people_page/change_picture.js
|
| index 0e18c64e516c01475fb0dd5339ca8ed8ac653738..977c4483b043ba79f1470673cefbb1cea35c43ae 100644
|
| --- a/chrome/browser/resources/settings/people_page/change_picture.js
|
| +++ b/chrome/browser/resources/settings/people_page/change_picture.js
|
| @@ -35,6 +35,7 @@ Polymer({
|
| is: 'settings-change-picture',
|
|
|
| behaviors: [
|
| + settings.RouteObserverBehavior,
|
| I18nBehavior,
|
| WebUIListenerBehavior,
|
| ],
|
| @@ -132,8 +133,18 @@ Polymer({
|
| this.receiveProfileImage_.bind(this));
|
| this.addWebUIListener('camera-presence-changed',
|
| this.receiveCameraPresence_.bind(this));
|
| + },
|
| +
|
|
|
| - this.browserProxy_.initialize();
|
| + /** @protected */
|
| + currentRouteChanged: function(newRoute) {
|
| + // Reset the selection state when we navigate to this page.
|
| + if (newRoute == settings.Route.CHANGE_PICTURE) {
|
| + this.browserProxy_.initialize();
|
| + } else {
|
| + // Ensure we deactivate the camera when we navigate away.
|
| + this.selectedItem_ = null;
|
| + }
|
| },
|
|
|
| /**
|
| @@ -374,7 +385,7 @@ Polymer({
|
| * @private
|
| */
|
| isCameraActive_: function(cameraPresent, selectedItem) {
|
| - return cameraPresent && selectedItem &&
|
| + return cameraPresent && !!selectedItem &&
|
| selectedItem.dataset.type == ChangePictureSelectionTypes.CAMERA;
|
| },
|
|
|
| @@ -394,7 +405,7 @@ Polymer({
|
| * @private
|
| */
|
| isAuthorCreditShown_: function(selectedItem) {
|
| - return selectedItem &&
|
| + return !!selectedItem &&
|
| selectedItem.dataset.type == ChangePictureSelectionTypes.DEFAULT;
|
| },
|
|
|
|
|