Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add window removeMenu() method #16570

Merged
merged 3 commits into from Jan 31, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
8 changes: 8 additions & 0 deletions atom/browser/api/atom_api_top_level_window.cc
Expand Up @@ -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()) {
Expand Down Expand Up @@ -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)
Expand Down
1 change: 1 addition & 0 deletions atom/browser/api/atom_api_top_level_window.h
Expand Up @@ -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);
Expand Down
11 changes: 10 additions & 1 deletion docs/api/breaking-changes.md
Expand Up @@ -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
Expand Down Expand Up @@ -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`

Expand Down
7 changes: 5 additions & 2 deletions docs/api/browser-window.md
Expand Up @@ -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])`

Expand Down