Android keeps Incognito cookie jar around when tabs are closed if CCT is open |
|||||||||||||
Issue descriptionPulled from reddit: https://www.reddit.com/r/Android/comments/5hw071/android_multiwindow_breaks_google_chrome/ >>> I'm hoping someone can double check this for me, but I have been able to replicate the issue on both my Nexus 6 and LG V20 (both running Android 7.0): Steps to repro: 1) Open an incognito tab in Google Chrome 2) Enable dual-window/multi-window 3) Open a second incognito tab in Google Chrome 4) Move one of the incognito tabs to the other window 5) Optional: sign into an account on any website (such as your gmail account) 6) Close both incognito windows 7) Optional: disable dual-window/multi-window 8) Open another incognito tab and go to your account from step 5 - your previously signed in account will still be signed in. Observed behavior: Even after all incognito windows are closed manually, the notification to close incognito tabs remains active and tapping it appears to have no effect. The only way I have found to remove it is to completely restart the phone. Furthermore, it seems that cookies and other data from the incognito windows remain present until the phone is restarted (or if the issue is fixed any other way). <<< Looks like something is going wacky with the OffTheRecordTabModels. Putting twellington@ and tedchoc@ on here because it hits multi-window and notifications.
,
Dec 12 2016
+agrieve -- this sound similar to issue 626629 - which had to do with a CCT remaining open. I reproduced on my Pixel running Chrome 54.0.2840.85/Android NMF260 with these steps: 1. Open a CCT (e.g. open a link in gmail). 2. Open Chrome (whichever Chrome channel is associated with the open CCT). 3. Open an incognito tab, navigate to a website and sign in to an account. 4. Go to Android recents and swipe away Chrome. At this point, the incognito notification is still present. 5. Tap on the notification to close incognito tabs; it disappears. 6. Open Chrome, open an incognito tab and navigate back to the website in #3. The account is still signed in. +clank-te -- can we please identify a regression range for this since issue 626629 was verified as fixed in M52? ----- I haven't been able to reproduce the issue with the notification not getting dismissed, but it's possible something is going wrong with deleting the tab state files. In IncognitoNotificationService#onHandleIntent(), if there are incognito tab state files left after we attempt to clear them, then we return early without dismissing the incognito notification. Ted, thoughts on the notification not getting dismissed after tapping?
,
Dec 13 2016
Re:#2 - I can still reproduce this behavior on the build that was verified in issue 626629 (52.0.2743.91), and back until M45 Stable (45.0.2454.94) on a Nexus 5X / MOB29Z. This doesn't seem like a regression.
,
Dec 13 2016
As for the steps in the bug description, I can reproduce the issue with the notification not getting dismissed. This is reproducible back up to the factory image of Chrome Stable 51.0.2704.90 on a Nexus 6P / NRD90T. Video of the repro is here: http://go/chrome-androidlogs1/6/673489
,
Dec 13 2016
I'm going to split off a second bug for the incognito notification issue. jaykery@ - I was able to reproduce this on my Nexus 6P after all. If you re-open Chrome after closing it out in Android recents, does the notification disappear?
,
Dec 13 2016
It does indeed! :)
,
Dec 13 2016
Thank you for checking. Filed issue 673582 to track the incognito notification not dismissing.
,
Dec 13 2016
,
Dec 13 2016
,
Dec 14 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1a81653525d7b252a2d37e7c489604126d917984 commit 1a81653525d7b252a2d37e7c489604126d917984 Author: tedchoc <tedchoc@chromium.org> Date: Wed Dec 14 22:19:46 2016 Fix incognito notification/cleanup for android multiwindow. When moving an NTP (very specific to the NTP URL) across CTA instances, it would put the ref in AsyncTabParams, but would not use it when creating the tab in the second window. This was bad because it kept a reference to the incognito tab forever (preventing the profile from being deleted and the notification from going away). This also changes the PendingIntent flag to allow the notification to take an action as long as it is visible (then if cleaning up the incognito tabs fails the first time, the second click might succeed). BUG=673582, 673489 Review-Url: https://codereview.chromium.org/2574143004 Cr-Commit-Position: refs/heads/master@{#438648} [modify] https://crrev.com/1a81653525d7b252a2d37e7c489604126d917984/chrome/android/java/src/org/chromium/chrome/browser/ChromeSwitches.java [modify] https://crrev.com/1a81653525d7b252a2d37e7c489604126d917984/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java [modify] https://crrev.com/1a81653525d7b252a2d37e7c489604126d917984/chrome/android/java/src/org/chromium/chrome/browser/incognito/IncognitoNotificationService.java [modify] https://crrev.com/1a81653525d7b252a2d37e7c489604126d917984/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java [modify] https://crrev.com/1a81653525d7b252a2d37e7c489604126d917984/chrome/android/java_sources.gni [add] https://crrev.com/1a81653525d7b252a2d37e7c489604126d917984/chrome/android/javatests/src/org/chromium/chrome/browser/multiwindow/MultiWindowIntegrationTest.java [modify] https://crrev.com/1a81653525d7b252a2d37e7c489604126d917984/chrome/android/javatests/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtilsTest.java
,
Dec 27 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9af8d43fec1953c20f6804c0f80dfe6ea0da27f7 commit 9af8d43fec1953c20f6804c0f80dfe6ea0da27f7 Author: Ted Choc <tedchoc@google.com> Date: Tue Dec 27 17:33:16 2016 Fix incognito notification/cleanup for android multiwindow. When moving an NTP (very specific to the NTP URL) across CTA instances, it would put the ref in AsyncTabParams, but would not use it when creating the tab in the second window. This was bad because it kept a reference to the incognito tab forever (preventing the profile from being deleted and the notification from going away). This also changes the PendingIntent flag to allow the notification to take an action as long as it is visible (then if cleaning up the incognito tabs fails the first time, the second click might succeed). BUG=673582, 673489 Review-Url: https://codereview.chromium.org/2574143004 Review-Url: https://codereview.chromium.org/2603793002 . Cr-Original-Commit-Position: refs/heads/master@{#438648} Cr-Commit-Position: refs/branch-heads/2924@{#620} Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059} [modify] https://crrev.com/9af8d43fec1953c20f6804c0f80dfe6ea0da27f7/chrome/android/java/src/org/chromium/chrome/browser/ChromeSwitches.java [modify] https://crrev.com/9af8d43fec1953c20f6804c0f80dfe6ea0da27f7/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java [modify] https://crrev.com/9af8d43fec1953c20f6804c0f80dfe6ea0da27f7/chrome/android/java/src/org/chromium/chrome/browser/incognito/IncognitoNotificationService.java [modify] https://crrev.com/9af8d43fec1953c20f6804c0f80dfe6ea0da27f7/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java [modify] https://crrev.com/9af8d43fec1953c20f6804c0f80dfe6ea0da27f7/chrome/android/java_sources.gni [add] https://crrev.com/9af8d43fec1953c20f6804c0f80dfe6ea0da27f7/chrome/android/javatests/src/org/chromium/chrome/browser/multiwindow/MultiWindowIntegrationTest.java [modify] https://crrev.com/9af8d43fec1953c20f6804c0f80dfe6ea0da27f7/chrome/android/javatests/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtilsTest.java
,
Jan 3 2017
tedchoc@ - Just checking in to see if this is fixed? I can still reproduce the behavior in comment#2 on the latest Dev build (57.0.2970.0).
,
Jan 23 2017
,
Jan 24 2017
This is indeed not fixed (at least not for https://bugs.chromium.org/p/chromium/issues/detail?id=673489#c2). I have an idea of how to fix this case as well, but it will be "gross". The problem here is that you remove the tabbed mode task while a CCT is also running. After L (since we have the CCT around), it keeps browser process alive and we never explicitly tell CookiesFetcher#deleteCookiesIfNecessary because the incognito Profile isn't deleted as part of ChromeTabbedActivity destruction. IncognitoTabModel#destroy intentionally does not call destroyIncognitoIfNecessary because it would delete this information in non-user triggered destroy calls. One immediate fix is to have clicks on the incognito close all notification also delete the profile if native is running, which would then trigger the cookie deletion. But, we need to makes sure there are no other paths that can result in cookies staying around longer. Stuff to investigate: - Open CCT - Open Tabbed mode - Open incognito tab - Go to android recents, swipe away tabbed mode. - Open tabbed mode again * At this point, your cookies should be wiped as you have no incognito tabs, but need to make sure that isn't a cold start only thing Same general thing pre-L. There the entire process is killed on swipe. If you start up a CCT before triggering tabbed mode, would that also prevent cookies from being deleted? Do we need to delete cookies if we can determine there are no tabbed mode activities in recents? Do we need to do that on resume of all activity types? I'll do the fix for the notification first as that is a very, very explicit user gesture for intent. Will keep looking to see what if anything else we need to fix.
,
Jan 25 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e0c69147ed32a028eb8773d24b14fa0509363988 commit e0c69147ed32a028eb8773d24b14fa0509363988 Author: tedchoc <tedchoc@chromium.org> Date: Wed Jan 25 22:10:48 2017 Destroy incognito profile from close all incognito notification. Also destroy the incognito profile when starting up tabbed mode and there are no discoverable incognito tabs around. BUG= 673489 Review-Url: https://codereview.chromium.org/2649773007 Cr-Commit-Position: refs/heads/master@{#446140} [modify] https://crrev.com/e0c69147ed32a028eb8773d24b14fa0509363988/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java [modify] https://crrev.com/e0c69147ed32a028eb8773d24b14fa0509363988/chrome/android/java/src/org/chromium/chrome/browser/incognito/IncognitoNotificationService.java [modify] https://crrev.com/e0c69147ed32a028eb8773d24b14fa0509363988/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java
,
Jan 26 2017
@jayker, can you verify it is fixed with tonight's canary? Would like to get that checked before I merge this to 57.
,
Jan 26 2017
Will do.
,
Jan 26 2017
The steps in comment#2 no longer reproduces the issue in the current Play Store Canary (58.0.2993.0).
,
Jan 26 2017
,
Jan 26 2017
Your change meets the bar and is auto-approved for M57. Please go ahead and merge the CL to branch 2987 manually. Please contact milestone owner if you have questions. Owners: amineer@(clank), cmasso@(bling), ketakid@(cros), govind@(desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jan 26 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/29a4956a7ff9985a5e2b951d41b435d1b3d38b94 commit 29a4956a7ff9985a5e2b951d41b435d1b3d38b94 Author: Ted Choc <tedchoc@google.com> Date: Thu Jan 26 19:43:05 2017 Destroy incognito profile from close all incognito notification. Also destroy the incognito profile when starting up tabbed mode and there are no discoverable incognito tabs around. BUG= 673489 Review-Url: https://codereview.chromium.org/2649773007 Cr-Original-Commit-Position: refs/heads/master@{#446140} Review-Url: https://codereview.chromium.org/2653753008 . Cr-Commit-Position: refs/branch-heads/2987@{#115} Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943} [modify] https://crrev.com/29a4956a7ff9985a5e2b951d41b435d1b3d38b94/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java [modify] https://crrev.com/29a4956a7ff9985a5e2b951d41b435d1b3d38b94/chrome/android/java/src/org/chromium/chrome/browser/incognito/IncognitoNotificationService.java [modify] https://crrev.com/29a4956a7ff9985a5e2b951d41b435d1b3d38b94/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java
,
Jan 26 2017
,
Jan 27 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/61ef8268f9904aecb561105246c92d753ca53dda commit 61ef8268f9904aecb561105246c92d753ca53dda Author: amineer <amineer@chromium.org> Date: Fri Jan 27 16:33:20 2017 Revert of Destroy incognito profile from close all incognito notification. (patchset #1 id:1 of https://codereview.chromium.org/2653753008/ ) Reason for revert: Breaks build: ../../chrome/android/java/src/org/chromium/chrome/browser/incognito/IncognitoNotificationService.java:84: error: method get in class BrowserStartupController cannot be applied to given types; if (BrowserStartupController.get(LibraryProcessType.PROCESS_BROWSER) ^ required: Context,int found: int reason: actual and formal argument lists differ in length https://uberchromegw.corp.google.com/i/official.android.continuous/builders/beta-arm/builds/6052 Original issue's description: > Destroy incognito profile from close all incognito notification. > > Also destroy the incognito profile when starting up tabbed mode > and there are no discoverable incognito tabs around. > > BUG= 673489 > > Review-Url: https://codereview.chromium.org/2649773007 > Cr-Original-Commit-Position: refs/heads/master@{#446140} > Review-Url: https://codereview.chromium.org/2653753008 . > Cr-Commit-Position: refs/branch-heads/2987@{#115} > Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943} > Committed: https://chromium.googlesource.com/chromium/src/+/29a4956a7ff9985a5e2b951d41b435d1b3d38b94 TBR=tedchoc@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= 673489 Review-Url: https://codereview.chromium.org/2655383003 Cr-Commit-Position: refs/branch-heads/2987@{#146} Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943} [modify] https://crrev.com/61ef8268f9904aecb561105246c92d753ca53dda/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java [modify] https://crrev.com/61ef8268f9904aecb561105246c92d753ca53dda/chrome/android/java/src/org/chromium/chrome/browser/incognito/IncognitoNotificationService.java [modify] https://crrev.com/61ef8268f9904aecb561105246c92d753ca53dda/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java
,
Jan 27 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8cca149366355883cc2276a02e2cd5e579aa2920 commit 8cca149366355883cc2276a02e2cd5e579aa2920 Author: Ted Choc <tedchoc@google.com> Date: Fri Jan 27 16:56:00 2017 Revert "Revert of Destroy incognito profile from close all incognito notification. (patchset #1 id:1 of https://codereview.chromium.org/2653753008/ )" This reverts commit 61ef8268f9904aecb561105246c92d753ca53dda. BUG= 673489 Review-Url: https://codereview.chromium.org/2658213003 . Cr-Commit-Position: refs/branch-heads/2987@{#147} Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943} [modify] https://crrev.com/8cca149366355883cc2276a02e2cd5e579aa2920/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java [modify] https://crrev.com/8cca149366355883cc2276a02e2cd5e579aa2920/chrome/android/java/src/org/chromium/chrome/browser/incognito/IncognitoNotificationService.java [modify] https://crrev.com/8cca149366355883cc2276a02e2cd5e579aa2920/content/public/android/java/src/org/chromium/content/browser/BrowserStartupController.java
,
Jan 31 2017
Verified on 57.0.2987.19. Thank you! |
|||||||||||||
►
Sign in to add a comment |
|||||||||||||
Comment 1 by dfalcant...@chromium.org
, Dec 12 2016