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

Issue 640611 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Aug 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 1
Type: Bug



Sign in to add a comment

[IOS 10 BETA] Grey line on the left side when touch move

Reported by pt.ant....@gmail.com, Aug 24 2016

Issue description

Steps to reproduce the problem:
1. open google.com.
2. touch and a little move finger on text field.
also:
1. open any site that work with touch events (enter in google search word "touch test") or any online game with canvas animation.
2. swipe a little to any direction.

What is the expected behavior?
page content should not move.
Address bar should be hidden if it was hided.

What went wrong?
grey line appear on the left side of the browser and page content move to right on 100-200 pixels.
Adress bar appear.

Did this work before? Yes it work on ios9

Chrome version: 52.0.2743.84  Channel: beta
OS Version: 10.0
Flash Version: 

you can repair browser. just swipe from outside to inside of the screen. After that this issue will not reproduce on all tabs before you will not reopen browser
 
Issue was reproduced on ipad and ipad pro. On iphone not reproduce.
Also you can watch vidio https://youtu.be/CULhzOWIWYI
Cc: eugene...@chromium.org justincohen@chromium.org
The side swipe UI is darker and with an arrow, so this seems to be something inside the WKWebView.  eugenebut@ can you confirm/triage?
Cc: -eugene...@chromium.org
Labels: ReleaseBlock-Stable Proj-iOS10 M-53
Owner: eugene...@chromium.org
Status: Started (was: Unconfirmed)
This one does not happen in WebShell but is broken in Chrome. I will take a look why web view's frame was changed.
Cc: -justincohen@chromium.org eugene...@chromium.org
Labels: -Pri-2 Pri-1
Owner: justincohen@chromium.org
Status: Assigned (was: Started)
Side SideSwipeNavigationView sets incorrect frame to BrowserContainerView:

* thread #1: tid = 0xe039bf, 0x000000010dad4529 Chromium`::-[BrowserContainerView setFrame:](self=0x00007f9bd4407140, _cmd="setFrame:", frame=(origin = (x = 237.16666666666666, y = 20), size = (width = 768, height = 1004))) + 265 at browser_container_view.mm:35, name = 'CrWebMain', queue = 'com.apple.main-thread', stop reason = breakpoint 2.1
  * frame #0: 0x000000010dad4529 Chromium`::-[BrowserContainerView setFrame:](self=0x00007f9bd4407140, _cmd="setFrame:", frame=(origin = (x = 237.16666666666666, y = 20), size = (width = 768, height = 1004))) + 265 at browser_container_view.mm:35
    frame #1: 0x000000010dd4a34f Chromium`::-[SideSwipeNavigationView handleHorizontalPan:onOverThresholdCompletion:onUnderThresholdCompletion:](self=0x00007f9bd8b01620, _cmd="handleHorizontalPan:onOverThresholdCompletion:onUnderThresholdCompletion:", gesture=0x00007f9bd4301830, onOverThresholdCompletion=0x000000010dd45830, onUnderThresholdCompletion=0x000000010dd45c70)(), void (^)()) + 975 at side_swipe_navigation_view.mm:319
    frame #2: 0x000000010dd45188 Chromium`::-[SideSwipeController handleSwipeToNavigate:](self=0x00006180001a69e0, _cmd="handleSwipeToNavigate:", gesture=0x00007f9bd4301830) + 1960 at side_swipe_controller.mm:415
    frame #3: 0x000000010dd44111 Chromium`::-[SideSwipeController handleSwipe:](self=0x00006180001a69e0, _cmd="handleSwipe:", gesture=0x00007f9bd4301830) + 497 at side_swipe_controller.mm:288
    frame #4: 0x00000001171aa609 UIKit`-[UIGestureRecognizerTarget _sendActionWithGestureRecognizer:] + 57
    frame #5: 0x00000001171b23a8 UIKit`_UIGestureRecognizerSendTargetActions + 109
    frame #6: 0x00000001171afe77 UIKit`_UIGestureRecognizerSendActions + 227
    frame #7: 0x00000001171af103 UIKit`-[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 891
    frame #8: 0x000000011719b1d6 UIKit`_UIGestureEnvironmentUpdate + 1395
    frame #9: 0x000000011719ac1b UIKit`-[UIGestureEnvironment _deliverEvent:toGestureRecognizers:usingBlock:] + 521
    frame #10: 0x0000000117199dfe UIKit`-[UIGestureEnvironment _updateGesturesForEvent:window:] + 286
    frame #11: 0x0000000116ce5f0d UIKit`-[UIWindow sendEvent:] + 3989
    frame #12: 0x0000000116c931a3 UIKit`-[UIApplication sendEvent:] + 371
    frame #13: 0x0000000130e80959 UIKit`-[UIApplicationAccessibility sendEvent:] + 93
    frame #14: 0x000000011746d047 UIKit`__dispatchPreprocessedEventFromEventQueue + 3248
    frame #15: 0x0000000117465cf1 UIKit`__handleEventQueue + 4879
    frame #16: 0x0000000118502311 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #17: 0x00000001184e759c CoreFoundation`__CFRunLoopDoSources0 + 556
    frame #18: 0x00000001184e6a86 CoreFoundation`__CFRunLoopRun + 918
    frame #19: 0x00000001184e6494 CoreFoundation`CFRunLoopRunSpecific + 420
    frame #20: 0x000000011dd1ca6f GraphicsServices`GSEventRunModal + 161
    frame #21: 0x0000000116c75a34 UIKit`UIApplicationMain + 159
    frame #22: 0x000000010cff4cba Chromium`main(argc=1, argv=0x00007fff52c0c900) + 826 at chrome_exe_main.mm:70
    frame #23: 0x000000012020d68d libdyld.dylib`start + 1

