| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2012 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
| 5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
| 6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
| 7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
| 8 * | 8 * |
| 9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 HTMLInputElement* input = toHTMLInputElement(node()); | 91 HTMLInputElement* input = toHTMLInputElement(node()); |
| 92 return max(0, contentBoxRect().pixelSnappedWidth() - nodeWidth(uploadButton(
)) - afterButtonSpacing); | 92 return max(0, contentBoxRect().pixelSnappedWidth() - nodeWidth(uploadButton(
)) - afterButtonSpacing); |
| 93 } | 93 } |
| 94 | 94 |
| 95 void RenderFileUploadControl::paintObject(PaintInfo& paintInfo, const LayoutPoin
t& paintOffset) | 95 void RenderFileUploadControl::paintObject(PaintInfo& paintInfo, const LayoutPoin
t& paintOffset) |
| 96 { | 96 { |
| 97 if (style()->visibility() != VISIBLE) | 97 if (style()->visibility() != VISIBLE) |
| 98 return; | 98 return; |
| 99 | 99 |
| 100 // Push a clip. | 100 // Push a clip. |
| 101 GraphicsContextStateSaver stateSaver(*paintInfo.context, false); | 101 GraphicsContextStateSaver stateSaver(*(paintInfo.getContext()), false); |
| 102 if (paintInfo.phase == PaintPhaseForeground || paintInfo.phase == PaintPhase
ChildBlockBackgrounds) { | 102 if (paintInfo.getPhase() == PaintPhaseForeground || paintInfo.getPhase() ==
PaintPhaseChildBlockBackgrounds) { |
| 103 IntRect clipRect = enclosingIntRect(LayoutRect(paintOffset.x() + borderL
eft(), paintOffset.y() + borderTop(), | 103 IntRect clipRect = enclosingIntRect(LayoutRect(paintOffset.x() + borderL
eft(), paintOffset.y() + borderTop(), |
| 104 width() - borderLeft() - borderRight(), height() - bord
erBottom() - borderTop() + buttonShadowHeight)); | 104 width() - borderLeft() - borderRight(), height() - bord
erBottom() - borderTop() + buttonShadowHeight)); |
| 105 if (clipRect.isEmpty()) | 105 if (clipRect.isEmpty()) |
| 106 return; | 106 return; |
| 107 stateSaver.save(); | 107 stateSaver.save(); |
| 108 paintInfo.context->clip(clipRect); | 108 paintInfo.getContext()->clip(clipRect); |
| 109 } | 109 } |
| 110 | 110 |
| 111 if (paintInfo.phase == PaintPhaseForeground) { | 111 if (paintInfo.getPhase() == PaintPhaseForeground) { |
| 112 const String& displayedFilename = fileTextValue(); | 112 const String& displayedFilename = fileTextValue(); |
| 113 const Font& font = style()->font(); | 113 const Font& font = style()->font(); |
| 114 TextRun textRun = constructTextRun(this, font, displayedFilename, style(
), TextRun::AllowTrailingExpansion, RespectDirection | RespectDirectionOverride)
; | 114 TextRun textRun = constructTextRun(this, font, displayedFilename, style(
), TextRun::AllowTrailingExpansion, RespectDirection | RespectDirectionOverride)
; |
| 115 textRun.disableRoundingHacks(); | 115 textRun.disableRoundingHacks(); |
| 116 | 116 |
| 117 // Determine where the filename should be placed | 117 // Determine where the filename should be placed |
| 118 LayoutUnit contentLeft = paintOffset.x() + borderLeft() + paddingLeft(); | 118 LayoutUnit contentLeft = paintOffset.x() + borderLeft() + paddingLeft(); |
| 119 HTMLInputElement* button = uploadButton(); | 119 HTMLInputElement* button = uploadButton(); |
| 120 if (!button) | 120 if (!button) |
| 121 return; | 121 return; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 136 if (RenderButton* buttonRenderer = toRenderButton(button->renderer())) | 136 if (RenderButton* buttonRenderer = toRenderButton(button->renderer())) |
| 137 textY = paintOffset.y() + borderTop() + paddingTop() + buttonRendere
r->baselinePosition(AlphabeticBaseline, true, HorizontalLine, PositionOnContaini
ngLine); | 137 textY = paintOffset.y() + borderTop() + paddingTop() + buttonRendere
r->baselinePosition(AlphabeticBaseline, true, HorizontalLine, PositionOnContaini
ngLine); |
| 138 else | 138 else |
| 139 textY = baselinePosition(AlphabeticBaseline, true, HorizontalLine, P
ositionOnContainingLine); | 139 textY = baselinePosition(AlphabeticBaseline, true, HorizontalLine, P
ositionOnContainingLine); |
| 140 TextRunPaintInfo textRunPaintInfo(textRun); | 140 TextRunPaintInfo textRunPaintInfo(textRun); |
| 141 textRunPaintInfo.bounds = FloatRect(textX, | 141 textRunPaintInfo.bounds = FloatRect(textX, |
| 142 textY - style()->fontMetrics().ascen
t(), | 142 textY - style()->fontMetrics().ascen
t(), |
| 143 textWidth, | 143 textWidth, |
| 144 style()->fontMetrics().height()); | 144 style()->fontMetrics().height()); |
| 145 | 145 |
| 146 paintInfo.context->setFillColor(resolveColor(CSSPropertyColor)); | 146 paintInfo.getContext()->setFillColor(resolveColor(CSSPropertyColor)); |
| 147 | 147 |
| 148 // Draw the filename | 148 // Draw the filename |
| 149 paintInfo.context->drawBidiText(font, textRunPaintInfo, IntPoint(roundTo
Int(textX), roundToInt(textY))); | 149 paintInfo.getContext()->drawBidiText(font, textRunPaintInfo, IntPoint(ro
undToInt(textX), roundToInt(textY))); |
| 150 } | 150 } |
| 151 | 151 |
| 152 // Paint the children. | 152 // Paint the children. |
| 153 RenderBlock::paintObject(paintInfo, paintOffset); | 153 RenderBlock::paintObject(paintInfo, paintOffset); |
| 154 } | 154 } |
| 155 | 155 |
| 156 void RenderFileUploadControl::computeIntrinsicLogicalWidths(LayoutUnit& minLogic
alWidth, LayoutUnit& maxLogicalWidth) const | 156 void RenderFileUploadControl::computeIntrinsicLogicalWidths(LayoutUnit& minLogic
alWidth, LayoutUnit& maxLogicalWidth) const |
| 157 { | 157 { |
| 158 // Figure out how big the filename space needs to be for a given number of c
haracters | 158 // Figure out how big the filename space needs to be for a given number of c
haracters |
| 159 // (using "0" as the nominal character). | 159 // (using "0" as the nominal character). |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 } | 228 } |
| 229 | 229 |
| 230 String RenderFileUploadControl::fileTextValue() const | 230 String RenderFileUploadControl::fileTextValue() const |
| 231 { | 231 { |
| 232 HTMLInputElement* input = toHTMLInputElement(node()); | 232 HTMLInputElement* input = toHTMLInputElement(node()); |
| 233 ASSERT(input->files()); | 233 ASSERT(input->files()); |
| 234 return theme()->fileListNameForWidth(input->files(), style()->font(), maxFil
enameWidth(), input->multiple()); | 234 return theme()->fileListNameForWidth(input->files(), style()->font(), maxFil
enameWidth(), input->multiple()); |
| 235 } | 235 } |
| 236 | 236 |
| 237 } // namespace WebCore | 237 } // namespace WebCore |
| OLD | NEW |