| Index: chrome/browser/views/info_bubble.cc
|
| ===================================================================
|
| --- chrome/browser/views/info_bubble.cc (revision 17379)
|
| +++ chrome/browser/views/info_bubble.cc (working copy)
|
| @@ -9,6 +9,7 @@
|
| #include "app/resource_bundle.h"
|
| #include "chrome/browser/browser_window.h"
|
| #include "chrome/browser/views/frame/browser_view.h"
|
| +#include "chrome/browser/window_sizer.h"
|
| #include "chrome/common/notification_service.h"
|
| #include "chrome/common/notification_type.h"
|
| #include "grit/theme_resources.h"
|
| @@ -16,7 +17,6 @@
|
| #include "views/window/window.h"
|
|
|
| #if defined(OS_WIN)
|
| -#include "app/win_util.h"
|
| #include "base/win_util.h"
|
| #endif
|
|
|
| @@ -83,7 +83,7 @@
|
| #if defined(OS_WIN)
|
| window->ShowWindow(SW_SHOW);
|
| #else
|
| - NOTREACHED();
|
| + static_cast<WidgetGtk*>(window)->Show();
|
| #endif
|
| return window;
|
| }
|
| @@ -134,6 +134,8 @@
|
|
|
| #if defined(OS_WIN)
|
| WidgetWin::Init(parent->GetNativeWindow(), bounds, true);
|
| +#else
|
| + WidgetGtk::Init(GTK_WIDGET(parent->GetNativeWindow()), bounds, true);
|
| #endif
|
| SetContentsView(content_view_);
|
| // The preferred size may differ when parented. Ask for the bounds again
|
| @@ -148,8 +150,6 @@
|
| SWP_NOACTIVATE | SWP_NOREDRAW | SWP_NOZORDER);
|
| // Invoke ChangeSize, otherwise layered window isn't updated correctly.
|
| ChangeSize(0, CSize(parented_bounds.width(), parented_bounds.height()));
|
| -#else
|
| - NOTIMPLEMENTED();
|
| #endif
|
| }
|
|
|
| @@ -254,12 +254,10 @@
|
|
|
| gfx::Rect InfoBubble::ContentView::CalculateWindowBoundsAndAjust(
|
| const gfx::Rect& position_relative_to) {
|
| -#if defined(OS_WIN)
|
| - gfx::Rect monitor_bounds = win_util::GetMonitorBoundsForRect(
|
| - position_relative_to);
|
| -#else
|
| - gfx::Rect monitor_bounds;
|
| -#endif
|
| + scoped_ptr<WindowSizer::MonitorInfoProvider> monitor_provider(
|
| + WindowSizer::CreateDefaultMonitorInfoProvider());
|
| + gfx::Rect monitor_bounds(
|
| + monitor_provider->GetMonitorWorkAreaMatching(position_relative_to));
|
| // Calculate the bounds using TOP_LEFT (the default).
|
| gfx::Rect window_bounds = CalculateWindowBounds(position_relative_to);
|
| if (monitor_bounds.IsEmpty() || monitor_bounds.Contains(window_bounds))
|
|
|