You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iceraven
fenix/125.3.0
fenix/125.0
fenix/124.0
fenix/124.1.0
fenix/124.2.0
fenix/123.1.0
fenix/123.0
fenix/122.1.0
fenix/122.0
fenix/121.1.0
fenix/121.0
fenix/120.0
fenix/120.1.0
fenix/119.0.2
fenix/119.1.0
fenix/119.1.1
fenix/119.0
fenix/118.2.0
fenix/118.1.1
fenix/118.1.0
fenix/118.0
fenix/117.1.0
fenix/117.0.1
fenix/117.0
fenix/116.3.0
fenix/116.2.0
fenix/116.0
fenix/115.2.0
fenix/114.1.0
fenix/114.0
fenix/113.1.0
fenix/113.0
fenix/112.2.0
fenix/112.1.0
fenix/112.0
fork
upstream-sync
fork-history
drag-tabs-2
drag-tabs
fix-addon-search
beta-sync
describe-install
hide-myths
issues/166-allow-fallback-location
issues/115-die-for-your-ram
issues/131-accept-version-name
issues/111-change-appid
issues/125-camera-permissions-stuck-off
issues/111-temp-icon
issues/111-fix-weasels
issues/111-rebrand-strings
issues/82-fix-tests
issues/74-fix-whats-new
master
patch-1
releases/v80.0.0
longTapDelay
releases/v79.0.0
releases/v79.1.0
fennec/production
fennec/beta
innovation-week
fennec/nightly
staging
nightly-build-test
0.0.1-alpha
0.1.0-beta.0
fennec/nightly/1
fennec/nightly/2
fennec/nightly/3
fennec/nightly/4
fennec/nightly/5
fennec/nightly/6
fennec/nightly/7
fennec/nightly/8
fennec/nightly/9
fork-0
fork-1
fork-10
fork-2
fork-3
fork-4
fork-5
fork-6
fork-7
fork-8
fork-9
iceraven-1.0.0
iceraven-1.1.0
iceraven-1.10.0
iceraven-1.11.0
iceraven-1.11.1
iceraven-1.12.0
iceraven-1.13.0
iceraven-1.14.0
iceraven-1.15.0
iceraven-1.16.0
iceraven-1.16.1
iceraven-1.17.0
iceraven-1.18.0
iceraven-1.18.1
iceraven-1.18.2
iceraven-1.18.3
iceraven-1.18.4
iceraven-1.19.0
iceraven-1.2.0
iceraven-1.2.1
iceraven-1.20.0
iceraven-1.21.0
iceraven-1.21.1
iceraven-1.21.2
iceraven-1.3.0
iceraven-1.4.0
iceraven-1.5.0
iceraven-1.6.0
iceraven-1.7.0
iceraven-1.7.1
iceraven-1.8.0
iceraven-1.9.0
iceraven-2.0.0
iceraven-2.0.1
iceraven-2.0.2
iceraven-2.0.3
iceraven-2.1.0
iceraven-2.10.0
iceraven-2.10.1
iceraven-2.10.2
iceraven-2.10.3
iceraven-2.10.4
iceraven-2.10.5
iceraven-2.10.6
iceraven-2.11.0
iceraven-2.11.1
iceraven-2.12.0
iceraven-2.12.1
iceraven-2.13.0
iceraven-2.13.1
iceraven-2.13.2
iceraven-2.13.3
iceraven-2.13.4
iceraven-2.14.0
iceraven-2.14.1
iceraven-2.14.2
iceraven-2.15.0
iceraven-2.15.1
iceraven-2.15.2
iceraven-2.16.0
iceraven-2.16.1
iceraven-2.17.0
iceraven-2.17.1
iceraven-2.17.2
iceraven-2.18.0
iceraven-2.18.1
iceraven-2.18.2
iceraven-2.18.3
iceraven-2.18.4
iceraven-2.19.0
iceraven-2.19.1
iceraven-2.2.0
iceraven-2.2.1
iceraven-2.20.0
iceraven-2.3.0
iceraven-2.4.0
iceraven-2.4.1
iceraven-2.5.0
iceraven-2.5.1
iceraven-2.6.1
iceraven-2.7.0
iceraven-2.8.0
iceraven-2.8.1
iceraven-2.8.2
iceraven-2.8.3
iceraven-2.8.4
iceraven-2.8.5
iceraven-2.9.0
iceraven-2.9.1
iceraven-2.9.2
v0.1
v0.3.0-rc.0
v0.3.0-rc.1
v1.0.0
v1.0.0-rc.0
v1.0.0-rc.1
v1.0.0-rc.2
v1.0.1
v1.0.1-rc.1
v1.1.0
v1.1.0-rc.1
v1.1.0-rc.2
v1.2.0
v1.2.0-rc.1
v1.2.0-rc.2
v1.3.0
v1.3.0-rc.1
v1.3.0-rc.2
v1.3.0-rc.3
v1.3.1
v1.4.0
v1.4.0-rc.1
v1.4.1
v100.0.0-beta.1
v100.0.0-beta.2
v100.0.0-beta.3
v100.0.0-beta.4
v100.0.0-beta.5
v100.0.0-beta.6
v100.0.0-beta.7
v100.1.0
v100.1.1
v100.1.2
v100.1.3
v100.2.0
v100.3.0
v101.0.0-beta.1
v101.0.0-beta.2
v101.0.0-beta.3
v101.0.0-beta.4
v101.0.0-beta.5
v101.0.0-beta.6
v101.1.0
v101.1.1
v101.2.0
v102.0.0-beta.1
v102.0.0-beta.2
v102.0.0-beta.3
v102.0.0-beta.4
v102.0.0-beta.5
v102.1.0
v102.1.1
v102.2.0
v102.2.1
v103.0.0-beta.1
v103.0.0-beta.2
v103.0.0-beta.3
v103.0.0-beta.4
v103.0.0-beta.5
v103.1.0
v103.2.0
v104.0b1
v104.0b2
v104.0b3
v104.0b4
v104.0b5
v104.0b6
v104.0b7
v104.1.0
v104.2.0
v105.0b1
v105.0b2
v105.0b3
v105.0b4
v105.0b5
v105.0b6
v105.1.0
v105.2.0
v106.0b1
v106.0b2
v106.0b3
v106.0b4
v106.0b5
v106.1.0
v107.0b1
v107.0b2
v107.0b3
v107.0b4
v107.0b5
v107.0b6
v107.1.0
v107.2.0
v108.0b1
v108.0b2
v108.0b3
v108.0b4
v108.0b5
v108.0b6
v108.1.0
v108.1.1
v108.2.0
v109.0b1
v109.0b2
v109.0b3
v109.0b4
v109.0b5
v109.0b6
v109.1.1
v109.2.0
v110.0.1
v110.0b1
v110.0b2
v110.0b3
v110.0b4
v110.0b5
v110.0b6
v2.0.0
v2.0.0-rc.2
v2.0.0-rc.3
v2.1.0
v2.1.0-rc.1
v2.1.0-rc.2
v2.1.0-rc.3
v2.1.0-rc.4
v2.2.0
v2.2.0-rc.1
v2.2.0-rc.2
v2.3.0
v2.3.0-rc.1
v2.3.0-rc.2
v3.0.0
v3.0.0-beta.1
v3.0.0-beta.2
v3.0.0-beta.3
v3.0.1
v3.0.2
v3.1.0
v3.1.0-beta.1
v3.1.0-beta.2
v3.1.0-beta.3
v3.1.0-beta.4
v3.1.0-rc.1
v3.2.0
v3.2.0-beta.1
v3.2.0-beta.2
v3.2.0-beta.3
v3.2.1
v4.0.0
v4.0.0-beta.1
v4.0.0-beta.2
v4.0.0-beta.3
v4.0.0-beta.4
v4.0.0-beta.5
v4.1.0
v4.1.0-beta.1
v4.1.0-beta.2
v4.2.0
v4.2.0-beta.1
v4.2.0-beta.2
v4.2.0-beta.3
v4.2.1
v4.2.1-beta.1
v4.3.0
v4.3.0-beta.1
v4.3.0-beta.2
v5.0.0
v5.0.0-beta.1
v5.0.0-beta.2
v5.1.0
v5.1.0-beta.1
v5.1.0-beta.2
v5.1.0-beta.3
v5.1.1
v5.2.0
v5.2.0-beta.1
v5.2.0-beta.2
v74.0.0-beta.1
v74.0.0-beta.2
v74.0.0-beta.3
v75.0.0-beta.1
v75.0.0-beta.2
v75.0.0-beta.3
v75.0.0-beta.4
v75.0.0-beta.5
v75.0.0-beta.6
v76.0.0-beta.1
v76.0.0-beta.2
v77.0.0-beta.1
v77.0.0-beta.2
v78.0.0-beta.1
v78.0.1-beta.1
v79.0.0
v79.0.0-beta.1
v79.0.0-beta.2
v79.0.0-beta.3
v79.0.0-beta.4
v79.0.0-beta.5
v79.0.0-beta.6
v79.0.0-beta.7
v79.0.0-beta.8
v79.0.0-beta.9
v79.0.1
v79.0.2
v79.0.3
v79.0.4
v79.0.5
v79.1.0-beta.1
v80-alpha
v80.0.0-beta.1
v80.0.0-beta.2
v80.0.0-beta.3
v80.0.0-beta.4
v80.0.0-beta.5
v80.0.0-beta.6
v80.0.0-beta.7
v80.0.1
v80.0.1-beta.1
v80.0.1-beta.2
v80.1.0
v80.1.1
v80.1.2
v80.1.3
v81.1.0
v81.1.0-beta.1
v81.1.0-beta.2
v81.1.0-rc.1
v81.1.1
v81.1.1-beta.3
v81.1.1-beta.4
v81.1.1-beta.5
v81.1.2
v81.1.3
v81.1.4
v81.1.5
v82.0.0-beta.1
v82.0.0-beta.2
v82.0.0-beta.3
v82.0.0-beta.4
v82.0.0-beta.5
v82.0.0-beta.6
v82.1.0
v82.1.0-rc.1
v82.1.0-rc.2
v82.1.1
v82.1.2
v82.1.3
v83.0.0-beta.1
v83.0.0-beta.2
v83.0.0-beta.3
v83.0.0-beta.4
v83.1.0
v83.1.0-rc.1
v83.1.0-rc.2
v84.0.0-beta.1
v84.0.0-beta.2
v84.0.0-beta.3
v84.0.0-beta.4
v84.1.0
v84.1.0-rc.1
v84.1.1
v84.1.2
v84.1.3
v84.1.4
v85.0.0-beta.1
v85.0.0-beta.2
v85.0.0-beta.3
v85.0.0-beta.4
v85.0.0-beta.5
v85.0.0-beta.6
v85.0.0-beta.7
v85.0.0-beta.8
v85.0.0-beta.9
v85.1.0
v85.1.0-rc.1
v85.1.1
v85.1.2
v85.1.3
v86.0.0-beta.1
v86.0.0-beta.2
v86.0.0-beta.3
v86.0.0-beta.4
v86.0.0-beta.5
v86.1.0
v86.1.0-rc.1
v86.1.1
v87.0.0-beta.1
v87.0.0-beta.2
v87.0.0-beta.3
v87.0.0-beta.4
v87.0.0-beta.5
v87.0.0-beta.6
v87.0.0-rc.1
v88.0.0-beta.1
v88.0.0-beta.2
v88.0.0-beta.3
v88.0.0-beta.4
v88.0.0-beta.5
v88.0.0-beta.6
v88.1.0
v88.1.1
v88.1.2
v88.1.3
v88.1.4
v89.0.0-beta.1
v89.0.0-beta.10
v89.0.0-beta.2
v89.0.0-beta.3
v89.0.0-beta.4
v89.0.0-beta.5
v89.0.0-beta.6
v89.0.0-beta.7
v89.0.0-beta.8
v89.0.0-beta.9
v89.1.0
v89.1.1
v90.0.0-beta.1
v90.0.0-beta.2
v90.0.0-beta.3
v90.0.0-beta.4
v90.0.0-beta.5
v90.0.0-beta.6
v90.1.0
v90.1.1
v90.1.2
v90.1.3
v91.0.0-beta.1
v91.0.0-beta.2
v91.0.0-beta.3
v91.0.0-beta.4
v91.0.0-beta.5
v91.0.0-beta.6
v91.1.0
v91.2.0
v91.3.0
v91.3.1
v91.4.0
v92.0.0-beta.2
v92.0.0-beta.3
v92.0.0-beta.4
v92.0.0-beta.5
v92.0.0-beta.6
v92.0.0-beta.7
v92.0.0-beta.8
v92.1.0
v92.1.1
v93.0.0-beta.1
v93.0.0-beta.2
v93.0.0-beta.3
v93.0.0-beta.4
v93.1.0
v93.2.0
v94.0.0-beta.1
v94.0.0-beta.2
v94.0.0-beta.3
v94.0.0-beta.4
v94.0.0-beta.5
v94.1.0
v94.1.1
v94.1.2
v95.0.0-beta.1
v95.0.0-beta.2
v95.0.0-beta.3
v95.0.0-beta.4
v95.0.0-beta.5
v95.0.0-beta.6
v95.1.0
v95.2.0
v96.0.0-beta.1
v96.0.0-beta.2
v96.0.0-beta.3
v96.0.0-beta.4
v96.0.0-beta.5
v96.1.0
v96.1.1
v96.2.0
v96.3.0
v96.3.1
v97.0.0-beta.1
v97.0.0-beta.2
v97.0.0-beta.3
v97.0.0-beta.4
v97.0.0-beta.5
v97.0.0-beta.6
v97.1.0
v97.1.1
v97.2.0
v97.3.0
v98.0.0-beta.1
v98.0.0-beta.2
v98.0.0-beta.3
v98.0.0-beta.4
v98.1.0
v98.1.1
v98.2.0
v98.3.0
v99.0.0-beta.1
v99.0.0-beta.2
v99.0.0-beta.3
v99.0.0-beta.4
v99.0.0-beta.5
v99.1.0
v99.1.1
v99.2.0
${ noResults }
Grisha Kruglov
eb14532c3c
Closes #7450: Lazy storage initialization
Make sure that we actually lazily initialize our storage layers. With this patch applied, storage layers (history, logins, bookmarks) will be initialized when first accessed. We will no longer block GeckoEngine init, for example, on waiting for the logins storage to initialize (which needs to access the costly securePrefStorage). Similarly, BackgroundServices init will no longer require initialized instances of the storage components - references to their "lazy wrappers" will suffice. In practice, this change changes when our storage layers are initialized in the following ways. Currently, we will initialize everything on startup. This includes loading our megazord, as well. With this change, init path depends on if the user is signed-into FxA or not. If user is not an FxA user: - on startup, none of the storage layers are initialized - history storage will be initialized once, whenever: - first non-customTab page is loaded (access to the HistoryDelegate) - first interaction with the awesomebar - history UI is accessed - bookmarks storage will be initialized once, whenever: - something is bookmarked, or we need to figure out if something's bookmarked - bookmarks UI is accessed - logins storage will be initialized once, whenever: - first page is loaded with a login/password fields that can be autofilled - (or some other interaction by GV with the autofill/loginStorage delegates) - logins UI is accessed - all of these storages will be initialized if the user logs into FxA and starts syncing data - except, if a storage is not chosen to be synced, it will not be initialized If user is an FxA user: - on startup, none of the storage layers are initialized - sometime shortly after startup is complete, when a sync worker runs in the background, all storage layers that are enabled to sync will be initialized. This change also means that we delay loading the megazord until first access (as described above). |
4 years ago | |
---|---|---|
.. | ||
mozilla/fenix/engine | Closes #7450: Lazy storage initialization | 4 years ago |