diff options
Diffstat (limited to 'WebKit/mac/WebView/WebView.mm')
| -rw-r--r-- | WebKit/mac/WebView/WebView.mm | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/WebKit/mac/WebView/WebView.mm b/WebKit/mac/WebView/WebView.mm index 1fca8d1..9b267ef 100644 --- a/WebKit/mac/WebView/WebView.mm +++ b/WebKit/mac/WebView/WebView.mm @@ -190,7 +190,7 @@ #import <WebCore/GeolocationError.h> #endif -#if ENABLE(VIDEO) && USE(GSTREAMER) +#if ENABLE(GLIB_SUPPORT) #import <glib.h> #endif @@ -385,7 +385,7 @@ static const char webViewIsOpen[] = "At least one WebView is still open."; #if USE(ACCELERATED_COMPOSITING) - (void)_clearLayerSyncLoopObserver; #endif -#if ENABLE(VIDEO) && USE(GSTREAMER) +#if ENABLE(GLIB_SUPPORT) - (void)_clearGlibLoopObserver; #endif @end @@ -637,6 +637,19 @@ static bool shouldEnableLoadDeferring() return _private->usesDocumentViews; } +static NSString *leakMailQuirksUserScriptPath() +{ + NSString *scriptPath = [[NSBundle bundleForClass:[WebView class]] pathForResource:@"MailQuirksUserScript" ofType:@"js"]; + return [[NSString alloc] initWithContentsOfFile:scriptPath]; +} + +- (void)_injectMailQuirksScript +{ + static NSString *mailQuirksScriptPath = leakMailQuirksUserScriptPath(); + core(self)->group().addUserScriptToWorld(core([WebScriptWorld world]), + mailQuirksScriptPath, KURL(), 0, 0, InjectAtDocumentEnd, InjectInAllFrames); +} + - (void)_commonInitializationWithFrameName:(NSString *)frameName groupName:(NSString *)groupName usesDocumentViews:(BOOL)usesDocumentViews { WebCoreThreadViolationCheckRoundTwo(); @@ -750,10 +763,12 @@ static bool shouldEnableLoadDeferring() if (!WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITHOUT_CONTENT_SNIFFING_FOR_FILE_URLS)) ResourceHandle::forceContentSniffing(); -#if ENABLE(VIDEO) && USE(GSTREAMER) +#if ENABLE(GLIB_SUPPORT) [self _scheduleGlibContextIterations]; #endif + if (runningTigerMail() || runningLeopardMail()) + [self _injectMailQuirksScript]; } - (id)_initWithFrame:(NSRect)f frameName:(NSString *)frameName groupName:(NSString *)groupName usesDocumentViews:(BOOL)usesDocumentViews @@ -1151,7 +1166,7 @@ static bool fastDocumentTeardownEnabled() [self _clearLayerSyncLoopObserver]; #endif -#if ENABLE(VIDEO) && USE(GSTREAMER) +#if ENABLE(GLIB_SUPPORT) [self _clearGlibLoopObserver]; #endif @@ -1472,6 +1487,7 @@ static bool fastDocumentTeardownEnabled() settings->setAccelerated2dCanvasEnabled([preferences accelerated2dCanvasEnabled]); settings->setLoadDeferringEnabled(shouldEnableLoadDeferring()); settings->setFrameFlatteningEnabled([preferences isFrameFlatteningEnabled]); + settings->setSpatialNavigationEnabled([preferences isSpatialNavigationEnabled]); settings->setPaginateDuringLayoutEnabled([preferences paginateDuringLayoutEnabled]); #if ENABLE(FULLSCREEN_API) settings->setFullScreenEnabled([preferences fullScreenEnabled]); @@ -5632,7 +5648,7 @@ static WebFrameView *containingFrameView(NSView *view) } #endif -#if ENABLE(VIDEO) && USE(GSTREAMER) +#if ENABLE(GLIB_SUPPORT) - (void)_clearGlibLoopObserver { if (!_private->glibRunLoopObserver) @@ -5955,7 +5971,7 @@ static void layerSyncRunLoopObserverCallBack(CFRunLoopObserverRef, CFRunLoopActi #endif -#if ENABLE(VIDEO) && USE(GSTREAMER) +#if ENABLE(GLIB_SUPPORT) static void glibContextIterationCallback(CFRunLoopObserverRef, CFRunLoopActivity, void*) { |
