Index: views/window/window_win.cc |
=================================================================== |
--- views/window/window_win.cc (revision 85284) |
+++ views/window/window_win.cc (working copy) |
@@ -233,6 +233,30 @@ |
//////////////////////////////////////////////////////////////////////////////// |
// WindowWin, public: |
+WindowWin::WindowWin(internal::NativeWindowDelegate* delegate) |
+ : WidgetWin(delegate->AsNativeWidgetDelegate()), |
+ delegate_(delegate), |
+ focus_on_creation_(true), |
+ restored_enabled_(false), |
+ fullscreen_(false), |
+ is_active_(false), |
+ lock_updates_(false), |
+ saved_window_style_(0), |
+ ignore_window_pos_changes_(false), |
+ ignore_pos_changes_factory_(this), |
+ force_hidden_count_(0), |
+ is_right_mouse_pressed_on_caption_(false), |
+ last_monitor_(NULL), |
+ is_in_size_move_(false) { |
+ is_window_ = true; |
+ // Initialize these values to 0 so that subclasses can override the default |
+ // behavior before calling Init. |
+ set_window_style(0); |
+ set_window_ex_style(0); |
+} |
+ |
+ |
+ |
WindowWin::~WindowWin() { |
} |
@@ -283,28 +307,6 @@ |
/////////////////////////////////////////////////////////////////////////////// |
// WindowWin, protected: |
-WindowWin::WindowWin() |
- : ALLOW_THIS_IN_INITIALIZER_LIST(delegate_(this)), |
- focus_on_creation_(true), |
- restored_enabled_(false), |
- fullscreen_(false), |
- is_active_(false), |
- lock_updates_(false), |
- saved_window_style_(0), |
- ignore_window_pos_changes_(false), |
- ignore_pos_changes_factory_(this), |
- force_hidden_count_(0), |
- is_right_mouse_pressed_on_caption_(false), |
- last_monitor_(NULL), |
- is_in_size_move_(false) { |
- SetNativeWindow(this); |
- is_window_ = true; |
- // Initialize these values to 0 so that subclasses can override the default |
- // behavior before calling Init. |
- set_window_style(0); |
- set_window_ex_style(0); |
-} |
- |
gfx::Insets WindowWin::GetClientAreaInsets() const { |
// Returning an empty Insets object causes the default handling in |
// WidgetWin::OnNCCalcSize() to be invoked. |
@@ -371,7 +373,7 @@ |
} |
void WindowWin::OnClose() { |
- GetWindow()->CloseWindow(); |
+ GetWindow()->Close(); |
} |
void WindowWin::OnCommand(UINT notification_code, int command_id, HWND window) { |
@@ -412,7 +414,7 @@ |
WidgetWin::OnExitSizeMove(); |
delegate_->OnNativeWindowEndUserBoundsChange(); |
- if (!GetThemeProvider()->ShouldUseNativeFrame()) { |
+ if (!ShouldUseNativeFrame()) { |
// Sending SWP_FRAMECHANGED forces a non-client repaint, which fixes the |
// glitch in rendering the bottom pixel of the window caused by us |
// offsetting the client rect there (See comment in GetClientAreaInsets()). |
@@ -773,7 +775,8 @@ |
!!(GetKeyState(VK_SHIFT) & 0x8000), |
!!(GetKeyState(VK_CONTROL) & 0x8000), |
false); |
- GetFocusManager()->ProcessAccelerator(accelerator); |
+ AsNativeWidget()->GetWidget()->GetFocusManager()-> |
+ ProcessAccelerator(accelerator); |
return; |
} |
@@ -892,6 +895,14 @@ |
//////////////////////////////////////////////////////////////////////////////// |
// WindowWin, NativeWindow implementation: |
+Window* WindowWin::GetWindow() { |
+ return delegate_->AsWindow(); |
+} |
+ |
+const Window* WindowWin::GetWindow() const { |
+ return delegate_->AsWindow(); |
+} |
+ |
NativeWidget* WindowWin::AsNativeWidget() { |
return this; |
} |
@@ -1163,10 +1174,6 @@ |
0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); |
} |
-bool WindowWin::IsAppWindow() const { |
- return false; |
-} |
- |
void WindowWin::SetUseDragFrame(bool use_drag_frame) { |
if (use_drag_frame) { |
// Make the frame slightly transparent during the drag operation. |
@@ -1187,8 +1194,8 @@ |
NonClientFrameView* WindowWin::CreateFrameViewForWindow() { |
if (ShouldUseNativeFrame()) |
- return new NativeFrameView(this); |
- return new CustomFrameView(this); |
+ return new NativeFrameView(GetWindow()); |
+ return new CustomFrameView(GetWindow()); |
} |
void WindowWin::UpdateFrameAfterFrameChange() { |
@@ -1201,10 +1208,7 @@ |
} |
bool WindowWin::ShouldUseNativeFrame() const { |
- ui::ThemeProvider* tp = GetThemeProvider(); |
- if (!tp) |
- return WidgetWin::IsAeroGlassEnabled(); |
- return tp->ShouldUseNativeFrame(); |
+ return WidgetWin::IsAeroGlassEnabled(); |
} |
void WindowWin::FrameTypeChanged() { |
@@ -1344,26 +1348,13 @@ |
SendMessage(GetNativeView(), WM_SYSCOMMAND, command, 0); |
} |
-namespace { |
-BOOL CALLBACK WindowCallbackProc(HWND hwnd, LPARAM lParam) { |
- NativeWidget* native_widget = |
- NativeWidget::GetNativeWidgetForNativeView(hwnd); |
- if (native_widget) |
- Window::CloseSecondaryWidget(native_widget->GetWidget()); |
- return TRUE; |
-} |
-} // namespace |
- |
-void Window::CloseAllSecondaryWindows() { |
- EnumThreadWindows(GetCurrentThreadId(), WindowCallbackProc, 0); |
-} |
- |
//////////////////////////////////////////////////////////////////////////////// |
// NativeWindow, public: |
// static |
-Window* NativeWindow::CreateNativeWindow() { |
- return new WindowWin; |
+NativeWindow* NativeWindow::CreateNativeWindow( |
+ internal::NativeWindowDelegate* delegate) { |
+ return new WindowWin(delegate); |
} |
} // namespace views |