Index: views/window/window_win.cc |
=================================================================== |
--- views/window/window_win.cc (revision 85701) |
+++ views/window/window_win.cc (working copy) |
@@ -310,7 +310,7 @@ |
gfx::Insets WindowWin::GetClientAreaInsets() const { |
// Returning an empty Insets object causes the default handling in |
// WidgetWin::OnNCCalcSize() to be invoked. |
- if (GetWindow()->ShouldUseNativeFrame()) |
+ if (delegate_->IsUsingNativeFrame()) |
return gfx::Insets(); |
if (IsMaximized()) { |
@@ -331,7 +331,7 @@ |
// rect when using the opaque frame. |
// Note: this is only required for non-fullscreen windows. Note that |
// fullscreen windows are in restored state, not maximized. |
- return gfx::Insets(0, 0, 0, 0); |
+ return gfx::Insets(0, 0, IsFullscreen() ? 0 : 1, 0); |
} |
int WindowWin::GetShowState() const { |
@@ -414,7 +414,7 @@ |
WidgetWin::OnExitSizeMove(); |
delegate_->OnNativeWindowEndUserBoundsChange(); |
- if (!GetWindow()->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()). |
@@ -438,7 +438,7 @@ |
void WindowWin::OnInitMenu(HMENU menu) { |
// We only need to manually enable the system menu if we're not using a native |
// frame. |
- if (GetWindow()->ShouldUseNativeFrame()) |
+ if (delegate_->IsUsingNativeFrame()) |
WidgetWin::OnInitMenu(menu); |
bool is_fullscreen = IsFullscreen(); |
@@ -484,8 +484,7 @@ |
ExecuteSystemMenuCommand(id); |
return 0; |
} |
- } else if (message == WM_NCLBUTTONDOWN && |
- !GetWindow()->ShouldUseNativeFrame()) { |
+ } else if (message == WM_NCLBUTTONDOWN && !delegate_->IsUsingNativeFrame()) { |
switch (w_param) { |
case HTCLOSE: |
case HTMINBUTTON: |
@@ -563,7 +562,7 @@ |
if (IsVisible()) |
GetWindow()->non_client_view()->SchedulePaint(); |
- if (!GetWindow()->ShouldUseNativeFrame()) { |
+ if (!ShouldUseNativeFrame()) { |
// TODO(beng, et al): Hack to redraw this window and child windows |
// synchronously upon activation. Not all child windows are redrawing |
// themselves leading to issues like http://crbug.com/74604 |
@@ -584,7 +583,6 @@ |
} |
LRESULT WindowWin::OnNCCalcSize(BOOL mode, LPARAM l_param) { |
- //return 0; |
// We only override the default handling if we need to specify a custom |
// non-client edge width. Note that in most cases "no insets" means no |
// custom width, but in fullscreen mode we want a custom width of 0. |
@@ -626,7 +624,7 @@ |
if (EdgeHasTopmostAutoHideTaskbar(ABE_LEFT, monitor)) |
client_rect->left += kAutoHideTaskbarThicknessPx; |
if (EdgeHasTopmostAutoHideTaskbar(ABE_TOP, monitor)) { |
- if (GetWindow()->ShouldUseNativeFrame()) { |
+ if (delegate_->IsUsingNativeFrame()) { |
// Tricky bit. Due to a bug in DwmDefWindowProc()'s handling of |
// WM_NCHITTEST, having any nonclient area atop the window causes the |
// caption buttons to draw onscreen but not respond to mouse |
@@ -667,7 +665,7 @@ |
LRESULT WindowWin::OnNCHitTest(const CPoint& point) { |
// If the DWM is rendering the window controls, we need to give the DWM's |
// default window procedure first chance to handle hit testing. |
- if (GetWindow()->ShouldUseNativeFrame()) { |
+ if (ShouldUseNativeFrame()) { |
LRESULT result; |
if (DwmDefWindowProc(GetNativeView(), WM_NCHITTEST, 0, |
MAKELPARAM(point.x, point.y), &result)) { |
@@ -692,14 +690,14 @@ |
// When using a custom frame, we want to avoid calling DefWindowProc() since |
// that may render artifacts. |
SetMsgHandled((!IsActive() || is_in_size_move_) && |
- !GetWindow()->ShouldUseNativeFrame()); |
+ !delegate_->IsUsingNativeFrame()); |
} |
LRESULT WindowWin::OnNCUAHDrawCaption(UINT msg, WPARAM w_param, |
LPARAM l_param) { |
// See comment in widget_win.h at the definition of WM_NCUAHDRAWCAPTION for |
// an explanation about why we need to handle this message. |
- SetMsgHandled(!GetWindow()->ShouldUseNativeFrame()); |
+ SetMsgHandled(!delegate_->IsUsingNativeFrame()); |
return 0; |
} |
@@ -707,7 +705,7 @@ |
LPARAM l_param) { |
// See comment in widget_win.h at the definition of WM_NCUAHDRAWCAPTION for |
// an explanation about why we need to handle this message. |
- SetMsgHandled(!GetWindow()->ShouldUseNativeFrame()); |
+ SetMsgHandled(!delegate_->IsUsingNativeFrame()); |
return 0; |
} |
@@ -764,7 +762,7 @@ |
((notification_code & sc_mask) == SC_MOVE) || |
((notification_code & sc_mask) == SC_MAXIMIZE))) |
return; |
- if (!GetWindow()->ShouldUseNativeFrame()) { |
+ if (!delegate_->IsUsingNativeFrame()) { |
if ((notification_code & sc_mask) == SC_MINIMIZE || |
(notification_code & sc_mask) == SC_MAXIMIZE || |
(notification_code & sc_mask) == SC_RESTORE) { |
@@ -1207,7 +1205,7 @@ |
} |
NonClientFrameView* WindowWin::CreateFrameViewForWindow() { |
- if (GetWindow()->ShouldUseNativeFrame()) |
+ if (ShouldUseNativeFrame()) |
return new NativeFrameView(GetWindow()); |
return new CustomFrameView(GetWindow()); |
} |
@@ -1234,8 +1232,8 @@ |
// the DWM's glass non-client rendering is enabled, which is why |
// DWMNCRP_ENABLED is used for the native frame case. _DISABLED means the |
// DWM doesn't render glass, and so is used in the custom frame case. |
- DWMNCRENDERINGPOLICY policy = GetWindow()->ShouldUseNativeFrame() ? |
- DWMNCRP_ENABLED : DWMNCRP_DISABLED; |
+ DWMNCRENDERINGPOLICY policy = |
+ delegate_->IsUsingNativeFrame() ? DWMNCRP_ENABLED : DWMNCRP_DISABLED; |
DwmSetWindowAttribute(GetNativeView(), DWMWA_NCRENDERING_POLICY, |
&policy, sizeof(DWMNCRENDERINGPOLICY)); |
} |
@@ -1309,7 +1307,7 @@ |
void WindowWin::ResetWindowRegion(bool force) { |
// A native frame uses the native window region, and we don't want to mess |
// with it. |
- if (GetWindow()->ShouldUseNativeFrame()) { |
+ if (delegate_->IsUsingNativeFrame()) { |
if (force) |
SetWindowRgn(NULL, TRUE); |
return; |