New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 764919 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

SwipableOverlayView initiates animation during startup

Project Member Reported by dskiba@chromium.org, Sep 13 2017

Issue description

Caught on ToT (da392f3cf28ff8d32d5f2a9821c8cece183365ec) running on gobo_512 @ OPG1.170911.001.

While hunting down for the culprit in  issue 764524  I found that SwipableOverlayView starts an animation during startup:

main[1] where
  [1] android.animation.ValueAnimator.startAnimation (ValueAnimator.java:1,225)
  [2] android.animation.ValueAnimator.start (ValueAnimator.java:1,041)
  [3] android.animation.ValueAnimator.start (ValueAnimator.java:1,065)
  [4] android.animation.ObjectAnimator.start (ObjectAnimator.java:852)
  [5] org.chromium.chrome.browser.banners.SwipableOverlayView.runUpEventAnimation (SwipableOverlayView.java:52)
  [6] org.chromium.chrome.browser.infobar.InfoBarContainer.runUpEventAnimation (InfoBarContainer.java:142)
  [7] org.chromium.chrome.browser.banners.SwipableOverlayView$2.onLayoutChange (SwipableOverlayView.java:10)
  [8] android.view.View.layout (View.java:19,637)
  [9] android.view.ViewGroup.layout (ViewGroup.java:6,075)
  [10] android.widget.FrameLayout.layoutChildren (FrameLayout.java:323)
  [11] android.widget.FrameLayout.onLayout (FrameLayout.java:261)
  [12] android.view.View.layout (View.java:19,619)
  [13] android.view.ViewGroup.layout (ViewGroup.java:6,075)
  [14] android.support.design.widget.CoordinatorLayout.onLayoutChild (CoordinatorLayout.java:476)
  [15] android.support.design.widget.CoordinatorLayout.onLayout (CoordinatorLayout.java:491)
  [16] android.view.View.layout (View.java:19,619)
  [17] android.view.ViewGroup.layout (ViewGroup.java:6,075)
  [18] android.widget.LinearLayout.setChildFrame (LinearLayout.java:1,791)
  [19] android.widget.LinearLayout.layoutVertical (LinearLayout.java:1,635)
  [20] android.widget.LinearLayout.onLayout (LinearLayout.java:1,544)
  [21] android.view.View.layout (View.java:19,619)
  [22] android.view.ViewGroup.layout (ViewGroup.java:6,075)
  [23] android.widget.FrameLayout.layoutChildren (FrameLayout.java:323)
  [24] android.widget.FrameLayout.onLayout (FrameLayout.java:261)
  [25] android.view.View.layout (View.java:19,619)
  [26] android.view.ViewGroup.layout (ViewGroup.java:6,075)
  [27] android.widget.FrameLayout.layoutChildren (FrameLayout.java:323)
  [28] android.widget.FrameLayout.onLayout (FrameLayout.java:261)
  [29] android.view.View.layout (View.java:19,619)
  [30] android.view.ViewGroup.layout (ViewGroup.java:6,075)
  [31] android.widget.FrameLayout.layoutChildren (FrameLayout.java:323)
  [32] android.widget.FrameLayout.onLayout (FrameLayout.java:261)
  [33] android.view.View.layout (View.java:19,619)
  [34] android.view.ViewGroup.layout (ViewGroup.java:6,075)
  [35] android.widget.LinearLayout.setChildFrame (LinearLayout.java:1,791)
  [36] android.widget.LinearLayout.layoutVertical (LinearLayout.java:1,635)
  [37] android.widget.LinearLayout.onLayout (LinearLayout.java:1,544)
  [38] android.view.View.layout (View.java:19,619)
  [39] android.view.ViewGroup.layout (ViewGroup.java:6,075)
  [40] android.widget.FrameLayout.layoutChildren (FrameLayout.java:323)
  [41] android.widget.FrameLayout.onLayout (FrameLayout.java:261)
  [42] com.android.internal.policy.DecorView.onLayout (DecorView.java:761)
  [43] android.view.View.layout (View.java:19,619)
  [44] android.view.ViewGroup.layout (ViewGroup.java:6,075)
  [45] android.view.ViewRootImpl.performLayout (ViewRootImpl.java:2,496)
  [46] android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2,212)
  [47] android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1,392)
  [48] android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:6,752)
  [49] android.view.Choreographer$CallbackRecord.run (Choreographer.java:911)
  [50] android.view.Choreographer.doCallbacks (Choreographer.java:723)
  [51] android.view.Choreographer.doFrame (Choreographer.java:658)
  [52] android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:897)
  [53] android.os.Handler.handleCallback (Handler.java:790)
  [54] android.os.Handler.dispatchMessage (Handler.java:99)
  [55] android.os.Looper.loop (Looper.java:164)
  [56] android.app.ActivityThread.main (ActivityThread.java:6,494)
  [57] java.lang.reflect.Method.invoke (native method)
  [58] com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:438)
  [59] com.android.internal.os.ZygoteInit.main (ZygoteInit.java:807)


The use case is simple: opening Chrome with a single tab open, i.e. Chrome restores a single tab (wikipedia.com).

This doesn't seem to be slowing down startup too much, but nevertheless, we shouldn't probably start an animation on something that is not visible?

 
Owner: mdjones@chromium.org
Status: Assigned (was: Untriaged)

Sign in to add a comment