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

andersca at apple.com andersca at apple.com
Wed Dec 22 14:44:05 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 83d445738a486ab3f1bb3370fa2d6ac51b1c6903
Author: andersca at apple.com <andersca at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Oct 18 21:55:21 2010 +0000

    Don't try to change accelerated compositing mode if the web page is closed
    https://bugs.webkit.org/show_bug.cgi?id=47852
    
    Reviewed by Simon Fraser.
    
    changeAcceleratedCompositingMode ends up sending a sync message to the UI process which is unnecessary if
    the UI process is being torn down.
    
    * WebProcess/WebPage/WebPage.cpp:
    (WebKit::WebPage::WebPage):
    (WebKit::WebPage::changeAcceleratedCompositingMode):
    (WebKit::WebPage::close):
    * WebProcess/WebPage/WebPage.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69997 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index ef32833..0a55641 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,5 +1,21 @@
 2010-10-18  Anders Carlsson  <andersca at apple.com>
 
+        Reviewed by Simon Fraser.
+
+        Don't try to change accelerated compositing mode if the web page is closed
+        https://bugs.webkit.org/show_bug.cgi?id=47852
+
+        changeAcceleratedCompositingMode ends up sending a sync message to the UI process which is unnecessary if
+        the UI process is being torn down.
+        
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::WebPage):
+        (WebKit::WebPage::changeAcceleratedCompositingMode):
+        (WebKit::WebPage::close):
+        * WebProcess/WebPage/WebPage.h:
+
+2010-10-18  Anders Carlsson  <andersca at apple.com>
+
         Reviewed by Sam Weinig.
 
         <rdar://problem/8036034>
diff --git a/WebKit2/WebProcess/WebPage/WebPage.cpp b/WebKit2/WebProcess/WebPage/WebPage.cpp
index 082415c..9d669be 100644
--- a/WebKit2/WebProcess/WebPage/WebPage.cpp
+++ b/WebKit2/WebProcess/WebPage/WebPage.cpp
@@ -101,6 +101,7 @@ WebPage::WebPage(uint64_t pageID, const WebPageCreationParameters& parameters)
     : m_viewSize(parameters.viewSize)
     , m_drawingArea(DrawingArea::create(parameters.drawingAreaInfo.type, parameters.drawingAreaInfo.id, this))
     , m_isInRedo(false)
+    , m_isClosed(false)
 #if PLATFORM(MAC)
     , m_windowIsVisible(false)
 #elif PLATFORM(WIN)
@@ -227,6 +228,9 @@ void WebPage::clearMainFrameName()
 #if USE(ACCELERATED_COMPOSITING)
 void WebPage::changeAcceleratedCompositingMode(WebCore::GraphicsLayer* layer)
 {
+    if (m_isClosed)
+        return;
+
     bool compositing = layer;
     
     // Tell the UI process that accelerated compositing changed. It may respond by changing
@@ -260,6 +264,11 @@ void WebPage::exitAcceleratedCompositingMode()
 
 void WebPage::close()
 {
+    if (m_isClosed)
+        return;
+
+    m_isClosed = true;
+
     if (WebProcess::shared().injectedBundle())
         WebProcess::shared().injectedBundle()->willDestroyPage(this);
 
diff --git a/WebKit2/WebProcess/WebPage/WebPage.h b/WebKit2/WebProcess/WebPage/WebPage.h
index 1b79c4c..c9d3484 100644
--- a/WebKit2/WebProcess/WebPage/WebPage.h
+++ b/WebKit2/WebProcess/WebPage/WebPage.h
@@ -241,6 +241,7 @@ private:
     RefPtr<DrawingArea> m_drawingArea;
 
     bool m_isInRedo;
+    bool m_isClosed;
 
 #if PLATFORM(MAC)
     // Whether the containing window is visible or not.

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list