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

Issue 670459 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

Replace SizingFlags in Layout.java

Project Member Reported by mdjones@chromium.org, Dec 1 2016

Issue description

The sizing flags used by the layouts have become misused and confusing. Since they are flags they can be or-ed together to create new behavior which, over time, have lost their meaning. It is difficult to determine how a layout will behave by simply reading the flags.

Layouts should size their viewports based on a number of well-defined modes and have no involvement with how the android browser controls behave.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Dec 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1a3dfa323fd2fc5f5afa2fe102556029a26f24bc

commit 1a3dfa323fd2fc5f5afa2fe102556029a26f24bc
Author: mdjones <mdjones@chromium.org>
Date: Fri Dec 09 01:42:40 2016

Replace SizingFlags in layouts with ViewportMode

This change replaces the concept of sizing flags, which control both
viewport size and browser controls behavior, with mutually exclusive
modes:

- ALWAYS_FULLSCREEN
- ALWAYS_SHOWING_BROWSER_CONTROLS
- DYNAMIC_BROWSER_CONTROLS
- USE_PREVIOUS_BROWSER_CONTROLS_STATE

Permanent android browser controls state can be changed by overriding
two functions in the layout class:

- forceShowBrowserControlsAndroidView()
- forceHideBrowserControlsAndroidView()

These modes and functions reduce the amount of research that needs to
be done to understand how a particular layout is going to behave.

BUG= 670459 

Review-Url: https://codereview.chromium.org/2549503004
Cr-Commit-Position: refs/heads/master@{#437419}

[modify] https://crrev.com/1a3dfa323fd2fc5f5afa2fe102556029a26f24bc/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java
[modify] https://crrev.com/1a3dfa323fd2fc5f5afa2fe102556029a26f24bc/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java
[modify] https://crrev.com/1a3dfa323fd2fc5f5afa2fe102556029a26f24bc/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/StaticLayout.java
[modify] https://crrev.com/1a3dfa323fd2fc5f5afa2fe102556029a26f24bc/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java
[modify] https://crrev.com/1a3dfa323fd2fc5f5afa2fe102556029a26f24bc/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/SimpleAnimationLayout.java
[modify] https://crrev.com/1a3dfa323fd2fc5f5afa2fe102556029a26f24bc/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/StackLayout.java
[modify] https://crrev.com/1a3dfa323fd2fc5f5afa2fe102556029a26f24bc/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/ToolbarSceneLayer.java
[modify] https://crrev.com/1a3dfa323fd2fc5f5afa2fe102556029a26f24bc/chrome/android/java/src/org/chromium/chrome/browser/widget/OverviewListLayout.java

Project Member

Comment 2 by bugdroid1@chromium.org, Dec 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/172d35b3cdc223d953ba341068b998ea88bfe705

commit 172d35b3cdc223d953ba341068b998ea88bfe705
Author: mdjones <mdjones@chromium.org>
Date: Fri Dec 09 17:36:15 2016

Check fullscreen manager before setting control state

The fullscreen manager can be null in cases where a different
activity is showing. This CL adds a check to make sure it is there
before using it.

BUG=672730,  670459 

Review-Url: https://codereview.chromium.org/2557403004
Cr-Commit-Position: refs/heads/master@{#437578}

[modify] https://crrev.com/172d35b3cdc223d953ba341068b998ea88bfe705/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java

Status: Fixed (was: Assigned)

Sign in to add a comment