Skip to content
Permalink
Browse files
Unreviewed, rolling out r224078.
https://bugs.webkit.org/show_bug.cgi?id=179026

MotionMark regression (Requested by shallawa on #webkit).

Reverted changeset:

"When navigating back to a page, compositing layers may not
use accelerated drawing"
https://bugs.webkit.org/show_bug.cgi?id=178749
https://trac.webkit.org/changeset/224078

Canonical link: https://commits.webkit.org/195162@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@224198 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
webkit-commit-queue committed Oct 30, 2017
1 parent 32a6609 commit 0ff1fe200443bd9fdf64a5489daaebdbc4e55139
Showing 21 changed files with 86 additions and 201 deletions.
@@ -1,3 +1,17 @@
2017-10-30 Commit Queue <commit-queue@webkit.org>

Unreviewed, rolling out r224078.
https://bugs.webkit.org/show_bug.cgi?id=179026

MotionMark regression (Requested by shallawa on #webkit).

Reverted changeset:

"When navigating back to a page, compositing layers may not
use accelerated drawing"
https://bugs.webkit.org/show_bug.cgi?id=178749
https://trac.webkit.org/changeset/224078

2017-10-30 Ryan Haddad <ryanhaddad@apple.com>

Remove flaky expectation for contentextension tests.

This file was deleted.

This file was deleted.

@@ -73,7 +73,7 @@
// Force a back navigation back to this page.
window.addEventListener("load", function(event) {
setTimeout(function() {
window.location.href = "../resources/go-back.html";
window.location.href = "resources/page-cache-helper.html";
}, 0);
}, false);
</script>
@@ -19,7 +19,7 @@
window.addEventListener("load", function() {
setTimeout(function() {
// Navigate to a helper page that will immediately navigate back here after loading.
window.location.href = "resources/go-back.html";
window.location.href = "iframes/resources/page-cache-helper.html";
}, 0);
});
</script>
@@ -9,7 +9,7 @@
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
}

function doTest()
{

This file was deleted.

@@ -1,3 +1,17 @@
2017-10-30 Commit Queue <commit-queue@webkit.org>

Unreviewed, rolling out r224078.
https://bugs.webkit.org/show_bug.cgi?id=179026

MotionMark regression (Requested by shallawa on #webkit).

Reverted changeset:

"When navigating back to a page, compositing layers may not
use accelerated drawing"
https://bugs.webkit.org/show_bug.cgi?id=178749
https://trac.webkit.org/changeset/224078

2017-10-30 Dean Jackson <dino@apple.com>

Implement "bitmaprenderer" CanvasRenderingContext
@@ -799,6 +799,8 @@ void FrameView::updateCompositingLayersAfterLayout()
if (!renderView)
return;

// This call will make sure the cached hasAcceleratedCompositing is updated from the pref
renderView->compositor().cacheAcceleratedCompositingFlags();
renderView->compositor().updateCompositingLayers(CompositingUpdateType::AfterLayout);
}

@@ -1753,9 +1753,6 @@ void GraphicsLayerCA::commitLayerChangesBeforeSublayers(CommitState& commitState
if (m_uncommittedChanges & CoverageRectChanged)
updateCoverage(commitState);

if (m_uncommittedChanges & AcceleratesDrawingChanged) // Needs to happen before TilingAreaChanged.
updateAcceleratesDrawing();

if (m_uncommittedChanges & TilingAreaChanged) // Needs to happen after CoverageRectChanged, ContentsScaleChanged
updateTiles();

@@ -1778,6 +1775,9 @@ void GraphicsLayerCA::commitLayerChangesBeforeSublayers(CommitState& commitState
if (m_uncommittedChanges & ContentsNeedsDisplay)
updateContentsNeedsDisplay();

if (m_uncommittedChanges & AcceleratesDrawingChanged)
updateAcceleratesDrawing();

if (m_uncommittedChanges & SupportsSubpixelAntialiasedTextChanged)
updateSupportsSubpixelAntialiasedText();

@@ -299,8 +299,15 @@ void RenderLayerCompositor::enableCompositingMode(bool enable /* = true */)

void RenderLayerCompositor::cacheAcceleratedCompositingFlags()
{
bool hasAcceleratedCompositing = false;
bool showDebugBorders = false;
bool showRepaintCounter = false;
bool forceCompositingMode = false;
bool acceleratedDrawingEnabled = false;
bool displayListDrawingEnabled = false;

auto& settings = m_renderView.settings();
bool hasAcceleratedCompositing = settings.acceleratedCompositingEnabled();
hasAcceleratedCompositing = settings.acceleratedCompositingEnabled();

// We allow the chrome to override the settings, in case the page is rendered
// on a chrome that doesn't allow accelerated compositing.
@@ -309,11 +316,15 @@ void RenderLayerCompositor::cacheAcceleratedCompositingFlags()
hasAcceleratedCompositing = m_compositingTriggers;
}

bool showDebugBorders = settings.showDebugBorders();
bool showRepaintCounter = settings.showRepaintCounter();
bool forceCompositingMode = settings.forceCompositingMode() && hasAcceleratedCompositing;
bool acceleratedDrawingEnabled = settings.acceleratedDrawingEnabled();
bool displayListDrawingEnabled = settings.displayListDrawingEnabled();
showDebugBorders = settings.showDebugBorders();
showRepaintCounter = settings.showRepaintCounter();
forceCompositingMode = settings.forceCompositingMode() && hasAcceleratedCompositing;

if (forceCompositingMode && !isMainFrameCompositor())
forceCompositingMode = requiresCompositingForScrollableFrame();

acceleratedDrawingEnabled = settings.acceleratedDrawingEnabled();
displayListDrawingEnabled = settings.displayListDrawingEnabled();

if (hasAcceleratedCompositing != m_hasAcceleratedCompositing || showDebugBorders != m_showDebugBorders || showRepaintCounter != m_showRepaintCounter || forceCompositingMode != m_forceCompositingMode)
setCompositingLayersNeedRebuild();
@@ -338,18 +349,6 @@ void RenderLayerCompositor::cacheAcceleratedCompositingFlags()
}
}

void RenderLayerCompositor::cacheAcceleratedCompositingFlagsAfterLayout()
{
cacheAcceleratedCompositingFlags();
if (isMainFrameCompositor() || !m_forceCompositingMode)
return;

if (!requiresCompositingForScrollableFrame()) {
m_forceCompositingMode = false;
setCompositingLayersNeedRebuild();
}
}

bool RenderLayerCompositor::canRender3DTransforms() const
{
return hasAcceleratedCompositing() && (m_compositingTriggers & ChromeClient::ThreeDTransformTrigger);
@@ -364,14 +363,14 @@ void RenderLayerCompositor::setCompositingLayersNeedRebuild(bool needRebuild)
void RenderLayerCompositor::willRecalcStyle()
{
m_layerNeedsCompositingUpdate = false;
cacheAcceleratedCompositingFlags();
}

bool RenderLayerCompositor::didRecalcStyleWithNoPendingLayout()
{
if (!m_layerNeedsCompositingUpdate)
return false;

cacheAcceleratedCompositingFlags();
return updateCompositingLayers(CompositingUpdateType::AfterStyleChange);
}

@@ -635,9 +634,6 @@ bool RenderLayerCompositor::updateCompositingLayers(CompositingUpdateType update
{
LOG_WITH_STREAM(Compositing, stream << "RenderLayerCompositor " << this << " updateCompositingLayers " << updateType << " root " << updateRoot);

if (updateType == CompositingUpdateType::AfterStyleChange || updateType == CompositingUpdateType::AfterLayout)
cacheAcceleratedCompositingFlagsAfterLayout(); // Some flags (e.g. forceCompositingMode) depend on layout.

m_updateCompositingLayersTimer.stop();

ASSERT(m_renderView.document().pageCacheState() == Document::NotInPageCache);
@@ -110,6 +110,9 @@ class RenderLayerCompositor final : public GraphicsLayerClient, public GraphicsL

bool canRender3DTransforms() const;

// Copy the accelerated compositing related flags from Settings
void cacheAcceleratedCompositingFlags();

// Called when the layer hierarchy needs to be updated (compositing layers have been
// created, destroyed or re-parented).
void setCompositingLayersNeedRebuild(bool needRebuild = true);
@@ -343,10 +346,6 @@ class RenderLayerCompositor final : public GraphicsLayerClient, public GraphicsL
// GraphicsLayerUpdaterClient implementation
void flushLayersSoon(GraphicsLayerUpdater&) override;

// Copy the accelerated compositing related flags from Settings
void cacheAcceleratedCompositingFlags();
void cacheAcceleratedCompositingFlagsAfterLayout();

// Whether the given RL needs a compositing layer.
bool needsToBeComposited(const RenderLayer&, RenderLayer::ViewportConstrainedNotCompositedReason* = nullptr) const;
// Whether the layer has an intrinsic need for compositing layer.
@@ -1,3 +1,17 @@
2017-10-30 Commit Queue <commit-queue@webkit.org>

Unreviewed, rolling out r224078.
https://bugs.webkit.org/show_bug.cgi?id=179026

MotionMark regression (Requested by shallawa on #webkit).

Reverted changeset:

"When navigating back to a page, compositing layers may not
use accelerated drawing"
https://bugs.webkit.org/show_bug.cgi?id=178749
https://trac.webkit.org/changeset/224078

2017-10-30 Sam Weinig <sam@webkit.org>

[Setting] Only expose experimental features that are compiled in
@@ -72,9 +72,6 @@

void RemoteLayerBackingStore::ensureBackingStore(FloatSize size, float scale, bool acceleratesDrawing, bool deepColor, bool isOpaque)
{
#if !USE(IOSURFACE)
acceleratesDrawing = false;
#endif
if (m_size == size && m_scale == scale && m_deepColor == deepColor && m_acceleratesDrawing == acceleratesDrawing && m_isOpaque == isOpaque)
return;

0 comments on commit 0ff1fe2

Please sign in to comment.