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

Side by Side Diff: WebCore/rendering/RenderTableSection.cpp

Issue 3590023: Merge 69161 - 2010-10-05 Fady Samuel <fsamuel@chromium.org>... (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/517/
Patch Set: Created 10 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
« no previous file with comments | « WebCore/ChangeLog ('k') | no next file » | 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) 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, 2008 Apple Inc. All rights reserved. 7 * Copyright (C) 2003, 2004, 2005, 2006, 2008 Apple Inc. All rights 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 1004 matching lines...) Expand 10 before | Expand all | Expand 10 after
1015 int top = relativeY - os; 1015 int top = relativeY - os;
1016 // binary search to find a row 1016 // binary search to find a row
1017 startrow = std::lower_bound(m_rowPos.begin(), m_rowPos.end(), top) - m_r owPos.begin(); 1017 startrow = std::lower_bound(m_rowPos.begin(), m_rowPos.end(), top) - m_r owPos.begin();
1018 1018
1019 // The binary search above gives us the first row with 1019 // The binary search above gives us the first row with
1020 // a y position >= the top of the paint rect. Thus, the previous 1020 // a y position >= the top of the paint rect. Thus, the previous
1021 // may need to be repainted as well. 1021 // may need to be repainted as well.
1022 if (startrow == m_rowPos.size() || (startrow > 0 && (m_rowPos[startrow] > top))) 1022 if (startrow == m_rowPos.size() || (startrow > 0 && (m_rowPos[startrow] > top)))
1023 --startrow; 1023 --startrow;
1024 1024
1025 int bottom = relativeY + h + os - 1; 1025 int bottom = relativeY + h + os;
1026 endrow = std::lower_bound(m_rowPos.begin(), m_rowPos.end(), bottom) - m_ rowPos.begin(); 1026 endrow = std::lower_bound(m_rowPos.begin(), m_rowPos.end(), bottom) - m_ rowPos.begin();
1027 if ((endrow == m_rowPos.size()) || (endrow > 0 && m_rowPos[endrow - 1] = = bottom)) 1027 if (endrow == m_rowPos.size())
1028 --endrow; 1028 --endrow;
1029 1029
1030 if (!endrow && ty + m_rowPos[0] - table()->outerBorderTop() <= y + h + o s) 1030 if (!endrow && ty + m_rowPos[0] - table()->outerBorderTop() <= y + h + o s)
1031 ++endrow; 1031 ++endrow;
1032 } 1032 }
1033 unsigned startcol = 0; 1033 unsigned startcol = 0;
1034 unsigned endcol = totalCols; 1034 unsigned endcol = totalCols;
1035 // FIXME: Implement RTL. 1035 // FIXME: Implement RTL.
1036 if (!m_hasOverflowingCell && style()->direction() == LTR) { 1036 if (!m_hasOverflowingCell && style()->direction() == LTR) {
1037 int relativeX = x - tx; 1037 int relativeX = x - tx;
1038 int left = relativeX - os; 1038 int left = relativeX - os;
1039 Vector<int>& columnPos = table()->columnPositions(); 1039 Vector<int>& columnPos = table()->columnPositions();
1040 startcol = std::lower_bound(columnPos.begin(), columnPos.end(), left) - columnPos.begin(); 1040 startcol = std::lower_bound(columnPos.begin(), columnPos.end(), left) - columnPos.begin();
1041 if ((startcol == columnPos.size()) || (startcol > 0 && (columnPos[startc ol] > left))) 1041 if ((startcol == columnPos.size()) || (startcol > 0 && (columnPos[startc ol] > left)))
1042 --startcol; 1042 --startcol;
1043 1043
1044 int right = relativeX + w + os - 1; 1044 int right = relativeX + w + os;
1045 endcol = std::lower_bound(columnPos.begin(), columnPos.end(), right) - c olumnPos.begin(); 1045 endcol = std::lower_bound(columnPos.begin(), columnPos.end(), right) - c olumnPos.begin();
1046 if (endcol == columnPos.size() || (endcol > 0 && (columnPos[endcol - 1] == right))) 1046 if (endcol == columnPos.size())
1047 --endcol; 1047 --endcol;
1048 1048
1049 if (!endcol && tx + table()->columnPositions()[0] - table()->outerBorder Left() <= y + w + os) 1049 if (!endcol && tx + table()->columnPositions()[0] - table()->outerBorder Left() <= y + w + os)
1050 ++endcol; 1050 ++endcol;
1051 } 1051 }
1052 if (startcol < endcol) { 1052 if (startcol < endcol) {
1053 if (!m_hasMultipleCellLevels) { 1053 if (!m_hasMultipleCellLevels) {
1054 // Draw the dirty cells in the order that they appear. 1054 // Draw the dirty cells in the order that they appear.
1055 for (unsigned r = startrow; r < endrow; r++) { 1055 for (unsigned r = startrow; r < endrow; r++) {
1056 for (unsigned c = startcol; c < endcol; c++) { 1056 for (unsigned c = startcol; c < endcol; c++) {
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
1235 if (static_cast<RenderObject*>(cell)->nodeAtPoint(request, result, xPos, yPos, tx, ty, action)) { 1235 if (static_cast<RenderObject*>(cell)->nodeAtPoint(request, result, xPos, yPos, tx, ty, action)) {
1236 updateHitTestResult(result, IntPoint(xPos - tx, yPos - ty)); 1236 updateHitTestResult(result, IntPoint(xPos - tx, yPos - ty));
1237 return true; 1237 return true;
1238 } 1238 }
1239 } 1239 }
1240 return false; 1240 return false;
1241 1241
1242 } 1242 }
1243 1243
1244 } // namespace WebCore 1244 } // namespace WebCore
OLDNEW
« no previous file with comments | « WebCore/ChangeLog ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698