meta-r reloads a controller

This commit is contained in:
Corey Johnson 2012-02-29 17:26:50 -08:00
parent f32e5ac716
commit 670b9dc52d
5 changed files with 38 additions and 19 deletions

View File

@ -352,9 +352,9 @@
0487C91C14FED5360045E5E3 /* Atom */ = {
isa = PBXGroup;
children = (
0487C91D14FED5360045E5E3 /* Supporting Files */,
0487D15E14FEE7880045E5E3 /* resources */,
0487C93B14FED6090045E5E3 /* src */,
0487C91D14FED5360045E5E3 /* Supporting Files */,
);
path = Atom;
sourceTree = "<group>";

View File

@ -71,13 +71,12 @@
CefShutdown();
}
- (void)afterCreated:(CefRefPtr<CefBrowser>) browser {
browser->ShowDevTools();
- (void)afterCreated {
_clientHandler->GetBrowser()->ShowDevTools();
}
- (void)loadStart:(CefRefPtr<CefBrowser>)browser {
CefRefPtr<CefFrame> frame = browser->GetMainFrame();
CefRefPtr<CefV8Context> context = frame->GetV8Context();
- (void)loadStart {
CefRefPtr<CefV8Context> context = _clientHandler->GetBrowser()->GetMainFrame()->GetV8Context();
CefRefPtr<CefV8Value> global = context->GetGlobal();
context->Enter();

View File

@ -18,8 +18,10 @@ class ClientHandler;
- (void)createBrowser;
- (void)afterCreated:(CefRefPtr<CefBrowser>) browser;
- (void)loadStart:(CefRefPtr<CefBrowser>) browser;
- (void)afterCreated;
- (void)loadStart;
- (bool)keyEventOfType:(cef_handler_keyevent_type_t)type code:(int)code modifiers:(int)modifiers isSystemKey:(bool)isSystemKey isAfterJavaScript:(bool)isAfterJavaScript;
@property (nonatomic, retain) IBOutlet NSView *webView;

View File

@ -55,13 +55,12 @@
CefBrowser::CreateBrowser(window_info, _clientHandler.get(), [indexURLString UTF8String], settings);
}
- (void)afterCreated:(CefRefPtr<CefBrowser>) browser {
browser->ShowDevTools();
- (void)afterCreated {
_clientHandler->GetBrowser()->ShowDevTools();
}
- (void)loadStart:(CefRefPtr<CefBrowser>) browser {
CefRefPtr<CefFrame> frame = browser->GetMainFrame();
CefRefPtr<CefV8Context> context = frame->GetV8Context();
- (void)loadStart {
CefRefPtr<CefV8Context> context = _clientHandler->GetBrowser()->GetMainFrame()->GetV8Context();
CefRefPtr<CefV8Value> global = context->GetGlobal();
context->Enter();
@ -79,6 +78,20 @@
context->Exit();
}
- (bool)keyEventOfType:(cef_handler_keyevent_type_t)type
code:(int)code
modifiers:(int)modifiers
isSystemKey:(bool)isSystemKey
isAfterJavaScript:(bool)isAfterJavaScript {
if (isAfterJavaScript && type == KEYEVENT_RAWKEYDOWN && modifiers == KEY_META && code == 'R') {
_clientHandler->GetBrowser()->ReloadIgnoreCache();
return YES;
}
return NO;
}
#pragma mark NSWindowDelegate
- (BOOL)windowShouldClose:(id)window {

View File

@ -43,8 +43,8 @@ void ClientHandler::OnAfterCreated(CefRefPtr<CefBrowser> browser)
m_Browser = browser;
m_BrowserHwnd = browser->GetWindowHandle();
if ([m_delegate respondsToSelector:@selector(afterCreated:)]) {
[m_delegate afterCreated:browser];
if ([m_delegate respondsToSelector:@selector(afterCreated)]) {
[m_delegate afterCreated];
}
}
}
@ -71,8 +71,8 @@ void ClientHandler::OnLoadStart(CefRefPtr<CefBrowser> browser,
{
REQUIRE_UI_THREAD();
if ([m_delegate respondsToSelector:@selector(loadStart:)]) {
[m_delegate loadStart:browser];
if ([m_delegate respondsToSelector:@selector(loadStart)]) {
[m_delegate loadStart];
}
}
@ -139,8 +139,13 @@ bool ClientHandler::OnKeyEvent(CefRefPtr<CefBrowser> browser,
bool isAfterJavaScript)
{
REQUIRE_UI_THREAD();
return false;
if ([m_delegate respondsToSelector:@selector(keyEventOfType:code:modifiers:isSystemKey:isAfterJavaScript:)]) {
return [m_delegate keyEventOfType:type code:code modifiers:modifiers isSystemKey:isSystemKey isAfterJavaScript:isAfterJavaScript];
}
else {
return false;
}
}
void ClientHandler::OnContextCreated(CefRefPtr<CefBrowser> browser,