Diff
Modified: branches/safari-604.5.2-branch/Source/WebCore/ChangeLog (225874 => 225875)
--- branches/safari-604.5.2-branch/Source/WebCore/ChangeLog 2017-12-13 23:05:52 UTC (rev 225874)
+++ branches/safari-604.5.2-branch/Source/WebCore/ChangeLog 2017-12-13 23:07:46 UTC (rev 225875)
@@ -1,3 +1,24 @@
+2017-12-13 Jason Marcell <[email protected]>
+
+ Cherry-pick r225535. rdar://problem/34531264
+
+ 2017-12-05 Per Arne Vollan <[email protected]>
+
+ [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 Jason Marcell <[email protected]>
Cherry-pick r225528. rdar://problem/35838154
Modified: branches/safari-604.5.2-branch/Source/WebCore/rendering/RenderLayerCompositor.cpp (225874 => 225875)
--- branches/safari-604.5.2-branch/Source/WebCore/rendering/RenderLayerCompositor.cpp 2017-12-13 23:05:52 UTC (rev 225874)
+++ branches/safari-604.5.2-branch/Source/WebCore/rendering/RenderLayerCompositor.cpp 2017-12-13 23:07:46 UTC (rev 225875)
@@ -3031,6 +3031,9 @@
if (documentUsesTiledBacking())
return true;
+ if (m_overflowControlsHostLayer && isMainFrameCompositor())
+ return true;
+
#if !USE(COORDINATED_GRAPHICS_THREADED)
if (!frameView.hasOverlayScrollbars())
return false;
Modified: branches/safari-604.5.2-branch/Source/WebKitLegacy/win/ChangeLog (225874 => 225875)
--- branches/safari-604.5.2-branch/Source/WebKitLegacy/win/ChangeLog 2017-12-13 23:05:52 UTC (rev 225874)
+++ branches/safari-604.5.2-branch/Source/WebKitLegacy/win/ChangeLog 2017-12-13 23:07:46 UTC (rev 225875)
@@ -1,3 +1,23 @@
+2017-12-13 Jason Marcell <[email protected]>
+
+ Cherry-pick r225535. rdar://problem/34531264
+
+ 2017-12-05 Per Arne Vollan <[email protected]>
+
+ [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-08-09 Jason Marcell <[email protected]>
Cherry-pick r220459. rdar://problem/33820790
Modified: branches/safari-604.5.2-branch/Source/WebKitLegacy/win/WebView.cpp (225874 => 225875)
--- branches/safari-604.5.2-branch/Source/WebKitLegacy/win/WebView.cpp 2017-12-13 23:05:52 UTC (rev 225874)
+++ branches/safari-604.5.2-branch/Source/WebKitLegacy/win/WebView.cpp 2017-12-13 23:07:46 UTC (rev 225875)
@@ -7335,7 +7335,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();
@@ -7346,7 +7346,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: branches/safari-604.5.2-branch/Source/WebKitLegacy/win/WebView.h (225874 => 225875)
--- branches/safari-604.5.2-branch/Source/WebKitLegacy/win/WebView.h 2017-12-13 23:05:52 UTC (rev 225874)
+++ branches/safari-604.5.2-branch/Source/WebKitLegacy/win/WebView.h 2017-12-13 23:07:46 UTC (rev 225875)
@@ -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();