RenderMediaControlElements.cpp [plain text]
#include "config.h"
#if ENABLE(VIDEO)
#include "RenderMediaControlElements.h"
#include "RenderTheme.h"
#include "RenderView.h"
namespace WebCore {
RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer(Element* element)
: RenderBlock(element)
{
}
void RenderMediaVolumeSliderContainer::layout()
{
RenderBlock::layout();
if (style()->display() == NONE || !nextSibling() || !nextSibling()->isBox())
return;
RenderBox* buttonBox = toRenderBox(nextSibling());
int absoluteOffsetTop = buttonBox->localToAbsolute(FloatPoint(0, -size().height())).y();
LayoutStateDisabler layoutStateDisabler(view());
if (UNLIKELY(absoluteOffsetTop < 0))
setY(buttonBox->offsetTop() + theme()->volumeSliderOffsetFromMuteButton(buttonBox, pixelSnappedSize()).y());
}
RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer(Element* element)
: RenderFlexibleBox(element)
{
}
static const int minWidthToDisplayTimeDisplays = 45 + 100 + 45;
void RenderMediaControlTimelineContainer::layout()
{
RenderFlexibleBox::layout();
LayoutStateDisabler layoutStateDisabler(view());
MediaControlTimelineContainerElement* container = static_cast<MediaControlTimelineContainerElement*>(node());
container->setTimeDisplaysHidden(width().toInt() < minWidthToDisplayTimeDisplays);
}
#if ENABLE(VIDEO_TRACK)
RenderTextTrackContainerElement::RenderTextTrackContainerElement(Element* element)
: RenderBlock(element)
{
}
void RenderTextTrackContainerElement::layout()
{
RenderBlock::layout();
if (style()->display() == NONE)
return;
ASSERT(mediaControlElementType(node()) == MediaTextTrackDisplayContainer);
LayoutStateDisabler layoutStateDisabler(view());
static_cast<MediaControlTextTrackContainerElement*>(node())->updateSizes();
}
#endif // ENABLE(VIDEO_TRACK)
}
#endif // ENABLE(VIDEO)