зеркало из https://github.com/mozilla/pjs.git
don't add scrollbar width to getPrefWidth in nsComboboxControlFrame if the themed widget has set the internal button width to 0. b=381669 r/sr=roc
This commit is contained in:
Родитель
82faee353f
Коммит
4753cd9fcc
|
@ -593,15 +593,16 @@ nsComboboxControlFrame::GetPrefWidth(nsIRenderingContext *aRenderingContext)
|
|||
// of our display frame plus a scrollbar. This can happen, eg, if the
|
||||
// dropdown is empty.
|
||||
if (NS_LIKELY(mListControlFrame && mDisplayFrame)) {
|
||||
nsIScrollableFrame* scrollable;
|
||||
CallQueryInterface(mListControlFrame, &scrollable);
|
||||
NS_ASSERTION(scrollable, "List must be a scrollable frame");
|
||||
nsBoxLayoutState bls(PresContext(), aRenderingContext);
|
||||
nscoord displayResult =
|
||||
scrollable->GetDesiredScrollbarSizes(&bls).LeftRight() +
|
||||
nsLayoutUtils::IntrinsicForContainer(aRenderingContext, mDisplayFrame,
|
||||
nsLayoutUtils::PREF_WIDTH);
|
||||
|
||||
nscoord displayResult = nsLayoutUtils::IntrinsicForContainer(aRenderingContext, mDisplayFrame,
|
||||
nsLayoutUtils::PREF_WIDTH);
|
||||
nsPresContext *presContext = PresContext();
|
||||
if (!IsThemed() || presContext->GetTheme()->ThemeNeedsComboboxDropmarker()) {
|
||||
nsIScrollableFrame* scrollable;
|
||||
CallQueryInterface(mListControlFrame, &scrollable);
|
||||
NS_ASSERTION(scrollable, "List must be a scrollable frame");
|
||||
nsBoxLayoutState bls(presContext, aRenderingContext);
|
||||
displayResult += scrollable->GetDesiredScrollbarSizes(&bls).LeftRight();
|
||||
}
|
||||
result = PR_MAX(result, displayResult);
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче