summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/RenderFileUploadControl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/rendering/RenderFileUploadControl.cpp')
-rw-r--r--Source/WebCore/rendering/RenderFileUploadControl.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/Source/WebCore/rendering/RenderFileUploadControl.cpp b/Source/WebCore/rendering/RenderFileUploadControl.cpp
index 3b880ccf1..bac5b59c7 100644
--- a/Source/WebCore/rendering/RenderFileUploadControl.cpp
+++ b/Source/WebCore/rendering/RenderFileUploadControl.cpp
@@ -60,6 +60,11 @@ RenderFileUploadControl::~RenderFileUploadControl()
{
}
+bool RenderFileUploadControl::canBeReplacedWithInlineRunIn() const
+{
+ return false;
+}
+
void RenderFileUploadControl::updateFromElement()
{
HTMLInputElement* input = static_cast<HTMLInputElement*>(node());
@@ -141,8 +146,7 @@ void RenderFileUploadControl::paintObject(PaintInfo& paintInfo, const LayoutPoin
// We want to match the button's baseline
RenderButton* buttonRenderer = toRenderButton(button->renderer());
// FIXME: Make this work with transforms.
- LayoutUnit textY = buttonRenderer->absoluteBoundingBoxRectIgnoringTransforms().y()
- + buttonRenderer->baselinePosition(AlphabeticBaseline, true, HorizontalLine, PositionOnContainingLine);
+ LayoutUnit textY = paintOffset.y() + buttonRenderer->baselinePosition(AlphabeticBaseline, true, HorizontalLine, PositionOnContainingLine);
paintInfo.context->setFillColor(style()->visitedDependentColor(CSSPropertyColor), style()->colorSpace());
@@ -190,7 +194,8 @@ void RenderFileUploadControl::computePreferredLogicalWidths()
const String label = theme()->fileListDefaultLabel(node()->toInputElement()->multiple());
float defaultLabelWidth = font.width(constructTextRun(this, font, label, style, TextRun::AllowTrailingExpansion));
if (HTMLInputElement* button = uploadButton())
- defaultLabelWidth += button->renderer()->maxPreferredLogicalWidth() + afterButtonSpacing;
+ if (RenderObject* buttonRenderer = button->renderer())
+ defaultLabelWidth += buttonRenderer->maxPreferredLogicalWidth() + afterButtonSpacing;
m_maxPreferredLogicalWidth = static_cast<int>(ceilf(max(minDefaultLabelWidth, defaultLabelWidth)));
}