Teardown and recreate WebView (not the entire controller) on reload.

This commit is contained in:
Corey Johnson
2011-12-14 10:46:57 -08:00
parent fc81baa372
commit 89c00ec8a6
5 changed files with 46 additions and 136 deletions

View File

@@ -12,9 +12,14 @@
@synthesize controllers = _controllers;
- (AtomController *)createController:(NSString *)path {
AtomController *controller = [(AtomController *)[AtomController alloc] initWithURL:path];
AtomController *controller = [[AtomController alloc] initWithURL:path];
[self.controllers addObject:controller];
return controller;
}
- (AtomController *)createSpecController {
AtomController *controller = [[AtomController alloc] initForSpecs];
[self.controllers addObject:controller];
return controller;
}
@@ -23,16 +28,8 @@
[controller.jscocoa callJSFunctionNamed:@"triggerEvent" withArguments:@"window:close", nil, false, nil];
}
- (void)runSpecs {
AtomController *controller = [(AtomController *)[AtomController alloc] initForSpecs];
[self.controllers addObject:controller];
}
- (void)reloadController:(AtomController *)controller {
CGRect frame = [[controller window] frame];
AtomController *newController = [self createController:controller.url];
[controller close];
[[newController window] setFrame:frame display:YES animate:NO];
[controller createWebView];
}
- (void)open:(NSString *)path {