diff options
-rw-r--r-- | chrome/browser/chromeos/frame/bubble_frame_view.cc | 1 | ||||
-rw-r--r-- | chrome/browser/chromeos/frame/bubble_window.cc | 10 | ||||
-rw-r--r-- | chrome/browser/chromeos/frame/bubble_window.h | 3 | ||||
-rw-r--r-- | chrome/browser/views/js_modal_dialog_views.cc | 11 | ||||
-rw-r--r-- | views/window/window_gtk.h | 2 |
5 files changed, 26 insertions, 1 deletions
diff --git a/chrome/browser/chromeos/frame/bubble_frame_view.cc b/chrome/browser/chromeos/frame/bubble_frame_view.cc index 38b2be6..5f0207c 100644 --- a/chrome/browser/chromeos/frame/bubble_frame_view.cc +++ b/chrome/browser/chromeos/frame/bubble_frame_view.cc @@ -33,6 +33,7 @@ BubbleFrameView::BubbleFrameView(views::Window* frame) set_border(new BubbleBorder(BubbleBorder::NONE)); title_ = new views::Label(frame_->GetDelegate()->GetWindowTitle()); + title_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); title_->SetFont(title_->font().DeriveFont(1, gfx::Font::BOLD)); AddChildView(title_); } diff --git a/chrome/browser/chromeos/frame/bubble_window.cc b/chrome/browser/chromeos/frame/bubble_window.cc index ff667e8..79a0c57 100644 --- a/chrome/browser/chromeos/frame/bubble_window.cc +++ b/chrome/browser/chromeos/frame/bubble_window.cc @@ -4,9 +4,12 @@ #include "chrome/browser/chromeos/frame/bubble_window.h" +#include <gtk/gtk.h> + #include "chrome/browser/chromeos/frame/bubble_frame_view.h" #include "chrome/browser/chromeos/wm_ipc.h" #include "cros/chromeos_wm_ipc_enums.h" +#include "gfx/skia_utils_gtk.h" #include "views/window/non_client_view.h" namespace chromeos { @@ -19,6 +22,13 @@ BubbleWindow::BubbleWindow(views::WindowDelegate* window_delegate) MakeTransparent(); } +void BubbleWindow::Init(GtkWindow* parent, const gfx::Rect& bounds) { + views::WindowGtk::Init(parent, bounds); + + GdkColor background_color = gfx::SkColorToGdkColor(kBackgroundColor); + gtk_widget_modify_bg(GetNativeView(), GTK_STATE_NORMAL, &background_color); +} + views::Window* BubbleWindow::Create( gfx::NativeWindow parent, const gfx::Rect& bounds, diff --git a/chrome/browser/chromeos/frame/bubble_window.h b/chrome/browser/chromeos/frame/bubble_window.h index f9ea7a7..a6afbd7 100644 --- a/chrome/browser/chromeos/frame/bubble_window.h +++ b/chrome/browser/chromeos/frame/bubble_window.h @@ -30,6 +30,9 @@ class BubbleWindow : public views::WindowGtk { protected: explicit BubbleWindow(views::WindowDelegate* window_delegate); + + // Overidden from views::WindowGtk: + virtual void Init(GtkWindow* parent, const gfx::Rect& bounds); }; } // namespace chromeos diff --git a/chrome/browser/views/js_modal_dialog_views.cc b/chrome/browser/views/js_modal_dialog_views.cc index d9a0a7b..b8ee8cc 100644 --- a/chrome/browser/views/js_modal_dialog_views.cc +++ b/chrome/browser/views/js_modal_dialog_views.cc @@ -12,6 +12,10 @@ #include "views/controls/message_box_view.h" #include "views/window/window.h" +#if defined(OS_CHROMEOS) +#include "chrome/browser/chromeos/frame/bubble_window.h" +#endif // defined(OS_CHROMEOS) + //////////////////////////////////////////////////////////////////////////////// // JSModalDialogViews, public: @@ -148,6 +152,13 @@ NativeAppModalDialog* NativeAppModalDialog::CreateNativeJavaScriptPrompt( JavaScriptAppModalDialog* dialog, gfx::NativeWindow parent_window) { JSModalDialogViews* d = new JSModalDialogViews(dialog); + +#if defined(OS_CHROMEOS) + // Use bubble frame for JS dialog on ChromeOS. + chromeos::BubbleWindow::Create(parent_window, gfx::Rect(), d); +#else views::Window::CreateChromeWindow(parent_window, gfx::Rect(), d); +#endif + return d; } diff --git a/views/window/window_gtk.h b/views/window/window_gtk.h index b184979..907ab7c 100644 --- a/views/window/window_gtk.h +++ b/views/window/window_gtk.h @@ -80,7 +80,7 @@ class WindowGtk : public WidgetGtk, public Window { explicit WindowGtk(WindowDelegate* window_delegate); // Initializes the window to the passed in bounds. - void Init(GtkWindow* parent, const gfx::Rect& bounds); + virtual void Init(GtkWindow* parent, const gfx::Rect& bounds); virtual void OnDestroy(GtkWidget* widget); |