Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ephemeral storage should work when third-party cookies are blocked #12789

Closed
mrobinson opened this issue Nov 19, 2020 · 4 comments · Fixed by brave/brave-core#7647
Closed

Ephemeral storage should work when third-party cookies are blocked #12789

mrobinson opened this issue Nov 19, 2020 · 4 comments · Fixed by brave/brave-core#7647
Assignees
Labels
OS/Android Fixes related to Android browser functionality OS/Desktop privacy-pod Feature work for the Privacy & Web Compatibility pod QA Pass - Android ARM QA Pass-Linux QA Pass-macOS QA Pass-Win64 QA/Yes release-notes/exclude

Comments

@mrobinson
Copy link

mrobinson commented Nov 19, 2020

Currently ephemeral storage is only used when third-party cookies are unblocked. This ticket addresses changing that behavior so that ephemeral storage is only used when:

  1. The ephemeral storage configuration flag is turned on.
  2. Ephemeral storage knows how to ephemerally store a particular type of storage.
  3. That storage is used in a third-party iframe.
  4. That storage would otherwise be blocked by storage settings (either through brave shield or via chromium content settings).

If any of these conditions is not true, ephemeral storage should not be used. If they are all true then storage should be allowed (unblocked) and the data stored should be given an ephemeral lifetime and be partitioned from non-ephemeral storage.

@mrobinson mrobinson added OS/Android Fixes related to Android browser functionality OS/Desktop privacy-pod Feature work for the Privacy & Web Compatibility pod labels Nov 19, 2020
@pes10k pes10k changed the title Ephemeral storage should work even when third-party cookies are blocked Ephemeral storage should work when third-party cookies are blocked Jan 19, 2021
@bridiver
Copy link
Contributor

@stephendonner
Copy link

stephendonner commented Feb 12, 2021

Verified FIXED using

Brave 1.21.51 Chromium: 88.0.4324.152 (Official Build) beta (x86_64)
Revision 6579930fc53b4dc589c042bec9d0a3778326974d-refs/branch-heads/4324@{#2106}
OS macOS Version 11.2.1 (Build 20D74)

Steps to verify:

  1. enabled ephemeral storage via brave://flags
enable-ephemeral
  1. loaded https://dev-pages.brave.software/storage/ephemeral-storage.html
  2. clicked Start test
  3. verified results matched Step 1: Initial Case example
step1
  1. clicked on https://dev-pages.bravesoftware.com/storage/ephemeral-storage.html
  2. clicked Read Values
  3. verified results matched Step 2: Remote Page, Same Session example
step2
  1. copied URL and opened new tab for https://dev-pages.bravesoftware.com/storage/ephemeral-storage.html?storage-test=https%3A%2F%2Fdev-pages.brave.software%2Fstorage%2Fephemeral-storage.html%3A%3A0.11300688081960164&ephemeral-storage-setting=ON&cookie-blocking-setting=BLOCK_THIRD_PARTY
  2. verified results matched Step 3: Remote Page, New Session example
step3
  1. clicked link in Step 4
  2. clicked Read Values
  3. verified results matched Step 4: This Page, Same Session Case example
step4
  1. copied URL and opened new tab for https://dev-pages.brave.software/storage/ephemeral-storage.html?storage-test=https%3A%2F%2Fdev-pages.brave.software%2Fstorage%2Fephemeral-storage.html%3A%3A0.11300688081960164&ephemeral-storage-setting=ON&cookie-blocking-setting=BLOCK_THIRD_PARTY
  2. clicked Read Values
  3. verified results matched Step 5: This Page, Different Session
step5
  1. closed all test tabs/windows but left unrelated tab/window open (do NOT quite Brave)
  2. copied URL and opened new tab for https://dev-pages.brave.software/storage/ephemeral-storage.html?storage-test=https%3A%2F%2Fdev-pages.brave.software%2Fstorage%2Fephemeral-storage.html%3A%3A0.11300688081960164&ephemeral-storage-setting=ON&cookie-blocking-setting=BLOCK_THIRD_PARTY
  3. clicked Read Values
  4. verified results matched Step 6: New Page, Reset Session Case
step6
  1. clicked Reset Test
  2. verified test values were reset
Screen Shot 2021-02-12 at 10 17 44 AM

Verification passed on

Brave 1.21.64 Chromium: 88.0.4324.182 (Official Build) beta (64-bit)
Revision 73ee5087001dcef33047c4ed650471b225dd8caf-refs/branch-heads/4324@{#2202}
OS Ubuntu 18.04 LTS

Verified testplan from #12789 (comment)

Step 1: Initial Case

image

Step 2: Remote Page, Same Session

image

Step 3: Remote Page, New Session

image

Step 4: This Page, Same Session Case

image

Step 5: This Page, Different Session

image

Step 6: New Page, Reset Session Case

image

Step 7: Clean Up

image


Verification passed on


Brave | 1.21.63 Chromium: 88.0.4324.182 (Official Build) dev (64-bit)
-- | --
Revision | 73ee5087001dcef33047c4ed650471b225dd8caf-refs/branch-heads/4324@{#2202}
OS | Windows 10 OS Version 2004 (Build 19041.804)


enabled ephemeral storage via brave://flags

Step 1: Initial Case

image

Step 2: Remote Page, Same Session

image

Step 3: Remote Page, New Session

image
image

Step 4: This Page, Same Session Case

image

Step 5: This Page, Different Session

image

Step 6: New Page, Reset Session Case

image

Step 7: Clean Up

image

@srirambv
Copy link
Contributor

srirambv commented Mar 2, 2021

Removing Android label as a follow up issue is logged #14437

@srirambv srirambv removed the OS/Android Fixes related to Android browser functionality label Mar 2, 2021
@srirambv
Copy link
Contributor

srirambv commented Mar 2, 2021

Verification passed on OnePlus 6T with Android 10 running 1.21.71 x64 build

  • Verified enabling Ephemeral storage flag and running through the test on https://dev-pages.brave.software/storage/ephemeral-storage.html worked as expected
Step 1: Initial Case

image

Step 2: Remote Page, Same Session

image

Step 3: Remote Page, New Session

image

Step 4: This Page, Same Session Case

image

Step 5: This Page, Different Session

image

Step 6: New Page, Reset Session Case

image

Step 7: Clean Up

image

@srirambv srirambv added OS/Android Fixes related to Android browser functionality QA Pass - Android ARM labels Mar 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment