Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7176)

Unified Diff: chrome/browser/resources/settings/settings_page/main_page_behavior.js

Issue 2758863004: [MD settings] hide scrollbar during animation to subpage (Closed)
Patch Set: animating when either is a subpage Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/resources/settings/basic_page/basic_page.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/resources/settings/settings_page/main_page_behavior.js
diff --git a/chrome/browser/resources/settings/settings_page/main_page_behavior.js b/chrome/browser/resources/settings/settings_page/main_page_behavior.js
index 6e7fe98eea12454d25a57f389bd44ffe39f58c40..1c8f066f8395676e03c89b2d9f88989b5ca1b505 100644
--- a/chrome/browser/resources/settings/settings_page/main_page_behavior.js
+++ b/chrome/browser/resources/settings/settings_page/main_page_behavior.js
@@ -11,6 +11,16 @@
var MainPageBehaviorImpl = {
properties: {
/**
+ * Help CSS to alter style during the horizontal swipe animation.
+ * Note that this is unrelated to the |currentAnimation_| (which refers to
+ * the vertical exapand animation).
+ */
+ isSubpageAnimating: {
+ reflectToAttribute: true,
+ type: Boolean,
+ },
+
+ /**
* Whether a search operation is in progress or previous search results are
* being displayed.
* @private {boolean}
@@ -25,6 +35,10 @@ var MainPageBehaviorImpl = {
/** @type {?HTMLElement} The scrolling container. */
scroller: null,
+ listeners: {
+ 'neon-animation-finish': 'onNeonAnimationFinish_'
+ },
+
/** @override */
attached: function() {
if (this.domHost && this.domHost.parentNode.tagName == 'PAPER-HEADER-PANEL')
@@ -34,6 +48,17 @@ var MainPageBehaviorImpl = {
},
/**
+ * Remove the is-animating attribute once the animation is complete.
+ * This may catch animations finishing more often than needed, which is not
+ * known to cause any issues (e.g. when animating from a shallower page to a
+ * deeper page; or when transitioning to the main page).
+ * @private
+ */
+ onNeonAnimationFinish_: function() {
+ this.isSubpageAnimating = false;
+ },
+
+ /**
* @param {!settings.Route} newRoute
* @param {settings.Route} oldRoute
*/
@@ -57,6 +82,9 @@ var MainPageBehaviorImpl = {
!settings.lastRouteChangeWasPopstate() || oldRouteWasSection ||
oldRoute == settings.Route.BASIC;
+ if (oldRoute && (oldRoute.isSubpage() || newRoute.isSubpage()))
+ this.isSubpageAnimating = true;
+
// For previously uncreated pages (including on first load), allow the page
// to render before scrolling to or expanding the section.
if (!oldRoute || this.scrollHeight == 0)
« no previous file with comments | « chrome/browser/resources/settings/basic_page/basic_page.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698