1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "ui/views/test/widget_test.h"
6
7#include <Cocoa/Cocoa.h>
8
9#import "base/mac/scoped_nsobject.h"
10#include "ui/views/widget/root_view.h"
11
12namespace views {
13namespace test {
14
15// static
16void WidgetTest::SimulateNativeDestroy(Widget* widget) {
17  // Retain the window while closing it, otherwise the window may lose its last
18  // owner before -[NSWindow close] completes (this offends AppKit). Usually
19  // this reference will exist on an event delivered to the runloop.
20  base::scoped_nsobject<NSWindow> window([widget->GetNativeWindow() retain]);
21  [window close];
22}
23
24// static
25bool WidgetTest::IsNativeWindowVisible(gfx::NativeWindow window) {
26  return [window isVisible];
27}
28
29// static
30ui::EventProcessor* WidgetTest::GetEventProcessor(Widget* widget) {
31  return static_cast<internal::RootView*>(widget->GetRootView());
32}
33
34}  // namespace test
35}  // namespace views
36