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