diff --git a/v3/STATUS.md b/v3/STATUS.md index b3d8e239..3ef24f87 100644 --- a/v3/STATUS.md +++ b/v3/STATUS.md @@ -29,7 +29,7 @@ Webview Window Interface Methods | Method | Windows | Linux | Mac | Notes | |----------------------------------------------------|---------|-------|-----|------------------------------------------| | center() | Y | | Y | | -| close() | | | Y | | +| close() | Y | | Y | | | destroy() | | | Y | | | execJS(js string) | Y | | Y | | | focus() | Y | | Y | | diff --git a/v3/pkg/application/webview_window.go b/v3/pkg/application/webview_window.go index 736dacc1..98ed2d47 100644 --- a/v3/pkg/application/webview_window.go +++ b/v3/pkg/application/webview_window.go @@ -590,6 +590,10 @@ func (w *WebviewWindow) Close() { if w.impl == nil { return } + if w.options.HideOnClose { + invokeSync(func() { w.Hide() }) + return + } invokeSync(w.impl.close) } diff --git a/v3/pkg/application/webview_window_windows.go b/v3/pkg/application/webview_window_windows.go index d05eb6ca..82f669df 100644 --- a/v3/pkg/application/webview_window_windows.go +++ b/v3/pkg/application/webview_window_windows.go @@ -351,8 +351,7 @@ func (w *windowsWebviewWindow) setZoom(zoom float64) { } func (w *windowsWebviewWindow) close() { - //TODO implement me - panic("implement me") + w32.SendMessage(w.hwnd, w32.WM_CLOSE, 0, 0) } func (w *windowsWebviewWindow) zoom() {