window.__proto__.x = 1; navigate to another page hit 'back' window.__proto__.x = undefined! Frame.cpp saveWindowProperties and restoreWindowProperties need to save and restore not only the property map but also the prototype chain. One simple way would be to add a __proto__ member to the property map before saving it.
This is fixed now that we store the entire global object in the back/forward cache, but I can't make a layout test because of bug 13672. Perhaps we should close this and make a bug to make a test for it when DumpRenderTree supports the back/forward cache?