The WebKit delegate method didStartProvisionalLoadForFrame: is not called when reloading the frame. This caused the webviews to appear empty. We fix it by using a delegate method which is called each reload, as suggested by weinig in #webkit. This fixes Lighthouse bug #81.
Override preferencesChanged in subclasses to actually react to changes. Base class does nothing by default.
This add an "enableFeature" JS function that checks if a given feature is enabled. If it is, the correct div is shown, otherwise it is hidden.