Closed Bug 1681498 Opened 4 years ago Closed 2 years ago

Migrate users on network.cookie.lifetimePolicy=2 to sanitization prefs

Categories

(Core :: Networking: Cookies, task, P3)

task

Tracking

()

RESOLVED FIXED
102 Branch
Tracking Status
firefox-esr102 --- wontfix
firefox102 --- wontfix
firefox103 --- fixed
firefox104 --- fixed

People

(Reporter: johannh, Assigned: h.sofie.p)

References

Details

(Whiteboard: [necko-triaged])

Attachments

(1 file)

As mentioned in bug 1681493 we want to deprecate cookie lifetime policy. To ensure that users with a custom lifetime policy get similar privacy guarantees, we should migrate them to the equivalent sanitization prefs:

privacy.clearOnShutdown.cookies, privacy.clearOnShutdown.offlineApps and potentially privacy.clearOnShutdown.cache as well as flip privacy.sanitize.sanitizeOnShutdown.

Severity: -- → N/A
Whiteboard: [necko-triaged]

I don't think privacy.clearOnShutdown.offlineApps will do anything, except perhaps clean out any leftovers, so no harm - appCache was disabled in Bug 1619673

But I would be very wary of flipping privacy.sanitize.sanitizeOnShutdown. I can picture users losing other sanitizing items such as formdata, passwords and siteSettings if they had ever been checked in the past, but the user then turned off the master switch

That is an excellent point and something we should consider :)

It might be as easy as looking at "if the user does not have sanitizeOnShutdown enabled, then disable all privacy.clearOnShutdown prefs except the two we care about prior to enabling sanitizeOnShutdown again".

^^ +1

Assignee: nobody → hpeuckmann
Status: NEW → ASSIGNED

Since the network.cookie.lifetimePolicy is a cookie pref, the cookieService seemed like the right place for this migration but I am not sure about it, especially not sure about where and how to call the migration code in the cookieService (see the wip patch). I am happy about any advice.
Maybe you have some input for me Valentin?

Flags: needinfo?(valentin.gosu)

I left some comments on the patch.

Flags: needinfo?(valentin.gosu)
Attachment #9264515 - Attachment description: WIP: Bug 1681498 - Migrate users from network.cookie.lifetimePolicy to sanitize on shutdown prefs. r=pbz! → Bug 1681498 - Migrate users from network.cookie.lifetimePolicy to sanitize on shutdown prefs. r=pbz!
Depends on: 1759665
Pushed by hpeuckmann@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/190c8814b474 Migrate users from network.cookie.lifetimePolicy to sanitize on shutdown prefs. r=pbz,necko-reviewers,kershaw

Backed out for causing marionette failures on test_service_worker_at_shutdown.py.

Push with failures

Failure log

Backout link

