This week most of my time was spent on debugging. My new machine is running fine, and now building WebKit takes a little more than an hour, which is much better than the 4 hours I was getting on the old laptop. With a 4 thread CPU machine some concurrency and locking issues became much easier to reproduce. This led to identifying and fixing a bug in our BSecureSocket class, which was not properly setting up SSL for thread-safe operation. I think this will fix most of the remaining memory corruption problems.
This week most of my time was spent on preparing the 1.4.3 release of HaikuWebkit. This fixes more bugs and removes the "tiled" rendering mode introduced in 1.4.0, which turned out to not work so well. Some old drawing issues will make a comeback, however, and I will need to dig into the app_server clipping code again to understnad what's happening there and actually fix them.
The coding period of Google Summer of Code 2014(as well as the program itself) ended on Monday August 18, 2014. Here’s an update on the status at the end of the program. I’ve been moving over the past week and thus the delay in the update.
Over the past few weeks, I’ve been working on improving support for ARM. I added a jam target to automatically create a bootable MMC image and fix bugs in the haiku loader and also in the kernel. My original objective was to boot the kernel completely but I didn’t succeed in the attempt - it fails after sometime of booting into the kernel(an ASSERT fails in paging related routines). Few patches I’d submitted are yet to be merged(eg: #11131) to reach this failure. Currently, it seems that some of the latest changes prevent building again. #11144 tracks this issue. I’ve not investigated the issue yet so I am unsure what is going wrong.
I learnt many things by working on this project as well as had quite a few instances where I wasn’t sure if I was doing the right thing. Fortunately, several people were around to help out during those times - PulkoMandy, jessicah, kallisti5, revol, ithamar, Ingo and zhuowei. I can’t thank them enough since without them, I would be completely lost. Sadly, I probably won’t be able to continue work on this since I start work on my master thesis soon and working on the ARM port along with the thesis and coursework would be difficult. I’ll be able to judge better only in a few months time at least. Thanks to everyone who followed the weekly updates on the blog-o-sphere and supported the project! Till next time!
During the last two weeks, I spent most of my time working on the WebKit2 port. As I already mentioned, WebKit2 is where current WebKit development happens, and the most important change is the split of the WebKit system into two processes, one for showing the window, and one for doing the actual work of rendering the pages. But the more interesting thing is the more up to date and full-featured API that lets WebKit handle, for example, HTTPS certificates, so we don't have to do it ourselves - just show the dialog to the user when told to.