#include <Cocoa/Cocoa.h>
+#import "base/mac/scoped_nsobject.h"
#include "ui/views/widget/root_view.h"
namespace views {
// static
void WidgetTest::SimulateNativeDestroy(Widget* widget) {
- DCHECK([widget->GetNativeWindow() isReleasedWhenClosed]);
- [widget->GetNativeWindow() close];
+ // Retain the window while closing it, otherwise the window may lose its last
+ // owner before -[NSWindow close] completes (this offends AppKit). Usually
+ // this reference will exist on an event delivered to the runloop.
+ base::scoped_nsobject<NSWindow> window([widget->GetNativeWindow() retain]);
+ [window close];
}
// static