summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/chromeos/frame/bubble_frame_view.cc1
-rw-r--r--chrome/browser/chromeos/frame/bubble_window.cc10
-rw-r--r--chrome/browser/chromeos/frame/bubble_window.h3
-rw-r--r--chrome/browser/views/js_modal_dialog_views.cc11
-rw-r--r--views/window/window_gtk.h2
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);