| Index: chrome/browser/gtk/rounded_window.cc
|
| diff --git a/chrome/browser/gtk/rounded_window.cc b/chrome/browser/gtk/rounded_window.cc
|
| index 79af8041eadd4e13601d549cb182959f59a6ebf6..b6174b432662f2d5bbc088af670314bab7dfb417 100644
|
| --- a/chrome/browser/gtk/rounded_window.cc
|
| +++ b/chrome/browser/gtk/rounded_window.cc
|
| @@ -184,6 +184,8 @@ void ActAsRoundedWindow(
|
| GtkWidget* widget, const GdkColor& color, int corner_size,
|
| int rounded_edges, int drawn_borders) {
|
| DCHECK(widget);
|
| + DCHECK(!g_object_get_data(G_OBJECT(widget), kRoundedData));
|
| +
|
| gtk_widget_set_app_paintable(widget, TRUE);
|
| g_signal_connect(G_OBJECT(widget), "expose-event",
|
| G_CALLBACK(OnRoundedWindowExpose), NULL);
|
| @@ -209,10 +211,26 @@ void StopActingAsRoundedWindow(GtkWidget* widget) {
|
| g_signal_handlers_disconnect_by_func(widget,
|
| reinterpret_cast<gpointer>(OnStyleSet), NULL);
|
|
|
| + delete static_cast<RoundedWindowData*>(
|
| + g_object_steal_data(G_OBJECT(widget), kRoundedData));
|
| +
|
| if (GTK_WIDGET_REALIZED(widget))
|
| gdk_window_shape_combine_mask(widget->window, NULL, 0, 0);
|
| }
|
|
|
| +void SetRoundedWindowEdgesAndBorders(GtkWidget* widget,
|
| + int corner_size,
|
| + int rounded_edges,
|
| + int drawn_borders) {
|
| + DCHECK(widget);
|
| + RoundedWindowData* data = static_cast<RoundedWindowData*>(
|
| + g_object_get_data(G_OBJECT(widget), kRoundedData));
|
| + DCHECK(data);
|
| + data->corner_size = corner_size;
|
| + data->rounded_edges = rounded_edges;
|
| + data->drawn_borders = drawn_borders;
|
| +}
|
| +
|
| void SetRoundedWindowBorderColor(GtkWidget* widget, GdkColor color) {
|
| DCHECK(widget);
|
| RoundedWindowData* data = static_cast<RoundedWindowData*>(
|
|
|