diff --git a/src/actors/ZenThemeMarketplaceChild.sys.mjs b/src/actors/ZenThemeMarketplaceChild.sys.mjs index c5eed4b..3883fb6 100644 --- a/src/actors/ZenThemeMarketplaceChild.sys.mjs +++ b/src/actors/ZenThemeMarketplaceChild.sys.mjs @@ -15,8 +15,8 @@ export class ZenThemeMarketplaceChild extends JSWindowActorChild { } // This function will be caleld from about:preferences - checkForThemeUpdates() { - console.info("ZTM: Checking for theme updates"); + checkForThemeUpdates(event) { + event.preventDefault(); this.sendAsyncMessage("ZenThemeMarketplace:CheckForUpdates"); } @@ -53,6 +53,16 @@ export class ZenThemeMarketplaceChild extends JSWindowActorChild { } break; } + case "ZenThemeMarketplace:CheckForUpdatesFinished": { + const updates = message.data.updates; + this.contentWindow.document.dispatchEvent(new CustomEvent("ZenThemeMarketplace:CheckForUpdatesFinished", { detail: { updates } })); + break; + } + case "ZenThemeMarketplace:GetThemeInfo": { + const themeId = message.data.themeId; + const theme = await this.getThemeInfo(themeId); + return theme; + } } } diff --git a/src/actors/ZenThemeMarketplaceParent.sys.mjs b/src/actors/ZenThemeMarketplaceParent.sys.mjs index 1f6cb96..c5fcc27 100644 --- a/src/actors/ZenThemeMarketplaceParent.sys.mjs +++ b/src/actors/ZenThemeMarketplaceParent.sys.mjs @@ -37,8 +37,43 @@ export class ZenThemeMarketplaceParent extends JSWindowActorParent { } } - checkForThemeUpdates() { + compareversion(version1,version2){ + var result=false; + if(typeof version1!=='object'){ version1=version1.toString().split('.'); } + if(typeof version2!=='object'){ version2=version2.toString().split('.'); } + for(var i=0;i<(Math.max(version1.length,version2.length));i++){ + if(version1[i]==undefined){ version1[i]=0; } + if(version2[i]==undefined){ version2[i]=0; } + if(Number(version1[i])