Title: [225535] trunk/Source
- Revision
- 225535
- Author
- pvol...@apple.com
- Date
- 2017-12-05 13:36:01 -0800 (Tue, 05 Dec 2017)
Log Message
[Win] Scrollbars are sometimes not rendered in accelerated compositing mode.
https://bugs.webkit.org/show_bug.cgi?id=180431
<rdar://problem/34531264>
Reviewed by Simon Fraser.
Source/WebCore:
No new tests, covered by existing tests.
When a scroll layer is required, we will create an overflow control hosts layer.
In this case the method RenderLayerCompositor::shouldCompositeOverflowControls()
should return true, otherwise the scrollbars will not be rendered.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::shouldCompositeOverflowControls const):
Source/WebKitLegacy/win:
Fix the signatures of GraphicsLayerClient that should have been overridden, and use
'override' to make sure this doesn't break in the future.
* WebView.cpp:
(WebView::notifyAnimationStarted):
(WebView::paintContents):
* WebView.h:
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (225534 => 225535)
--- trunk/Source/WebCore/ChangeLog 2017-12-05 21:30:34 UTC (rev 225534)
+++ trunk/Source/WebCore/ChangeLog 2017-12-05 21:36:01 UTC (rev 225535)
@@ -1,3 +1,20 @@
+2017-12-05 Per Arne Vollan <pvol...@apple.com>
+
+ [Win] Scrollbars are sometimes not rendered in accelerated compositing mode.
+ https://bugs.webkit.org/show_bug.cgi?id=180431
+ <rdar://problem/34531264>
+
+ Reviewed by Simon Fraser.
+
+ No new tests, covered by existing tests.
+
+ When a scroll layer is required, we will create an overflow control hosts layer.
+ In this case the method RenderLayerCompositor::shouldCompositeOverflowControls()
+ should return true, otherwise the scrollbars will not be rendered.
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::shouldCompositeOverflowControls const):
+
2017-12-05 Youenn Fablet <you...@apple.com>
Call "Terminate Service Worker" on all workers when all their clients are gone
Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (225534 => 225535)
--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2017-12-05 21:30:34 UTC (rev 225534)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2017-12-05 21:36:01 UTC (rev 225535)
@@ -2880,6 +2880,9 @@
if (documentUsesTiledBacking())
return true;
+ if (m_overflowControlsHostLayer && isMainFrameCompositor())
+ return true;
+
#if !USE(COORDINATED_GRAPHICS_THREADED)
if (!frameView.hasOverlayScrollbars())
return false;
Modified: trunk/Source/WebKitLegacy/win/ChangeLog (225534 => 225535)
--- trunk/Source/WebKitLegacy/win/ChangeLog 2017-12-05 21:30:34 UTC (rev 225534)
+++ trunk/Source/WebKitLegacy/win/ChangeLog 2017-12-05 21:36:01 UTC (rev 225535)
@@ -1,3 +1,19 @@
+2017-12-05 Per Arne Vollan <pvol...@apple.com>
+
+ [Win] Scrollbars are sometimes not rendered in accelerated compositing mode.
+ https://bugs.webkit.org/show_bug.cgi?id=180431
+ <rdar://problem/34531264>
+
+ Reviewed by Simon Fraser.
+
+ Fix the signatures of GraphicsLayerClient that should have been overridden, and use
+ 'override' to make sure this doesn't break in the future.
+
+ * WebView.cpp:
+ (WebView::notifyAnimationStarted):
+ (WebView::paintContents):
+ * WebView.h:
+
2017-11-23 Darin Adler <da...@apple.com>
Fix dictionary leak in lookup, convert FindOptions to OptionSet, tweak code style nearby
Modified: trunk/Source/WebKitLegacy/win/WebView.cpp (225534 => 225535)
--- trunk/Source/WebKitLegacy/win/WebView.cpp 2017-12-05 21:30:34 UTC (rev 225534)
+++ trunk/Source/WebKitLegacy/win/WebView.cpp 2017-12-05 21:36:01 UTC (rev 225535)
@@ -7301,7 +7301,7 @@
return S_OK;
}
-void WebView::notifyAnimationStarted(const GraphicsLayer*, double)
+void WebView::notifyAnimationStarted(const GraphicsLayer*, const String&, double)
{
// We never set any animations on our backing layer.
ASSERT_NOT_REACHED();
@@ -7312,7 +7312,7 @@
flushPendingGraphicsLayerChangesSoon();
}
-void WebView::paintContents(const GraphicsLayer*, GraphicsContext& context, GraphicsLayerPaintingPhase, const FloatRect& inClipPixels)
+void WebView::paintContents(const GraphicsLayer*, GraphicsContext& context, GraphicsLayerPaintingPhase, const FloatRect& inClipPixels, GraphicsLayerPaintBehavior)
{
Frame* frame = core(m_mainFrame);
if (!frame)
Modified: trunk/Source/WebKitLegacy/win/WebView.h (225534 => 225535)
--- trunk/Source/WebKitLegacy/win/WebView.h 2017-12-05 21:30:34 UTC (rev 225534)
+++ trunk/Source/WebKitLegacy/win/WebView.h 2017-12-05 21:36:01 UTC (rev 225535)
@@ -568,9 +568,9 @@
DWORD m_lastDropEffect { 0 };
// GraphicsLayerClient
- virtual void notifyAnimationStarted(const WebCore::GraphicsLayer*, double time);
- virtual void notifyFlushRequired(const WebCore::GraphicsLayer*);
- virtual void paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext&, WebCore::GraphicsLayerPaintingPhase, const WebCore::FloatRect& inClip);
+ void notifyAnimationStarted(const WebCore::GraphicsLayer*, const String&, double time) override;
+ void notifyFlushRequired(const WebCore::GraphicsLayer*) override;
+ void paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext&, WebCore::GraphicsLayerPaintingPhase, const WebCore::FloatRect& inClip, WebCore::GraphicsLayerPaintBehavior) override;
// CACFLayerTreeHostClient
virtual void flushPendingGraphicsLayerChanges();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes