I have been making a bit of progress on the Google Gears port for Windows CE. With a little bit of debugging and rework of some directory creation functions I needed to write yesterday, I have managed to get the Google Gears Database Demo working on a Windows CE powered device that uses the full internet explorer web browser as can be seen in the screenshot.
It’s still very early days, but it has been really exciting getting this initial functionality operational.
Things to investigate (and hopefully resolve) in the short term include:
- The meaning of two ASSERTS which trigger when the Browser Helper Object is created
- What is stopping the HTML based dialogs (such as the permissions prompt which asks the user if they want to grant a particular website access to using Google Gears) from displaying – at present I have had to disable these dialogs and temporarily hardcode the logic to allow all websites access to using Google Gears.
- Determine why the default code for determining the directory where Google Gears should save database and local cached files is failing. Again I have temporarily hardcoded the path to match the installation folder for Google Gears.
Initial tests running this on a Windows Mobile device are not too flash (as expected). It seems a more significant porting effort will be required to get Google Gears operational on a Windows Mobile powered PDA or Smartphone. I am very keen to eventually get to this stage (if possible) but want to get this initial port operational first, since it should require less code changes, and will help iron out the majority of platform specific changes required.
PS: The other demos (local server and worker pool related) currently do not function properly in my port. I’m hopeful that they’re reasonably minor problems to fix, but won’t know until I investigate them further. A potentially more difficult problem which will need investigation is that offline mode currently doesn’t operate correctly, since requests for HTTP://… are not passed via Google Gears first, I’m hoping this will be due to the asserts I mentioned I am getting above.