[task 2022-05-06T06:34:20.456Z] 06:34:20     INFO -  TEST-START | toolkit/components/cleardata/tests/marionette/test_service_worker_at_shutdown.py ServiceWorkerAtShutdownTestCase.test_unregistering_service_worker_when_clearing_data
[task 2022-05-06T06:34:20.456Z] 06:34:20     INFO -  1651818860457	Marionette	DEBUG	Accepted connection 81 from 127.0.0.1:54565
[task 2022-05-06T06:34:20.484Z] 06:34:20     INFO -  1651818860485	Marionette	DEBUG	81 -> [0,1,"WebDriver:NewSession",{"strictFileInteractability":true}]
[task 2022-05-06T06:34:20.488Z] 06:34:20     INFO -  1651818860488	RemoteAgent	TRACE	[66] Document already finished loading: http://127.0.0.1:49931/layout/test_carets_iframe_scroll.html
[task 2022-05-06T06:34:20.489Z] 06:34:20     INFO -  1651818860489	Marionette	DEBUG	81 <- [1,1,null,{"sessionId":"ad36d4e9-da42-4771-b6a3-6ea734ece6c1","capabilities":{"browserName":"firefox","browserVersion":"102.0 ... 9.mozrunner","moz:shutdownTimeout":60000,"moz:useNonSpecCompliantPointerOrigin":false,"moz:webdriverClick":true,"proxy":{}}}]
[task 2022-05-06T06:34:20.490Z] 06:34:20     INFO -  1651818860490	Marionette	DEBUG	81 -> [0,2,"WebDriver:SetTimeouts",{"script":30000}]
[task 2022-05-06T06:34:20.490Z] 06:34:20     INFO -  1651818860490	Marionette	DEBUG	81 <- [1,2,null,{"value":null}]
[task 2022-05-06T06:34:20.491Z] 06:34:20     INFO -  1651818860491	Marionette	DEBUG	81 -> [0,3,"WebDriver:SetTimeouts",{"pageLoad":300000}]
[task 2022-05-06T06:34:20.491Z] 06:34:20     INFO -  1651818860492	Marionette	DEBUG	81 <- [1,3,null,{"value":null}]
[task 2022-05-06T06:34:20.492Z] 06:34:20     INFO -  1651818860493	Marionette	DEBUG	81 -> [0,4,"WebDriver:SetTimeouts",{"implicit":0}]
[task 2022-05-06T06:34:20.492Z] 06:34:20     INFO -  1651818860493	Marionette	DEBUG	81 <- [1,4,null,{"value":null}]
[task 2022-05-06T06:34:20.493Z] 06:34:20     INFO -  1651818860494	Marionette	DEBUG	81 -> [0,5,"WebDriver:Navigate",{"url":"http://127.0.0.1:49931/serviceworker/install_serviceworker.html"}]
[task 2022-05-06T06:34:20.494Z] 06:34:20     INFO -  [Parent 7012, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, false) failed with result 0x804B0051 (NS_ERROR_HOST_IS_IP_ADDRESS): file /builds/worker/checkouts/gecko/toolkit/components/antitracking/URLQueryStringStripper.cpp:132
[task 2022-05-06T06:34:20.496Z] 06:34:20     INFO -  1651818860497	Marionette	TRACE	[66] Received event beforeunload for http://127.0.0.1:49931/layout/test_carets_iframe_scroll.html
[task 2022-05-06T06:34:20.509Z] 06:34:20     INFO -  1651818860510	Marionette	TRACE	Remoteness change detected. Set new top-level browsing context to 68
[task 2022-05-06T06:34:20.519Z] 06:34:20     INFO -  1651818860519	Marionette	TRACE	[68] Received event beforeunload for about:blank
[task 2022-05-06T06:34:20.523Z] 06:34:20     INFO -  1651818860523	Marionette	TRACE	[68] Received event pagehide for about:blank
[task 2022-05-06T06:34:20.537Z] 06:34:20     INFO -  1651818860545	Marionette	TRACE	[68] Received event DOMContentLoaded for http://127.0.0.1:49931/serviceworker/install_serviceworker.html
[task 2022-05-06T06:34:20.546Z] 06:34:20     INFO -  1651818860546	Marionette	TRACE	[68] Received event pageshow for http://127.0.0.1:49931/serviceworker/install_serviceworker.html
[task 2022-05-06T06:34:20.547Z] 06:34:20     INFO -  1651818860547	Marionette	DEBUG	81 <- [1,5,null,{"value":null}]
[task 2022-05-06T06:34:20.557Z] 06:34:20     INFO -  1651818860557	Marionette	DEBUG	81 -> [0,6,"Marionette:GetContext",{}]
[task 2022-05-06T06:34:20.558Z] 06:34:20     INFO -  1651818860558	Marionette	DEBUG	81 <- [1,6,null,{"value":"content"}]
[task 2022-05-06T06:34:20.560Z] 06:34:20     INFO -  1651818860560	Marionette	DEBUG	81 -> [0,7,"Marionette:SetContext",{"value":"chrome"}]
[task 2022-05-06T06:34:20.560Z] 06:34:20     INFO -  1651818860560	Marionette	DEBUG	81 <- [1,7,null,{"value":null}]
[task 2022-05-06T06:34:20.568Z] 06:34:20     INFO -  1651818860568	Marionette	DEBUG	81 -> [0,8,"WebDriver:ExecuteScript",{"script":"let serviceWorkerManager = Cc[\"@mozilla.org/serviceworkers/manager;1\"].getService ... 06\\build\\tests\\marionette\\tests\\toolkit\\components\\cleardata\\tests\\marionette\\test_service_worker_at_shutdown.py"}]
[task 2022-05-06T06:34:20.570Z] 06:34:20     INFO -  1651818860570	Marionette	TRACE	[14] MarionetteCommands actor created for window id 2
[task 2022-05-06T06:34:20.573Z] 06:34:20     INFO -  1651818860573	Marionette	DEBUG	81 <- [1,8,null,{"value":true}]
[task 2022-05-06T06:34:20.573Z] 06:34:20     INFO -  [Parent 7012, DOMCacheThread] WARNING: QM_TRY failure (WARNING): '"ToResult(file->Remove( false))" failed with resultCode 0x80520012, resultName NS_ERROR_FILE_NOT_FOUND', file dom/cache/FileUtils.cpp:775
[task 2022-05-06T06:34:20.574Z] 06:34:20     INFO -  1651818860574	Marionette	DEBUG	81 -> [0,9,"Marionette:SetContext",{"value":"content"}]
[task 2022-05-06T06:34:20.574Z] 06:34:20     INFO -  [Parent 7012, DOMCacheThread] WARNING: QM_TRY failure (WARNING): '"ToResult(file->Remove( false))" failed with resultCode 0x80520012, resultName NS_ERROR_FILE_NOT_FOUND', file dom/cache/FileUtils.cpp:775
[task 2022-05-06T06:34:20.574Z] 06:34:20     INFO -  1651818860574	Marionette	DEBUG	81 <- [1,9,null,{"value":null}]
[task 2022-05-06T06:34:20.575Z] 06:34:20     INFO -  1651818860575	Marionette	DEBUG	81 -> [0,10,"Marionette:GetContext",{}]
<...>
[task 2022-05-06T06:34:24.582Z] 06:34:24     INFO -  1651818864582	Marionette	DEBUG	2 -> [0,14,"Marionette:SetContext",{"value":"content"}]
[task 2022-05-06T06:34:24.582Z] 06:34:24     INFO -  1651818864582	Marionette	DEBUG	2 <- [1,14,null,{"value":null}]
[task 2022-05-06T06:34:24.592Z] 06:34:24    ERROR -  TEST-UNEXPECTED-FAIL | toolkit/components/cleardata/tests/marionette/test_service_worker_at_shutdown.py ServiceWorkerAtShutdownTestCase.test_unregistering_service_worker_when_clearing_data | AssertionError: True is not false
[task 2022-05-06T06:34:24.592Z] 06:34:24     INFO -  Traceback (most recent call last):
[task 2022-05-06T06:34:24.592Z] 06:34:24     INFO -    File "Z:\task_165181252087306\build\venv\lib\site-packages\marionette_harness\marionette_test\testcases.py", line 202, in run
[task 2022-05-06T06:34:24.592Z] 06:34:24     INFO -      testMethod()
[task 2022-05-06T06:34:24.593Z] 06:34:24     INFO -    File "Z:\task_165181252087306\build\tests\marionette\tests\toolkit\components\cleardata\tests\marionette\test_service_worker_at_shutdown.py", line 31, in test_unregistering_service_worker_when_clearing_data
[task 2022-05-06T06:34:24.593Z] 06:34:24     INFO -      self.assertFalse(self.is_service_worker_registered)
[task 2022-05-06T06:34:24.593Z] 06:34:24     INFO -  TEST-INFO took 4128ms
[task 2022-05-06T06:34:24.593Z] 06:34:24     INFO -  1651818864592	Marionette	DEBUG	2 -> [0,15,"Marionette:GetContext",{}]
[task 2022-05-06T06:34:24.593Z] 06:34:24     INFO -  1651818864593	Marionette	DEBUG	2 <- [1,15,null,{"value":"content"}]
[task 2022-05-06T06:34:24.594Z] 06:34:24     INFO -  1651818864594	Marionette	DEBUG	2 -> [0,16,"WebDriver:DeleteSession",{}]
[task 2022-05-06T06:34:24.596Z] 06:34:24     INFO -  1651818864596	Marionette	DEBUG	2 <- [1,16,null,{"value":null}]
[task 2022-05-06T06:34:24.597Z] 06:34:24     INFO -  1651818864597	Marionette	DEBUG	Closed connection 2
[task 2022-05-06T06:34:24.697Z] 06:34:24     INFO -  Application command: Z:\task_165181252087306\build\application\firefox\firefox.exe -no-remote -marionette --wait-for-browser -profile C:\Users\task_165181252087306\AppData\Local\Temp\tmp_856kurk.mozrunner
[task 2022-05-06T06:34:24.947Z] 06:34:24     INFO -  DEBUG: Adding blocker AddonManager: shutting down. for phase profile-before-change
[task 2022-05-06T06:34:24.986Z] 06:34:24     INFO -  DEBUG: Adding blocker IOUtils Blocker (profile-before-change) for phase profile-before-change
[task 2022-05-06T06:34:24.997Z] 06:34:24     INFO -  DEBUG: Adding blocker IOUtils Blocker (xpcom-will-shutdown) for phase xpcom-will-shutdown
[task 2022-05-06T06:34:25.057Z] 06:34:25     INFO -  DEBUG: Adding blocker Flush WebExtension StartupCache for phase IOUtils: waiting for profileBeforeChange IO to complete
[task 2022-05-06T06:34:25.262Z] 06:34:25     INFO -  [2022-05-06T06:34:25Z WARN  rkv::backend::impl_safe::environment] `load_ratio()` is irrelevant for this storage backend.
[task 2022-05-06T06:34:25.345Z] 06:34:25     INFO -  DEBUG: Adding blocker JSON store: writing data for phase AddonManager: Waiting for providers to shut down.
[task 2022-05-06T06:34:25.355Z] 06:34:25     INFO -  DEBUG: Adding blocker Update add-on blocklist state into add-on DB for phase AddonManager: Waiting to start provider shutdown.
[task 2022-05-06T06:34:25.371Z] 06:34:25     INFO -  DEBUG: Adding blocker XPIProvider shutdown for phase quit-application-granted
[task 2022-05-06T06:34:25.373Z] 06:34:25     INFO -  DEBUG: Adding blocker XPIProvider for phase AddonManager: Waiting for providers to shut down.
[task 2022-05-06T06:34:25.374Z] 06:34:25     INFO -  DEBUG: Adding blocker ServiceWorkerRegistrar: Flushing data for phase profile-before-change
[task 2022-05-06T06:34:25.376Z] 06:34:25     INFO -  DEBUG: Adding blocker CrashMonitor: Writing notifications to file after receiving profile-before-change and awaiting all checkpoints written for phase IOUtils: waiting for profileBeforeChange IO to complete
[task 2022-05-06T06:34:25.405Z] 06:34:25     INFO -  DEBUG: Adding blocker TelemetryController: shutting down for phase profile-before-change-telemetry
[task 2022-05-06T06:34:25.453Z] 06:34:25     INFO -  DEBUG: Adding blocker EnvironmentAddonBuilder for phase AddonManager: Waiting to start provider shutdown.
[task 2022-05-06T06:34:25.467Z] 06:34:25     INFO -  DEBUG: Adding blocker RemoteSettingsClient - finish IDB access. for phase profile-before-change
[task 2022-05-06T06:34:25.477Z] 06:34:25     INFO -  1651818865477	Marionette	INFO	Marionette enabled
[task 2022-05-06T06:34:25.588Z] 06:34:25     INFO -  DEBUG: Adding blocker PermissionManager: Flushing data for phase xpcom-will-shutdown
[task 2022-05-06T06:34:25.606Z] 06:34:25     INFO -  1651818865606	Marionette	TRACE	Received observer notification toplevel-window-ready
[task 2022-05-06T06:34:25.618Z] 06:34:25     INFO -  DEBUG: Completed blocker Update add-on blocklist state into add-on DB for phase AddonManager: Waiting to start provider shutdown.
[task 2022-05-06T06:34:25.628Z] 06:34:25     INFO -  DEBUG: Adding blocker ClientManagerService: start destroying IPC actors early for phase xpcom-will-shutdown
[task 2022-05-06T06:34:25.656Z] 06:34:25     INFO -  WARN: driver_utils.cpp:184 (GetVendorString): 	! Unimplemented: GetVendorString(/builds/worker/checkouts/gecko/gfx/angle/checkout/src/libANGLE/renderer/driver_utils.cpp:184)
[task 2022-05-06T06:34:25.663Z] 06:34:25     INFO -  WARN: driver_utils.cpp:184 (GetVendorString): 	! Unimplemented: GetVendorString(/builds/worker/checkouts/gecko/gfx/angle/checkout/src/libANGLE/renderer/driver_utils.cpp:184)
[task 2022-05-06T06:34:25.663Z] 06:34:25     INFO -  [GPU 7588, Renderer] WARNING: Failed to bind API to GL!: file /builds/worker/checkouts/gecko/gfx/gl/GLContextProviderEGL.cpp:622
[task 2022-05-06T06:34:25.664Z] 06:34:25     INFO -  [GPU 7588, Renderer] WARNING: Failed to create GLContext from PBuffer: file /builds/worker/checkouts/gecko/gfx/gl/GLContextProviderEGL.cpp:1159
[task 2022-05-06T06:34:25.664Z] 06:34:25     INFO -  [GPU 7588, Renderer] WARNING: Failed to create EGLContext with khr_rbab_attribs: file /builds/worker/checkouts/gecko/gfx/gl/GLContextProviderEGL.cpp:720
[task 2022-05-06T06:34:25.664Z] 06:34:25     INFO -  Initializing context 07034000 surface 053369E0 on display 0531D000
[task 2022-05-06T06:34:25.665Z] 06:34:25     INFO -  WARN: driver_utils.cpp:184 (GetVendorString): 	! Unimplemented: GetVendorString(/builds/worker/checkouts/gecko/gfx/angle/checkout/src/libANGLE/renderer/driver_utils.cpp:184)
[task 2022-05-06T06:34:25.665Z] 06:34:25     INFO -  WARN: driver_utils.cpp:184 (GetVendorString): 	! Unimplemented: GetVendorString(/builds/worker/checkouts/gecko/gfx/angle/checkout/src/libANGLE/renderer/driver_utils.cpp:184)
[task 2022-05-06T06:34:25.665Z] 06:34:25     INFO -  GL_VENDOR: Google Inc. (Unknown)
[task 2022-05-06T06:34:25.666Z] 06:34:25     INFO -  mVendor: Unknown
[task 2022-05-06T06:34:25.666Z] 06:34:25     INFO -  GL_RENDERER: ANGLE (Unknown, Microsoft Basic Render Driver Direct3D11 vs_5_0 ps_5_0, D3D11-10.0.19041.546)
[task 2022-05-06T06:34:25.666Z] 06:34:25     INFO -  mRenderer: Microsoft Basic Render Driver
[task 2022-05-06T06:34:25.666Z] 06:34:25     INFO -  mIsMesa: 0
[task 2022-05-06T06:34:25.666Z] 06:34:25     INFO -  [GPU 7588, Renderer] WARNING: framebuffer_multisample marked as unsupported: file /builds/worker/checkouts/gecko/gfx/gl/GLContextFeatures.cpp:632
[task 2022-05-06T06:34:25.931Z] 06:34:25     INFO -  DEBUG: Adding blocker MediaShutdownManager: shutdown for phase profile-before-change
[task 2022-05-06T06:34:26.010Z] 06:34:26     INFO -  DEBUG: Adding blocker JSON store: writing data for phase IOUtils: waiting for profileBeforeChange IO to complete
[task 2022-05-06T06:34:26.036Z] 06:34:26     INFO -  DEBUG: Adding blocker Remote Settings profile-before-change for phase profile-before-change
[task 2022-05-06T06:34:26.065Z] 06:34:26     INFO -  DEBUG: Adding blocker ServiceWorkerShutdownBlocker: shutting down Service Workers for phase profile-change-teardown
[task 2022-05-06T06:34:26.076Z] 06:34:26     INFO -  DEBUG: Adding blocker ContentParent: id=1a2cfb00 for phase xpcom-will-shutdown
[task 2022-05-06T06:34:26.076Z] 06:34:26     INFO -  DEBUG: Adding blocker ContentParent: id=1a2cfb00 for phase profile-before-change
[task 2022-05-06T06:34:26.087Z] 06:34:26     INFO -  DEBUG: Adding blocker GMPProvider for phase AddonManager: Waiting for providers to shut down.
[task 2022-05-06T06:34:26.087Z] 06:34:26     INFO -  [Parent 6960, GMPThread] WARNING: Failed to delete GMP storage directory: file /builds/worker/checkouts/gecko/dom/media/gmp/GMPServiceParent.cpp:1754
[task 2022-05-06T06:34:26.178Z] 06:34:26     INFO -  [Child 6920, Main Thread] WARNING: Fallback to BasicLayerManager: file /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:2810
[task 2022-05-06T06:34:26.190Z] 06:34:26     INFO -  [Child 6920, Main Thread] WARNING: Fallback to BasicLayerManager: file /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:2810
[task 2022-05-06T06:34:26.197Z] 06:34:26     INFO -  [Child 6920, Main Thread] WARNING: Fallback to BasicLayerManager: file /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:2810
[task 2022-05-06T06:34:26.204Z] 06:34:26     INFO -  [Child 6920, Main Thread] WARNING: Fallback to BasicLayerManager: file /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:2810
[task 2022-05-06T06:34:26.211Z] 06:34:26     INFO -  [Child 6920, Main Thread] WARNING: Fallback to BasicLayerManager: file /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:2810
[task 2022-05-06T06:34:26.224Z] 06:34:26     INFO -  DEBUG: Adding blocker ContentParent: id=1bc85600 for phase xpcom-will-shutdown
[task 2022-05-06T06:34:26.238Z] 06:34:26     INFO -  DEBUG: Adding blocker ContentParent: id=1bc85600 for phase profile-before-change
[task 2022-05-06T06:34:26.330Z] 06:34:26     INFO -  DEBUG: Adding blocker UrlbarProviderQuickSuggest: Record impression counters reset telemetry for phase profile-change-teardown
[task 2022-05-06T06:34:26.407Z] 06:34:26     INFO -  DEBUG: Adding blocker JSON store: writing data for phase IOUtils: waiting for profileBeforeChange IO to complete
[task 2022-05-06T06:34:26.520Z] 06:34:26     INFO -  [Parent 6960, Main Thread] WARNING: NS_ENSURE_TRUE(mPresShell) failed: file /builds/worker/checkouts/gecko/layout/generic/nsFrameSelection.cpp:1601
[task 2022-05-06T06:34:27.094Z] 06:34:27     INFO -  DEBUG: Adding blocker ContentParent: id=17b52a00 for phase xpcom-will-shutdown
[task 2022-05-06T06:34:27.095Z] 06:34:27     INFO -  DEBUG: Adding blocker ContentParent: id=17b52a00 for phase profile-before-change
[task 2022-05-06T06:34:27.124Z] 06:34:27     INFO -  DEBUG: Adding blocker ContentParent: id=1b7ac200 for phase xpcom-will-shutdown
<...>
Flags: needinfo?(hpeuckmann)
Flags: needinfo?(hpeuckmann)
Pushed by hpeuckmann@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/79747e10904e Migrate users from network.cookie.lifetimePolicy to sanitize on shutdown prefs. r=pbz,necko-reviewers,kershaw
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 102 Branch
Regressions: 1770881
Blocks: 1759665
No longer depends on: 1759665
Regressions: 1777419
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Status: REOPENED → RESOLVED
Closed: 2 years ago2 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: