e8cea6d8f2ea3b01b3669fc12f64b7741b4be8be: Bug 1437382 - Part 10 - Use a reduced save delay when saving private tabs. r?esawin draft
Jan Henning <jh+bugzilla@buttercookie.de> - Sat, 17 Feb 2018 16:31:20 +0100 - rev 760096
Push 100537 by mozilla@buttercookie.de at Mon, 26 Feb 2018 21:37:06 +0000
Bug 1437382 - Part 10 - Use a reduced save delay when saving private tabs. r?esawin ... and also shorten any already running save timer if necessary. This is because the private tab data kept by GeckoApp, that will be restored if we are OOM-killed, cannot be updated anymore after Firefox goes into the back- ground, even if we aren't immediately killed by the OS. Because during backgrounding the UI only waits a limited amount of time for the latest private tab data in order to avoid causing an ANR if Gecko is busy, we need to compensate by sending private tab data updates faster to GeckoApp than the usual write throttling interval of every 10 s would allow. To allow multiple successive tab events to be batched together in one update, e.g. if the user closes *all* private tabs, we still introduce a small save delay of a few hundred ms. MozReview-Commit-ID: J15RNfAlfy2
edc627d25e7ebba1bf4f9acb6fcb8f875dbff41e: Bug 1437382 - Part 9 - Track number of outstanding "private tabs only" saveState calls. r?esawin draft
Jan Henning <jh+bugzilla@buttercookie.de> - Mon, 12 Feb 2018 22:15:35 +0100 - rev 760095
Push 100537 by mozilla@buttercookie.de at Mon, 26 Feb 2018 21:37:06 +0000
Bug 1437382 - Part 9 - Track number of outstanding "private tabs only" saveState calls. r?esawin Private tabs are saved in memory only by sending them to GeckoApp, so to speed up processing (compare part 3), we want to avoid writing out the full session store file for normal tabs as well if all outstanding saveState(Delayed) calls concerned private tabs only. To that effect, we slightly change the semantics of our pendingWrites counter and now increment it each time saveStateDelayed is called, even if the save timer is already running. This is because if e.g. a private tab update started the timer and then another saveStateDelayed call happens for a non-private tab, we need to change our plans and write the normal session store file after all as well. Tracking every saveStateDelayed call allows us to do this. Because writeFile only cares about the fact whether additional pending writes were queued while it was executing asynchronously or not, but not about the absolute amount of pending writes (if no additional writes were queued, the count is simply reset to 0), incrementing the pending writes count even when the timer is already running causes no ill effects. MozReview-Commit-ID: AjhIp8bpyf
490305f057b6b07be5bbb2545dfb068d742dcf26: Bug 1437382 - Part 8 - Extract functions for creating and cancelling the delayed write timer. r?esawin draft
Jan Henning <jh+bugzilla@buttercookie.de> - Mon, 12 Feb 2018 20:19:15 +0100 - rev 760094
Push 100537 by mozilla@buttercookie.de at Mon, 26 Feb 2018 21:37:06 +0000
Bug 1437382 - Part 8 - Extract functions for creating and cancelling the delayed write timer. r?esawin MozReview-Commit-ID: BjZ2XYSi9rR
697e7b3d6d6bda7151bd5c1775f27a3d0309b615: Bug 1437382 - Part 7 - Change session store time callback behaviour. r?esawin draft
Jan Henning <jh+bugzilla@buttercookie.de> - Mon, 12 Feb 2018 20:11:46 +0100 - rev 760093
Push 100537 by mozilla@buttercookie.de at Mon, 26 Feb 2018 21:37:06 +0000
Bug 1437382 - Part 7 - Change session store time callback behaviour. r?esawin When we get a timer callback for delayed saving, we already only proceed if we've still got a write pending. Conversely if for whatever reasons _saveState() is called from outside of a timer callback, any still pending save timer is cancelled again. With that in mind, when executing the delayed write timer callback there's no reason to call the public version of saveState(), whose only extra task is to increment the pending write count again. Instead, we can just directly call the internal _saveState() version. MozReview-Commit-ID: 11EucNm5KFB
57f2dbed6f5316c68486e5f5cb09db08ec1acb9c: Bug 1437382 - Part 6 - Switch to using PrivateBrowsing helper method in session store. r?esawin draft
Jan Henning <jh+bugzilla@buttercookie.de> - Mon, 12 Feb 2018 20:37:07 +0100 - rev 760092
Push 100537 by mozilla@buttercookie.de at Mon, 26 Feb 2018 21:37:06 +0000
Bug 1437382 - Part 6 - Switch to using PrivateBrowsing helper method in session store. r?esawin As far as I can tell, that line dates back to approximately the time Private- BrowsingUtils were introduced in the first place. MozReview-Commit-ID: BLn13X7DVJt
558607cc17988659f732f64df93aa6cd660da87c: Bug 1437382 - Part 5 - Test that flushing pending session store data sends the expected messages to Java. r?jchen draft
Jan Henning <jh+bugzilla@buttercookie.de> - Tue, 20 Feb 2018 20:18:36 +0100 - rev 760091
Push 100537 by mozilla@buttercookie.de at Mon, 26 Feb 2018 21:37:06 +0000
Bug 1437382 - Part 5 - Test that flushing pending session store data sends the expected messages to Java. r?jchen We attempt to get the session store into a known state as far as is possible from Java and then test various situations to check that the expected "PrivateBrowsing:Data" message is received in each case. MozReview-Commit-ID: 8RkCQjAPXTT
9e4191048c97a0609da4d54cbb503282678ebbd3: Bug 1437382 - Part 4 - Make sure that flushing private tabs data reaches GeckoApp in time. r?jchen draft
Jan Henning <jh+bugzilla@buttercookie.de> - Sun, 11 Feb 2018 17:54:58 +0100 - rev 760090
Push 100537 by mozilla@buttercookie.de at Mon, 26 Feb 2018 21:37:06 +0000
Bug 1437382 - Part 4 - Make sure that flushing private tabs data reaches GeckoApp in time. r?jchen There are two parts to this: 1. While the file writing itself by the session store can be done either synchronously or asynchronously, the session store's _writeFile function as a whole always behaves asynchronously. In addition, just writing the file (which will be done synchronously when flushing tabs) takes time which we don't have, as we should send the private tabs data as fast as possible to Java in order to avoid hanging the UI or missing a possible timeout. 2. Sending the data to Java needs to happen synchronously as well, so we need to listen for "PrivateBrowsing:Data" on the Gecko thread now. This in turn means that some sychronisation is now required between the UI thread handling onSaveInstanceState and the Gecko thread that is actually receiving the data. To avoid hanging the UI and causing ANRs, we only wait a limited amount of time for Gecko to respond with fresh private tabs data, though. As this still leaves a certain possibility of outdated private browsing data being saved and possibly restored after an OOM-kill, we're also going to speed up the processing of TabClosed events by the session store in the following parts. MozReview-Commit-ID: EkNFre5RhQW
cf52daf3d5ec89b4b4b6925f78ea45254953dd76: Bug 1429185 - BlockAboutConfig policy should lock devtools.chrome.enabled to false;r=Felipe draft
Julian Descottes <jdescottes@mozilla.com> - Mon, 26 Feb 2018 18:36:27 +0100 - rev 760089
Push 100536 by jdescottes@mozilla.com at Mon, 26 Feb 2018 21:31:17 +0000
Bug 1429185 - BlockAboutConfig policy should lock devtools.chrome.enabled to false;r=Felipe MozReview-Commit-ID: CeU9lFGfZhC
78f5b5caa90c4586266b8a086344c7bce1544e74: Bug 1429185 - Implement policy for disabling devtools;r=Felipe draft
Julian Descottes <jdescottes@mozilla.com> - Fri, 23 Feb 2018 18:55:53 +0100 - rev 760088
Push 100536 by jdescottes@mozilla.com at Mon, 26 Feb 2018 21:31:17 +0000
Bug 1429185 - Implement policy for disabling devtools;r=Felipe MozReview-Commit-ID: D6ZvP7vWg4O
99ead615d5d6c6d07d209c91a08adf42b79b5d46: Bug 1406181 - Test storage.local from extension tab pages on file and indexedDB backends. draft
Luca Greco <lgreco@mozilla.com> - Thu, 19 Oct 2017 16:27:02 +0200 - rev 760087
Push 100535 by luca.greco@alcacoop.it at Mon, 26 Feb 2018 21:20:50 +0000
Bug 1406181 - Test storage.local from extension tab pages on file and indexedDB backends. MozReview-Commit-ID: BYhlnLiitgh
eee8617b302331425c31693f31413d00166dcc94: Bug 1406181 - Test storage.local from content scripts on file and indexedDB backends. draft
Luca Greco <lgreco@mozilla.com> - Thu, 19 Oct 2017 16:22:58 +0200 - rev 760086
Push 100535 by luca.greco@alcacoop.it at Mon, 26 Feb 2018 21:20:50 +0000
Bug 1406181 - Test storage.local from content scripts on file and indexedDB backends. MozReview-Commit-ID: C4ij1o3TXIO
b9432508539ef23af174e82dfb509d13efaf4685: Bug 1406181 - Test storage.local cleanup on uninstall on file and indexedDB backends. draft
Luca Greco <lgreco@mozilla.com> - Thu, 19 Oct 2017 16:00:52 +0200 - rev 760085
Push 100535 by luca.greco@alcacoop.it at Mon, 26 Feb 2018 21:20:50 +0000
Bug 1406181 - Test storage.local cleanup on uninstall on file and indexedDB backends. MozReview-Commit-ID: H8W8ry1dQIt
bf870630d7044a51a719199b7dcb0f52912f2c5e: Bug 1406181 - Test storage.local telemetry on file and indexedDB backends. draft
Luca Greco <lgreco@mozilla.com> - Thu, 19 Oct 2017 15:46:51 +0200 - rev 760084
Push 100535 by luca.greco@alcacoop.it at Mon, 26 Feb 2018 21:20:50 +0000
Bug 1406181 - Test storage.local telemetry on file and indexedDB backends. MozReview-Commit-ID: AHSPICGKdib
5d9745d2ed0bfe5e54120e6e097ad4c8d720a2a2: Bug 1406181 - Test storage.local JSONFile and IndexedDB backends. draft
Luca Greco <lgreco@mozilla.com> - Thu, 19 Oct 2017 15:15:31 +0200 - rev 760083
Push 100535 by luca.greco@alcacoop.it at Mon, 26 Feb 2018 21:20:50 +0000
Bug 1406181 - Test storage.local JSONFile and IndexedDB backends. MozReview-Commit-ID: CU9CVdIp8l8
16855627fea504d457d93b2771b7b84ade9cdc7b: Bug 1406181 - Add identity reserved for storage.local extension API to ContextualIdentityService. draft
Luca Greco <lgreco@mozilla.com> - Wed, 21 Feb 2018 15:23:45 +0100 - rev 760082
Push 100535 by luca.greco@alcacoop.it at Mon, 26 Feb 2018 21:20:50 +0000
Bug 1406181 - Add identity reserved for storage.local extension API to ContextualIdentityService. MozReview-Commit-ID: APi7yJnuDe2
6c1afbc152669a52c9438fc2daef02e15ef8446a: Bug 1406181 - Add ExtensionStorageIDB JSM module. draft
Luca Greco <lgreco@mozilla.com> - Tue, 17 Oct 2017 04:12:15 +0200 - rev 760081
Push 100535 by luca.greco@alcacoop.it at Mon, 26 Feb 2018 21:20:50 +0000
Bug 1406181 - Add ExtensionStorageIDB JSM module. This patch defined a new ExtensionStorageIDB module, which provides the same "internal" API currently provided by ExtensionStorage and uses IndexedDB as its backend (instead of the JSONFile used as the backend provided by ExtensionStorage). MozReview-Commit-ID: DsvPudExcyr
af7e1bab122f07bc32bdcdc06c6ad996de740c94: Bug 1406181 - Move serialize/deserialize helpers from ext-c-storage.js to ExtensionStorage.jsm. draft
Luca Greco <lgreco@mozilla.com> - Wed, 18 Oct 2017 19:31:27 +0200 - rev 760080
Push 100535 by luca.greco@alcacoop.it at Mon, 26 Feb 2018 21:20:50 +0000
Bug 1406181 - Move serialize/deserialize helpers from ext-c-storage.js to ExtensionStorage.jsm. MozReview-Commit-ID: 4iundHpQ8d2
f036f62b8886ce9a7186e7059da364f7d90cbf55: Bug 1425462 Turn jitter on by default draft
Tom Ritter <tom@mozilla.com> - Thu, 15 Feb 2018 15:35:42 -0600 - rev 760079
Push 100534 by bmo:tom@mozilla.com at Mon, 26 Feb 2018 21:19:19 +0000
Bug 1425462 Turn jitter on by default MozReview-Commit-ID: 9u0rJ8FoteG
346004bee22df1665950061b3e19cb3f6bdfccbb: Bug 1425462 Sprinkle some thread safety on the LRU Cache draft
Tom Ritter <tom@mozilla.com> - Sat, 24 Feb 2018 08:21:15 -0600 - rev 760078
Push 100534 by bmo:tom@mozilla.com at Mon, 26 Feb 2018 21:19:19 +0000
Bug 1425462 Sprinkle some thread safety on the LRU Cache We use a mozilla:Mutex to avoid race conditions in the LRU Cache MozReview-Commit-ID: DyeK4RUnGhP
deaa76de0a79e30ade47c12195eaed5db58e7b26: Bug 1425462 Normalize the JavaScript Engine behavior by adding a callback r?luke draft
Tom Ritter <tom@mozilla.com> - Thu, 22 Feb 2018 16:05:50 -0600 - rev 760077
Push 100534 by bmo:tom@mozilla.com at Mon, 26 Feb 2018 21:19:19 +0000
Bug 1425462 Normalize the JavaScript Engine behavior by adding a callback r?luke Time Precision Reduction in the JS Engine was handled by a small bit of duplicated logic. With Time Jittering, and general improvements to the logic due to float fuzziness, we want to unify the logic for the JS Engine and the browser into one location. This patch does that. Note that this will leave the JS Shell without a time jittering implementation. It currently has a time clamping implementation - but I'm not actually sure if the shell is doing anything with it, because it's probably not calling SetTimeResolutionUsec to set it up. In Bug 1440539 we will add a jitter implementation for the shell. (And probably turn time rounding and jittering on for it too.) MozReview-Commit-ID: 2BTIMzE8MjW
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip