mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-03 18:47:53 +00:00
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:
parent
2c9223402e
commit
d12acf85cf
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user