diff options
Diffstat (limited to 'Source/WebCore/rendering/RenderFileUploadControl.cpp')
-rw-r--r-- | Source/WebCore/rendering/RenderFileUploadControl.cpp | 11 |
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))); } |