mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1145410: Return valid results when querying the provider cache while it's empty or being populated. r=adw
This commit is contained in:
parent
0755f2459f
commit
a99af17e2f
@ -1253,11 +1253,19 @@ this.NewTabUtils = {
|
||||
},
|
||||
|
||||
getProviderLinks: function(aProvider) {
|
||||
return Links._providers.get(aProvider).sortedLinks;
|
||||
let cache = Links._providers.get(aProvider);
|
||||
if (cache && cache.sortedLinks) {
|
||||
return cache.sortedLinks;
|
||||
}
|
||||
return [];
|
||||
},
|
||||
|
||||
isTopSiteGivenProvider: function(aSite, aProvider) {
|
||||
return Links._providers.get(aProvider).siteMap.has(aSite);
|
||||
let cache = Links._providers.get(aProvider);
|
||||
if (cache && cache.siteMap) {
|
||||
return cache.siteMap.has(aSite);
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
isTopPlacesSite: function(aSite) {
|
||||
|
@ -16,6 +16,29 @@ function run_test() {
|
||||
run_next_test();
|
||||
}
|
||||
|
||||
add_task(function validCacheMidPopulation() {
|
||||
let expectedLinks = makeLinks(0, 3, 1);
|
||||
|
||||
let provider = new TestProvider(done => done(expectedLinks));
|
||||
provider.maxNumLinks = expectedLinks.length;
|
||||
|
||||
NewTabUtils.initWithoutProviders();
|
||||
NewTabUtils.links.addProvider(provider);
|
||||
let promise = new Promise(resolve => NewTabUtils.links.populateCache(resolve));
|
||||
|
||||
// isTopSiteGivenProvider() and getProviderLinks() should still return results
|
||||
// even when cache is empty or being populated.
|
||||
do_check_false(NewTabUtils.isTopSiteGivenProvider("example1.com", provider));
|
||||
do_check_links(NewTabUtils.getProviderLinks(provider), []);
|
||||
|
||||
yield promise;
|
||||
|
||||
// Once the cache is populated, we get the expected results
|
||||
do_check_true(NewTabUtils.isTopSiteGivenProvider("example1.com", provider));
|
||||
do_check_links(NewTabUtils.getProviderLinks(provider), expectedLinks);
|
||||
NewTabUtils.links.removeProvider(provider);
|
||||
});
|
||||
|
||||
add_task(function notifyLinkDelete() {
|
||||
let expectedLinks = makeLinks(0, 3, 1);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user