Index: views/widget/native_widget_win.cc |
diff --git a/views/widget/native_widget_win.cc b/views/widget/native_widget_win.cc |
index c356c1269925bf6a40f83e7465660e5b3c47eb1c..8ee97c9f1d5d793b6f9f9b44b8d6b7d9325802e0 100644 |
--- a/views/widget/native_widget_win.cc |
+++ b/views/widget/native_widget_win.cc |
@@ -55,47 +55,6 @@ using ui::ViewProp; |
namespace views { |
-namespace internal { |
- |
-void EnsureRectIsVisibleInRect(const gfx::Rect& parent_rect, |
- gfx::Rect* child_rect, |
- int padding) { |
- DCHECK(child_rect); |
- |
- // We use padding here because it allows some of the original web page to |
- // bleed through around the edges. |
- int twice_padding = padding * 2; |
- |
- // FIRST, clamp width and height so we don't open child windows larger than |
- // the containing parent. |
- if (child_rect->width() > (parent_rect.width() + twice_padding)) |
- child_rect->set_width(std::max(0, parent_rect.width() - twice_padding)); |
- if (child_rect->height() > parent_rect.height() + twice_padding) |
- child_rect->set_height(std::max(0, parent_rect.height() - twice_padding)); |
- |
- // SECOND, clamp x,y position to padding,padding so we don't position child |
- // windows in hyperspace. |
- // TODO(mpcomplete): I don't see what the second check in each 'if' does that |
- // isn't handled by the LAST set of 'ifs'. Maybe we can remove it. |
- if (child_rect->x() < parent_rect.x() || |
- child_rect->x() > parent_rect.right()) { |
- child_rect->set_x(parent_rect.x() + padding); |
- } |
- if (child_rect->y() < parent_rect.y() || |
- child_rect->y() > parent_rect.bottom()) { |
- child_rect->set_y(parent_rect.y() + padding); |
- } |
- |
- // LAST, nudge the window back up into the client area if its x,y position is |
- // within the parent bounds but its width/height place it off-screen. |
- if (child_rect->bottom() > parent_rect.bottom()) |
- child_rect->set_y(parent_rect.bottom() - child_rect->height() - padding); |
- if (child_rect->right() > parent_rect.right()) |
- child_rect->set_x(parent_rect.right() - child_rect->width() - padding); |
-} |
- |
-} // namespace internal |
- |
namespace { |
// Get the source HWND of the specified message. Depending on the message, the |
@@ -161,54 +120,6 @@ bool DidClientAreaSizeChange(const WINDOWPOS* window_pos) { |
window_pos->flags & SWP_FRAMECHANGED; |
} |
-// Ensures that the child window stays within the boundaries of the parent |
-// before setting its bounds. If |parent_window| is NULL, the bounds of the |
-// parent are assumed to be the bounds of the monitor that |child_window| is |
-// nearest to. If |child_window| isn't visible yet and |insert_after_window| |
-// is non-NULL and visible, the monitor |insert_after_window| is on is used |
-// as the parent bounds instead. |
-// TODO(beng): This function could easily not be so windowsy, deal with Widgets |
-// instead of HWNDs, and move to Widget instead of NativeWidget and |
-// then miraculously also work on Linux. |
-void SetChildBounds(HWND child_window, |
- HWND parent_window, |
- HWND insert_after_window, |
- const gfx::Rect& bounds, |
- int padding, |
- unsigned long flags) { |
- DCHECK(IsWindow(child_window)); |
- |
- // First figure out the bounds of the parent. |
- RECT parent_rect = {0}; |
- if (parent_window) { |
- GetClientRect(parent_window, &parent_rect); |
- } else { |
- // If there is no parent, we consider the bounds of the monitor the window |
- // is on to be the parent bounds. |
- |
- // If the child_window isn't visible yet and we've been given a valid, |
- // visible insert after window, use that window to locate the correct |
- // monitor instead. |
- HWND window = child_window; |
- if (!IsWindowVisible(window) && IsWindow(insert_after_window) && |
- IsWindowVisible(insert_after_window)) |
- window = insert_after_window; |
- |
- gfx::Rect work_area = |
- gfx::Screen::GetMonitorWorkAreaNearestPoint(bounds.origin()); |
- if (!work_area.IsEmpty()) |
- parent_rect = work_area.ToRECT(); |
- } |
- |
- gfx::Rect actual_bounds = bounds; |
- internal::EnsureRectIsVisibleInRect(gfx::Rect(parent_rect), &actual_bounds, |
- padding); |
- |
- SetWindowPos(child_window, insert_after_window, actual_bounds.x(), |
- actual_bounds.y(), actual_bounds.width(), |
- actual_bounds.height(), flags); |
-} |
- |
// Callback used to notify child windows that the top level window received a |
// DWMCompositionChanged message. |
BOOL CALLBACK SendDwmCompositionChanged(HWND window, LPARAM param) { |
@@ -296,11 +207,6 @@ const char* const kNativeWidgetKey = "__VIEWS_NATIVE_WIDGET__"; |
// listening for MSAA events. |
const int kCustomObjectID = 1; |
-// If the hung renderer warning doesn't fit on screen, the amount of padding to |
-// be left between the edge of the window and the edge of the nearest monitor, |
-// after the window is nudged back on screen. Pixels. |
-const int kMonitorEdgePadding = 10; |
- |
const int kDragFrameWindowAlpha = 200; |
} // namespace |
@@ -806,13 +712,6 @@ void NativeWidgetWin::SetSize(const gfx::Size& size) { |
SWP_NOACTIVATE | SWP_NOZORDER | SWP_NOMOVE); |
} |
-void NativeWidgetWin::SetBoundsConstrained(const gfx::Rect& bounds, |
- Widget* other_widget) { |
- SetChildBounds(GetNativeView(), GetParent(), |
- other_widget ? other_widget->GetNativeView() : NULL, |
- bounds, kMonitorEdgePadding, 0); |
-} |
- |
void NativeWidgetWin::MoveAbove(gfx::NativeView native_view) { |
SetWindowPos(native_view, 0, 0, 0, 0, |
SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE); |