diff options
author | erg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-10 19:12:53 +0000 |
---|---|---|
committer | erg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-10 19:12:53 +0000 |
commit | db89440b21bf4950a18f4479aaa961cfe13de035 (patch) | |
tree | 751748488e9d42892835457bed3b91495bd4e1fa /chrome | |
parent | da7582b7e45e5f0aac0a1b072580be65b1502334 (diff) | |
download | chromium_src-db89440b21bf4950a18f4479aaa961cfe13de035.zip chromium_src-db89440b21bf4950a18f4479aaa961cfe13de035.tar.gz chromium_src-db89440b21bf4950a18f4479aaa961cfe13de035.tar.bz2 |
GTK: Seal up GSEALs, focusing on GtkSelectionData.
BUG=79722
TEST=compiles
First Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=116956
Review URL: http://codereview.chromium.org/9151007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117070 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/ui/gtk/bubble/bubble_gtk.cc | 15 | ||||
-rw-r--r-- | chrome/browser/ui/gtk/certificate_viewer.cc | 2 |
2 files changed, 11 insertions, 6 deletions
diff --git a/chrome/browser/ui/gtk/bubble/bubble_gtk.cc b/chrome/browser/ui/gtk/bubble/bubble_gtk.cc index 1d4e6c3..1035f42 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); diff --git a/chrome/browser/ui/gtk/certificate_viewer.cc b/chrome/browser/ui/gtk/certificate_viewer.cc index a4279d5..7f0b1d2 100644 --- a/chrome/browser/ui/gtk/certificate_viewer.cc +++ b/chrome/browser/ui/gtk/certificate_viewer.cc @@ -157,7 +157,7 @@ CertificateViewer::CertificateViewer( InitDetailsPage(); notebook_ = gtk_notebook_new(); - gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog_)->vbox), notebook_); + gtk_container_add(GTK_CONTAINER(content_area), notebook_); gtk_notebook_append_page( GTK_NOTEBOOK(notebook_), |