Diff
Modified: trunk/LayoutTests/ChangeLog (130406 => 130407)
--- trunk/LayoutTests/ChangeLog 2012-10-04 17:21:31 UTC (rev 130406)
+++ trunk/LayoutTests/ChangeLog 2012-10-04 17:24:14 UTC (rev 130407)
@@ -1,3 +1,15 @@
+2012-10-04 Sheriff Bot <[email protected]>
+
+ Unreviewed, rolling out r130396.
+ http://trac.webkit.org/changeset/130396
+ https://bugs.webkit.org/show_bug.cgi?id=98421
+
+ This patch is causing crashes on 4 tests on Lion Debug and
+ Mountain Lion Debug (Requested by jernoble on #webkit).
+
+ * compositing/layer-creation/fixed-position-absolute-descendant-expected.txt: Removed.
+ * compositing/layer-creation/fixed-position-absolute-descendant.html: Removed.
+
2012-10-04 Raphael Kubo da Costa <[email protected]>
[EFL] Fix r140403 by skipping the right test.
Deleted: trunk/LayoutTests/compositing/layer-creation/fixed-position-absolute-descendant-expected.txt (130406 => 130407)
--- trunk/LayoutTests/compositing/layer-creation/fixed-position-absolute-descendant-expected.txt 2012-10-04 17:21:31 UTC (rev 130406)
+++ trunk/LayoutTests/compositing/layer-creation/fixed-position-absolute-descendant-expected.txt 2012-10-04 17:24:14 UTC (rev 130407)
@@ -1,20 +0,0 @@
-(GraphicsLayer
- (bounds 800.00 600.00)
- (children 1
- (GraphicsLayer
- (bounds 800.00 600.00)
- (children 2
- (GraphicsLayer
- (position 58.00 63.00)
- (bounds 50.00 50.00)
- (drawsContent 1)
- )
- (GraphicsLayer
- (position 8.00 13.00)
- (drawsContent 1)
- )
- )
- )
- )
-)
-
Deleted: trunk/LayoutTests/compositing/layer-creation/fixed-position-absolute-descendant.html (130406 => 130407)
--- trunk/LayoutTests/compositing/layer-creation/fixed-position-absolute-descendant.html 2012-10-04 17:21:31 UTC (rev 130406)
+++ trunk/LayoutTests/compositing/layer-creation/fixed-position-absolute-descendant.html 2012-10-04 17:24:14 UTC (rev 130407)
@@ -1,58 +0,0 @@
-<!DOCTYPE html>
-
-<html>
-<head>
- <style>
- .fixed {
- position: fixed;
- }
- .absolute {
- position: absolute;
- }
- .in-view {
- top: 50px;
- left: 50px;
- }
- .out-of-view {
- top: 50px;
- left: -150px;
- }
- .box {
- width: 50px;
- height: 50px;
- background: green;
- }
- </style>
-
- <script type="text/_javascript_">
- if (window.internals) {
- window.internals.settings.setEnableCompositingForFixedPosition(true);
- window.internals.settings.setFixedPositionCreatesStackingContext(true);
- }
-
- if (window.testRunner) {
- testRunner.dumpAsText();
-
- window.addEventListener("load", function() {
- document.getElementById("layertree").innerText = testRunner.layerTreeAsText();
- }, false);
- }
- </script>
-</head>
-
-<body>
- <!-- This element gets its own layer even though its layout size is empty
- because it has a descendant that intersects with the viewport. -->
- <div class="fixed">
- <div class="absolute in-view box"></div>
- </div>
-
- <!-- This element doesn't get a layer, because neither it or any of its
- children intersect with the viewport. -->
- <div class="fixed">
- <div class="absolute out-of-view box"></div>
- </div>
-
- <pre id="layertree"></pre>
-</body>
-</html>
Modified: trunk/Source/WebCore/ChangeLog (130406 => 130407)
--- trunk/Source/WebCore/ChangeLog 2012-10-04 17:21:31 UTC (rev 130406)
+++ trunk/Source/WebCore/ChangeLog 2012-10-04 17:24:14 UTC (rev 130407)
@@ -1,3 +1,22 @@
+2012-10-04 Sheriff Bot <[email protected]>
+
+ Unreviewed, rolling out r130396.
+ http://trac.webkit.org/changeset/130396
+ https://bugs.webkit.org/show_bug.cgi?id=98421
+
+ This patch is causing crashes on 4 tests on Lion Debug and
+ Mountain Lion Debug (Requested by jernoble on #webkit).
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::calculateCompositedBounds):
+ (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
+ * rendering/RenderLayerCompositor.h:
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::Backup::Backup):
+ (WebCore::InternalSettings::Backup::restoreTo):
+ * testing/InternalSettings.h:
+ (Backup):
+
2012-10-04 Tony Chang <[email protected]>
inline-flex baseline is sometimes wrong
Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (130406 => 130407)
--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2012-10-04 17:21:31 UTC (rev 130406)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2012-10-04 17:24:14 UTC (rev 130407)
@@ -607,7 +607,7 @@
// The bounds of the GraphicsLayer created for a compositing layer is the union of the bounds of all the descendant
// RenderLayers that are rendered by the composited RenderLayer.
-IntRect RenderLayerCompositor::calculateCompositedBounds(const RenderLayer* layer, const RenderLayer* ancestorLayer) const
+IntRect RenderLayerCompositor::calculateCompositedBounds(const RenderLayer* layer, const RenderLayer* ancestorLayer)
{
if (!canBeComposited(layer))
return IntRect();
@@ -1854,11 +1854,9 @@
return false;
// Fixed position elements that are invisible in the current view don't get their own layer.
- if (FrameView* frameView = m_renderView->frameView()) {
- IntRect viewBounds = IntRect(IntPoint(frameView->scrollOffsetForFixedPosition()), frameView->layoutSize());
- if (!layer->absoluteBoundingBox().intersects(viewBounds) && !calculateCompositedBounds(layer, rootRenderLayer()).intersects(viewBounds))
- return false;
- }
+ FrameView* frameView = m_renderView->frameView();
+ if (frameView && !layer->absoluteBoundingBox().intersects(IntRect(IntPoint(frameView->scrollOffsetForFixedPosition()), frameView->layoutSize())))
+ return false;
return true;
}
Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.h (130406 => 130407)
--- trunk/Source/WebCore/rendering/RenderLayerCompositor.h 2012-10-04 17:21:31 UTC (rev 130406)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.h 2012-10-04 17:24:14 UTC (rev 130407)
@@ -124,7 +124,7 @@
bool needsContentsCompositingLayer(const RenderLayer*) const;
// Return the bounding box required for compositing layer and its childern, relative to ancestorLayer.
// If layerBoundingBox is not 0, on return it contains the bounding box of this layer only.
- IntRect calculateCompositedBounds(const RenderLayer*, const RenderLayer* ancestorLayer) const;
+ IntRect calculateCompositedBounds(const RenderLayer*, const RenderLayer* ancestorLayer);
// Repaint the appropriate layers when the given RenderLayer starts or stops being composited.
void repaintOnCompositingChange(RenderLayer*);
Modified: trunk/Source/WebCore/testing/InternalSettings.cpp (130406 => 130407)
--- trunk/Source/WebCore/testing/InternalSettings.cpp 2012-10-04 17:21:31 UTC (rev 130406)
+++ trunk/Source/WebCore/testing/InternalSettings.cpp 2012-10-04 17:24:14 UTC (rev 130407)
@@ -81,7 +81,6 @@
#endif
, m_originalEditingBehavior(settings->editingBehaviorType())
, m_originalUnifiedSpellCheckerEnabled(settings->unifiedTextCheckerEnabled())
- , m_originalAcceleratedCompositingForFixedPositionEnabled(settings->acceleratedCompositingForFixedPositionEnabled())
, m_originalFixedPositionCreatesStackingContext(settings->fixedPositionCreatesStackingContext())
, m_originalSyncXHRInDocumentsEnabled(settings->syncXHRInDocumentsEnabled())
#if ENABLE(INSPECTOR) && ENABLE(_javascript__DEBUGGER)
@@ -117,7 +116,6 @@
#endif
settings->setEditingBehaviorType(m_originalEditingBehavior);
settings->setUnifiedTextCheckerEnabled(m_originalUnifiedSpellCheckerEnabled);
- settings->setAcceleratedCompositingForFixedPositionEnabled(m_originalAcceleratedCompositingForFixedPositionEnabled);
settings->setFixedPositionCreatesStackingContext(m_originalFixedPositionCreatesStackingContext);
settings->setSyncXHRInDocumentsEnabled(m_originalSyncXHRInDocumentsEnabled);
#if ENABLE(INSPECTOR) && ENABLE(_javascript__DEBUGGER)
Modified: trunk/Source/WebCore/testing/InternalSettings.h (130406 => 130407)
--- trunk/Source/WebCore/testing/InternalSettings.h 2012-10-04 17:21:31 UTC (rev 130406)
+++ trunk/Source/WebCore/testing/InternalSettings.h 2012-10-04 17:24:14 UTC (rev 130407)
@@ -63,7 +63,6 @@
#endif
EditingBehaviorType m_originalEditingBehavior;
bool m_originalUnifiedSpellCheckerEnabled;
- bool m_originalAcceleratedCompositingForFixedPositionEnabled;
bool m_originalFixedPositionCreatesStackingContext;
bool m_originalSyncXHRInDocumentsEnabled;
#if ENABLE(INSPECTOR) && ENABLE(_javascript__DEBUGGER)