Skip to content

Commit 89b55fc

Browse files
committed
Fix nwjs#7272: win.leaveKioskMode() and win.toggleKioskMode() not working
1 parent 40db3f1 commit 89b55fc

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

src/api/nw_window_api.cc

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -772,6 +772,9 @@ NwCurrentWindowInternalEnterKioskModeInternalFunction::Run() {
772772
if (browser) {
773773
BrowserFrame* frame = BrowserView::GetBrowserViewForBrowser(browser)->frame();
774774
frame->SetFullscreen(true);
775+
#if !defined(OS_MACOSX)
776+
browser->window()->SetZOrderLevel(ui::ZOrderLevel::kFloatingWindow);
777+
#endif
775778
}
776779
} else {
777780
AppWindow* window = getAppWindow(this);
@@ -794,7 +797,10 @@ NwCurrentWindowInternalLeaveKioskModeInternalFunction::Run() {
794797
Browser* browser = getBrowser(this, id);
795798
if (browser) {
796799
BrowserFrame* frame = BrowserView::GetBrowserViewForBrowser(browser)->frame();
797-
frame->Restore();
800+
frame->SetFullscreen(false);
801+
#if !defined(OS_MACOSX)
802+
browser->window()->SetZOrderLevel(ui::ZOrderLevel::kNormal);
803+
#endif
798804
return RespondNow(NoArguments());
799805
}
800806
}
@@ -812,14 +818,18 @@ NwCurrentWindowInternalToggleKioskModeInternalFunction::Run() {
812818
if (browser) {
813819
BrowserFrame* frame = BrowserView::GetBrowserViewForBrowser(browser)->frame();
814820
if (frame->IsFullscreen()) {
815-
frame->Restore();
821+
frame->SetFullscreen(false);
816822
#if defined(OS_MACOSX)
817823
NWRestoreNSAppKioskOptions();
818-
#endif
824+
#else
825+
browser->window()->SetZOrderLevel(ui::ZOrderLevel::kNormal);
826+
#endif
819827
} else {
820828
frame->SetFullscreen(true);
821829
#if defined(OS_MACOSX)
822830
NWSetNSAppKioskOptions();
831+
#else
832+
browser->window()->SetZOrderLevel(ui::ZOrderLevel::kFloatingWindow);
823833
#endif
824834
}
825835
return RespondNow(NoArguments());

0 commit comments

Comments
 (0)