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

Issue 159147: Make GTK file dialog box modal for parent window, instead of for the entire... (Closed)

Created:
11 years, 5 months ago by Evan Stade
Modified:
9 years, 6 months ago
Reviewers:
CC:
chromium-reviews_googlegroups.com, darin (slow to review), brettw, jam, Ben Goodger (Google)
Visibility:
Public.

Description

Make GTK file dialog box modal for parent window, instead of for the entire application. This works by adding the top-level GtkWindow objects, such as BrowserWindowGtk and BookmarkManagerGtk, to their own unique window groups. Without this change, all top-level windows are added to a default application-wide window group. This ensures that all grabs created with gtk_grab_add(...) only affect the window group of the grabbed widget, as opposed to the entire application. Note that gtk_window_set_modal(...) is implemented with gtk_grab_add(...) and therefore is only modal to a specific window group. In order for this to work correctly, changes were also made to the info bubble and render widget popup (<select> tag) code. Since these widgets also call gtk_grab_add(...), they must be added to the top level window group to work correctly. Test 1: - Open two new chrome window: A and B - Open "Save file as..." dialog in window A - Verify that window A does not respond to keyboard or mouse events. - Verify that window B does responde to keyboard and mouse events. - Open "Save file as..." dialog in window B - Verify that window B does not respond to keyboard or mouse events. - Cancel dialog on window A. - Verify that window A starts responding to keyboard and mouse events. - Cancel dialog on window B. - Verify that window B starts responding to keyboard and mouse events. Test 2: - Verify that <select> tag allows for correct selection of items. Test 3: - Click bookmark star and verify that info bubble works correctly. BUG=8727 TEST=none patch by Mohit Muthanna Cheppudira <mohit.muthanna [at] gmail> original review url: <http://codereview.chromium.org/155852>; Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=21207

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+30 lines, -7 lines) Patch
M chrome/browser/gtk/bookmark_manager_gtk.cc View 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/browser/gtk/browser_window_gtk.cc View 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/browser/gtk/dialogs_gtk.cc View 2 chunks +7 lines, -6 lines 0 comments Download
M chrome/browser/gtk/info_bubble_gtk.cc View 1 chunk +7 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_gtk.cc View 1 chunk +6 lines, -1 line 0 comments Download

Powered by Google App Engine
This is Rietveld 408576698