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 12 namespace views { 13 namespace test { 14 15 // static 16 void 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 25 bool WidgetTest::IsNativeWindowVisible(gfx::NativeWindow window) { 26 return [window isVisible]; 27 } 28 29 // static 30 ui::EventProcessor* WidgetTest::GetEventProcessor(Widget* widget) { 31 return static_cast<internal::RootView*>(widget->GetRootView()); 32 } 33 34 } // namespace test 35 } // namespace views 36