summaryrefslogtreecommitdiffstats
path: root/WebKitTools/MiniBrowser/mac/AppDelegate.m
diff options
context:
space:
mode:
authorKristian Monsen <kristianm@google.com>2010-06-28 16:42:48 +0100
committerKristian Monsen <kristianm@google.com>2010-07-02 10:29:56 +0100
commit06ea8e899e48f1f2f396b70e63fae369f2f23232 (patch)
tree20c1428cd05c76f32394ab354ea35ed99acd86d8 /WebKitTools/MiniBrowser/mac/AppDelegate.m
parent72aad67af14193199e29cdd5c4ddc095a8b9a8a8 (diff)
downloadexternal_webkit-06ea8e899e48f1f2f396b70e63fae369f2f23232.zip
external_webkit-06ea8e899e48f1f2f396b70e63fae369f2f23232.tar.gz
external_webkit-06ea8e899e48f1f2f396b70e63fae369f2f23232.tar.bz2
Merge WebKit at r61871: Initial merge by git.
Change-Id: I6cff43abca9cc4782e088a469ad4f03f166a65d5
Diffstat (limited to 'WebKitTools/MiniBrowser/mac/AppDelegate.m')
-rw-r--r--WebKitTools/MiniBrowser/mac/AppDelegate.m49
1 files changed, 38 insertions, 11 deletions
diff --git a/WebKitTools/MiniBrowser/mac/AppDelegate.m b/WebKitTools/MiniBrowser/mac/AppDelegate.m
index 64037fa..efc9b37 100644
--- a/WebKitTools/MiniBrowser/mac/AppDelegate.m
+++ b/WebKitTools/MiniBrowser/mac/AppDelegate.m
@@ -28,26 +28,53 @@
#import "BrowserWindowController.h"
#import "BrowserStatisticsWindowController.h"
-static NSString *defaultURL = @"http://webkit.org/";
+#import <WebKit2/WKStringCF.h>
+#import <WebKit2/WKContextPrivate.h>
+
+static NSString *defaultURL = @"file:///Users/andersca/Desktop/t.html";
@implementation BrowserAppDelegate
+void _didRecieveMessageFromInjectedBundle(WKContextRef context, WKStringRef message, const void *clientInfo)
+{
+ CFStringRef cfMessage = WKStringCopyCFString(0, message);
+ LOG(@"ContextInjectedBundleClient - didRecieveMessage - message: %@", cfMessage);
+ CFRelease(cfMessage);
+
+ WKStringRef newMessage = WKStringCreateWithCFString(CFSTR("Roger that!"));
+ WKContextPostMessageToInjectedBundle(context, newMessage);
+ WKStringRelease(newMessage);
+}
+
- (id)init
{
self = [super init];
if (self) {
if ([NSEvent modifierFlags] & NSShiftKeyMask)
- currentProcessModel = kWKProcessModelSecondaryThread;
+ currentProcessModel = kProcessModelSharedSecondaryThread;
else
- currentProcessModel = kWKProcessModelSecondaryProcess;
+ currentProcessModel = kProcessModelSharedSecondaryProcess;
- WKContextRef threadContext = WKContextCreateWithProcessModel(kWKProcessModelSecondaryThread);
+ WKContextRef threadContext = WKContextGetSharedThreadContext();
threadPageNamespace = WKPageNamespaceCreate(threadContext);
WKContextRelease(threadContext);
- WKContextRef processContext = WKContextCreateWithProcessModel(kWKProcessModelSecondaryProcess);
+ CFStringRef bundlePathCF = (CFStringRef)[[NSBundle mainBundle] pathForAuxiliaryExecutable:@"WebBundle.bundle"];
+ WKStringRef bundlePath = WKStringCreateWithCFString(bundlePathCF);
+
+ WKContextRef processContext = WKContextCreateWithInjectedBundlePath(bundlePath);
+
+ WKContextInjectedBundleClient bundleClient = {
+ 0, /* version */
+ 0, /* clientInfo */
+ _didRecieveMessageFromInjectedBundle
+ };
+ WKContextSetInjectedBundleClient(processContext, &bundleClient);
+
processPageNamespace = WKPageNamespaceCreate(processContext);
WKContextRelease(processContext);
+
+ WKStringRelease(bundlePath);
}
return self;
@@ -63,19 +90,19 @@ static NSString *defaultURL = @"http://webkit.org/";
- (WKPageNamespaceRef)getCurrentPageNamespace
{
- return (currentProcessModel == kWKProcessModelSecondaryThread) ? threadPageNamespace : processPageNamespace;
+ return (currentProcessModel == kProcessModelSharedSecondaryThread) ? threadPageNamespace : processPageNamespace;
}
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem
{
if ([menuItem action] == @selector(setSharedProcessProcessModel:))
- [menuItem setState:currentProcessModel == kWKProcessModelSecondaryProcess ? NSOnState : NSOffState];
+ [menuItem setState:currentProcessModel == kProcessModelSharedSecondaryProcess ? NSOnState : NSOffState];
else if ([menuItem action] == @selector(setSharedThreadProcessModel:))
- [menuItem setState:currentProcessModel == kWKProcessModelSecondaryThread ? NSOnState : NSOffState];
+ [menuItem setState:currentProcessModel == kProcessModelSharedSecondaryThread ? NSOnState : NSOffState];
return YES;
}
-- (void)_setProcessModel:(WKProcessModel)processModel
+- (void)_setProcessModel:(ProcessModel)processModel
{
if (processModel == currentProcessModel)
return;
@@ -85,12 +112,12 @@ static NSString *defaultURL = @"http://webkit.org/";
- (IBAction)setSharedProcessProcessModel:(id)sender
{
- [self _setProcessModel:kWKProcessModelSecondaryProcess];
+ [self _setProcessModel:kProcessModelSharedSecondaryProcess];
}
- (IBAction)setSharedThreadProcessModel:(id)sender
{
- [self _setProcessModel:kWKProcessModelSecondaryThread];
+ [self _setProcessModel:kProcessModelSharedSecondaryThread];
}
- (IBAction)showStatisticsWindow:(id)sender