Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(843)

Unified Diff: chrome/browser/ui/gtk/bubble/bubble_gtk.cc

Issue 9151007: GTK: Seal up GSEALs, focusing on GtkSelectionData. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Add gtk_widget_style_attach to make minimal version 2.18 Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/gtk/certificate_viewer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/gtk/bubble/bubble_gtk.cc
diff --git a/chrome/browser/ui/gtk/bubble/bubble_gtk.cc b/chrome/browser/ui/gtk/bubble/bubble_gtk.cc
index 1d4e6c36daeeb0a13025f53d42eb19832c7d0401..1035f42061c726cfdfa691580f03298bfae5a8fa 100644
--- a/chrome/browser/ui/gtk/bubble/bubble_gtk.cc
+++ b/chrome/browser/ui/gtk/bubble/bubble_gtk.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -307,8 +307,10 @@ void BubbleGtk::UpdateWindowShape() {
mask_region_ = gdk_region_polygon(&points[0],
points.size(),
GDK_EVEN_ODD_RULE);
- gdk_window_shape_combine_region(window_->window, NULL, 0, 0);
- gdk_window_shape_combine_region(window_->window, mask_region_, 0, 0);
+
+ GdkWindow* gdk_window = gtk_widget_get_window(window_);
+ gdk_window_shape_combine_region(gdk_window, NULL, 0, 0);
+ gdk_window_shape_combine_region(gdk_window, mask_region_, 0, 0);
}
void BubbleGtk::MoveWindow() {
@@ -373,10 +375,12 @@ void BubbleGtk::Close() {
}
void BubbleGtk::GrabPointerAndKeyboard() {
+ GdkWindow* gdk_window = gtk_widget_get_window(window_);
+
// Install X pointer and keyboard grabs to make sure that we have the focus
// and get all mouse and keyboard events until we're closed.
GdkGrabStatus pointer_grab_status =
- gdk_pointer_grab(window_->window,
+ gdk_pointer_grab(gdk_window,
TRUE, // owner_events
GDK_BUTTON_PRESS_MASK, // event_mask
NULL, // confine_to
@@ -389,7 +393,7 @@ void BubbleGtk::GrabPointerAndKeyboard() {
<< pointer_grab_status << ")";
}
GdkGrabStatus keyboard_grab_status =
- gdk_keyboard_grab(window_->window,
+ gdk_keyboard_grab(gdk_window,
FALSE, // owner_events
GDK_CURRENT_TIME);
if (keyboard_grab_status != GDK_GRAB_SUCCESS) {
@@ -456,6 +460,7 @@ gboolean BubbleGtk::OnGtkAccelerator(GtkAccelGroup* group,
}
gboolean BubbleGtk::OnExpose(GtkWidget* widget, GdkEventExpose* expose) {
+ // TODO(erg): This whole method will need to be rewritten in cairo.
GdkDrawable* drawable = GDK_DRAWABLE(window_->window);
GdkGC* gc = gdk_gc_new(drawable);
gdk_gc_set_rgb_fg_color(gc, &kFrameColor);
« no previous file with comments | « no previous file | chrome/browser/ui/gtk/certificate_viewer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698