1. Go to marketplace.mozilla.org
2. Install a free web application
3. Uninstall the free web application
4. Go to app page for the app in step #2
The app install button should be showed as "install"
The app install button is still showed as "installed." Under the hood, they are using getInstalled() to determine this.
Looks like this generally applies to getAll() and getInstalled()
Pushed patch to try, https://tbpl.mozilla.org/?tree=Try&rev=b7eafe9208af
Builds to appear at: http://email@example.com
Working with Felipe, we've figured out the root cause. Looks like the calls to isLaunchable in getSelf/getInstalled/getAll/getNotInstalled is using the install origin, not the app origin. That explains why there's a lot of problems being seen.
*** Bug 770307 has been marked as a duplicate of this bug. ***
*** Bug 770380 has been marked as a duplicate of this bug. ***
Created attachment 638545 [details] [diff] [review]
Huh I was using the wrong origin to check if an app was installed, which had the amusing effect of considering if an app was installed or not based on if you had the Marketplace app itself installed
*** Bug 770311 has been marked as a duplicate of this bug. ***
Did a good amount of testing with the try build on Windows - it works! Did tests such as:
- Installing and uninstalling apps on marketplace
- Viewing apps on the myapps dashboard
- Installing apps with and without appcache support
- Testing apps natively vs. acquired
Just tested with Linux and it's working.
Verified on Nightly for Windows 7, Windows XP, OS X 10.7, and Ubuntu 12.