diff options
author | Steve Block <steveblock@google.com> | 2010-07-08 12:51:48 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2010-07-09 15:33:40 +0100 |
commit | ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24 (patch) | |
tree | bb45155550ec013adc0ad10f4d7d354c6469b022 /WebKitTools/MiniBrowser/mac/AppDelegate.m | |
parent | d4b24d9a829ed7de70381c8b99fb75a07ab40466 (diff) | |
download | external_webkit-ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24.zip external_webkit-ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24.tar.gz external_webkit-ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24.tar.bz2 |
Merge WebKit at r62496: Initial merge by git
Change-Id: Ie3da0770eca22a70a632e3571f31cfabc80facb2
Diffstat (limited to 'WebKitTools/MiniBrowser/mac/AppDelegate.m')
-rw-r--r-- | WebKitTools/MiniBrowser/mac/AppDelegate.m | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/WebKitTools/MiniBrowser/mac/AppDelegate.m b/WebKitTools/MiniBrowser/mac/AppDelegate.m index efc9b37..2805157 100644 --- a/WebKitTools/MiniBrowser/mac/AppDelegate.m +++ b/WebKitTools/MiniBrowser/mac/AppDelegate.m @@ -31,7 +31,7 @@ #import <WebKit2/WKStringCF.h> #import <WebKit2/WKContextPrivate.h> -static NSString *defaultURL = @"file:///Users/andersca/Desktop/t.html"; +static NSString *defaultURL = @"http://www.webkit.org/"; @implementation BrowserAppDelegate @@ -153,4 +153,44 @@ void _didRecieveMessageFromInjectedBundle(WKContextRef context, WKStringRef mess processPageNamespace = 0; } +- (BrowserWindowController *)frontmostBrowserWindowController +{ + NSArray* windows = [NSApp windows]; + for (NSWindow* window in windows) { + id delegate = [window delegate]; + if ([delegate isKindOfClass:[BrowserWindowController class]]) + return (BrowserWindowController *)delegate; + } + + return 0; +} + +- (IBAction)openDocument:(id)sender +{ + NSOpenPanel *openPanel = [[NSOpenPanel openPanel] retain]; + [openPanel beginForDirectory:nil + file:nil + types:nil + modelessDelegate:self + didEndSelector:@selector(openPanelDidEnd:returnCode:contextInfo:) + contextInfo:0]; +} + +- (void)openPanelDidEnd:(NSOpenPanel *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo +{ + [sheet autorelease]; + if (returnCode != NSOKButton || ![[sheet filenames] count]) + return; + + NSString* filePath = [[sheet filenames] objectAtIndex:0]; + + BrowserWindowController *controller = [self frontmostBrowserWindowController]; + if (!controller) { + controller = [[BrowserWindowController alloc] initWithPageNamespace:[self getCurrentPageNamespace]]; + [[controller window] makeKeyAndOrderFront:self]; + } + + [controller loadURLString:[[NSURL fileURLWithPath:filePath] absoluteString]]; +} + @end |