[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

aroben at apple.com aroben at apple.com
Wed Dec 22 13:43:02 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit cab8e5b908eab969c17dfb29e1c0f561ce52355f
Author: aroben at apple.com <aroben at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Sep 23 22:53:46 2010 +0000

    Remove the DrawingAreaProxy parameter to WebPagProxy::initializeWebPage
    
    Callers are now required to set the drawing area via
    WebPageProxy::setDrawingArea before calling initializeWebPage. This
    will allow us to delay calling initializeWebPage on Windows until
    after we've created the WebView's HWND, which in turn will allow us to
    send the HWND over to the web process when the page is created. (The
    drawing area must be set before creating the HWND so that its size can
    be updated, etc., as the window is created.)
    
    Fixes <http://webkit.org/b/46409> DrawingAreaProxy parameter to
    initializeWebPage is unnecessary, and causes problems on Windows
    
    Reviewed by Anders Carlsson.
    
    * UIProcess/API/mac/WKView.mm:
    (-[WKView initWithFrame:pageNamespaceRef:]):
    * UIProcess/API/qt/qwkpage.cpp:
    (QWKPagePrivate::init):
    * UIProcess/win/WebView.cpp:
    (WebKit::WebView::WebView):
    Added explicit calls to setDrawingArea.
    
    * UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::initializeWebPage):
    * UIProcess/WebPageProxy.h:
    Removed the DrawingAreaProxy parameter and a stray puts(), and added
    an assertion.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68210 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index a6cccb6..09b8f8b 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,35 @@
+2010-09-23  Adam Roben  <aroben at apple.com>
+
+        Remove the DrawingAreaProxy parameter to
+        WebPagProxy::initializeWebPage
+
+        Callers are now required to set the drawing area via
+        WebPageProxy::setDrawingArea before calling initializeWebPage. This
+        will allow us to delay calling initializeWebPage on Windows until
+        after we've created the WebView's HWND, which in turn will allow us to
+        send the HWND over to the web process when the page is created. (The
+        drawing area must be set before creating the HWND so that its size can
+        be updated, etc., as the window is created.)
+
+        Fixes <http://webkit.org/b/46409> DrawingAreaProxy parameter to
+        initializeWebPage is unnecessary, and causes problems on Windows
+
+        Reviewed by Anders Carlsson.
+
+        * UIProcess/API/mac/WKView.mm:
+        (-[WKView initWithFrame:pageNamespaceRef:]):
+        * UIProcess/API/qt/qwkpage.cpp:
+        (QWKPagePrivate::init):
+        * UIProcess/win/WebView.cpp:
+        (WebKit::WebView::WebView):
+        Added explicit calls to setDrawingArea.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::initializeWebPage):
+        * UIProcess/WebPageProxy.h:
+        Removed the DrawingAreaProxy parameter and a stray puts(), and added
+        an assertion.
+
 2010-09-23  Anders Carlsson  <andersca at apple.com>
 
         Reviewed by Darin Adler.
diff --git a/WebKit2/UIProcess/API/mac/WKView.mm b/WebKit2/UIProcess/API/mac/WKView.mm
index 45e6836..8b62e8f 100644
--- a/WebKit2/UIProcess/API/mac/WKView.mm
+++ b/WebKit2/UIProcess/API/mac/WKView.mm
@@ -88,7 +88,8 @@ using namespace WebCore;
     _data->_pageClient = PageClientImpl::create(self);
     _data->_page = toWK(pageNamespaceRef)->createWebPage();
     _data->_page->setPageClient(_data->_pageClient.get());
-    _data->_page->initializeWebPage(IntSize(frame.size), ChunkedUpdateDrawingAreaProxy::create(self));
+    _data->_page->setDrawingArea(ChunkedUpdateDrawingAreaProxy::create(self));
+    _data->_page->initializeWebPage(IntSize(frame.size));
     _data->_page->setIsInWindow([self window]);
 
     return self;
diff --git a/WebKit2/UIProcess/API/qt/qwkpage.cpp b/WebKit2/UIProcess/API/qt/qwkpage.cpp
index 8e3d533..8f36b13 100644
--- a/WebKit2/UIProcess/API/qt/qwkpage.cpp
+++ b/WebKit2/UIProcess/API/qt/qwkpage.cpp
@@ -64,7 +64,8 @@ QWKPagePrivate::~QWKPagePrivate()
 
 void QWKPagePrivate::init(const QSize& viewportSize, PassOwnPtr<DrawingAreaProxy> proxy)
 {
-    page->initializeWebPage(IntSize(viewportSize), proxy);
+    page->setDrawingArea(proxy);
+    page->initializeWebPage(IntSize(viewportSize));
 }
 
 void QWKPagePrivate::setCursor(const WebCore::Cursor& cursor)
diff --git a/WebKit2/UIProcess/WebPageProxy.cpp b/WebKit2/UIProcess/WebPageProxy.cpp
index 7f08125..c827053 100644
--- a/WebKit2/UIProcess/WebPageProxy.cpp
+++ b/WebKit2/UIProcess/WebPageProxy.cpp
@@ -145,15 +145,14 @@ void WebPageProxy::revive()
     processDidRevive();
 }
 
-void WebPageProxy::initializeWebPage(const IntSize& size, PassOwnPtr<DrawingAreaProxy> drawingArea)
+void WebPageProxy::initializeWebPage(const IntSize& size)
 {
     if (!isValid()) {
-        puts("initializeWebPage called with a dead WebProcess");
         revive();
         return;
     }
 
-    m_drawingArea = drawingArea;
+    ASSERT(m_drawingArea);
     process()->send(WebProcessMessage::Create, m_pageID, CoreIPC::In(size, pageNamespace()->context()->preferences()->store(), *(m_drawingArea.get())));
 }
 
diff --git a/WebKit2/UIProcess/WebPageProxy.h b/WebKit2/UIProcess/WebPageProxy.h
index cce38c4..3256743 100644
--- a/WebKit2/UIProcess/WebPageProxy.h
+++ b/WebKit2/UIProcess/WebPageProxy.h
@@ -105,7 +105,7 @@ public:
 
     void revive();
 
-    void initializeWebPage(const WebCore::IntSize&, PassOwnPtr<DrawingAreaProxy>);
+    void initializeWebPage(const WebCore::IntSize&);
     void reinitializeWebPage(const WebCore::IntSize&);
 
     void close();
diff --git a/WebKit2/UIProcess/win/WebView.cpp b/WebKit2/UIProcess/win/WebView.cpp
index 1726d5a..eefe28f 100644
--- a/WebKit2/UIProcess/win/WebView.cpp
+++ b/WebKit2/UIProcess/win/WebView.cpp
@@ -185,7 +185,8 @@ WebView::WebView(RECT rect, WebPageNamespace* pageNamespace, HWND hostWindow)
 
     m_page = pageNamespace->createWebPage();
     m_page->setPageClient(this);
-    m_page->initializeWebPage(IntRect(rect).size(), ChunkedUpdateDrawingAreaProxy::create(this));
+    m_page->setDrawingArea(ChunkedUpdateDrawingAreaProxy::create(this));
+    m_page->initializeWebPage(IntRect(rect).size());
 
     m_window = ::CreateWindowEx(0, kWebKit2WebViewWindowClassName, 0, WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
         rect.top, rect.left, rect.right - rect.left, rect.bottom - rect.top, m_hostWindow ? m_hostWindow : HWND_MESSAGE, 0, instanceHandle(), this);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list