New issue
Advanced search Search tips

Issue 878230 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 4
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Attempting to download file from incognito mode to Linux Files causes crash

Reported by mgam...@mgamble.ca, Aug 28

Issue description

UserAgent: Mozilla/5.0 (X11; CrOS x86_64 10991.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3524.2 Safari/537.36
Platform: 10991.0.0 (Official Build) dev-channel eve

Steps to reproduce the problem:
1. Have Linux Support enabled
2. Open up a new incognito mode window
3. Download a file and attempt to save it to "Linux Files"
4. Chrome will crash and the UI will reload 

What is the expected behavior?
File will download to the linux files folder. 

What went wrong?
OS / UI restarted.  Issue does not happen if you use a standard Chrome browsing window, only when using incognito mode.

Did this work before? N/A 

Chrome version: 70.0.3524.2  Channel: dev
OS Version: 10991.0.0
Flash Version:
 
Components: -UI Platform>Apps>FileManager OS>Systems>Containers
Cc: weifangsun@chromium.org joelhockey@chromium.org
Cc: -joelhockey@chromium.org
Owner: joelhockey@chromium.org
Status: Assigned (was: Unconfirmed)
Cc: nverne@chromium.org
Nick, this crashes when the restarter service returns as null at:
https://cs.chromium.org/chromium/src/chrome/browser/chromeos/crostini/crostini_manager.cc?l=1203&rcl=00d6a84a3b935d3f86b807427d75b950eed423b0

Do you know why we would get a null restarter service for incognito mode?
This is why we get a null service for incognito:
https://cs.chromium.org/chromium/src/components/keyed_service/content/browser_context_keyed_base_factory.cc?l=25&rcl=e97029ee4233e84a355bb177c7b8399e877f3273

Now, to figure out what we might be able to do here.
It's tricky. Do we know what profile is active when the incognito window was made? That's the profile/container the user probably expects to receive the file.
Yes, I pass in a valid profile which works fine with CryptohomeIdForProfile.  I think we just need to override KeyedServiceBaseFactory::GetContextToUse to return the passed in profile.
https://cs.chromium.org/chromium/src/components/keyed_service/core/keyed_service_base_factory.h?l=80&rcl=79e8e426a348aaecfb817065f217383c5d348606
Project Member

Comment 9 by bugdroid1@chromium.org, Sep 4

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

commit 09c2494bf98b35de80a381ee94e6528330c6ee42
Author: Joel Hockey <joelhockey@chromium.org>
Date: Tue Sep 04 06:26:54 2018

Use OriginalProfile for crostini

Crostini should still work for incognito to do things such as
save files from browser into Linux files.

By default any keyed service such as CrostiniRestarterService
will not be created for an incognito profile.

Bug:  878230 
Change-Id: I066f2d810351eb682e9637e104daac2ddb8fe23c
Reviewed-on: https://chromium-review.googlesource.com/1201649
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Reviewed-by: Nicholas Verne <nverne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#588459}
[modify] https://crrev.com/09c2494bf98b35de80a381ee94e6528330c6ee42/chrome/browser/chromeos/crostini/crostini_manager.cc
[modify] https://crrev.com/09c2494bf98b35de80a381ee94e6528330c6ee42/chrome/browser/chromeos/extensions/file_manager/file_manager_private_apitest.cc
[modify] https://crrev.com/09c2494bf98b35de80a381ee94e6528330c6ee42/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Sep 4

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

commit 09c2494bf98b35de80a381ee94e6528330c6ee42
Author: Joel Hockey <joelhockey@chromium.org>
Date: Tue Sep 04 06:26:54 2018

Use OriginalProfile for crostini

Crostini should still work for incognito to do things such as
save files from browser into Linux files.

By default any keyed service such as CrostiniRestarterService
will not be created for an incognito profile.

Bug:  878230 
Change-Id: I066f2d810351eb682e9637e104daac2ddb8fe23c
Reviewed-on: https://chromium-review.googlesource.com/1201649
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Reviewed-by: Nicholas Verne <nverne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#588459}
[modify] https://crrev.com/09c2494bf98b35de80a381ee94e6528330c6ee42/chrome/browser/chromeos/crostini/crostini_manager.cc
[modify] https://crrev.com/09c2494bf98b35de80a381ee94e6528330c6ee42/chrome/browser/chromeos/extensions/file_manager/file_manager_private_apitest.cc
[modify] https://crrev.com/09c2494bf98b35de80a381ee94e6528330c6ee42/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Sep 4

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

commit 09c2494bf98b35de80a381ee94e6528330c6ee42
Author: Joel Hockey <joelhockey@chromium.org>
Date: Tue Sep 04 06:26:54 2018

Use OriginalProfile for crostini

Crostini should still work for incognito to do things such as
save files from browser into Linux files.

By default any keyed service such as CrostiniRestarterService
will not be created for an incognito profile.

Bug:  878230 
Change-Id: I066f2d810351eb682e9637e104daac2ddb8fe23c
Reviewed-on: https://chromium-review.googlesource.com/1201649
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Reviewed-by: Nicholas Verne <nverne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#588459}
[modify] https://crrev.com/09c2494bf98b35de80a381ee94e6528330c6ee42/chrome/browser/chromeos/crostini/crostini_manager.cc
[modify] https://crrev.com/09c2494bf98b35de80a381ee94e6528330c6ee42/chrome/browser/chromeos/extensions/file_manager/file_manager_private_apitest.cc
[modify] https://crrev.com/09c2494bf98b35de80a381ee94e6528330c6ee42/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Sep 6

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

commit 25192a14aa81ef01de63aa0863a5d7dae30154ff
Author: Joel Hockey <joelhockey@chromium.org>
Date: Thu Sep 06 10:06:40 2018

CrOS FilesApp menu Share with Linux only for downloads subfolders

Only show the 'Share with Linux' menu item for subfolders of
downloads.

Added getMetadata method to Linux files FakeEntry which is called
when 'My files' is selected and 'Downloads' and 'Linux files' are shown
in right hand files list.

Tests verify that 'Share with Linux' menu is not shown for:
* Downloads root
* Folders in crostini
* Folders in drive

Bug:  878230 
Tbr: lucmult@chromium.org
Change-Id: I4afcaaa667d6cb7e5ec10ea3659819a937a2bedf
Reviewed-on: https://chromium-review.googlesource.com/1209006
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Reviewed-by: Joel Hockey <joelhockey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589126}
[modify] https://crrev.com/25192a14aa81ef01de63aa0863a5d7dae30154ff/ui/file_manager/file_manager/foreground/js/file_manager.js
[modify] https://crrev.com/25192a14aa81ef01de63aa0863a5d7dae30154ff/ui/file_manager/file_manager/foreground/js/file_manager_commands.js
[modify] https://crrev.com/25192a14aa81ef01de63aa0863a5d7dae30154ff/ui/file_manager/file_manager/foreground/js/metadata/file_system_metadata_provider.js
[modify] https://crrev.com/25192a14aa81ef01de63aa0863a5d7dae30154ff/ui/file_manager/file_manager/test/crostini.js
[modify] https://crrev.com/25192a14aa81ef01de63aa0863a5d7dae30154ff/ui/file_manager/file_manager/test/js/chrome_file_manager_private_test_impl.js
[modify] https://crrev.com/25192a14aa81ef01de63aa0863a5d7dae30154ff/ui/file_manager/file_manager/test/js/strings.js
[modify] https://crrev.com/25192a14aa81ef01de63aa0863a5d7dae30154ff/ui/file_manager/file_manager/test/js/test_util.js

Sign in to add a comment