This commit is contained in:
Shelley Vohr 2019-04-25 15:44:54 -07:00 committed by GitHub
parent 6530c99cfa
commit 075b818a8e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 35 additions and 38 deletions

View file

@ -1350,13 +1350,15 @@ void App::BuildPrototype(v8::Isolate* isolate,
base::Bind(&Browser::SetAsDefaultProtocolClient, browser))
.SetMethod("removeAsDefaultProtocolClient",
base::Bind(&Browser::RemoveAsDefaultProtocolClient, browser))
.SetMethod("setBadgeCount", base::Bind(&Browser::SetBadgeCount, browser))
.SetMethod("getBadgeCount", base::Bind(&Browser::GetBadgeCount, browser))
.SetMethod("_setBadgeCount", base::Bind(&Browser::SetBadgeCount, browser))
.SetMethod("_getBadgeCount", base::Bind(&Browser::GetBadgeCount, browser))
.SetMethod("getLoginItemSettings", &App::GetLoginItemSettings)
.SetMethod("setLoginItemSettings",
base::Bind(&Browser::SetLoginItemSettings, browser))
.SetMethod("isEmojiPanelSupported",
base::Bind(&Browser::IsEmojiPanelSupported, browser))
.SetProperty("badgeCount", base::Bind(&Browser::GetBadgeCount, browser),
base::Bind(&Browser::SetBadgeCount, browser))
#if defined(OS_MACOSX)
.SetMethod("hide", base::Bind(&Browser::Hide, browser))
.SetMethod("show", base::Bind(&Browser::Show, browser))

View file

@ -1064,6 +1064,7 @@ gpuDevice:
machineModelName: 'MacBookPro',
machineModelVersion: '11.5' }
```
Using `basic` should be preferred if only basic information like `vendorId` or `driverId` is needed.
### `app.setBadgeCount(count)` _Linux_ _macOS_
@ -1080,10 +1081,14 @@ On macOS, it shows on the dock icon. On Linux, it only works for Unity launcher.
**Note:** Unity launcher requires the existence of a `.desktop` file to work,
for more information please read [Desktop Environment Integration][unity-requirement].
**[Deprecated Soon](modernization/property-updates.md)**
### `app.getBadgeCount()` _Linux_ _macOS_
Returns `Integer` - The current value displayed in the counter badge.
**[Deprecated Soon](modernization/property-updates.md)**
### `app.isUnityRunning()` _Linux_
Returns `Boolean` - Whether the current desktop environment is Unity launcher.
@ -1344,11 +1349,6 @@ Sets the `image` associated with this dock icon.
## Properties
### `app.applicationMenu`
A `Menu` property that return [`Menu`](menu.md) if one has been set and `null` otherwise.
Users can pass a [Menu](menu.md) to set this property.
### `app.accessibilitySupportEnabled` _macOS_ _Windows_
A `Boolean` property that's `true` if Chrome's accessibility support is enabled, `false` otherwise. This property will be `true` if the use of assistive technologies, such as screen readers, has been detected. Setting this property to `true` manually enables Chrome's accessibility support, allowing developers to expose accessibility switch to users in application settings.
@ -1359,6 +1359,20 @@ This API must be called after the `ready` event is emitted.
**Note:** Rendering accessibility tree can significantly affect the performance of your app. It should not be enabled by default.
### `app.applicationMenu`
A `Menu` property that return [`Menu`](menu.md) if one has been set and `null` otherwise.
Users can pass a [Menu](menu.md) to set this property.
### `app.badgeCount` _Linux_ _macOS_
An `Integer` property that returns the badge count for current app. Setting the count to `0` will hide the badge.
On macOS, setting this with any nonzero integer shows on the dock icon. On Linux, this property only works for Unity launcher.
**Note:** Unity launcher requires the existence of a `.desktop` file to work,
for more information please read [Desktop Environment Integration][unity-requirement].
### `app.isPackaged`
A `Boolean` property that returns `true` if the app is packaged, `false` otherwise. For many apps, this property can be used to distinguish development and production environments.

View file

@ -5,7 +5,6 @@ The Electron team is currently undergoing an initiative to convert separate gett
## Candidates
* `app` module
* `badgeCount`
* `name`
* `dock`
* `badge`
@ -58,3 +57,4 @@ The Electron team is currently undergoing an initiative to convert separate gett
* `app` module
* `accessibilitySupport`
* `applicationMenu`
* `badgeCount`

View file

@ -91,6 +91,7 @@ app.getFileIcon = deprecate.promisify(app.getFileIcon)
// Property Deprecations
deprecate.fnToProperty(app, 'accessibilitySupportEnabled', '_isAccessibilitySupportEnabled', '_setAccessibilitySupportEnabled')
deprecate.fnToProperty(app, 'badgeCount', '_getBadgeCount', '_setBadgeCount')
// Wrappers for native classes.
const { DownloadItem } = process.electronBinding('download_item')

View file

@ -502,51 +502,31 @@ describe('app module', () => {
})
})
describe('app.setBadgeCount', () => {
describe('app.badgeCount', () => {
const platformIsNotSupported =
(process.platform === 'win32') ||
(process.platform === 'linux' && !app.isUnityRunning())
const platformIsSupported = !platformIsNotSupported
const expectedBadgeCount = 42
let returnValue: boolean | null = null
beforeEach(() => { returnValue = app.setBadgeCount(expectedBadgeCount) })
after(() => {
// Remove the badge.
app.setBadgeCount(0)
})
after(() => { app.badgeCount = 0 })
describe('on supported platform', () => {
before(function () {
if (platformIsNotSupported) {
this.skip()
}
})
it('sets a badge count', function () {
if (platformIsNotSupported) return this.skip()
it('returns true', () => {
expect(returnValue).to.equal(true)
})
it('sets a badge count', () => {
expect(app.getBadgeCount()).to.equal(expectedBadgeCount)
app.badgeCount = expectedBadgeCount
expect(app.badgeCount).to.equal(expectedBadgeCount)
})
})
describe('on unsupported platform', () => {
before(function () {
if (platformIsSupported) {
this.skip()
}
})
it('does not set a badge count', function () {
if (platformIsSupported) return this.skip()
it('returns false', () => {
expect(returnValue).to.equal(false)
})
it('does not set a badge count', () => {
expect(app.getBadgeCount()).to.equal(0)
app.badgeCount = 9999
expect(app.badgeCount).to.equal(0)
})
})
})