| Index: Source/core/rendering/RenderMenuList.cpp
|
| diff --git a/Source/core/rendering/RenderMenuList.cpp b/Source/core/rendering/RenderMenuList.cpp
|
| index ea821c5f7b406677c36fde93707f1bbf63a75bf6..c453ca6b30b70fdd80d6d24a3a5f8eb809d95f28 100644
|
| --- a/Source/core/rendering/RenderMenuList.cpp
|
| +++ b/Source/core/rendering/RenderMenuList.cpp
|
| @@ -86,7 +86,7 @@ void RenderMenuList::trace(Visitor* visitor)
|
|
|
| // FIXME: Instead of this hack we should add a ShadowRoot to <select> with no insertion point
|
| // to prevent children from rendering.
|
| -bool RenderMenuList::isChildAllowed(RenderObject* object, RenderStyle*) const
|
| +bool RenderMenuList::isChildAllowed(RenderObject* object, const RenderStyle*) const
|
| {
|
| return object->isAnonymous() && !object->isRenderFullScreen();
|
| }
|
| @@ -108,7 +108,7 @@ void RenderMenuList::createInnerBlock()
|
|
|
| void RenderMenuList::adjustInnerStyle()
|
| {
|
| - RenderStyle* innerStyle = m_innerBlock->style();
|
| + RenderStyle* innerStyle = m_innerBlock->deprecatedMutableStyle();
|
| innerStyle->setFlexGrow(1);
|
| innerStyle->setFlexShrink(1);
|
| // Use margin:auto instead of align-items:center to get safe centering, i.e.
|
| @@ -120,10 +120,10 @@ void RenderMenuList::adjustInnerStyle()
|
| innerStyle->setAlignSelf(ItemPositionFlexStart);
|
| }
|
|
|
| - innerStyle->setPaddingLeft(Length(LayoutTheme::theme().popupInternalPaddingLeft(style()), Fixed));
|
| - innerStyle->setPaddingRight(Length(LayoutTheme::theme().popupInternalPaddingRight(style()), Fixed));
|
| - innerStyle->setPaddingTop(Length(LayoutTheme::theme().popupInternalPaddingTop(style()), Fixed));
|
| - innerStyle->setPaddingBottom(Length(LayoutTheme::theme().popupInternalPaddingBottom(style()), Fixed));
|
| + innerStyle->setPaddingLeft(Length(LayoutTheme::theme().popupInternalPaddingLeft(deprecatedMutableStyle()), Fixed));
|
| + innerStyle->setPaddingRight(Length(LayoutTheme::theme().popupInternalPaddingRight(deprecatedMutableStyle()), Fixed));
|
| + innerStyle->setPaddingTop(Length(LayoutTheme::theme().popupInternalPaddingTop(deprecatedMutableStyle()), Fixed));
|
| + innerStyle->setPaddingBottom(Length(LayoutTheme::theme().popupInternalPaddingBottom(deprecatedMutableStyle()), Fixed));
|
|
|
| if (m_optionStyle) {
|
| if ((m_optionStyle->direction() != innerStyle->direction() || m_optionStyle->unicodeBidi() != innerStyle->unicodeBidi()))
|
| @@ -163,7 +163,7 @@ void RenderMenuList::styleDidChange(StyleDifference diff, const RenderStyle* old
|
| RenderBlock::styleDidChange(diff, oldStyle);
|
|
|
| if (m_buttonText)
|
| - m_buttonText->setStyle(style());
|
| + m_buttonText->setStyle(deprecatedMutableStyle());
|
| if (m_innerBlock) // RenderBlock handled updating the anonymous block's style.
|
| adjustInnerStyle();
|
|
|
| @@ -188,7 +188,7 @@ void RenderMenuList::updateOptionsWidth()
|
| if (LayoutTheme::theme().popupOptionSupportsTextIndent()) {
|
| // Add in the option's text indent. We can't calculate percentage values for now.
|
| float optionWidth = 0;
|
| - if (RenderStyle* optionStyle = element->renderStyle())
|
| + if (const RenderStyle* optionStyle = element->renderStyle())
|
| optionWidth += minimumValueForLength(optionStyle->textIndent(), 0);
|
| if (!text.isEmpty())
|
| optionWidth += style()->font().width(text);
|
| @@ -252,7 +252,7 @@ void RenderMenuList::setTextFromOption(int optionIndex)
|
| HTMLOptionElement* selectedOptionElement = toHTMLOptionElement(listItems[firstSelectedIndex]);
|
| ASSERT(selectedOptionElement->selected());
|
| text = selectedOptionElement->textIndentedToRespectGroupLabel();
|
| - m_optionStyle = selectedOptionElement->renderStyle();
|
| + m_optionStyle = selectedOptionElement->mutableRenderStyle();
|
| } else {
|
| Locale& locale = select->locale();
|
| String localizedNumberString = locale.convertToLocalizedNumber(String::number(selectedCount));
|
| @@ -265,7 +265,7 @@ void RenderMenuList::setTextFromOption(int optionIndex)
|
| Element* element = listItems[i];
|
| if (isHTMLOptionElement(*element)) {
|
| text = toHTMLOptionElement(element)->textIndentedToRespectGroupLabel();
|
| - m_optionStyle = element->renderStyle();
|
| + m_optionStyle = element->mutableRenderStyle();
|
| }
|
| }
|
| }
|
| @@ -285,7 +285,7 @@ void RenderMenuList::setText(const String& s)
|
| if (m_buttonText)
|
| m_buttonText->destroy();
|
| m_buttonText = new RenderBR(&document());
|
| - m_buttonText->setStyle(style());
|
| + m_buttonText->setStyle(deprecatedMutableStyle());
|
| addChild(m_buttonText);
|
| }
|
| } else {
|
| @@ -298,7 +298,7 @@ void RenderMenuList::setText(const String& s)
|
| if (m_buttonText)
|
| m_buttonText->destroy();
|
| m_buttonText = new RenderText(&document(), s.impl());
|
| - m_buttonText->setStyle(style());
|
| + m_buttonText->setStyle(deprecatedMutableStyle());
|
| // We need to set the text explicitly though it was specified in the
|
| // constructor because RenderText doesn't refer to the text
|
| // specified in the constructor in a case of re-transforming.
|
| @@ -481,7 +481,7 @@ PopupMenuStyle RenderMenuList::itemStyle(unsigned listIndex) const
|
| bool itemHasCustomBackgroundColor;
|
| getItemBackgroundColor(listIndex, itemBackgroundColor, itemHasCustomBackgroundColor);
|
|
|
| - RenderStyle* style = element->renderStyle() ? element->renderStyle() : element->computedStyle();
|
| + const RenderStyle* style = element->renderStyle() ? element->renderStyle() : element->computedStyle();
|
| return style ? PopupMenuStyle(resolveColor(style, CSSPropertyColor), itemBackgroundColor, style->font(), style->visibility() == VISIBLE,
|
| isHTMLOptionElement(*element) ? toHTMLOptionElement(*element).isDisplayNone() : style->display() == NONE,
|
| style->textIndent(), style->direction(), isOverride(style->unicodeBidi()),
|
|
|