DescriptionMake 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 Set 1 #
Messages
Total messages: 2 (0 generated)
|