<rdar://problem/5507481> Added a delegate method to inform the client
authoradachan <adachan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 28 Sep 2007 00:01:04 +0000 (00:01 +0000)
committeradachan <adachan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 28 Sep 2007 00:01:04 +0000 (00:01 +0000)
        app that WebView has painted.

        Reviewed by Steve.

        * Interfaces/IWebUIDelegatePrivate.idl:
        * WebView.cpp:
        (WebView::updateBackingStore):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25784 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit/win/ChangeLog
WebKit/win/Interfaces/IWebUIDelegatePrivate.idl
WebKit/win/WebView.cpp

index d5082d6c2971d6b0967cc4d03db73d40804b8669..8b5a3234dcef60c1ac54512166afca1684bac21f 100644 (file)
@@ -1,3 +1,14 @@
+2007-09-27  Ada Chan  <adachan@apple.com>
+
+        <rdar://problem/5507481> Added a delegate method to inform the client
+        app that WebView has painted.
+
+        Reviewed by Steve.
+
+        * Interfaces/IWebUIDelegatePrivate.idl:
+        * WebView.cpp:
+        (WebView::updateBackingStore):
+
 2007-09-25  Adam Roben  <aroben@apple.com>
 
         Add WebKitInitializer to WebKit.sln
index 39a97a690fa8faeadc28d835966c6c9be50dba2c..eef33eb4fb090c52c1bd2a66c39b019108584f57 100755 (executable)
@@ -72,3 +72,14 @@ interface IWebUIDelegatePrivate : IUnknown
     HRESULT doDragDrop([in] IWebView* sender, [in] IDataObject* dataObject, [in] IDropSource* dropSource, [in] DWORD okEffect, [out, retval] DWORD* performedEffect);
     HRESULT webViewGetDlgCode([in] IWebView* sender, [in] UINT keyCode, [out, retval] LONG_PTR* code);
 }
+
+[
+    object,
+    oleautomation,
+    uuid(7518FCCE-EC47-43b9-8C49-51E91C05C944),
+    pointer_default(unique)
+]
+interface IWebUIDelegatePrivate2 : IWebUIDelegatePrivate
+{
+    HRESULT webViewPainted([in] IWebView* sender);
+}
index 513683e9bc79b2c9fa0587b9631b0b34940b4d0b..094425960887a3a8ee17697ef797251f8bd49d4b 100644 (file)
@@ -399,6 +399,12 @@ void WebView::updateBackingStore(FrameView* frameView, HDC dc, bool backingStore
         if (useRegionBox)
             paintIntoBackingStore(frameView, bitmapDC, &regionBox);
 
+        if (m_uiDelegatePrivate) {
+            COMPtr<IWebUIDelegatePrivate2> uiDelegatePrivate2(Query, m_uiDelegatePrivate.get());
+            if (uiDelegatePrivate2)
+                uiDelegatePrivate2->webViewPainted(this);
+        }
+
         if (m_backingStoreDirtyRegion) {
             ::DeleteObject(m_backingStoreDirtyRegion);
             m_backingStoreDirtyRegion = 0;