I discovered this while troubleshooting a crash on Chromium, but it seems like it may be applicable to other ports. Depending on how visited link state is managed, the embedder may not be aware that a Page constructor has never been called and invoke visited state change methods prematurely. The logical way to handle this is to exit early (since there's no pages, there's nothing to update).
Created attachment 34479 [details]
Provide graceful handling for premature visited state change updates, v1.
WebCore/ChangeLog | 12 ++++++++++++
WebCore/page/Page.cpp | 8 ++++++--
2 files changed, 18 insertions(+), 2 deletions(-)
Landed as http://trac.webkit.org/changeset/46987.