Home | History | Annotate | Download | only in test
      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