To facilitate smooth scrolling and to allow the web contents to be resized, the bottom toolbar should have a compositor implementation.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d59852706e3c250015d0923e80908dd64308b16c commit d59852706e3c250015d0923e80908dd64308b16c Author: Matthew Jones <mdjones@chromium.org> Date: Wed Mar 14 19:27:32 2018 [Duplex] Add composited bottom toolbar This change adds a composited version of the bottom toolbar. The layer is not specific to the bottom sheet and can be used for any bottom UI. The layer is not added to the hierarchy in this patch. BUG= 815324 Change-Id: I309f392c975ed7099aaf7562461625bd7c886a2d Reviewed-on: https://chromium-review.googlesource.com/935742 Commit-Queue: Matthew Jones <mdjones@chromium.org> Reviewed-by: Theresa <twellington@chromium.org> Reviewed-by: David Trainor <dtrainor@chromium.org> Cr-Commit-Position: refs/heads/master@{#543153} [modify] https://crrev.com/d59852706e3c250015d0923e80908dd64308b16c/chrome/android/java/res/layout/bottom_sheet.xml [add] https://crrev.com/d59852706e3c250015d0923e80908dd64308b16c/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/ScrollingBottomViewSceneLayer.java [modify] https://crrev.com/d59852706e3c250015d0923e80908dd64308b16c/chrome/android/java_sources.gni [modify] https://crrev.com/d59852706e3c250015d0923e80908dd64308b16c/chrome/browser/BUILD.gn [add] https://crrev.com/d59852706e3c250015d0923e80908dd64308b16c/chrome/browser/android/compositor/scene_layer/scrolling_bottom_view_scene_layer.cc [add] https://crrev.com/d59852706e3c250015d0923e80908dd64308b16c/chrome/browser/android/compositor/scene_layer/scrolling_bottom_view_scene_layer.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/94de8546524bb95b385f7eb8a96b140fc0fc3c0d commit 94de8546524bb95b385f7eb8a96b140fc0fc3c0d Author: Matthew Jones <mdjones@chromium.org> Date: Thu Apr 05 15:42:56 2018 Implement simple bottom toolbar with MVC framework This change implements a simple bottom toolbar that has an android view, a composited component, resizes the viewport, and scrolls on and off-screen. This toolbar is implemented using the new MVC guidelines: - The BottomToolbarController sets up all the components of the bottom toolbar. - The BottomToolbarMediator is responsible for pushing updates to the model and running most of the business logic. - The BottomToolbarModel is a blob of state with no actual business logic. - The BottomToolbarViewBinder reacts to events from a PropertyModelChangeProcessor and updates the relevant views. BUG= 815324 , 825965 Change-Id: I75e5aac6a2bb2a21ea9e4010fc81076d2d39da8b Reviewed-on: https://chromium-review.googlesource.com/980577 Commit-Queue: Matthew Jones <mdjones@chromium.org> Reviewed-by: Theresa <twellington@chromium.org> Reviewed-by: Bernhard Bauer <bauerb@chromium.org> Cr-Commit-Position: refs/heads/master@{#548436} [add] https://crrev.com/94de8546524bb95b385f7eb8a96b140fc0fc3c0d/chrome/android/java/res/layout/bottom_toolbar.xml [modify] https://crrev.com/94de8546524bb95b385f7eb8a96b140fc0fc3c0d/chrome/android/java/res/layout/main.xml [modify] https://crrev.com/94de8546524bb95b385f7eb8a96b140fc0fc3c0d/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java [modify] https://crrev.com/94de8546524bb95b385f7eb8a96b140fc0fc3c0d/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java [modify] https://crrev.com/94de8546524bb95b385f7eb8a96b140fc0fc3c0d/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java [modify] https://crrev.com/94de8546524bb95b385f7eb8a96b140fc0fc3c0d/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/ScrollingBottomViewSceneLayer.java [add] https://crrev.com/94de8546524bb95b385f7eb8a96b140fc0fc3c0d/chrome/android/java/src/org/chromium/chrome/browser/modelutil/PropertyModelChangeProcessor.java [add] https://crrev.com/94de8546524bb95b385f7eb8a96b140fc0fc3c0d/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarController.java [add] https://crrev.com/94de8546524bb95b385f7eb8a96b140fc0fc3c0d/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarMediator.java [add] https://crrev.com/94de8546524bb95b385f7eb8a96b140fc0fc3c0d/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarModel.java [add] https://crrev.com/94de8546524bb95b385f7eb8a96b140fc0fc3c0d/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarViewBinder.java [add] https://crrev.com/94de8546524bb95b385f7eb8a96b140fc0fc3c0d/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ScrollingBottomViewResourceFrameLayout.java [modify] https://crrev.com/94de8546524bb95b385f7eb8a96b140fc0fc3c0d/chrome/android/java_sources.gni
Comment 1 by mdjones@chromium.org
, Mar 13 2018