mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-08-25 13:07:02 +00:00
70 lines
1.5 KiB
Objective-C
70 lines
1.5 KiB
Objective-C
//
|
|
// Console.m
|
|
// NativeHost
|
|
//
|
|
// Created by Francisco Tolmasky on 6/16/09.
|
|
// Copyright 2009 280 North, Inc.. All rights reserved.
|
|
//
|
|
|
|
#import "Console.h"
|
|
|
|
#import "AppController.h"
|
|
|
|
|
|
@implementation Console
|
|
|
|
+ (id)sharedConsole
|
|
{
|
|
static Console * console = nil;
|
|
|
|
if (!console)
|
|
console = [[Console alloc] init];
|
|
|
|
return console;
|
|
}
|
|
|
|
- (id)init
|
|
{
|
|
self = [super init];
|
|
|
|
if (self)
|
|
contents = [[NSMutableAttributedString alloc] init];
|
|
|
|
return self;
|
|
}
|
|
|
|
- (void)dealloc
|
|
{
|
|
[contents release];
|
|
[super dealloc];
|
|
}
|
|
|
|
- (NSAttributedString *)contents
|
|
{
|
|
return contents;
|
|
}
|
|
|
|
- (void)webView:(WebView *)aWebView addMessageToConsole:(NSDictionary *)aDictionary
|
|
{
|
|
NSString * message = [aDictionary objectForKey:@"message"];
|
|
|
|
NSAttributedString *attrString = [[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@\n", message, nil]];
|
|
[contents appendAttributedString:attrString];
|
|
[attrString release];
|
|
|
|
NHLog(@"CONSOLE", message);
|
|
}
|
|
|
|
- (void)webView:(WebView *)aSender runJavaScriptAlertPanelWithMessage:(NSString *)aMessage initiatedByFrame:(WebFrame *)aFrame
|
|
{
|
|
WebDataSource * dataSource = [aFrame dataSource];
|
|
NSString * title = [dataSource pageTitle];
|
|
|
|
if (![title length])
|
|
title = [[[dataSource request] URL] absoluteString];
|
|
|
|
[[NSAlert alertWithMessageText:title defaultButton:@"OK" alternateButton:nil otherButton:nil informativeTextWithFormat:aMessage, nil] runModal];
|
|
}
|
|
|
|
@end
|