[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