Bug 1358805 - part 3: Keep the toolbar state between UI thread and compositor thread consistent once IPC is open r=kats
MozReview-Commit-ID: H7qrShryomi
--- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/gfx/DynamicToolbarAnimator.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/gfx/DynamicToolbarAnimator.java
@@ -149,16 +149,21 @@ public class DynamicToolbarAnimator {
public PointF getVisibleEndOfLayerView() {
return new PointF(mTarget.getView().getWidth(),
mTarget.getView().getHeight());
}
private void dumpStateToCompositor() {
if ((mCompositor != null) && mCompositorControllerOpen) {
mCompositor.setMaxToolbarHeight(mMaxToolbarHeight);
+ if ((mToolbarChromeProxy != null) && mToolbarChromeProxy.isToolbarChromeVisible()) {
+ mCompositor.sendToolbarAnimatorMessage(LayerView.REQUEST_SHOW_TOOLBAR_IMMEDIATELY);
+ } else {
+ mCompositor.sendToolbarAnimatorMessage(LayerView.REQUEST_HIDE_TOOLBAR_IMMEDIATELY);
+ }
for (PinReason reason : pinFlags) {
mCompositor.setPinned(true, reason.mValue);
}
} else if ((mCompositor != null) && !mCompositorControllerOpen) {
// Ask the UiCompositorControllerChild if it is open since the open message can
// sometimes be sent to a different instance of the LayerView such as when
// Fennec is being used in custom tabs.
mCompositor.sendToolbarAnimatorMessage(LayerView.IS_COMPOSITOR_CONTROLLER_OPEN);