Title: [115725] trunk/Source/WebCore
- Revision
- 115725
- Author
- [email protected]
- Date
- 2012-05-01 08:08:29 -0700 (Tue, 01 May 2012)
Log Message
https://bugs.webkit.org/show_bug.cgi?id=85231
Fixed position objects that are removed from the DOM don't kick off
fixed position recalculation
-and corresponding-
<rdar://problem/11297916>
Reviewed by Darin Adler.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::willBeDestroyed):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (115724 => 115725)
--- trunk/Source/WebCore/ChangeLog 2012-05-01 14:57:58 UTC (rev 115724)
+++ trunk/Source/WebCore/ChangeLog 2012-05-01 15:08:29 UTC (rev 115725)
@@ -1,3 +1,16 @@
+2012-05-01 Beth Dakin <[email protected]>
+
+ https://bugs.webkit.org/show_bug.cgi?id=85231
+ Fixed position objects that are removed from the DOM don't kick off
+ fixed position recalculation
+ -and corresponding-
+ <rdar://problem/11297916>
+
+ Reviewed by Darin Adler.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::willBeDestroyed):
+
2012-05-01 Dana Jansens <[email protected]>
Early-out for subtracting a non-intersecting region
Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (115724 => 115725)
--- trunk/Source/WebCore/rendering/RenderBox.cpp 2012-05-01 14:57:58 UTC (rev 115724)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp 2012-05-01 15:08:29 UTC (rev 115725)
@@ -253,11 +253,20 @@
if (styleToUse && (styleToUse->logicalHeight().isPercent() || styleToUse->logicalMinHeight().isPercent() || styleToUse->logicalMaxHeight().isPercent()))
RenderBlock::removePercentHeightDescendant(this);
- // If this renderer is owning renderer for the frameview's custom scrollbars,
- // we need to clear it from the scrollbar. See webkit bug 64737.
- if (styleToUse && styleToUse->hasPseudoStyle(SCROLLBAR) && frame() && frame()->view())
- frame()->view()->clearOwningRendererForCustomScrollbars(this);
+ if (styleToUse) {
+ if (RenderView* view = this->view()) {
+ if (FrameView* frameView = view->frameView()) {
+ // If this renderer is owning renderer for the FrameView's custom scrollbars,
+ // we need to clear it from the scrollbar. See webkit bug 64737.
+ if (styleToUse->hasPseudoStyle(SCROLLBAR))
+ frameView->clearOwningRendererForCustomScrollbars(this);
+ if (styleToUse->position() == FixedPosition)
+ frameView->removeFixedObject();
+ }
+ }
+ }
+
// If the following assertion fails, logicalHeight()/logicalMinHeight()/
// logicalMaxHeight() values are changed from a percent value to a non-percent
// value during laying out. It causes a use-after-free bug.
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes