feat: add window removeMenu() method (#16570)

* feat: add window removeMenu() method

* chore: remove original method from docs and code

* retain backwards compatibility
This commit is contained in:
Shelley Vohr 2019-01-31 10:58:23 -08:00 committed by GitHub
parent 2f35c98e76
commit c8c1be7ae5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 24 additions and 3 deletions

View file

@ -659,6 +659,13 @@ void TopLevelWindow::SetMenu(v8::Isolate* isolate, v8::Local<v8::Value> value) {
}
}
void TopLevelWindow::RemoveMenu() {
mate::Handle<Menu> menu;
menu_.Reset();
window_->SetMenu(nullptr);
}
void TopLevelWindow::SetParentWindow(v8::Local<v8::Value> value,
mate::Arguments* args) {
if (IsModal()) {
@ -1103,6 +1110,7 @@ void TopLevelWindow::BuildPrototype(v8::Isolate* isolate,
.SetMethod("setContentProtection", &TopLevelWindow::SetContentProtection)
.SetMethod("setFocusable", &TopLevelWindow::SetFocusable)
.SetMethod("setMenu", &TopLevelWindow::SetMenu)
.SetMethod("removeMenu", &TopLevelWindow::RemoveMenu)
.SetMethod("setParentWindow", &TopLevelWindow::SetParentWindow)
.SetMethod("setBrowserView", &TopLevelWindow::SetBrowserView)
.SetMethod("addBrowserView", &TopLevelWindow::AddBrowserView)

View file

@ -165,6 +165,7 @@ class TopLevelWindow : public mate::TrackableObject<TopLevelWindow>,
void SetContentProtection(bool enable);
void SetFocusable(bool focusable);
void SetMenu(v8::Isolate* isolate, v8::Local<v8::Value> menu);
void RemoveMenu();
void SetParentWindow(v8::Local<v8::Value> value, mate::Arguments* args);
virtual void SetBrowserView(v8::Local<v8::Value> value);
virtual void AddBrowserView(v8::Local<v8::Value> value);

View file

@ -8,6 +8,15 @@ The `FIXME` string is used in code comments to denote things that should be fixe
# Planned Breaking API Changes (6.0)
## `win.setMenu(null)`
```js
// Deprecated
win.setMenu(null)
// Replace with
win.removeMenu()
```
## `electron.screen` in renderer process
```js
@ -64,7 +73,7 @@ A new API, `protocol.registerSchemesAsPrivileged` has been added and should be u
# Planned Breaking API Changes (4.0)
The following list includes the breaking API changes planned for Electron 4.0.
The following list includes the breaking API changes made in Electron 4.0.
## `app.makeSingleInstance`

View file

@ -1308,8 +1308,11 @@ Same as `webContents.reload`.
* `menu` Menu | null
Sets the `menu` as the window's menu bar, setting it to `null` will remove the
menu bar.
Sets the `menu` as the window's menu bar.
#### `win.removeMenu()` _Linux_ _Windows_
Remove the window's menu bar.
#### `win.setProgressBar(progress[, options])`