fix: prevent crash when keyboard event immediately precedes calling BrowserWindow.close() (#27315)
* fix: prevent crash when destroyed widget receives keyboard event Activating a key to close a window will cause a silent crash. Handling the keyboard event will lead to a nullptr dereferenced in Chromium code if the window widget has already been destroyed. * test: ensure BrowserWindow doesn't crash from keyboard events during close
This commit is contained in:
parent
d7b02e123a
commit
4334110339
3 changed files with 17 additions and 0 deletions
|
@ -174,6 +174,7 @@ class NativeWindowViews : public NativeWindow,
|
|||
void OnWidgetBoundsChanged(views::Widget* widget,
|
||||
const gfx::Rect& bounds) override;
|
||||
void OnWidgetDestroying(views::Widget* widget) override;
|
||||
void OnWidgetDestroyed(views::Widget* widget) override;
|
||||
|
||||
// views::WidgetDelegate:
|
||||
void DeleteDelegate() override;
|
||||
|
@ -313,6 +314,7 @@ class NativeWindowViews : public NativeWindow,
|
|||
std::string title_;
|
||||
gfx::Size widget_size_;
|
||||
double opacity_ = 1.0;
|
||||
bool widget_destroyed_ = false;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(NativeWindowViews);
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue