1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #import "ContentView.h"
- #import "WebViewDelegate.h"
- #import "AppDelegate.h"
- #import "JSEventHelper.h"
- @interface WebPreferences (WebPreferencesPrivate)
- - (void)_setLocalStorageDatabasePath:(NSString *)path;
- - (void) setLocalStorageEnabled: (BOOL) localStorageEnabled;
- - (void) setDatabasesEnabled:(BOOL)databasesEnabled;
- - (void) setDeveloperExtrasEnabled:(BOOL)developerExtrasEnabled;
- - (void) setWebGLEnabled:(BOOL)webGLEnabled;
- - (void) setOfflineWebApplicationCacheEnabled:(BOOL)offlineWebApplicationCacheEnabled;
- @end
- @implementation ContentView
- @synthesize webView, delegate, mainMenu;
- - (void) awakeFromNib
- {
- WebPreferences *webPrefs = [WebPreferences standardPreferences];
-
- NSString *cappBundleName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"];
- NSString *applicationSupportFile = [@"~/Library/Application Support/" stringByExpandingTildeInPath];
- NSString *savePath = [NSString pathWithComponents:[NSArray arrayWithObjects:applicationSupportFile, cappBundleName, @"LocalStorage", nil]];
- [webPrefs _setLocalStorageDatabasePath:savePath];
- [webPrefs setLocalStorageEnabled:YES];
- [webPrefs setDatabasesEnabled:YES];
- [webPrefs setDeveloperExtrasEnabled:[[NSUserDefaults standardUserDefaults] boolForKey: @"developer"]];
- [webPrefs setOfflineWebApplicationCacheEnabled:YES];
- [webPrefs setWebGLEnabled:YES];
-
- [self.webView setPreferences:webPrefs];
-
- NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage
- sharedHTTPCookieStorage];
- [cookieStorage setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
-
- [self.webView setApplicationNameForUserAgent: @"MacGap"];
-
- self.delegate = [[WebViewDelegate alloc] initWithMenu:[NSApp mainMenu]];
- [self.webView setFrameLoadDelegate:self.delegate];
- [self.webView setUIDelegate:self.delegate];
- [self.webView setResourceLoadDelegate:self.delegate];
- [self.webView setDownloadDelegate:self.delegate];
- [self.webView setPolicyDelegate:self.delegate];
- [self.webView setDrawsBackground:NO];
- [self.webView setShouldCloseWithWindow:NO];
-
- [self.webView setGroupName:@"MacGap"];
- }
- - (void) windowResized:(NSNotification*)notification;
- {
- NSWindow* window = (NSWindow*)notification.object;
- NSSize size = [window frame].size;
-
- DebugNSLog(@"window width = %f, window height = %f", size.width, size.height);
-
- bool isFullScreen = (window.styleMask & NSFullScreenWindowMask) == NSFullScreenWindowMask;
- int titleBarHeight = isFullScreen ? 0 : [[Utils sharedInstance] titleBarHeight:window];
-
- [self.webView setFrame:NSMakeRect(0, 0, size.width, size.height - titleBarHeight)];
- [JSEventHelper triggerEvent:@"orientationchange" forWebView:self.webView];
- }
- @end
|