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

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

Issue 8226006: Merge 97074 - Handle insertion into an anonymous table part that (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/874/
Patch Set: Created 9 years, 2 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1997 Martin Jones (mjones@kde.org) 2 * Copyright (C) 1997 Martin Jones (mjones@kde.org)
3 * (C) 1997 Torben Weis (weis@kde.org) 3 * (C) 1997 Torben Weis (weis@kde.org)
4 * (C) 1998 Waldo Bastian (bastian@kde.org) 4 * (C) 1998 Waldo Bastian (bastian@kde.org)
5 * (C) 1999 Lars Knoll (knoll@kde.org) 5 * (C) 1999 Lars Knoll (knoll@kde.org)
6 * (C) 1999 Antti Koivisto (koivisto@kde.org) 6 * (C) 1999 Antti Koivisto (koivisto@kde.org)
7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All r ights reserved. 7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All r ights reserved.
8 * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com) 8 * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com)
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 173
174 RenderBox::addChild(child, beforeChild); 174 RenderBox::addChild(child, beforeChild);
175 return; 175 return;
176 } 176 }
177 177
178 if (!beforeChild && lastChild() && lastChild()->isTableSection() && lastChil d()->isAnonymous()) { 178 if (!beforeChild && lastChild() && lastChild()->isTableSection() && lastChil d()->isAnonymous()) {
179 lastChild()->addChild(child); 179 lastChild()->addChild(child);
180 return; 180 return;
181 } 181 }
182 182
183 if (beforeChild && !beforeChild->isAnonymous() && beforeChild->parent() == t his) {
184 RenderObject* section = beforeChild->previousSibling();
185 if (section && section->isTableSection()) {
186 ASSERT(section->isAnonymous());
187 section->addChild(child);
188 return;
189 }
190 }
191
183 RenderObject* lastBox = beforeChild; 192 RenderObject* lastBox = beforeChild;
184 while (lastBox && lastBox->parent()->isAnonymous() && !lastBox->isTableSecti on() && lastBox->style()->display() != TABLE_CAPTION && lastBox->style()->displa y() != TABLE_COLUMN_GROUP) 193 while (lastBox && lastBox->parent()->isAnonymous() && !lastBox->isTableSecti on() && lastBox->style()->display() != TABLE_CAPTION && lastBox->style()->displa y() != TABLE_COLUMN_GROUP)
185 lastBox = lastBox->parent(); 194 lastBox = lastBox->parent();
186 if (lastBox && lastBox->isAnonymous() && !isAfterContent(lastBox)) { 195 if (lastBox && lastBox->isAnonymous() && !isAfterContent(lastBox)) {
187 if (beforeChild == lastBox) 196 if (beforeChild == lastBox)
188 beforeChild = lastBox->firstChild(); 197 beforeChild = lastBox->firstChild();
189 lastBox->addChild(child, beforeChild); 198 lastBox->addChild(child, beforeChild);
190 return; 199 return;
191 } 200 }
192 201
(...skipping 1015 matching lines...) Expand 10 before | Expand all | Expand 10 after
1208 if (visibleToHitTesting() && (action == HitTestBlockBackground || action == HitTestChildBlockBackground) && boundsRect.intersects(result.rectForPoint(pointI nContainer))) { 1217 if (visibleToHitTesting() && (action == HitTestBlockBackground || action == HitTestChildBlockBackground) && boundsRect.intersects(result.rectForPoint(pointI nContainer))) {
1209 updateHitTestResult(result, flipForWritingMode(pointInContainer - toLayo utSize(adjustedLocation))); 1218 updateHitTestResult(result, flipForWritingMode(pointInContainer - toLayo utSize(adjustedLocation)));
1210 if (!result.addNodeToRectBasedTestResult(node(), pointInContainer, bound sRect)) 1219 if (!result.addNodeToRectBasedTestResult(node(), pointInContainer, bound sRect))
1211 return true; 1220 return true;
1212 } 1221 }
1213 1222
1214 return false; 1223 return false;
1215 } 1224 }
1216 1225
1217 } 1226 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698