ProgressShadowElement.cpp [plain text]
#include "config.h"
#include "ProgressShadowElement.h"
#include "HTMLNames.h"
#include "HTMLProgressElement.h"
#include "RenderProgress.h"
namespace WebCore {
using namespace HTMLNames;
ProgressShadowElement::ProgressShadowElement(Document& document)
: HTMLDivElement(HTMLNames::divTag, document)
{
}
HTMLProgressElement* ProgressShadowElement::progressElement() const
{
return downcast<HTMLProgressElement>(shadowHost());
}
bool ProgressShadowElement::rendererIsNeeded(const RenderStyle& style)
{
RenderObject* progressRenderer = progressElement()->renderer();
return progressRenderer && !progressRenderer->style().hasAppearance() && HTMLDivElement::rendererIsNeeded(style);
}
ProgressInnerElement::ProgressInnerElement(Document& document)
: ProgressShadowElement(document)
{
}
RenderPtr<RenderElement> ProgressInnerElement::createElementRenderer(RenderStyle&& style, const RenderTreePosition&)
{
return createRenderer<RenderProgress>(*this, WTFMove(style));
}
bool ProgressInnerElement::rendererIsNeeded(const RenderStyle& style)
{
RenderObject* progressRenderer = progressElement()->renderer();
return progressRenderer && !progressRenderer->style().hasAppearance() && HTMLDivElement::rendererIsNeeded(style);
}
ProgressBarElement::ProgressBarElement(Document& document)
: ProgressShadowElement(document)
{
}
ProgressValueElement::ProgressValueElement(Document& document)
: ProgressShadowElement(document)
{
}
void ProgressValueElement::setWidthPercentage(double width)
{
setInlineStyleProperty(CSSPropertyWidth, width, CSSPrimitiveValue::CSS_PERCENTAGE);
}
}