03b477c00c4f5ca4321efdc32bffa43bcae510d3: Bug 1286798 - Part 17: Fix a test failing in --verify mode; r=asuth
Jan Varga <jan.varga@gmail.com> - Thu, 29 Nov 2018 21:48:08 +0100 - rev 505235
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1286798 - Part 17: Fix a test failing in --verify mode; r=asuth
22ede10fb76d711eff32957567c9a7b087279e24: Bug 1286798 - Part 16: Adjust ClearDataService for new local storage implementation; r=asuth
Jan Varga <jan.varga@gmail.com> - Thu, 29 Nov 2018 21:48:05 +0100 - rev 505234
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1286798 - Part 16: Adjust ClearDataService for new local storage implementation; r=asuth This patch also adds support for creating LSObjects from chrome for any given origin which can be used for example by xpcshell tests.
bb1594f32faefd90e7b2851fbe438e8bfbef81d9: Bug 1286798 - Part 15: Fix clearLocalStorage() in browser extensions; r=asuth
Jan Varga <jan.varga@gmail.com> - Thu, 29 Nov 2018 21:48:01 +0100 - rev 505233
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1286798 - Part 15: Fix clearLocalStorage() in browser extensions; r=asuth
20606f9de28fd7dff30f30b3862b2bdc68df85b3: Bug 1286798 - Part 14: Enhance clearStoragesForPrincipal() to support clearing of storages for specific quota client; r=asuth
Jan Varga <jan.varga@gmail.com> - Thu, 29 Nov 2018 21:47:58 +0100 - rev 505232
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1286798 - Part 14: Enhance clearStoragesForPrincipal() to support clearing of storages for specific quota client; r=asuth See also bug 1402254, original patch by baku.
c63189db48cb7b515e53c33bc3203a92761e1d32: Bug 1286798 - Part 13: Preparation for quota checks; r=asuth
Jan Varga <jan.varga@gmail.com> - Thu, 29 Nov 2018 21:47:55 +0100 - rev 505231
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1286798 - Part 13: Preparation for quota checks; r=asuth
a4324eecfb06d326abe06677339bf153c627af33: Bug 1286798 - Part 12: Honor the storage preference and cookie settings in all LocalStorage API methods; r=asuth
Jan Varga <jan.varga@gmail.com> - Thu, 29 Nov 2018 21:47:52 +0100 - rev 505230
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1286798 - Part 12: Honor the storage preference and cookie settings in all LocalStorage API methods; r=asuth
4e938b6813e3e8dcb10998d89243678463f4b42a: Bug 1286798 - Part 11: Enable tests for session only mode (but only for the old local storage implementation); r=asuth
Jan Varga <jan.varga@gmail.com> - Thu, 29 Nov 2018 21:47:48 +0100 - rev 505229
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1286798 - Part 11: Enable tests for session only mode (but only for the old local storage implementation); r=asuth An attribute for checking if the next gen local storage implementation is enabled is exposed via a new interface nsILocalStorageManager which should be used for any other local storage specific stuff.
75c28b78f8ee02018ccaec9c2f4035d46182d10e: Bug 1286798 - Part 10: Support for storage events; r=asuth,janv
Jan Varga <jan.varga@gmail.com> - Thu, 29 Nov 2018 21:47:45 +0100 - rev 505228
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1286798 - Part 10: Support for storage events; r=asuth,janv Storage events are fired either directly after getting response from synchronous SetItem call or through observers. When a new onstorage event listener is added, we sycnhronously register an observer in the parent process. There's always only one observer actor per content process. PBackgroundLSDatabase is now managed by a new PBackgroundLSObject protocol. PBackgroundLSObject is needed to eliminate the need to pass the principal info and document URI everytime a write operation occurs. Preparation of an observer shares some states with preparation of a datastore, so common stuff now lives in LSRequestBase and preparation of a datastore now implements a nested state machine. This patch was enhanced by asuth to drop observers only when the last storage listener is removed. EventListenerRemoved is invoked on any removal, not just the final removal, so we need to make sure it's the final removal before dropping observer.
30bf6870616b701d1ddcb090f18e240164d16ff0: Bug 1286798 - Part 9: Support for private browsing; r=asuth
Jan Varga <jan.varga@gmail.com> - Thu, 29 Nov 2018 21:47:41 +0100 - rev 505227
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1286798 - Part 9: Support for private browsing; r=asuth Since we keep/cache data in memory anyway, private browsing support is mostly about avoiding any persistence related calls and clearing private browsing datastores when we get a notification. The separation between normal and private browsing datastores is done by the privateBrowsingId attribute which is part of the origin string.
1a6c4f6a6b5cad6d90e9489b480d2fdd5d6319aa: Bug 1286798 - Part 8: Persist datastores to disk; r=asuth
Jan Varga <jan.varga@gmail.com> - Thu, 29 Nov 2018 21:47:38 +0100 - rev 505226
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1286798 - Part 8: Persist datastores to disk; r=asuth Introduced a Connection and a ConnectioThread object. All I/O requests are processed by a new single thread managed by ConnectionThread object. Connection objects are prepared by the prepare datastore operation and then kept alive by datastores just like directory locks. All datastore I/O operations are wrapped in a transaction which automaticaly commits after 5 seconds. Datastore preparation now also loads all items from the database.
d5f293542508df0e6c56623f30b2d13b218c617f: Bug 1286798 - Part 7: Teach QuotaManager's OriginParser to handle file://UNIVERSAL_FILE_URI_ORIGIN; r=asuth
Jan Varga <jan.varga@gmail.com> - Thu, 29 Nov 2018 21:47:34 +0100 - rev 505225
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1286798 - Part 7: Teach QuotaManager's OriginParser to handle file://UNIVERSAL_FILE_URI_ORIGIN; r=asuth See bug 1340710 which introduced this kind of URI.
0b0a03cf7b64cc9cc6eff36c3ae7f56f010e944c: Bug 1286798 - Part 6: Fix a dead lock in the single process case; r=asuth,janv
Jan Varga <jan.varga@gmail.com> - Thu, 29 Nov 2018 21:47:30 +0100 - rev 505224
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1286798 - Part 6: Fix a dead lock in the single process case; r=asuth,janv Expose the nested main event target, so it can be used in the single process case by the parent side to process runnables which need to run on the main thread. After this change we don't have use hacks like getting profile directory path on the child side and sending it to the parent. The parent side can now do it freely even in the single process case. This patch was enhanced by asuth to not tunnel the nested main event target through IPC.
25c5ff3cec8f573b05d2435859ba68e4ad53a4a0: Bug 1286798 - Part 5: More integration with QuotaManager; r=asuth
Jan Varga <jan.varga@gmail.com> - Thu, 29 Nov 2018 21:47:27 +0100 - rev 505223
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1286798 - Part 5: More integration with QuotaManager; r=asuth Preparation of datastores now creates real database files on disk. The LocalStorage directory is protected by a directory lock. Infrastructure for database schema upgrades is in place too. Database actors are now explicitely tracked by the datastore. When the last actor finishes the directory lock is released. Added also implementation for QuotaClient::GetUsageForOrigin() and QuotaClient::AbortOperations().
2aaa8d6bbaf1a08d7825e7b2827a398955974e0d: Bug 1286798 - Part 4: Basic integration with QuotaManager; r=asuth
Jan Varga <jan.varga@gmail.com> - Thu, 29 Nov 2018 21:47:24 +0100 - rev 505222
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1286798 - Part 4: Basic integration with QuotaManager; r=asuth This adds a new quota client implementation, but only implements ShutdownWorkThreads. At shutdown we wait for all running operations to finish including database actors which are closed by using an extra IPC message which avoids races between the parent and child. Databases are dropped on the child side as soon as they are not used (e.g. after unlinking by the cycle collector).
2a6e7e64cec1e3b8184a432c6f4c2351a87f9f43: Bug 1286798 - Part 3: New basic (memory only) implementation of LocalStorage; r=asuth,mccr8
Jan Varga <jan.varga@gmail.com> - Thu, 29 Nov 2018 21:47:20 +0100 - rev 505221
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1286798 - Part 3: New basic (memory only) implementation of LocalStorage; r=asuth,mccr8 The implementation is based on a cache (datastore) living in the parent process and sync IPC calls initiated from content processes. IPC communication is done using per principal/origin database actors which connect to the datastore. The synchronous blocking of the main thread is done by creating a nested event target and spinning the event loop.
bb1fc7fd2fd240e074d0348721c7cdea1a07bb5e: Bug 1286798 - Part 2: Add IsOnDOMFileThread() and AssertIsOnDOMFileThread() generic helper methods; r=asuth
Jan Varga <jan.varga@gmail.com> - Thu, 29 Nov 2018 21:47:17 +0100 - rev 505220
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1286798 - Part 2: Add IsOnDOMFileThread() and AssertIsOnDOMFileThread() generic helper methods; r=asuth
c58b7f9f87735d9f86489ebf4a0cc1a80cb00048: Bug 1286798 - Part 1: Allow BackgroundChild::GetOrCreateForCurrentThread() to use a custom main event target; r=mccr8,asuth
Jan Varga <jan.varga@gmail.com> - Thu, 29 Nov 2018 21:47:14 +0100 - rev 505219
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1286798 - Part 1: Allow BackgroundChild::GetOrCreateForCurrentThread() to use a custom main event target; r=mccr8,asuth
c8752ec31af8548218ecf577b5132a5705c30bd7: Bug 1510391 - When a task is not found, don't add None to the list of tasks to run. r=ahal
Marco Castelluccio <mcastelluccio@mozilla.com> - Tue, 27 Nov 2018 17:29:34 +0100 - rev 505218
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1510391 - When a task is not found, don't add None to the list of tasks to run. r=ahal
82bbee36c7dc5273252d761b6ec66da6f2b0ead5: Bug 1510452 - Use srcdir_relpath instead of file_relpath for tests and test support files. r=ahal
Marco Castelluccio <mcastelluccio@mozilla.com> - Tue, 27 Nov 2018 23:53:33 +0100 - rev 505217
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1510452 - Use srcdir_relpath instead of file_relpath for tests and test support files. r=ahal
9358169404d156136a8fe82ef43fb78523123cc1: Bug 1511042 - Back out some commits from bug 1503447 for introducing correctness and perf regressions. r=backout
Kartikaya Gupta <kgupta@mozilla.com> - Thu, 29 Nov 2018 14:22:37 -0500 - rev 505216
Push 10290 by ffxbld-merge at Mon, 03 Dec 2018 16:23:23 +0000
Bug 1511042 - Back out some commits from bug 1503447 for introducing correctness and perf regressions. r=backout This backs out hg commits 1e214baf8fc1, 7d4adeee5236, and f5ffebdcc014.
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 tip