Title: [128245] trunk/Source/WebKit2
- Revision
- 128245
- Author
- ander...@apple.com
- Date
- 2012-09-11 17:00:18 -0700 (Tue, 11 Sep 2012)
Log Message
Accelerated compositing should always be forced when using the tiled drawing area
https://bugs.webkit.org/show_bug.cgi?id=96449
Reviewed by Andy Estes.
There's code in WebPage::updatePreferences that will turn off accelerated compositing unless accelerated drawing is enabled.
This should only be done in the non-tiled model, so move the code to DrawingAreaImpl::updatePreferences.
* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::updatePreferences):
This now takes a WebPreferencesStore.
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::updatePreferences):
Move code here from WebPage::updatePreferences.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Pass the WebPreferencesStore to DrawingArea::updatePreferences.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
Remove call to updatePreferences, it's going to be called by the WebPage object later.
(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
This now takes a WebPreferencesStore.
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (128244 => 128245)
--- trunk/Source/WebKit2/ChangeLog 2012-09-11 23:53:46 UTC (rev 128244)
+++ trunk/Source/WebKit2/ChangeLog 2012-09-12 00:00:18 UTC (rev 128245)
@@ -1,3 +1,33 @@
+2012-09-11 Anders Carlsson <ander...@apple.com>
+
+ Accelerated compositing should always be forced when using the tiled drawing area
+ https://bugs.webkit.org/show_bug.cgi?id=96449
+
+ Reviewed by Andy Estes.
+
+ There's code in WebPage::updatePreferences that will turn off accelerated compositing unless accelerated drawing is enabled.
+ This should only be done in the non-tiled model, so move the code to DrawingAreaImpl::updatePreferences.
+
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::updatePreferences):
+ This now takes a WebPreferencesStore.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::updatePreferences):
+ Move code here from WebPage::updatePreferences.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+ Pass the WebPreferencesStore to DrawingArea::updatePreferences.
+
+ * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
+ * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
+ (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
+ Remove call to updatePreferences, it's going to be called by the WebPage object later.
+
+ (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
+ This now takes a WebPreferencesStore.
+
2012-09-11 Brady Eidson <beid...@apple.com>
Get rid of the PluginProcessShim for 64-bit plug-ins
Modified: trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.h (128244 => 128245)
--- trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.h 2012-09-11 23:53:46 UTC (rev 128244)
+++ trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.h 2012-09-12 00:00:18 UTC (rev 128245)
@@ -49,6 +49,7 @@
class LayerTreeHost;
class WebPage;
struct WebPageCreationParameters;
+struct WebPreferencesStore;
#if PLATFORM(WIN)
struct WindowGeometry;
@@ -83,7 +84,7 @@
virtual void pageCustomRepresentationChanged() { }
virtual void setPaintingEnabled(bool) { }
- virtual void updatePreferences() { }
+ virtual void updatePreferences(const WebPreferencesStore&) { }
#if USE(ACCELERATED_COMPOSITING)
virtual void setRootCompositingLayer(WebCore::GraphicsLayer*) = 0;
Modified: trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp (128244 => 128245)
--- trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp 2012-09-11 23:53:46 UTC (rev 128244)
+++ trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp 2012-09-12 00:00:18 UTC (rev 128245)
@@ -259,6 +259,18 @@
m_isPaintingEnabled = paintingEnabled;
}
+void DrawingAreaImpl::updatePreferences(const WebPreferencesStore& store)
+{
+ // <rdar://problem/10697417>: It is necessary to force compositing when accelerate drawing
+ // is enabled on Mac so that scrollbars are always in their own layers.
+#if PLATFORM(MAC)
+ if (m_webPage->corePage()->settings()->acceleratedDrawingEnabled())
+ m_webPage->corePage()->settings()->setForceCompositingMode(LayerTreeHost::supportsAcceleratedCompositing());
+ else
+#endif
+ m_webPage->corePage()->settings()->setForceCompositingMode(store.getBoolValueForKey(WebPreferencesKey::forceCompositingModeKey()) && LayerTreeHost::supportsAcceleratedCompositing());
+}
+
void DrawingAreaImpl::layerHostDidFlushLayers()
{
ASSERT(m_layerTreeHost);
Modified: trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h (128244 => 128245)
--- trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h 2012-09-11 23:53:46 UTC (rev 128244)
+++ trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h 2012-09-12 00:00:18 UTC (rev 128245)
@@ -66,6 +66,7 @@
virtual bool pageOverlayShouldApplyFadeWhenPainting() const;
virtual void setPaintingEnabled(bool);
+ virtual void updatePreferences(const WebPreferencesStore&) OVERRIDE;
virtual void setRootCompositingLayer(WebCore::GraphicsLayer*);
virtual void scheduleCompositingLayerSync();
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (128244 => 128245)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2012-09-11 23:53:46 UTC (rev 128244)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2012-09-12 00:00:18 UTC (rev 128245)
@@ -2081,15 +2081,6 @@
#endif
settings->setInteractiveFormValidationEnabled(store.getBoolValueForKey(WebPreferencesKey::interactiveFormValidationEnabledKey()));
- // <rdar://problem/10697417>: It is necessary to force compositing when accelerate drawing
- // is enabled on Mac so that scrollbars are always in their own layers.
-#if PLATFORM(MAC)
- if (settings->acceleratedDrawingEnabled())
- settings->setForceCompositingMode(LayerTreeHost::supportsAcceleratedCompositing());
- else
-#endif
- settings->setForceCompositingMode(store.getBoolValueForKey(WebPreferencesKey::forceCompositingModeKey()) && LayerTreeHost::supportsAcceleratedCompositing());
-
#if ENABLE(SQL_DATABASE)
AbstractDatabase::setIsAvailable(store.getBoolValueForKey(WebPreferencesKey::databasesEnabledKey()));
#endif
@@ -2134,7 +2125,7 @@
platformPreferencesDidChange(store);
if (m_drawingArea)
- m_drawingArea->updatePreferences();
+ m_drawingArea->updatePreferences(store);
}
#if ENABLE(INSPECTOR)
Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h (128244 => 128245)
--- trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h 2012-09-11 23:53:46 UTC (rev 128244)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h 2012-09-12 00:00:18 UTC (rev 128245)
@@ -64,7 +64,7 @@
virtual void didInstallPageOverlay() OVERRIDE;
virtual void didUninstallPageOverlay() OVERRIDE;
virtual void setPageOverlayNeedsDisplay(const WebCore::IntRect&) OVERRIDE;
- virtual void updatePreferences() OVERRIDE;
+ virtual void updatePreferences(const WebPreferencesStore&) OVERRIDE;
virtual void dispatchAfterEnsuringUpdatedScrollPosition(const Function<void ()>&) OVERRIDE;
Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm (128244 => 128245)
--- trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm 2012-09-11 23:53:46 UTC (rev 128244)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm 2012-09-12 00:00:18 UTC (rev 128245)
@@ -71,11 +71,10 @@
, m_layerFlushScheduler(this)
, m_isPaintingSuspended(!parameters.isVisible)
{
- Page* page = webPage->corePage();
+ Page* page = m_webPage->corePage();
- // FIXME: It's weird that we're mucking around with the settings here.
- page->settings()->setForceCompositingMode(true);
page->settings()->setScrollingCoordinatorEnabled(true);
+ page->settings()->setForceCompositingMode(true);
WebProcess::shared().eventDispatcher().addScrollingTreeForPage(webPage);
@@ -92,8 +91,6 @@
LayerTreeContext layerTreeContext;
layerTreeContext.contextID = m_layerHostingContext->contextID();
m_webPage->send(Messages::DrawingAreaProxy::EnterAcceleratedCompositingMode(0, layerTreeContext));
-
- updatePreferences();
}
TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea()
@@ -206,7 +203,7 @@
scheduleCompositingLayerSync();
}
-void TiledCoreAnimationDrawingArea::updatePreferences()
+void TiledCoreAnimationDrawingArea::updatePreferences(const WebPreferencesStore&)
{
bool showDebugBorders = m_webPage->corePage()->settings()->showDebugBorders();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes