Skip to content

Commit e2789e8

Browse files
Suguru Hiraharasyuan100
Suguru Hirahara
authored andcommitted
Add 'fitContent' props to browserButton
Fixes brave#11201 Only BrowserButton with 'fitContent' props are forced to have the min-width:fit-content. This change is required to apply display:flex to headerActions, as it refers width instead of min-width, even though actual min-width is larger than actual width of the buttons. - Align header items on about:history (fixes brave#10465) - Polish .searchInput on about:bookmarks and about:history (addresses brave#10898 and brave#10899) Auditors: @cezaraugusto Test Plan: 1. Open about:history 2. Open about:bookmarks 3. Make sure the header items are not wrapped Test Plan 2: 1. Open https://expired.badssl.com/ 2. Minimize the window's width 3. Make sure the buttons' text do not overflow
1 parent dbb9587 commit e2789e8

File tree

7 files changed

+57
-65
lines changed

7 files changed

+57
-65
lines changed

app/renderer/about/bookmarks/bookmarks.js

+8-10
Original file line numberDiff line numberDiff line change
@@ -142,16 +142,14 @@ class Bookmarks extends React.Component {
142142
})}>
143143
<AboutPageSectionTitle data-l10n-id='bookmarkManager' />
144144
<div className='headerActions'>
145-
<div className='searchWrapper'>
146-
<span data-l10n-id='importBrowserData' className='importBrowserData' onClick={this.importBrowserData} />
147-
<span data-l10n-id='exportBookmarks' className='exportBookmarks' onClick={this.exportBookmarks} />
148-
<input type='text' className='searchInput' ref='bookmarkSearch' id='bookmarkSearch' value={this.state.search} onChange={this.onChangeSearch} data-l10n-id='bookmarkSearch' />
149-
{
150-
this.state.search
151-
? <span onClick={this.onClearSearchText} className='fa fa-close searchInputClear' />
152-
: <span className='fa fa-search searchInputPlaceholder' />
153-
}
154-
</div>
145+
<span data-l10n-id='importBrowserData' className='importBrowserData' onClick={this.importBrowserData} />
146+
<span data-l10n-id='exportBookmarks' className='exportBookmarks' onClick={this.exportBookmarks} />
147+
<input type='text' className='searchInput' ref='bookmarkSearch' id='bookmarkSearch' value={this.state.search} onChange={this.onChangeSearch} data-l10n-id='bookmarkSearch' />
148+
{
149+
this.state.search
150+
? <span onClick={this.onClearSearchText} className='fa fa-close searchInputClear' />
151+
: <span className='fa fa-search searchInputPlaceholder' />
152+
}
155153
</div>
156154
</div>
157155

app/renderer/components/common/browserButton.js

+11-4
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@ class BrowserButton extends ImmutableComponent {
2020
this.props.extensionItem && styles.browserButton_extensionItem,
2121
this.props.groupedItem && styles.browserButton_groupedItem,
2222
this.props.notificationItem && styles.browserButton_notificationItem,
23-
this.props.iconOnly && styles.browserButton_iconOnly,
2423
this.props.panelItem && styles.browserButton_panelItem,
24+
this.props.iconOnly && styles.browserButton_iconOnly,
25+
this.props.fitContent && styles.browserButton_fitContent,
2526
// TODO: These are other button styles app-wise
2627
// that needs to be refactored and included in this file
2728
// .............................................
@@ -143,16 +144,22 @@ const styles = StyleSheet.create({
143144
paddingRight: '16px',
144145
paddingLeft: '16px',
145146

146-
// Ensure that the button label does not overflow
147-
width: `calc(${globalStyles.spacing.defaultFontSize} * 6)`, // issue #6384
148-
minWidth: 'fit-content',
147+
width: 'auto',
148+
minWidth: `calc(${globalStyles.spacing.defaultFontSize} * 6)`, // issue #6384
149149

150150
':active': {
151151
// push the button down when active
152152
bottom: '-1px'
153153
}
154154
},
155155

156+
browserButton_fitContent: {
157+
// See: 11021
158+
// Ensure that the button label does not overflow
159+
width: `calc(${globalStyles.spacing.defaultFontSize} * 6)`, // issue #6384
160+
minWidth: 'fit-content'
161+
},
162+
156163
browserButton_primaryColor: {
157164
background: globalStyles.button.primary.background,
158165
borderLeft: '2px solid transparent',

js/about/certerror.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -137,12 +137,12 @@ class CertErrorPage extends React.Component {
137137
</div>) : null}
138138
</div>
139139
<div className='buttons'>
140-
<BrowserButton actionItem l10nId='certErrorSafety' onClick={this.onSafety.bind(this)} />
140+
<BrowserButton actionItem fitContent l10nId='certErrorSafety' onClick={this.onSafety.bind(this)} />
141141
{this.state.url ? (this.state.advanced
142-
? (<BrowserButton subtleItem groupedItem l10nId='certErrorButtonText' onClick={this.onAccept.bind(this)} />) : null) : null}
142+
? (<BrowserButton subtleItem groupedItem fitContent l10nId='certErrorButtonText' onClick={this.onAccept.bind(this)} />) : null) : null}
143143
{this.state.url ? (this.state.advanced
144-
? (<BrowserButton subtleItem groupedItem l10nId='certErrorShowCertificate' onClick={this.onDetail.bind(this)} />)
145-
: <BrowserButton subtleItem groupedItem l10nId='certErrorAdvanced' onClick={this.onAdvanced.bind(this)} />) : null}
144+
? (<BrowserButton subtleItem groupedItem fitContent l10nId='certErrorShowCertificate' onClick={this.onDetail.bind(this)} />)
145+
: <BrowserButton subtleItem groupedItem fitContent l10nId='certErrorAdvanced' onClick={this.onAdvanced.bind(this)} />) : null}
146146
</div>
147147
</div>
148148
}

