Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Side by Side Diff: Source/core/rendering/RenderMenuList.cpp

Issue 82083002: Move viewport unit resolution to style recalc time (Closed) Base URL: https://chromium.googlesource.com/chromium/blink@master
Patch Set: actually fix zoom handling Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * This file is part of the select element renderer in WebCore. 2 * This file is part of the select element renderer in WebCore.
3 * 3 *
4 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
5 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv ed. 5 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv ed.
6 * 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) 6 * 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 HTMLElement* element = listItems[i]; 168 HTMLElement* element = listItems[i];
169 if (!element->hasTagName(optionTag)) 169 if (!element->hasTagName(optionTag))
170 continue; 170 continue;
171 171
172 String text = toHTMLOptionElement(element)->textIndentedToRespectGroupLa bel(); 172 String text = toHTMLOptionElement(element)->textIndentedToRespectGroupLa bel();
173 applyTextTransform(style(), text, ' '); 173 applyTextTransform(style(), text, ' ');
174 if (RenderTheme::theme().popupOptionSupportsTextIndent()) { 174 if (RenderTheme::theme().popupOptionSupportsTextIndent()) {
175 // Add in the option's text indent. We can't calculate percentage v alues for now. 175 // Add in the option's text indent. We can't calculate percentage v alues for now.
176 float optionWidth = 0; 176 float optionWidth = 0;
177 if (RenderStyle* optionStyle = element->renderStyle()) 177 if (RenderStyle* optionStyle = element->renderStyle())
178 optionWidth += minimumValueForLength(optionStyle->textIndent(), 0, view()); 178 optionWidth += minimumValueForLength(optionStyle->textIndent(), 0);
179 if (!text.isEmpty()) 179 if (!text.isEmpty())
180 optionWidth += style()->font().width(text); 180 optionWidth += style()->font().width(text);
181 maxOptionWidth = max(maxOptionWidth, optionWidth); 181 maxOptionWidth = max(maxOptionWidth, optionWidth);
182 } else if (!text.isEmpty()) 182 } else if (!text.isEmpty())
183 maxOptionWidth = max(maxOptionWidth, style()->font().width(text)); 183 maxOptionWidth = max(maxOptionWidth, style()->font().width(text));
184 } 184 }
185 185
186 int width = static_cast<int>(ceilf(maxOptionWidth)); 186 int width = static_cast<int>(ceilf(maxOptionWidth));
187 if (m_optionsWidth == width) 187 if (m_optionsWidth == width)
188 return; 188 return;
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after
599 { 599 {
600 setTextFromOption(selectElement()->listToOptionIndex(listIndex)); 600 setTextFromOption(selectElement()->listToOptionIndex(listIndex));
601 } 601 }
602 602
603 FontSelector* RenderMenuList::fontSelector() const 603 FontSelector* RenderMenuList::fontSelector() const
604 { 604 {
605 return document().styleEngine()->fontSelector(); 605 return document().styleEngine()->fontSelector();
606 } 606 }
607 607
608 } 608 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698