Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(543)

Side by Side Diff: Source/WebCore/rendering/RenderBox.cpp

Issue 9129033: Merge 104121 - Source/WebCore: Crash in RenderRegion::getRegionRangeForBox. (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/963/
Patch Set: Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/WebCore/rendering/RenderBlock.cpp ('k') | Source/WebCore/rendering/RenderFlowThread.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com)
5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com)
6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed. 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 return LayoutRect(logicalLeft, 0, logicalWidth, height()); 234 return LayoutRect(logicalLeft, 0, logicalWidth, height());
235 return LayoutRect(0, logicalLeft, width(), logicalWidth); 235 return LayoutRect(0, logicalLeft, width(), logicalWidth);
236 } 236 }
237 237
238 void RenderBox::clearRenderBoxRegionInfo() 238 void RenderBox::clearRenderBoxRegionInfo()
239 { 239 {
240 if (!inRenderFlowThread() || isRenderFlowThread()) 240 if (!inRenderFlowThread() || isRenderFlowThread())
241 return; 241 return;
242 242
243 RenderFlowThread* flowThread = enclosingRenderFlowThread(); 243 RenderFlowThread* flowThread = enclosingRenderFlowThread();
244 if (!flowThread->hasValidRegions())
245 return;
246
247 flowThread->removeRenderBoxRegionInfo(this); 244 flowThread->removeRenderBoxRegionInfo(this);
248 } 245 }
249 246
250 void RenderBox::willBeDestroyed() 247 void RenderBox::willBeDestroyed()
251 { 248 {
252 clearOverrideSize(); 249 clearOverrideSize();
253 250
254 if (style() && (style()->logicalHeight().isPercent() || style()->logicalMinH eight().isPercent() || style()->logicalMaxHeight().isPercent())) 251 if (style() && (style()->logicalHeight().isPercent() || style()->logicalMinH eight().isPercent() || style()->logicalMaxHeight().isPercent()))
255 RenderBlock::removePercentHeightDescendant(this); 252 RenderBlock::removePercentHeightDescendant(this);
256 253
(...skipping 3640 matching lines...) Expand 10 before | Expand all | Expand 10 after
3897 RenderBlock* containerBlock = containingBlock(); 3894 RenderBlock* containerBlock = containingBlock();
3898 if (!containerBlock || containerBlock == this) 3895 if (!containerBlock || containerBlock == this)
3899 return locationOffset(); 3896 return locationOffset();
3900 3897
3901 LayoutRect rect(frameRect()); 3898 LayoutRect rect(frameRect());
3902 containerBlock->flipForWritingMode(rect); // FIXME: This is wrong if we are an absolutely positioned object enclosed by a relative-positioned inline. 3899 containerBlock->flipForWritingMode(rect); // FIXME: This is wrong if we are an absolutely positioned object enclosed by a relative-positioned inline.
3903 return LayoutSize(rect.x(), rect.y()); 3900 return LayoutSize(rect.x(), rect.y());
3904 } 3901 }
3905 3902
3906 } // namespace WebCore 3903 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/WebCore/rendering/RenderBlock.cpp ('k') | Source/WebCore/rendering/RenderFlowThread.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698