js/about/errorPage.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ class ErrorPage extends React.Component {
3838
<span className='errorText' data-l10n-id={this.state.message} />
3939
</div>
4040
<div className='buttons'>
41-
{this.showBackButton ? <BrowserButton actionItem l10nId='back' onClick={this.goBack} /> : null}
42-
{this.state.url ? <BrowserButton actionItem groupedItem l10nId='errorReload' l10nArgs={{url: this.state.url}} onClick={this.reload} /> : null}
41+
{this.showBackButton ? <BrowserButton actionItem fitContent l10nId='back' onClick={this.goBack} /> : null}
42+
{this.state.url ? <BrowserButton actionItem groupedItem fitContent l10nId='errorReload' l10nArgs={{url: this.state.url}} onClick={this.reload} /> : null}
4343
</div>
4444
</div>
4545
}

js/about/history.js

+7-10
Original file line numberDiff line numberDiff line change
@@ -214,26 +214,23 @@ class AboutHistory extends React.Component {
214214
})}>
215215
<AboutPageSectionTitle data-l10n-id='history' />
216216
<div className='headerActions'>
217-
<div className='searchWrapper'>
218-
<input type='text' className='searchInput' ref='historySearch' id='historySearch' value={this.state.search} onChange={this.onChangeSearch} data-l10n-id='historySearch' />
219-
{
220-
this.state.search
221-
? <span onClick={this.onClearSearchText} className='fa fa-close searchInputClear' />
222-
: <span className='fa fa-search searchInputPlaceholder' />
223-
}
224-
</div>
225217
<BrowserButton primaryColor
226218
l10nId='clearBrowsingDataNow'
227219
testId='clearBrowsingDataButton'
228220
onClick={this.clearBrowsingDataNow}
229221
/>
222+
<input type='text' className='searchInput' ref='historySearch' id='historySearch' value={this.state.search} onChange={this.onChangeSearch} data-l10n-id='historySearch' />
223+
{
224+
this.state.search
225+
? <span onClick={this.onClearSearchText} className='fa fa-close searchInputClear' />
226+
: <span className='fa fa-search searchInputPlaceholder' />
227+
}
230228
</div>
231229
</div>
232230

233231
<div className={cx({
234232
siteDetailsPageContent: true,
235-
[css(commonStyles.siteDetailsPageContent)]: true,
236-
[css(commonStyles.noMarginLeft)]: true
233+
[css(commonStyles.siteDetailsPageContent, commonStyles.noMarginLeft)]: true
237234
})}>
238235
<GroupedHistoryList
239236
languageCodes={this.state.languageCodes}

less/about/bookmarks.less

+1-1
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@
179179
height: 22px;
180180
display: inline-block;
181181
vertical-align: top;
182-
margin: 7px 10px 5px 0;
182+
margin: 7px 0 5px 10px;
183183
}
184184

185185

less/about/siteDetails.less

+24-34
Original file line numberDiff line numberDiff line change
@@ -18,43 +18,33 @@ body {
1818
padding: 0 @aboutPageSectionPadding;
1919

2020
.headerActions {
21-
.searchWrapper {
22-
display: inline-block;
21+
display: flex;
22+
align-items: center;
2323

24-
/*overridden from siteDetails.less*/
25-
input.searchInput {
26-
float: none;
27-
padding: 5px;
28-
margin-top: 0;
29-
margin-right: 12px;
30-
font-size: 16px;
31-
min-width: 280px;
32-
height: 22px;
33-
}
34-
.searchInputPlaceholder {
35-
color: @gray;
36-
float: none;
37-
font-family: FontAwesome;
38-
left: -35px;
39-
margin: 0;
40-
padding: 0;
41-
position: relative;
42-
width: 0;
43-
}
44-
.searchInputClear {
45-
float: none;
46-
margin: 0;
47-
padding: 0;
48-
width: 0;
49-
position: relative;
50-
left: -35px;
51-
}
24+
/*overridden from siteDetails.less*/
25+
input.searchInput {
26+
padding: 5px;
27+
margin-left: 12px;
28+
font-size: 16px;
29+
min-width: 280px;
5230
}
53-
/*copied from preferences.less*/
54-
span.browserButton.primaryButton.clearBrowsingDataButton {
55-
font-size: 0.9em;
56-
padding: 5px 20px;
31+
32+
.searchInputPlaceholder {
33+
color: @gray;
34+
font-family: FontAwesome;
35+
left: -25px;
36+
margin: 0;
37+
padding: 0;
38+
position: relative;
39+
width: 0;
40+
}
41+
42+
.searchInputClear {
5743
margin: 0;
44+
padding: 0;
45+
width: 0;
46+
position: relative;
47+
left: -25px;
5848
}
5949
}
6050
}

0 commit comments

Comments
 (0)