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

Issue 710014 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

Implement Reader Mode for Chrome Home

Project Member Reported by mdjones@chromium.org, Apr 10 2017

Issue description

The current Reader Mode UI does not work in Chrome Home. Since the UI would persistently cover the toolbar, it needs to change to behave more like a standard info bar. Tapping the bar will trigger a navigation rather than expand a panel like Contextual Search.

Mocks here:

https://folio.googleplex.com/bijou-cleer/161018-Flow/#%2FReader-Mode-Infobar.png

https://folio.googleplex.com/bijou-cleer/161018-Flow/#%2FReader-Mode.png
 
@cleer: should the reader mode infobar behave like others or show and hide with the toolbar (the existing implementation)? My current test implementation only shows the infobar when the page is scrolled to near the top. I'm not sure how easy this behavior is to change.

Comment 3 by k...@chromium.org, Apr 12 2017

Labels: Hotlist-Chrome-Home
Project Member

Comment 4 by bugdroid1@chromium.org, May 9 2017

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

commit 14bd822963d10989b62db8bd675e3743b5780fa5
Author: mdjones <mdjones@chromium.org>
Date: Tue May 09 18:50:48 2017

[Home] Reader Mode info bar implementation

This change introduces the classes for the InfoBar implementation of
Reader Mode for Chrome Home. The code is not yet triggered and
requires hookup to the manager.

BUG= 710014 

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

[add] https://crrev.com/14bd822963d10989b62db8bd675e3743b5780fa5/chrome/android/java/src/org/chromium/chrome/browser/infobar/ReaderModeInfoBar.java
[modify] https://crrev.com/14bd822963d10989b62db8bd675e3743b5780fa5/chrome/android/java_sources.gni
[modify] https://crrev.com/14bd822963d10989b62db8bd675e3743b5780fa5/chrome/browser/BUILD.gn
[modify] https://crrev.com/14bd822963d10989b62db8bd675e3743b5780fa5/chrome/browser/android/chrome_jni_registrar.cc
[modify] https://crrev.com/14bd822963d10989b62db8bd675e3743b5780fa5/chrome/browser/ui/BUILD.gn
[add] https://crrev.com/14bd822963d10989b62db8bd675e3743b5780fa5/chrome/browser/ui/android/infobars/reader_mode_infobar.cc
[add] https://crrev.com/14bd822963d10989b62db8bd675e3743b5780fa5/chrome/browser/ui/android/infobars/reader_mode_infobar.h
[modify] https://crrev.com/14bd822963d10989b62db8bd675e3743b5780fa5/components/infobars/core/infobar_delegate.h
[modify] https://crrev.com/14bd822963d10989b62db8bd675e3743b5780fa5/tools/metrics/histograms/enums.xml

Project Member

Comment 5 by bugdroid1@chromium.org, Jun 14 2017

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

commit 75af3a8ba9bd8724e83d99db0113bc8836b472ae
Author: mdjones <mdjones@chromium.org>
Date: Wed Jun 14 00:39:04 2017

Hook up Reader Mode InfoBar

This change replaces the OverlayPanel UI for Reader Mode in favor of
the InfoBar UI. Some notable changes associated with the UI switch:

- Navigations to distilled content are not retained in history. This
  means a backward navigation will skip distilled content and bring
  the user to the original page.
- The UI no longer animates or sits on top of the original web page.
- Since Reader Mode is now an infobar, it interacts nicely with other
  infobars that may appear.
- All operations in the overflow menu use the base page URL.
- The "Appearance" overflow item is once again available.
- Code complexity has been considerably reduced.

BUG= 710014 , 624009

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

[modify] https://crrev.com/75af3a8ba9bd8724e83d99db0113bc8836b472ae/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
[modify] https://crrev.com/75af3a8ba9bd8724e83d99db0113bc8836b472ae/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
[modify] https://crrev.com/75af3a8ba9bd8724e83d99db0113bc8836b472ae/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/readermode/ReaderModePanel.java
[modify] https://crrev.com/75af3a8ba9bd8724e83d99db0113bc8836b472ae/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java
[modify] https://crrev.com/75af3a8ba9bd8724e83d99db0113bc8836b472ae/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java
[modify] https://crrev.com/75af3a8ba9bd8724e83d99db0113bc8836b472ae/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromePhone.java
[modify] https://crrev.com/75af3a8ba9bd8724e83d99db0113bc8836b472ae/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java
[modify] https://crrev.com/75af3a8ba9bd8724e83d99db0113bc8836b472ae/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerDocument.java
[modify] https://crrev.com/75af3a8ba9bd8724e83d99db0113bc8836b472ae/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabLayoutManager.java
[modify] https://crrev.com/75af3a8ba9bd8724e83d99db0113bc8836b472ae/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeManager.java
[modify] https://crrev.com/75af3a8ba9bd8724e83d99db0113bc8836b472ae/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeManagerDelegate.java
[modify] https://crrev.com/75af3a8ba9bd8724e83d99db0113bc8836b472ae/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeTabInfo.java
[modify] https://crrev.com/75af3a8ba9bd8724e83d99db0113bc8836b472ae/chrome/android/java/src/org/chromium/chrome/browser/infobar/ReaderModeInfoBar.java
[modify] https://crrev.com/75af3a8ba9bd8724e83d99db0113bc8836b472ae/chrome/android/java_sources.gni
[modify] https://crrev.com/75af3a8ba9bd8724e83d99db0113bc8836b472ae/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerTest.java
[modify] https://crrev.com/75af3a8ba9bd8724e83d99db0113bc8836b472ae/chrome/android/javatests/src/org/chromium/chrome/browser/dom_distiller/DistillabilityServiceTest.java
[delete] https://crrev.com/05227511e9c093b76f6f6ec991f582bbd6aa6b8b/chrome/android/javatests/src/org/chromium/chrome/browser/dom_distiller/ReaderModeManagerTest.java
[modify] https://crrev.com/75af3a8ba9bd8724e83d99db0113bc8836b472ae/tools/metrics/histograms/histograms.xml

