From d8ac46da30987b973a34271651c41f346ab8a9c6 Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Tue, 17 Mar 2009 23:41:45 +0000 Subject: Some minor popup fixes for mailto URLs. --- UICaboodle/BrowserView.m | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) (limited to 'UICaboodle') diff --git a/UICaboodle/BrowserView.m b/UICaboodle/BrowserView.m index 3a4b779..5cfc3d0 100644 --- a/UICaboodle/BrowserView.m +++ b/UICaboodle/BrowserView.m @@ -567,25 +567,30 @@ } else if ([name isEqualToString:@"_open"]) [delegate_ openURL:url]; else if ([name isEqualToString:@"_popup"]) { - RVBook *book([[[RVPopUpBook alloc] initWithFrame:[delegate_ popUpBounds]] autorelease]); - [book setHook:indirect_]; - - RVPage *page([delegate_ pageForURL:url hasTag:NULL]); - if (page == nil) { - /* XXX: call createWebViewWithRequest instead? */ + NSString *scheme([[url scheme] lowercaseString]); + if ([scheme isEqualToString:@"mailto"]) + [delegate_ openMailToURL:url]; + else { + RVBook *book([[[RVPopUpBook alloc] initWithFrame:[delegate_ popUpBounds]] autorelease]); + [book setHook:indirect_]; + + RVPage *page([delegate_ pageForURL:url hasTag:NULL]); + if (page == nil) { + /* XXX: call createWebViewWithRequest instead? */ + + [self setBackButtonTitle:title_]; + + BrowserView *browser([[[BrowserView alloc] initWithBook:book] autorelease]); + [browser loadURL:url]; + page = browser; + } - [self setBackButtonTitle:title_]; + [book setDelegate:delegate_]; + [page setDelegate:delegate_]; - BrowserView *browser([[[BrowserView alloc] initWithBook:book] autorelease]); - [browser loadURL:url]; - page = browser; + [book setPage:page]; + [book_ pushBook:book]; } - - [book setDelegate:delegate_]; - [page setDelegate:delegate_]; - - [book setPage:page]; - [book_ pushBook:book]; } else goto unknown; [listener ignore]; -- cgit v1.2.3