2009-03-27 Darin Adler <darin@apple.com>
[WebKit-https.git] / WebKit / mac / WebView / WebView.mm
index de3628a..8acb9f8 100644 (file)
@@ -422,7 +422,9 @@ static const char webViewIsOpen[] = "At least one WebView is still open.";
     BOOL needsOneShotDrawingSynchronization;
     // Number of WebHTMLViews using accelerated compositing. Used to implement _isUsingAcceleratedCompositing.
     int acceleratedFramesCount;
-#endif    
+#endif
+
+    NSPasteboard *insertionPasteboard;
 }
 @end
 
@@ -539,7 +541,8 @@ static BOOL grammarCheckingEnabled;
 {    
     ASSERT(applicationIsTerminating || !page);
     ASSERT(applicationIsTerminating || !preferences);
-    
+    ASSERT(!insertionPasteboard);
+
     [applicationNameForUserAgent release];
     [backgroundColor release];
     
@@ -554,7 +557,7 @@ static BOOL grammarCheckingEnabled;
     [editingDelegateForwarder release];
     
     [mediaStyle release];
-    
+
     [super dealloc];
 }
 
@@ -562,6 +565,8 @@ static BOOL grammarCheckingEnabled;
 {
     ASSERT_MAIN_THREAD();
 
+    ASSERT(!insertionPasteboard);
+
     [super finalize];
 }
 
@@ -2147,6 +2152,7 @@ WebScriptDebugDelegateImplementationCache* WebViewGetScriptDebugDelegateImplemen
 }
 
 #if USE(ACCELERATED_COMPOSITING)
+
 - (BOOL)_needsOneShotDrawingSynchronization
 {
     return _private->needsOneShotDrawingSynchronization;
@@ -2178,6 +2184,7 @@ WebScriptDebugDelegateImplementationCache* WebViewGetScriptDebugDelegateImplemen
     if (leaving)
         [self didChangeValueForKey:UsingAcceleratedCompositingProperty];
 }
+
 #endif    
 
 - (BOOL)_isUsingAcceleratedCompositing
@@ -2189,6 +2196,11 @@ WebScriptDebugDelegateImplementationCache* WebViewGetScriptDebugDelegateImplemen
 #endif
 }
 
+- (NSPasteboard *)_insertionPasteboard
+{
+    return _private ? _private->insertionPasteboard : nil;
+}
+
 @end
 
 @implementation _WebSafeForwarder
@@ -5007,6 +5019,11 @@ static WebFrameView *containingFrameView(NSView *view)
     return _private->_keyboardUIMode;
 }
 
+- (void)_setInsertionPasteboard:(NSPasteboard *)pasteboard
+{
+    _private->insertionPasteboard = pasteboard;
+}
+
 @end
 
 // We use these functions to call the delegates and block exceptions. These functions are