Project Member

Comment 6 by bugdroid1@chromium.org, Jun 15 2017

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

commit 4ab35aa42b13b7ef865e414c3072da90d12f2634
Author: mdjones <mdjones@chromium.org>
Date: Thu Jun 15 20:00:31 2017

Clean up ReaderMode OverlayPanel classes

Since Reader Mode is now implemented as an infobar, all of the classes
related to the OverlayPanel implementation can be removed. This change
cleans up those classes as well as some functionality that became
obsolete in related classes.

BUG= 710014 

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

[modify] https://crrev.com/4ab35aa42b13b7ef865e414c3072da90d12f2634/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanel.java
[delete] https://crrev.com/927047b0999e1fa6c164d581bdd5ec3b0e4d1f64/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/readermode/OWNERS
[delete] https://crrev.com/927047b0999e1fa6c164d581bdd5ec3b0e4d1f64/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/readermode/ReaderModeBarControl.java
[delete] https://crrev.com/927047b0999e1fa6c164d581bdd5ec3b0e4d1f64/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/readermode/ReaderModePanel.java
[delete] https://crrev.com/927047b0999e1fa6c164d581bdd5ec3b0e4d1f64/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/ReaderModeSceneLayer.java
[modify] https://crrev.com/4ab35aa42b13b7ef865e414c3072da90d12f2634/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/DomDistillerUIUtils.java
[modify] https://crrev.com/4ab35aa42b13b7ef865e414c3072da90d12f2634/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeManager.java
[delete] https://crrev.com/927047b0999e1fa6c164d581bdd5ec3b0e4d1f64/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeManagerDelegate.java
[modify] https://crrev.com/4ab35aa42b13b7ef865e414c3072da90d12f2634/chrome/android/java_sources.gni
[modify] https://crrev.com/4ab35aa42b13b7ef865e414c3072da90d12f2634/chrome/browser/BUILD.gn
[modify] https://crrev.com/4ab35aa42b13b7ef865e414c3072da90d12f2634/chrome/browser/android/chrome_jni_registrar.cc
[delete] https://crrev.com/927047b0999e1fa6c164d581bdd5ec3b0e4d1f64/chrome/browser/android/compositor/layer/reader_mode_layer.cc
[delete] https://crrev.com/927047b0999e1fa6c164d581bdd5ec3b0e4d1f64/chrome/browser/android/compositor/layer/reader_mode_layer.h
[delete] https://crrev.com/927047b0999e1fa6c164d581bdd5ec3b0e4d1f64/chrome/browser/android/compositor/scene_layer/reader_mode_scene_layer.cc
[delete] https://crrev.com/927047b0999e1fa6c164d581bdd5ec3b0e4d1f64/chrome/browser/android/compositor/scene_layer/reader_mode_scene_layer.h
[modify] https://crrev.com/4ab35aa42b13b7ef865e414c3072da90d12f2634/chrome/browser/android/dom_distiller/distiller_ui_handle_android.cc
[modify] https://crrev.com/4ab35aa42b13b7ef865e414c3072da90d12f2634/chrome/browser/android/dom_distiller/distiller_ui_handle_android.h
[modify] https://crrev.com/4ab35aa42b13b7ef865e414c3072da90d12f2634/components/dom_distiller/content/browser/distiller_javascript_service_impl.cc
[modify] https://crrev.com/4ab35aa42b13b7ef865e414c3072da90d12f2634/components/dom_distiller/content/browser/distiller_javascript_service_impl.h
[modify] https://crrev.com/4ab35aa42b13b7ef865e414c3072da90d12f2634/components/dom_distiller/content/browser/distiller_ui_handle.h
[modify] https://crrev.com/4ab35aa42b13b7ef865e414c3072da90d12f2634/components/dom_distiller/content/common/distiller_javascript_service.mojom
[modify] https://crrev.com/4ab35aa42b13b7ef865e414c3072da90d12f2634/components/dom_distiller/content/renderer/distiller_native_javascript.cc

Status: Fixed (was: Assigned)

Sign in to add a comment