2bc6298fa815fd289d272f7081e586f9279db08e: Bug 1439153 - try to fix ESlint failures, CLOSED TREE, r=bustage
Olli Pettay <Olli.Pettay@helsinki.fi> - Sat, 14 Jul 2018 06:13:08 +0300 - rev 426665
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Bug 1439153 - try to fix ESlint failures, CLOSED TREE, r=bustage
62cb6ad78b9b66055c325e43924dc6b5b9818d36: Bug 1439153 - Make WebExtensions work with Shadow DOM/WebComponents, r=kmag
Olli Pettay <Olli.Pettay@helsinki.fi> - Sat, 14 Jul 2018 05:26:15 +0300 - rev 426664
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Bug 1439153 - Make WebExtensions work with Shadow DOM/WebComponents, r=kmag
a7c110500e40481df5db2a47db9c7408c96f8359: Bug 1469223: Delete mozilla::detail::MutexImpl::operator==. r=froydnj
Jim Blandy <jimb@mozilla.com> - Sun, 17 Jun 2018 15:57:18 -0700 - rev 426663
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Bug 1469223: Delete mozilla::detail::MutexImpl::operator==. r=froydnj There is no meaningful equality relationship on any plausible mutex implementation other than object identity. Having MutexImpl's users simply compare by addresses makes it clearer in the callers that that's what's going on.
50a16618593df5b2dd4a3cceaedc9472741b91ef: Bug 1475485, CLOSED TREE, add missing semicolon, r=bustage
Olli Pettay <Olli.Pettay@helsinki.fi> - Sat, 14 Jul 2018 05:08:05 +0300 - rev 426662
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Bug 1475485, CLOSED TREE, add missing semicolon, r=bustage
015a00cd67680e33731ef61931b87afb6c66d9bb: Bug 1475485, @title tooltips should work also inside ShadowDOM, r=mrbkap
Olli Pettay <Olli.Pettay@helsinki.fi> - Sat, 14 Jul 2018 04:48:19 +0300 - rev 426661
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Bug 1475485, @title tooltips should work also inside ShadowDOM, r=mrbkap
4afbbc6154255f6f5dc1151a5a2cd1ea674e3915: Fix up eslint bustage, no bug, on a CLOSED TREE r=me
James Willcox <snorp@snorp.net> - Fri, 13 Jul 2018 20:05:05 -0500 - rev 426660
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Fix up eslint bustage, no bug, on a CLOSED TREE r=me MozReview-Commit-ID: 51TNwK6BYeK
e3fad7250cc3fa18381852b49a6b937541fa50da: Bug 1475324 - Add a test for synchronous saveState() r=droeh
James Willcox <snorp@snorp.net> - Tue, 10 Jul 2018 10:48:43 -0500 - rev 426659
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Bug 1475324 - Add a test for synchronous saveState() r=droeh MozReview-Commit-ID: Bz6AK1Y1dUH
2b64e706396ab6e5e526829b0fdf4b709c372470: Bug 1475662 - Ensure GeckoSession.saveState() always completes r=droeh
James Willcox <snorp@snorp.net> - Fri, 13 Jul 2018 14:02:08 -0500 - rev 426658
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Bug 1475662 - Ensure GeckoSession.saveState() always completes r=droeh MozReview-Commit-ID: CLcdjOkGI9b
449887ba75e36c0e548f40c542eec5d217039b80: Bug 1475644 - Don't send URL in GeckoView crash reports r=jchen
James Willcox <snorp@snorp.net> - Fri, 13 Jul 2018 13:21:33 -0500 - rev 426657
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Bug 1475644 - Don't send URL in GeckoView crash reports r=jchen MozReview-Commit-ID: 1Fx1tfcjoQ6
58c3113b9020991cd44aed34c629f15b22b5a9bd: Bug 1474618 - Dispatch GeckoResult listeners on thread where we were created r=jchen,droeh
James Willcox <snorp@snorp.net> - Tue, 10 Jul 2018 10:09:17 -0500 - rev 426656
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Bug 1474618 - Dispatch GeckoResult listeners on thread where we were created r=jchen,droeh MozReview-Commit-ID: IJNnyhFJX8M
714b1d874ec9f70de9a1c5560ddf823cde96cee3: Bug 1474454 - Use GeckoResult in GeckoSession.NavigationDelegate.onNewSession() r=jchen,droeh
James Willcox <snorp@snorp.net> - Mon, 09 Jul 2018 17:22:57 -0500 - rev 426655
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Bug 1474454 - Use GeckoResult in GeckoSession.NavigationDelegate.onNewSession() r=jchen,droeh MozReview-Commit-ID: E59Scu8tnuq
3ebb68824d935128e81ae6f71c966c8f90bfe124: Bug 1474454 - Use GeckoResult in GeckoSession.NavigationDelegate.onLoadRequest() r=jchen,droeh
James Willcox <snorp@snorp.net> - Mon, 09 Jul 2018 15:24:55 -0500 - rev 426654
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Bug 1474454 - Use GeckoResult in GeckoSession.NavigationDelegate.onLoadRequest() r=jchen,droeh MozReview-Commit-ID: CmdjYhqpZcZ
b1d67e1c64627e9457b542e309eb14f0d3dfb011: Bug 1475659 - Update Codemirror to 5.39.0. r=bgrins
Gabriel Luong <gabriel.luong@gmail.com> - Fri, 13 Jul 2018 18:11:01 -0400 - rev 426653
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Bug 1475659 - Update Codemirror to 5.39.0. r=bgrins
4eaf01f13fbcdf3d99cfc96da10c79f577f3df25: Bug 1471025: Part 8 - Add tests for shared memory preferences. r=njn
Kris Maglione <maglione.k@gmail.com> - Tue, 03 Jul 2018 20:17:15 -0700 - rev 426652
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Bug 1471025: Part 8 - Add tests for shared memory preferences. r=njn MozReview-Commit-ID: 8452JoTBHCU
1a685c1dc046cb3005c9b7a9f874b5fd935f2bb1: Bug 1471025: Part 7c - Clear the dynamic hashtable in the parent process after snapshotting. r=njn
Kris Maglione <maglione.k@gmail.com> - Mon, 02 Jul 2018 22:48:40 -0700 - rev 426651
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Bug 1471025: Part 7c - Clear the dynamic hashtable in the parent process after snapshotting. r=njn The preference storage in the shared memory snapshot is much more compact than the dynamic hashtable, and is already mapped in memory, so there's no need to keep the full hashtable in memory in the parent process after the snapshot is created. This patch empties the hashtable and the name string arena after the snapshot. It also removes the accounting for preferences which have changed after init, since those are, by definition, exactly the set of entries in the dynamic hashtable. MozReview-Commit-ID: L6VGq2z4foH
f6cb808b74bf937dd710310a3860ea4456d57662: Bug 1471025: Part 7b - Don't load preference files in the content process. r=njn
Kris Maglione <maglione.k@gmail.com> - Sat, 07 Jul 2018 12:45:57 -0700 - rev 426650
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Bug 1471025: Part 7b - Don't load preference files in the content process. r=njn With the parent sending a snapshot of its preference state at content process startup, we're guaranteed to have the full set of built-in preferences in the shared map at initialization time, so there's no need to load them again. This also applies to static preference default values, so we skip setting those, as well. However, we do need to make sure that we update static preference cache entries whose default values don't match the value in the shared map, since they may have been changed by user preference files. In order to deal with that, we iterate over all preferences in the map, and dispatch callbacks for any that have user values. MozReview-Commit-ID: DlRUbg7Qor3
ce68155dc6eb48c78769fa7dc13704221f0db2a6: Bug 1471025: Part 7a - Look up preferences from both dynamic and shared preference tables. r=njn
Kris Maglione <maglione.k@gmail.com> - Mon, 02 Jul 2018 22:52:53 -0700 - rev 426649
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Bug 1471025: Part 7a - Look up preferences from both dynamic and shared preference tables. r=njn This patch changes our preference look-up behavior to first check the dynamic hashtable, and then fall back to the shared map. In order for this to work, we need to make several other changes as well: - Attempts to modify a preference that only exists in the shared table requires that we copy it to the dynamic table, and change the value of the new entry. - Attempts to clear a user preference with no default value, but which also exists in the shared map, requires that we keep an entry in the dynamic table to mask the shared entry. To make this work, we change the type of these entries to None, and ignore them during look-ups and iteration. - Iteration needs to take both hashtables into consideration. The serialization iterator for changed preferences only needs to care about dynamic values, so it remains unchanged. Most of the others need to use PrefsIter() instead. MozReview-Commit-ID: 9PWmSZxoC9Z
a52838ca98e194b5e64c93458b7f3baa30aca33c: Bug 1471025: Part 6 - Optimize preference lookups while dispatching callbacks. r=njn
Kris Maglione <maglione.k@gmail.com> - Sat, 07 Jul 2018 12:47:34 -0700 - rev 426648
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Bug 1471025: Part 6 - Optimize preference lookups while dispatching callbacks. r=njn Since lookups in the snapshotted hashtable are currently O(log n) rather than O(1), they're expected to be slightly more expensive than the previous purely-dynamic lookups. In general, I expect this not to be a major issue. The main concern is pref cache lookups while initializing the database. Initialization in the parent process will still always use only a dynamic hashtable, so the performance characteristics there won't change. In the child process, though, we'll still need to notify observers of preferences in the snapshot when they have user values, which could require any number of lookups at startup (though in practice probably will not). This patch solves that problem by caching the wrapper for the current known preference value when dispatching callbacks, and optimizing lookups for that value when it is present. MozReview-Commit-ID: 2CAn0rM0bE9
05486bb725e8063b73bc6dc0ebc75e8c543e39ab: Bug 1471025: Part 5 - Add a range iterator helper for iterating both static and dynamic preferences. r=njn
Kris Maglione <maglione.k@gmail.com> - Mon, 02 Jul 2018 18:17:48 -0700 - rev 426647
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Bug 1471025: Part 5 - Add a range iterator helper for iterating both static and dynamic preferences. r=njn For memory efficiency in content processes, we need to be able to store changed preferences in a separate dynamic hashtable when their values don't match the snapshot values. That makes iteration over the full set of preferences somewhat more complicated, since not only do we need to iterate over two tables, but we also need to ignore preferences in the snapshot table if they also exist in the dynamic hashtable. This patch solves that problem by adding an iterator helper which iterates over values in both tables, and skips values in the static table if they also exist in the dynamic table. In order to support completely deleting preferences that exist in the base table, it also ignores all dynamic entries with the None type, so that they can completely mask deleted base table values. MozReview-Commit-ID: LCIwyPJMByj
1f8e876b2c98548c347406e9aa9b57885a49c2a1: Bug 1471025: Part 4 - Add a wrapper class that can access either static or dynamic prefs. r=njn
Kris Maglione <maglione.k@gmail.com> - Sun, 01 Jul 2018 23:23:48 -0700 - rev 426646
Push 34278 by aciure@mozilla.com at Sun, 15 Jul 2018 09:53:15 +0000
Bug 1471025: Part 4 - Add a wrapper class that can access either static or dynamic prefs. r=njn The in-memory format of shared-memory preferences is significantly different from the format used by dynamic preferences, which means that we need different classes to access their properties. Virtual classes would be a potential solution to this problem, but I don't think the performance characteristics would be acceptable for preferences code. And since the wrapper classes used for static prefs are temporary, they would add the additional snag of figuring out how to keep a valid pointer alive. So, instead, this patch adds a wrapper class that can access either type of preference, based on known type flags in a Variant. It also moves some of the logic for deciding which preference value to return to the wrapper, so that it doesn't need to be duplicated for each representation. MozReview-Commit-ID: LameIIbYcD3
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip