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

Issue 702404 link

Starred by 10 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 27
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows , Chrome
Pri: 2
Type: Feature



Sign in to add a comment

FR: Pull-to-refresh with touch on desktop

Project Member Reported by tdander...@chromium.org, Mar 16 2017

Issue description

Implement webpage pull-to-refresh functionality when using touch on Chrome desktop platforms.

 
Components: Internals>Input>Touch>Screen
Labels: M-60
Owner: moh...@chromium.org
Status: Assigned (was: Available)

Comment 2 by rpop@chromium.org, Apr 11 2017

I believe there are some open UX questions about this, so please implement behind a flag.

Comment 3 by rpop@chromium.org, Apr 14 2017

To be more specific, UI will likely change so don't spend effort on pixel pushing yet. Ok to copy Android UI for now.

Comment 4 by girard@chromium.org, Apr 20 2017

Labels: Proj-TabletChrome-Phase2

Comment 5 by moh...@chromium.org, Jul 14 2017

Status: Started (was: Assigned)
Project Member

Comment 6 by bugdroid1@chromium.org, Jul 29 2017

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

commit 51c80cac41cbf6b434f5c26ec09166ec2c3afd40
Author: Mohsen Izadi <mohsen@chromium.org>
Date: Sat Jul 29 00:47:35 2017

Remove unnecessary vertical overscroll plumbing and test

Removed some plumbing supposed to be used for vertical scroll end effect
which is not implemented. Also, removed the already disabled/flaky test
for vertical overscroll.

BUG= 702404 
TEST=none

Change-Id: I3f62a0f4ae7f0033e6615ea33d78cc067c085711
Reviewed-on: https://chromium-review.googlesource.com/587592
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Mohsen Izadi <mohsen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490561}
[modify] https://crrev.com/51c80cac41cbf6b434f5c26ec09166ec2c3afd40/content/browser/web_contents/web_contents_view_aura.cc
[modify] https://crrev.com/51c80cac41cbf6b434f5c26ec09166ec2c3afd40/content/browser/web_contents/web_contents_view_aura.h
[modify] https://crrev.com/51c80cac41cbf6b434f5c26ec09166ec2c3afd40/content/browser/web_contents/web_contents_view_aura_browsertest.cc
[modify] https://crrev.com/51c80cac41cbf6b434f5c26ec09166ec2c3afd40/content/public/browser/web_contents_delegate.h

Project Member

Comment 7 by bugdroid1@chromium.org, Jul 29 2017

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

commit 93faac10394251cf1138650bb8ebb2f50da5e86c
Author: Mohsen Izadi <mohsen@chromium.org>
Date: Sat Jul 29 04:45:15 2017

Add --pull-to-refresh flag for pull-to-refresh

Pull-to-refresh should land behind a flag. There is an unused
--scroll-end-effect flag that was supposed to be used for a related
scroll-end effect feature which was never implemented. This change
renames the flag to use with pull-to-refresh.

BUG= 702404 
TEST=none

Change-Id: If0d9b4e84ef6515137e1280154bf5dfc31eb4dd6
Reviewed-on: https://chromium-review.googlesource.com/582169
Commit-Queue: Mohsen Izadi <mohsen@chromium.org>
Reviewed-by: Nick Carter <nick@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490626}
[modify] https://crrev.com/93faac10394251cf1138650bb8ebb2f50da5e86c/chrome/browser/about_flags.cc
[modify] https://crrev.com/93faac10394251cf1138650bb8ebb2f50da5e86c/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/93faac10394251cf1138650bb8ebb2f50da5e86c/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/93faac10394251cf1138650bb8ebb2f50da5e86c/content/browser/renderer_host/overscroll_controller.cc
[modify] https://crrev.com/93faac10394251cf1138650bb8ebb2f50da5e86c/content/public/common/content_switches.cc
[modify] https://crrev.com/93faac10394251cf1138650bb8ebb2f50da5e86c/content/public/common/content_switches.h
[modify] https://crrev.com/93faac10394251cf1138650bb8ebb2f50da5e86c/tools/metrics/histograms/enums.xml

Project Member

Comment 8 by bugdroid1@chromium.org, Aug 2 2017

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

commit fb306d2641b7dc302adf0203d37cc81be2ed838a
Author: Mohsen Izadi <mohsen@chromium.org>
Date: Wed Aug 02 04:05:41 2017

Move gesture nav arrow to its own layer

Currently, gesture nav affordance uses a single layer that paints
everything in each frame. This CL moves the arrow to its own layer which
is drawn once and then appropriate transform and opacity are applied on
it. This is needed for implementing pull-to-refresh which needs the
arrow be rotated. Also, generally we want to decompose the affordance
into a few layers to avoid painting it on each frame.

BUG= 702404 ,743239
TEST=none

Change-Id: I9140471d6b6edbbb84f97fd5148994fea58e5a90
Reviewed-on: https://chromium-review.googlesource.com/594840
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Mohsen Izadi <mohsen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491261}
[modify] https://crrev.com/fb306d2641b7dc302adf0203d37cc81be2ed838a/content/browser/web_contents/aura/gesture_nav_simple.cc
[modify] https://crrev.com/fb306d2641b7dc302adf0203d37cc81be2ed838a/content/browser/web_contents/aura/gesture_nav_simple.h

Project Member

Comment 9 by bugdroid1@chromium.org, Aug 2 2017

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

commit 31c2a76a6c78d7b26a0d080f4efe22ebb1084683
Author: Mohsen Izadi <mohsen@chromium.org>
Date: Wed Aug 02 07:42:09 2017

Move reload icon to vector_icons component

To implement pull-to-refresh on Aura, reload icon should be accessible
from content/browser/ directory. This CL moves it out of chrome/app/
into components/vector_icons/.

BUG= 702404 
TEST=none

Change-Id: I4265eca2244dba561b696881939eea7a75475ab7
Reviewed-on: https://chromium-review.googlesource.com/594676
Commit-Queue: Mohsen Izadi <mohsen@chromium.org>
Reviewed-by: Evan Stade <estade@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491299}
[modify] https://crrev.com/31c2a76a6c78d7b26a0d080f4efe22ebb1084683/chrome/app/vector_icons/BUILD.gn
[modify] https://crrev.com/31c2a76a6c78d7b26a0d080f4efe22ebb1084683/chrome/browser/ui/cocoa/browser_window_touch_bar.mm
[modify] https://crrev.com/31c2a76a6c78d7b26a0d080f4efe22ebb1084683/chrome/browser/ui/cocoa/toolbar/reload_button_cocoa.mm
[modify] https://crrev.com/31c2a76a6c78d7b26a0d080f4efe22ebb1084683/chrome/browser/ui/cocoa/toolbar/toolbar_button_cocoa.mm
[modify] https://crrev.com/31c2a76a6c78d7b26a0d080f4efe22ebb1084683/chrome/browser/ui/views/toolbar/reload_button.cc
[modify] https://crrev.com/31c2a76a6c78d7b26a0d080f4efe22ebb1084683/components/vector_icons/BUILD.gn
[rename] https://crrev.com/31c2a76a6c78d7b26a0d080f4efe22ebb1084683/components/vector_icons/reload.1x.icon
[rename] https://crrev.com/31c2a76a6c78d7b26a0d080f4efe22ebb1084683/components/vector_icons/reload.icon

Project Member

Comment 10 by bugdroid1@chromium.org, Aug 4 2017

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

commit dd0d2d32e5ffe9102ae14b89fcdccd21a61eab15
Author: Mohsen Izadi <mohsen@chromium.org>
Date: Fri Aug 04 21:01:01 2017

Implement pull-to-refresh for Aura

Pull-to-refresh effect is implemented for Aura platforms. This is behind
the --pull-to-refresh flag. The overscroll controller is changed to make
vertical overscroll behavior similar to horizontal overscroll; i.e., for
a vertical overscroll to start, the page should be scrolled to the top
before gesture sequence is started.

BUG= 702404 
TEST=manual with --pull-to-refresh flag

Change-Id: I74e9b08182683586a66a931615ab72b525de3af4
Reviewed-on: https://chromium-review.googlesource.com/586952
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Commit-Queue: Mohsen Izadi <mohsen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492119}
[modify] https://crrev.com/dd0d2d32e5ffe9102ae14b89fcdccd21a61eab15/content/browser/renderer_host/overscroll_configuration.cc
[modify] https://crrev.com/dd0d2d32e5ffe9102ae14b89fcdccd21a61eab15/content/browser/renderer_host/overscroll_controller.cc
[modify] https://crrev.com/dd0d2d32e5ffe9102ae14b89fcdccd21a61eab15/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/dd0d2d32e5ffe9102ae14b89fcdccd21a61eab15/content/browser/web_contents/aura/gesture_nav_simple.cc
[modify] https://crrev.com/dd0d2d32e5ffe9102ae14b89fcdccd21a61eab15/content/browser/web_contents/aura/gesture_nav_simple.h
[modify] https://crrev.com/dd0d2d32e5ffe9102ae14b89fcdccd21a61eab15/content/browser/web_contents/aura/types.cc
[modify] https://crrev.com/dd0d2d32e5ffe9102ae14b89fcdccd21a61eab15/content/browser/web_contents/aura/types.h
[modify] https://crrev.com/dd0d2d32e5ffe9102ae14b89fcdccd21a61eab15/tools/metrics/actions/actions.xml
[modify] https://crrev.com/dd0d2d32e5ffe9102ae14b89fcdccd21a61eab15/tools/metrics/histograms/enums.xml

Project Member

Comment 11 by bugdroid1@chromium.org, Apr 12 2018

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

commit 8c59ba5c4bcb6dd38610f26b960538ed8e23b35f
Author: Mohsen Izadi <mohsen@chromium.org>
Date: Thu Apr 12 18:52:01 2018

Allow disabling Aura's pull-to-refresh for touchpad

This CL changes --pull-to-refresh flag to have 4 possible values:
 - "Default": Currently the same as Disabled;
 - "Disabled": No PTR;
 - "Enabled": PTR enabled for both touchpad and touchscreen;
 - "Enabled for touchscreen only": PTR enabled only for touchscreen.

BUG= 702404 
TEST=OverscrollControllerTest.PullToRefresh* in content_unittest

Change-Id: I18e1e39f967e1041f56f25b49e42b9a6dfc934fa
Reviewed-on: https://chromium-review.googlesource.com/998549
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Mohsen Izadi <mohsen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550288}
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/chrome/browser/about_flags.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/chrome/browser/ui/browser.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/browser/frame_host/navigation_entry_screenshot_manager.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/browser/renderer_host/input/touch_selection_controller_client_aura_browsertest.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/browser/renderer_host/overscroll_configuration.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/browser/renderer_host/overscroll_controller.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/browser/renderer_host/overscroll_controller_unittest.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/browser/web_contents/web_contents_view_aura.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/browser/web_contents/web_contents_view_aura_browsertest.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/public/browser/overscroll_configuration.h
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/public/common/content_switches.cc
[delete] https://crrev.com/2b26997337e61e94757e0ad17901e94fccb0d1e3/content/public/test/scoped_overscroll_mode.cc
[delete] https://crrev.com/2b26997337e61e94757e0ad17901e94fccb0d1e3/content/public/test/scoped_overscroll_mode.h
[add] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/public/test/scoped_overscroll_modes.cc
[add] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/public/test/scoped_overscroll_modes.h
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/test/BUILD.gn

Project Member

Comment 12 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f

commit 8c59ba5c4bcb6dd38610f26b960538ed8e23b35f
Author: Mohsen Izadi <mohsen@chromium.org>
Date: Thu Apr 12 18:52:01 2018

Allow disabling Aura's pull-to-refresh for touchpad

This CL changes --pull-to-refresh flag to have 4 possible values:
 - "Default": Currently the same as Disabled;
 - "Disabled": No PTR;
 - "Enabled": PTR enabled for both touchpad and touchscreen;
 - "Enabled for touchscreen only": PTR enabled only for touchscreen.

BUG= 702404 
TEST=OverscrollControllerTest.PullToRefresh* in content_unittest

Change-Id: I18e1e39f967e1041f56f25b49e42b9a6dfc934fa
Reviewed-on: https://chromium-review.googlesource.com/998549
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Mohsen Izadi <mohsen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550288}
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/chrome/browser/about_flags.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/chrome/browser/ui/browser.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/browser/frame_host/navigation_entry_screenshot_manager.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/browser/renderer_host/input/touch_selection_controller_client_aura_browsertest.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/browser/renderer_host/overscroll_configuration.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/browser/renderer_host/overscroll_controller.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/browser/renderer_host/overscroll_controller_unittest.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/browser/web_contents/web_contents_view_aura.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/browser/web_contents/web_contents_view_aura_browsertest.cc
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/public/browser/overscroll_configuration.h
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/public/common/content_switches.cc
[delete] https://crrev.com/2b26997337e61e94757e0ad17901e94fccb0d1e3/content/public/test/scoped_overscroll_mode.cc
[delete] https://crrev.com/2b26997337e61e94757e0ad17901e94fccb0d1e3/content/public/test/scoped_overscroll_mode.h
[add] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/public/test/scoped_overscroll_modes.cc
[add] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/public/test/scoped_overscroll_modes.h
[modify] https://crrev.com/8c59ba5c4bcb6dd38610f26b960538ed8e23b35f/content/test/BUILD.gn

Seems like this should respect overscroll-behavior similar to the Android implementation: https://developers.google.com/web/updates/2017/11/overscroll-behavior

Example: "pulling down" when scrolled to the top of a Google Doc shouldn't refresh the page.
As of r546736 it should respect overscroll-behavior. Please file a bug if it is not.
Project Member

Comment 15 by bugdroid1@chromium.org, Apr 23 2018

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

commit 5a65835140f37027e435fd2b9be61f40eea0f8bf
Author: Mohsen Izadi <mohsen@chromium.org>
Date: Mon Apr 23 18:31:19 2018

Add cool off period to Aura's pull-to-refresh

A cool off period of 600ms is added between the time page is scrolled to
the top and the time a pull-to-refresh can be initiated. If the user
tries overscroll before the cool off period is passed, the timer will
reset and the user has to wait 600ms more.

BUG= 702404 
TEST=OverscrollControllerTest.* in content_unittests

Change-Id: I151ec8ef2faab297e9a80251942040acd40af399
Reviewed-on: https://chromium-review.googlesource.com/1022512
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Mohsen Izadi <mohsen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#552760}
[modify] https://crrev.com/5a65835140f37027e435fd2b9be61f40eea0f8bf/content/browser/renderer_host/overscroll_controller.cc
[modify] https://crrev.com/5a65835140f37027e435fd2b9be61f40eea0f8bf/content/browser/renderer_host/overscroll_controller.h
[modify] https://crrev.com/5a65835140f37027e435fd2b9be61f40eea0f8bf/content/browser/renderer_host/overscroll_controller_unittest.cc

Status: Fixed (was: Started)
This is done behind a flag.

Sign in to add a comment