blob: a934f58378ee38ada7f9f73d2e459b704a9a1b91 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ui/views/test/platform_test_helper.h"
#include <Cocoa/Cocoa.h>
#import "base/mac/scoped_nsobject.h"
#import "base/mac/scoped_objc_class_swizzler.h"
#include "base/macros.h"
#include "base/memory/ptr_util.h"
#import "ui/views/cocoa/bridged_native_widget.h"
#include "ui/views/widget/native_widget_mac.h"
#include "ui/views/widget/widget.h"
namespace views {
void PlatformTestHelper::SimulateNativeDestroy(Widget* widget) {
// 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];
}
} // namespace views