Comment 5 by cma...@chromium.org, Aug 26 2016

Any update on this Eugene? Is this a regression for 53?
I'm looking at this today.
Cc: cma...@chromium.org rohitrao@chromium.org
Status: Started (was: Assigned)
cmasso@ I have a workaround, but I need to investigate this further and perhaps file a radar.

https://codereview.chromium.org/2281303002
Project Member

Comment 8 by bugdroid1@chromium.org, Aug 29 2016

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

commit 95144337ab1af223377554b7ca838de787d8080e
Author: justincohen <justincohen@chromium.org>
Date: Mon Aug 29 14:10:17 2016

Work around PanGestureRecognizer iOS10 issue.

In iOS10, sometimes a PanGestureRecognizer will fire a touchesMoved even
after touchesBegan sets its state to |UIGestureRecognizerStateFailed|.
Somehow the state is re-set to UIGestureRecognizerStatePossible, and ends
up in moved.  Checking if |_startPoint| has been set is a secondary way to
catch for failed gestures. It appears setting failed in touchesMoved still always
works -- this issue only seems to be related to setting Failure in touchesBegan,
and only sometimes.

BUG= 640611 

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

[modify] https://crrev.com/95144337ab1af223377554b7ca838de787d8080e/ios/chrome/browser/ui/side_swipe_gesture_recognizer.mm

Labels: Merge-Request-53 Merge-Request-54
Status: Fixed (was: Started)
cmasso@ this should go in an M53 respin minimum.

Comment 10 by dimu@chromium.org, Aug 29 2016

Labels: -Merge-Request-53 Merge-Review-53 Hotlist-Merge-Review
[Automated comment] Less than 2 weeks to go before AppStore submit on M53, manual review required.

Comment 11 by dimu@chromium.org, Aug 29 2016

Labels: -Merge-Request-54 Merge-Approved-54 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M54 (branch: 2840)

Comment 12 by dimu@chromium.org, Aug 29 2016

Labels: -Merge-Request-53 Merge-Review-53 Hotlist-Merge-Review
[Automated comment] Less than 2 weeks to go before AppStore submit on M53, manual review required.
 justincohen@ I have added this into the list of M53 refresh candidates. Thanks!

Comment 14 Deleted

Status: Verified (was: Fixed)
Verified  as per the video in  Comment#1 on iPad Air iOS 10 Beta 8 in build 55.0.2842.0 Canary. Content doe snot move.
Labels: -Hotlist-Merge-review -Merge-Review-53 Merge-Approved-53
Project Member

Comment 17 by bugdroid1@chromium.org, Aug 31 2016

Labels: -merge-approved-54 merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/50a444da0b655b362a1ae9d99345e6c78ae8a1d7

commit 50a444da0b655b362a1ae9d99345e6c78ae8a1d7
Author: Justin Cohen <justincohen@google.com>
Date: Wed Aug 31 18:35:55 2016

Work around PanGestureRecognizer iOS10 issue.

In iOS10, sometimes a PanGestureRecognizer will fire a touchesMoved even
after touchesBegan sets its state to |UIGestureRecognizerStateFailed|.
Somehow the state is re-set to UIGestureRecognizerStatePossible, and ends
up in moved.  Checking if |_startPoint| has been set is a secondary way to
catch for failed gestures. It appears setting failed in touchesMoved still always
works -- this issue only seems to be related to setting Failure in touchesBegan,
and only sometimes.

BUG= 640611 

Review-Url: https://codereview.chromium.org/2281303002
Cr-Commit-Position: refs/heads/master@{#415004}
(cherry picked from commit 95144337ab1af223377554b7ca838de787d8080e)

Review URL: https://codereview.chromium.org/2295283002 .

Cr-Commit-Position: refs/branch-heads/2840@{#76}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/50a444da0b655b362a1ae9d99345e6c78ae8a1d7/ios/chrome/browser/ui/side_swipe_gesture_recognizer.mm

Project Member

Comment 18 by bugdroid1@chromium.org, Aug 31 2016

Labels: -merge-approved-53 merge-merged-2785
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/792336ddbb2be085276faebbec4a8e83bfd0e989

commit 792336ddbb2be085276faebbec4a8e83bfd0e989
Author: Justin Cohen <justincohen@google.com>
Date: Wed Aug 31 18:36:56 2016

Work around PanGestureRecognizer iOS10 issue.

In iOS10, sometimes a PanGestureRecognizer will fire a touchesMoved even
after touchesBegan sets its state to |UIGestureRecognizerStateFailed|.
Somehow the state is re-set to UIGestureRecognizerStatePossible, and ends
up in moved.  Checking if |_startPoint| has been set is a secondary way to
catch for failed gestures. It appears setting failed in touchesMoved still always
works -- this issue only seems to be related to setting Failure in touchesBegan,
and only sometimes.

BUG= 640611 

Review-Url: https://codereview.chromium.org/2281303002
Cr-Commit-Position: refs/heads/master@{#415004}
(cherry picked from commit 95144337ab1af223377554b7ca838de787d8080e)

Review URL: https://codereview.chromium.org/2294223004 .

Cr-Commit-Position: refs/branch-heads/2785@{#801}
Cr-Branched-From: 68623971be0cfc492a2cb0427d7f478e7b214c24-refs/heads/master@{#403382}

[modify] https://crrev.com/792336ddbb2be085276faebbec4a8e83bfd0e989/ios/chrome/browser/ui/side_swipe_gesture_recognizer.mm

Verified on latest chrome beta version on M54 on iPad Air with iOS 10 beta 8 and iPad mini with iOS 10 beta 8, following the video mentioned in comment #1.  Verified that page content should does not move.  Looks good.
This has been merged into 2785. Please verify on 53.
Project Member

Comment 21 by sheriffbot@chromium.org, Sep 2 2016

This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Approved-54 merge-merged-2840
weird, didn't comment 17 remove merge-approved-54?.

cmasso@ not sure what's going on, I wonder if comment 18 overwrote comment 17.
Cc: jparent@chromium.org
jparent@ do you know who might be able to look at comment 18 stomping comment 17 (see above)? thanks!
Cc: aga...@chromium.org
Owner: aga...@chromium.org
+agable

Aaron, can you look into what is going on with Bugdroid (or Monorail) here?  A label got removed by Bugdroid in comment #17 but then it was back again, without it ever visibly being re-added?  
Cc: -jparent@chromium.org -aga...@chromium.org
Owner: justincohen@chromium.org
Thanks, tracking here: https://bugs.chromium.org/p/monorail/issues/detail?id=1747
Hello!

1. In what chrome version fix will available?

2. Also I hope you verify address bar? It should not appear too. Video about address bar issue available on this link: https://youtu.be/mUuf3DVEPpM

Thanks!
Cc: linds...@chromium.org
+lindsayw@ for verification.
Verified on latest chrome dev version on M53.0.2785.109 on iPad Air with iOS 10 beta 8 and iPad mini with iOS 10.0.1, following the video mentioned in comment #1.  Verified that page content does not move.  Looks good.
This issue also occurs when a touch event has preventDefault called on it. Can be reproduced with this small amount of code: 

document.body.addEventListener('touchstart', function(e) {
    e.preventDefault();
});

Also available at: 

http://codepen.io/davidhartley/pen/4db61a763b2fa588f1478ea634353dce?editors=0110
Project Member

Comment 30 by bugdroid1@chromium.org, Oct 27 2016

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

commit 50a444da0b655b362a1ae9d99345e6c78ae8a1d7
Author: Justin Cohen <justincohen@google.com>
Date: Wed Aug 31 18:35:55 2016

Work around PanGestureRecognizer iOS10 issue.

In iOS10, sometimes a PanGestureRecognizer will fire a touchesMoved even
after touchesBegan sets its state to |UIGestureRecognizerStateFailed|.
Somehow the state is re-set to UIGestureRecognizerStatePossible, and ends
up in moved.  Checking if |_startPoint| has been set is a secondary way to
catch for failed gestures. It appears setting failed in touchesMoved still always
works -- this issue only seems to be related to setting Failure in touchesBegan,
and only sometimes.

BUG= 640611 

Review-Url: https://codereview.chromium.org/2281303002
Cr-Commit-Position: refs/heads/master@{#415004}
(cherry picked from commit 95144337ab1af223377554b7ca838de787d8080e)

Review URL: https://codereview.chromium.org/2295283002 .

Cr-Commit-Position: refs/branch-heads/2840@{#76}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/50a444da0b655b362a1ae9d99345e6c78ae8a1d7/ios/chrome/browser/ui/side_swipe_gesture_recognizer.mm

Sign in to add a comment