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

Unified Diff: Source/core/platform/chromium/PopupListBox.cpp

Issue 14160005: Track the region where text is painted. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: implemented TextRun wrapper Created 7 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/platform/chromium/PopupListBox.cpp
diff --git a/Source/core/platform/chromium/PopupListBox.cpp b/Source/core/platform/chromium/PopupListBox.cpp
index 4949d6a53d786f37a7696074652e4e8bf55820fb..7eeff01a85173b88bfcf61e514a784b9e916c639 100644
--- a/Source/core/platform/chromium/PopupListBox.cpp
+++ b/Source/core/platform/chromium/PopupListBox.cpp
@@ -472,7 +472,9 @@ void PopupListBox::paintRow(GraphicsContext* gc, const IntRect& rect, int rowInd
// Draw the item text.
int textY = rowRect.y() + itemFont.fontMetrics().ascent() + (rowRect.height() - itemFont.fontMetrics().height()) / 2;
- gc->drawBidiText(itemFont, textRun, IntPoint(textX, textY));
+ TextRunPaintInfo textRunPaintInfo(textRun);
+ textRunPaintInfo.bounds = rowRect;
+ gc->drawBidiText(itemFont, textRunPaintInfo, IntPoint(textX, textY));
// We are using the left padding as the right padding includes room for the scroll-bar which
// does not show in this case.
@@ -507,9 +509,11 @@ void PopupListBox::paintRow(GraphicsContext* gc, const IntRect& rect, int rowInd
textX = max<int>(0, m_popupClient->clientPaddingLeft() - m_popupClient->clientInsetLeft());
else
textX = remainingWidth - itemFont.width(labelTextRun);
+ TextRunPaintInfo labelTextRunPaintInfo(labelTextRun);
+ labelTextRunPaintInfo.bounds = rowRect;
gc->setFillColor(labelColor, ColorSpaceDeviceRGB);
- gc->drawBidiText(itemFont, labelTextRun, IntPoint(textX, textY));
+ gc->drawBidiText(itemFont, labelTextRunPaintInfo, IntPoint(textX, textY));
}
Font PopupListBox::getRowFont(int rowIndex)

Powered by Google App Engine
This is Rietveld 408576698