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

Issue 619927 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 713353



Sign in to add a comment

Chrome storage quota should be the same in ephemeral mode as in incognito mode

Project Member Reported by dk...@chromium.org, Jun 14 2016

Issue description

Since they are similar in function, we should make storage quota behave the same.

@jsbell - what are the current quotas we give for incognito vs. ephemeral?
 

Comment 1 by tnagel@chromium.org, Jun 14 2016

Cc: tnagel@chromium.org

Comment 2 by yossik@google.com, Jul 20 2016

Is there an ETA for this?

Comment 3 by jsb...@chromium.org, Jul 20 2016

Cc: jsb...@chromium.org
Owner: michaeln@chromium.org
michaeln@, can you tackle this as part of your quota manager revamp? (Q3)

ISTM we basically just want QuotaManager::GetUsageAndQuotaForWebApps to have:

// Ephemeral storage which will not outlive this session should be limited
// so web apps do not uselessly download/cache data that will be wiped.
const int64_t QuotaManager::kSessionOnlyDefaultQuotaLimit = QuotaManager::kIncognitoDefaultQuotaLimit;

if (special_storage_policy_.get() && 
    special_storage_policy_->IsStorageSessionOnly(origin)) { 
  quota = kSessionOnlyDefaultQuotaLimit;
}

...but I'm betting there's more subtlety than that.


ok

Are we calling "keep local data until you quit your brower" ephemeral mode?

I think once the embedder is responsible for computing the poolsize it'll be easy to look at user settings when doing that.

Interesting idea to limit the space available for IsStorageSessionOnly origins. That is is tied to the exception lists in the settings for content and site data. Hosts can be 'allowed', 'blocked' or 'cleared on exit'. I believe IsStorageSessionOnly is corresponds to cleared on exit.

Comment 5 by jsb...@chromium.org, Jul 20 2016

> Are we calling "keep local data until you quit your brower" ephemeral mode?

I believe so, but we should sure we're all talking about the same thing before we write any code. :)


Comment 6 by tnagel@chromium.org, Jul 21 2016

> Are we calling "keep local data until you quit your brower" ephemeral mode?

Yes!

Comment 7 by ralp...@google.com, Feb 9 2017

Any updates on this bug?
Nothing has bee done on this directly yet but the groundwork mentioned in comment 4 is done.

A difference between ephemeral mode and incognito is that there can always be exceptions to ephemeral mode. The user can have the global setting to ALLOW with some CLEAR_ON_EXIT exceptions, and vice versa, so we have to test it on an origin by origin basis. Maybe what we do is add a new ephemeral_per_host_quota data member to QuotaSettings and use that for session only origins inside of GetUsageAndQuota.

I'll give that a go.
Status: Started (was: Assigned)
I've have a change for this, https://codereview.chromium.org/2777183010/

But two comments.

1) Chrome for business Ephemeral mode: There's another thing called 'ephemeral' in chrome. We've been talking about plain old content settings above, but is this 'for business' feature unrelated to content settings relevant to this discussion? https://support.google.com/chrome/a/answer/3538894?hl=en

2) Scratch space: There are some cases where this change to how the content setting is treated could do the wrong thing.

Imagine a (bulky data) editor that works on normal files outside of the origin sandbox.  The data is too large to fit into memory, so the app uses IDB to store intermediary processed data, this is just scratch storage that will get deleted when the editing session is done and the editor is closed down.

The user noticed that often the app does not successfully cleanup it's scratch data, so the users checks the 'clear browsing data on exit' box for the editor's site. But now, the editor doesn't have enough scratch space to work properly on large projects.

So the user has to 'clear data' manually to get it to work as desired.

(Hmmm... suppose the 'scratch' use case could be solved by storing everything in a transient storage box. If the transient box was deleted when the user navigates away from the site, quota would be much of an issue.)

@Michael, I think your final parenthetical has it right. The "go to settings and enable clear on exit setting" workflow is not one I think we should work too hard to support :P Instead, we should make it so that sites are easily able to use the kind of scratch storage you mentioned without too much work.

Having a "transient" box that you could put data into knowing it would be cleared on exit sounds like a better solution.
Cc: msramek@chromium.org
looping in msramek@ for privacy-related discussions
Project Member

Comment 13 by bugdroid1@chromium.org, Apr 11 2017

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

commit fa4c8940a8d8d6a84c60bc1f108b1d6a86ef3437
Author: michaeln <michaeln@chromium.org>
Date: Tue Apr 11 02:36:20 2017

[Quota] Lower quota for ephemeral mode (ie. session only)

The data for session only origins is ephemeral, it gets deleted at the end of each
browsing session. This change lowers the storage quota allotted to them.

BUG= 619927 

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

[modify] https://crrev.com/fa4c8940a8d8d6a84c60bc1f108b1d6a86ef3437/content/browser/quota/quota_manager_unittest.cc
[modify] https://crrev.com/fa4c8940a8d8d6a84c60bc1f108b1d6a86ef3437/storage/browser/quota/quota_manager.cc
[modify] https://crrev.com/fa4c8940a8d8d6a84c60bc1f108b1d6a86ef3437/storage/browser/quota/quota_settings.cc
[modify] https://crrev.com/fa4c8940a8d8d6a84c60bc1f108b1d6a86ef3437/storage/browser/quota/quota_settings.h

Blocking: 713353
Status: Fixed (was: Started)
Fixed with https://codereview.chromium.org/2777183010

Sign in to add a comment