From 67d9ff3262eb1067c00b127a554059bb0a6db063 Mon Sep 17 00:00:00 2001 From: Anders Carling Date: Thu, 29 Jan 2009 23:47:39 +0000 Subject: [PATCH] WebController: Set JS Controller after reloading the view 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. --- PBWebController.m | 2 +- PBWebHistoryController.m | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/PBWebController.m b/PBWebController.m index 0548b08..b9d472d 100644 --- a/PBWebController.m +++ b/PBWebController.m @@ -54,7 +54,7 @@ # pragma mark Delegate methods -- (void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame +- (void)webView:(WebView *)sender didClearWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame { id script = [view windowScriptObject]; [script setValue: self forKey:@"Controller"]; diff --git a/PBWebHistoryController.m b/PBWebHistoryController.m index 68fece7..616655c 100644 --- a/PBWebHistoryController.m +++ b/PBWebHistoryController.m @@ -22,6 +22,7 @@ - (void) didLoad { + currentSha = @""; [self changeContentTo: historyController.webCommit]; }