|
|
DescriptionMake File-Picker modal on Linux
Chromium for Linux uses GtkFileChooserDialog for opening a file-picker,
but it is not modal to the X11 host window because GtkFileChooserDialog
can be modal only to the parent GtkWindow.
This patch allows the X11 host window to disable input event handling
to make a file-picker modal.
Design doc and discussion:
https://docs.google.com/document/d/12CfKVTpaonxxM3sNksq6vY6qb0J2qR3b7h_bLxzYanE
This CL was reverted due to the UI freezing problem that happens when the
users open a file-picker from a child window of the X11 host window:
https://codereview.chromium.org/1594973009
BUG=408481, 579408
TEST=BrowserSelectFileDialogTest.ModalTest
Committed: https://crrev.com/df7f78e35f95dfae098dd6197b012e0506f68e0f
Cr-Commit-Position: refs/heads/master@{#422482}
Patch Set 1 : Reverted CL #
Total comments: 1
Patch Set 2 : Fix the freezing problem #
Total comments: 2
Patch Set 3 : [WIP] use of scoped_ptr<ScopedHandle> #
Total comments: 2
Patch Set 4 : Use of g_object_set_data_full #Patch Set 5 : Fix a link error in component builds #
Total comments: 6
Patch Set 6 : Rebase and make EnableEventListening a private method #Patch Set 7 : Can close the host window while opening the file-picker #
Total comments: 5
Patch Set 8 : fix typo #Patch Set 9 : Update comment #Patch Set 10 : Adapt to https://codereview.chromium.org/2165083002 #Patch Set 11 : Add a WeakPtrFactory #
Total comments: 4
Patch Set 12 : Remove ScopedHandle #
Messages
Total messages: 66 (32 generated)
Description was changed from ========== Make File-Picker modal on Linux Chromium for Linux opens a Gtk file-picker for file browsing, but it is not modal because there is no GtkWindow as parent of file-picker. This patch allows the X11 host window to disable input event handling to make a file-picker modal The original CL was reverted due to wrong DCHECK with modal_dialog_xid_: https://codereview.chromium.org/1243503002 BUG=408481 TEST=BrowserSelectFileDialogTest, ModalTest Review URL: https://codereview.chromium.org/1233913009 Cr-Commit-Position: refs/heads/master@{#360961} ========== to ========== Make File-Picker modal on Linux Chromium for Linux opens a Gtk file-picker for file browsing, but it is not modal because there is no GtkWindow as parent of file-picker. This patch allows the X11 host window to disable input event handling to make a file-picker modal This CL was reverted due to the UI freezing problem that happens when the users open a file-picker from a child window of the X11 host window: https://codereview.chromium.org/1594973009 BUG=408481,579408 TEST=BrowserSelectFileDialogTest, ModalTest ==========
Hi sadrul@, erg@ I'm trying to fix the freezing problem, which happened due to my commit. https://code.google.com/p/chromium/issues/detail?id=579408 Could you take a look at this CL? It could fix the problem. Here is the detail: https://codereview.chromium.org/1624793002/diff/1/chrome/browser/ui/libgtk2ui... File chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc (right): https://codereview.chromium.org/1624793002/diff/1/chrome/browser/ui/libgtk2ui... chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc:432: when the users open a file-picker from a child window of the X11 host window, parent can be null. As a result, event listening is not enabled again for the X11 host window. https://codereview.chromium.org/1624793002/diff/20001/chrome/browser/ui/libgt... File chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc (right): https://codereview.chromium.org/1624793002/diff/20001/chrome/browser/ui/libgt... chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc:174: SetDesktopWindowTreeHost(dialog, host); SetDesktopWindowTreeHost method was added to store |host| in |dialog|. https://codereview.chromium.org/1624793002/diff/20001/chrome/browser/ui/libgt... chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc:426: Instead of getting the X11 host window from |parent|, we can directly get it from |dialog|. Because |parent| can be null when it closes after opening a file-picker.
joone.hur@intel.com changed reviewers: + erg@chromium.org, sadrul@chromium.org
It'd be better like this: . Introduce 'scoped_ptr<ScopedHandle> DesktopWindowTreeHostX11::DisableEvents(XID dialog);', where ScopedHandle looks like this: class ScopedHandle { public: explicit ScopedHandle(const base::Closure& destroy_callback) : destroy_callback_(destroy_callback) {} ~ScopedHandle() { if (!destroy_calback_.is_null()) destroy_callback_.Run(); } private: base::Closure destroy_callback_; DISALLOW_COPY_AND_ASSIGNMENT... }; and at the end of DesktopWindowTreeHostX11::DisableEvents: return make_scoped_ptr( ScopedHandle(base::Bind(&DesktopWindowTreeHostX11::EnableEvents, weak_ptr_factory_.GetWeakPtr()))); Maybe ScopedEventDisableHandle is a better name than ScopedHandle. Additionally: . DesktopWindowTreeHostX11::EnableEvents() should be a private method. . DesktopWindowTreeHostX11::close_widget_factory_ should be renamed to weak_ptr_factory_ . SelectFileDialogImplGTK::SelectFileImpl() can store the scoped-handle using g_object_set_data() as you are doing now, or it could use g_object_set_data_full() so SelectFileDialogImplGTK::FileDialogDestroyed() doesn't need to do anything. This way, you don't have to worry about whether the DesktopWindowTreeHostX11 has already died or not.
g_object_set_data can't keep the scoped-handle so the destructor is called when SelectFileDialogImplGTK::SelectFileImpl() returns.
sadral@ Please see the issue: https://codereview.chromium.org/1624793002/diff/40001/chrome/browser/ui/libgt... File chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc (right): https://codereview.chromium.org/1624793002/diff/40001/chrome/browser/ui/libgt... chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc:176: g_object_set_data(G_OBJECT(dialog), "scope_handle", scope_handle.get()); g_object_set_data can't retain the scoped_handle so the destructor is called when SelectFileDialogImplGTK::SelectFileImpl() returns. I think scoped_ptr cannot be used for this case because it can be used to retain ownership solely within the current scope.
On 2016/03/02 23:40:28, joone wrote: > sadral@ Please see the issue: > > https://codereview.chromium.org/1624793002/diff/40001/chrome/browser/ui/libgt... > File chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc (right): > > https://codereview.chromium.org/1624793002/diff/40001/chrome/browser/ui/libgt... > chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc:176: > g_object_set_data(G_OBJECT(dialog), "scope_handle", scope_handle.get()); > > g_object_set_data can't retain the scoped_handle so the destructor is called > when > SelectFileDialogImplGTK::SelectFileImpl() returns. > > I think scoped_ptr cannot be used for this case because it can be used to retain > ownership solely within the current scope. sadrul@ do you have any idea?
On 2016/02/24 01:46:53, joone wrote: > g_object_set_data can't keep the scoped-handle so the destructor is called when > SelectFileDialogImplGTK::SelectFileImpl() returns. Use g_object_set_data_full then?
On 2016/04/13 16:28:36, sadrul wrote: > On 2016/02/24 01:46:53, joone wrote: > > g_object_set_data can't keep the scoped-handle so the destructor is called > when > > SelectFileDialogImplGTK::SelectFileImpl() returns. > > Use g_object_set_data_full then? I tried, but it also doesn't keep the scoped_handle.
https://codereview.chromium.org/1624793002/diff/40001/chrome/browser/ui/libgt... File chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc (right): https://codereview.chromium.org/1624793002/diff/40001/chrome/browser/ui/libgt... chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc:176: g_object_set_data(G_OBJECT(dialog), "scope_handle", scope_handle.get()); On 2016/03/02 23:40:28, joone wrote: > > g_object_set_data can't retain the scoped_handle so the destructor is called > when > SelectFileDialogImplGTK::SelectFileImpl() returns. > > I think scoped_ptr cannot be used for this case because it can be used to retain > ownership solely within the current scope. You would have to do scope_handle.release() there, and use g_object_set_data_full() version, so that you can specify a callback that deletes the handle.
Patchset #5 (id:80001) has been deleted
On 2016/04/15 09:26:15, sadrul wrote: > https://codereview.chromium.org/1624793002/diff/40001/chrome/browser/ui/libgt... > File chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc (right): > > https://codereview.chromium.org/1624793002/diff/40001/chrome/browser/ui/libgt... > chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc:176: > g_object_set_data(G_OBJECT(dialog), "scope_handle", scope_handle.get()); > On 2016/03/02 23:40:28, joone wrote: > > > > g_object_set_data can't retain the scoped_handle so the destructor is called > > when > > SelectFileDialogImplGTK::SelectFileImpl() returns. > > > > I think scoped_ptr cannot be used for this case because it can be used to > retain > > ownership solely within the current scope. > > You would have to do scope_handle.release() there, and use > g_object_set_data_full() version, so that you can specify a callback that > deletes the handle. sadrul@ g_object_set_data_full() is now working. The other change is that ScopedHandle became a nested class of DesktopWindowTreeHostX11 so that SelectFileDialogImplGTK can access it as shared library. Thanks!
https://codereview.chromium.org/1624793002/diff/100001/chrome/browser/ui/libg... File chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc (right): https://codereview.chromium.org/1624793002/diff/100001/chrome/browser/ui/libg... chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc:179: owning_window->GetHost()->GetAcceleratedWidget()); owning_window can be null, right? (see code/comment above) https://codereview.chromium.org/1624793002/diff/100001/chrome/browser/ui/libg... chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc:185: reinterpret_cast<GDestroyNotify>(OnFilePickerDestroy)); Add a comment here: // OnFilePickerDestroy() is called when |dialog| destroyed. The // callback destroys the ScopedHandle instance, this re-enabling // events on the owning window. https://codereview.chromium.org/1624793002/diff/100001/ui/views/widget/deskto... File ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h (right): https://codereview.chromium.org/1624793002/diff/100001/ui/views/widget/deskto... ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h:104: void EnableEventListening(); Make this a private method.
Other changes you asked was applied to the latest CL. https://codereview.chromium.org/1624793002/diff/100001/chrome/browser/ui/libg... File chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc (right): https://codereview.chromium.org/1624793002/diff/100001/chrome/browser/ui/libg... chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc:179: owning_window->GetHost()->GetAcceleratedWidget()); On 2016/04/19 14:56:11, sadrul wrote: > owning_window can be null, right? (see code/comment above) I tried to reproduce the bug, but the file-picker is shown up well without any crash. I think this bug was already fixed.
Patchset #7 (id:140001) has been deleted
sadrul@ can you take a look at the following change? https://codereview.chromium.org/1624793002/diff/160001/ui/views/widget/deskto... File ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc (right): https://codereview.chromium.org/1624793002/diff/160001/ui/views/widget/deskto... ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc:363: scoped_handle_->CancelCallback(); I added CancelCallback method to fix the problem that the file-picker is not closed when trying to close the host window while opening the file-picker. The reason is that |close_widget_factory_| has weak pointers at this situation so the CloseNow callback cannot be called.
On 2016/04/21 20:45:45, joone wrote: > sadrul@ can you take a look at the following change? > > https://codereview.chromium.org/1624793002/diff/160001/ui/views/widget/deskto... > File ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc (right): > > https://codereview.chromium.org/1624793002/diff/160001/ui/views/widget/deskto... > ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc:363: > scoped_handle_->CancelCallback(); > > I added CancelCallback method to fix the problem that the file-picker is not > closed when trying to close the host window while opening the file-picker. The > reason is that |close_widget_factory_| has weak pointers at this situation so > the CloseNow callback cannot be called. sadrul@ ping?
https://codereview.chromium.org/1624793002/diff/100001/chrome/browser/ui/libg... File chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc (right): https://codereview.chromium.org/1624793002/diff/100001/chrome/browser/ui/libg... chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc:179: owning_window->GetHost()->GetAcceleratedWidget()); On 2016/04/19 22:29:56, joone wrote: > On 2016/04/19 14:56:11, sadrul wrote: > > owning_window can be null, right? (see code/comment above) > > I tried to reproduce the bug, but the file-picker is shown up well without any > crash. I think this bug was already fixed. Update the code/comment from above too (lines 128:134). It should probably be a separate CL that lands first. https://codereview.chromium.org/1624793002/diff/160001/chrome/browser/ui/libg... File chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc (right): https://codereview.chromium.org/1624793002/diff/160001/chrome/browser/ui/libg... chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc:184: // destroys the ScopedHandle instance, this re-enabling events on the *thus https://codereview.chromium.org/1624793002/diff/160001/ui/views/widget/deskto... File ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc (right): https://codereview.chromium.org/1624793002/diff/160001/ui/views/widget/deskto... ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc:363: scoped_handle_->CancelCallback(); On 2016/04/21 20:45:45, joone wrote: > > I added CancelCallback method to fix the problem that the file-picker is not > closed when trying to close the host window while opening the file-picker. The > reason is that |close_widget_factory_| has weak pointers at this situation so > the CloseNow callback cannot be called. I am not sure I understand this well. What happens if we don't do this CancelCallback()?
https://codereview.chromium.org/1624793002/diff/100001/chrome/browser/ui/libg... File chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc (right): https://codereview.chromium.org/1624793002/diff/100001/chrome/browser/ui/libg... chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.cc:179: owning_window->GetHost()->GetAcceleratedWidget()); On 2016/05/11 05:27:47, sadrul wrote: > On 2016/04/19 22:29:56, joone wrote: > > On 2016/04/19 14:56:11, sadrul wrote: > > > owning_window can be null, right? (see code/comment above) > > > > I tried to reproduce the bug, but the file-picker is shown up well without any > > crash. I think this bug was already fixed. > > Update the code/comment from above too (lines 128:134). It should probably be a > separate CL that lands first. I already did it: https://codereview.chromium.org/1912873002 https://codereview.chromium.org/1624793002/diff/160001/ui/views/widget/deskto... File ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc (right): https://codereview.chromium.org/1624793002/diff/160001/ui/views/widget/deskto... ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc:363: scoped_handle_->CancelCallback(); On 2016/05/11 05:27:47, sadrul wrote: > On 2016/04/21 20:45:45, joone wrote: > > > > I added CancelCallback method to fix the problem that the file-picker is not > > closed when trying to close the host window while opening the file-picker. The > > reason is that |close_widget_factory_| has weak pointers at this situation so > > the CloseNow callback cannot be called. > > I am not sure I understand this well. What happens if we don't do this > CancelCallback()? This file-pick is still opened after closing the host window. Then, the instance of the host window is still alive after closing the file-picker.
https://codereview.chromium.org/1624793002/diff/160001/ui/views/widget/deskto... File ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc (right): https://codereview.chromium.org/1624793002/diff/160001/ui/views/widget/deskto... ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc:363: scoped_handle_->CancelCallback(); On 2016/05/11 19:18:05, joone wrote: > On 2016/05/11 05:27:47, sadrul wrote: > > On 2016/04/21 20:45:45, joone wrote: > > > > > > I added CancelCallback method to fix the problem that the file-picker is not > > > closed when trying to close the host window while opening the file-picker. > The > > > reason is that |close_widget_factory_| has weak pointers at this situation > so > > > the CloseNow callback cannot be called. > > > > I am not sure I understand this well. What happens if we don't do this > > CancelCallback()? > > This file-pick is still opened after closing the host window. If this host-window is closed, then that would invalidate the weak-ptr to this DWTHX11 object, and the callback would not be run when the file-dialog is closed. > Then, the instance > of the host window is still alive after closing the file-picker. ?? Not sure what this means.
> > Then, the instance > > of the host window is still alive after closing the file-picker. > > ?? Not sure what this means. Chromium processes are running behind so we can only kill the processes by running kill command.
Description was changed from ========== Make File-Picker modal on Linux Chromium for Linux opens a Gtk file-picker for file browsing, but it is not modal because there is no GtkWindow as parent of file-picker. This patch allows the X11 host window to disable input event handling to make a file-picker modal This CL was reverted due to the UI freezing problem that happens when the users open a file-picker from a child window of the X11 host window: https://codereview.chromium.org/1594973009 BUG=408481,579408 TEST=BrowserSelectFileDialogTest, ModalTest ========== to ========== Make File-Picker modal on Linux Chromium for Linux opens a Gtk+ file-picker for file browsing, but it is not modal to the X11 host window because its native widget is not a GtkWindow but a X11 window. However, GtK+ file-picker can be modal only to the parent GtkWindow. This patch allows the X11 host window to disable input event handling to make a file-picker modal This CL was reverted due to the UI freezing problem that happens when the users open a file-picker from a child window of the X11 host window: https://codereview.chromium.org/1594973009 BUG=408481,579408 TEST=BrowserSelectFileDialogTest, ModalTest ==========
Description was changed from ========== Make File-Picker modal on Linux Chromium for Linux opens a Gtk+ file-picker for file browsing, but it is not modal to the X11 host window because its native widget is not a GtkWindow but a X11 window. However, GtK+ file-picker can be modal only to the parent GtkWindow. This patch allows the X11 host window to disable input event handling to make a file-picker modal This CL was reverted due to the UI freezing problem that happens when the users open a file-picker from a child window of the X11 host window: https://codereview.chromium.org/1594973009 BUG=408481,579408 TEST=BrowserSelectFileDialogTest, ModalTest ========== to ========== Make File-Picker modal on Linux Chromium for Linux uses GtkFileChooserDialog for opening a file-picker, but it is not modal to the X11 host window because GtkFileChooserDialog can be modal only to the parent GtkWindow. This patch allows the X11 host window to disable input event handling to make a file-picker modal This CL was reverted due to the UI freezing problem that happens when the users open a file-picker from a child window of the X11 host window: https://codereview.chromium.org/1594973009 BUG=408481,579408 TEST=BrowserSelectFileDialogTest, ModalTest ==========
Description was changed from ========== Make File-Picker modal on Linux Chromium for Linux uses GtkFileChooserDialog for opening a file-picker, but it is not modal to the X11 host window because GtkFileChooserDialog can be modal only to the parent GtkWindow. This patch allows the X11 host window to disable input event handling to make a file-picker modal This CL was reverted due to the UI freezing problem that happens when the users open a file-picker from a child window of the X11 host window: https://codereview.chromium.org/1594973009 BUG=408481,579408 TEST=BrowserSelectFileDialogTest, ModalTest ========== to ========== Make File-Picker modal on Linux Chromium for Linux uses GtkFileChooserDialog for opening a file-picker, but it is not modal to the X11 host window because GtkFileChooserDialog can be modal only to the parent GtkWindow. This patch allows the X11 host window to disable input event handling to make a file-picker modal. This CL was reverted due to the UI freezing problem that happens when the users open a file-picker from a child window of the X11 host window: https://codereview.chromium.org/1594973009 BUG=408481,579408 TEST=BrowserSelectFileDialogTest, ModalTest ==========
Hi, sadrul@ I draw up a document to explain my CL: https://docs.google.com/document/d/12CfKVTpaonxxM3sNksq6vY6qb0J2qR3b7h_bLxzYa... It is helpful to understand the changes.
The CQ bit was checked by joone.hur@intel.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
sadrul@ ping?
On 2016/08/10 17:19:30, joone wrote: > sadrul@ ping? I have responded on the doc.
Description was changed from ========== Make File-Picker modal on Linux Chromium for Linux uses GtkFileChooserDialog for opening a file-picker, but it is not modal to the X11 host window because GtkFileChooserDialog can be modal only to the parent GtkWindow. This patch allows the X11 host window to disable input event handling to make a file-picker modal. This CL was reverted due to the UI freezing problem that happens when the users open a file-picker from a child window of the X11 host window: https://codereview.chromium.org/1594973009 BUG=408481,579408 TEST=BrowserSelectFileDialogTest, ModalTest ========== to ========== Make File-Picker modal on Linux Chromium for Linux uses GtkFileChooserDialog for opening a file-picker, but it is not modal to the X11 host window because GtkFileChooserDialog can be modal only to the parent GtkWindow. This patch allows the X11 host window to disable input event handling to make a file-picker modal. Design doc and discussion: https://docs.google.com/document/d/12CfKVTpaonxxM3sNksq6vY6qb0J2qR3b7h_bLxzYanE This CL was reverted due to the UI freezing problem that happens when the users open a file-picker from a child window of the X11 host window: https://codereview.chromium.org/1594973009 BUG=408481,579408 TEST=BrowserSelectFileDialogTest, ModalTest ==========
Description was changed from ========== Make File-Picker modal on Linux Chromium for Linux uses GtkFileChooserDialog for opening a file-picker, but it is not modal to the X11 host window because GtkFileChooserDialog can be modal only to the parent GtkWindow. This patch allows the X11 host window to disable input event handling to make a file-picker modal. Design doc and discussion: https://docs.google.com/document/d/12CfKVTpaonxxM3sNksq6vY6qb0J2qR3b7h_bLxzYanE This CL was reverted due to the UI freezing problem that happens when the users open a file-picker from a child window of the X11 host window: https://codereview.chromium.org/1594973009 BUG=408481,579408 TEST=BrowserSelectFileDialogTest, ModalTest ========== to ========== Make File-Picker modal on Linux Chromium for Linux uses GtkFileChooserDialog for opening a file-picker, but it is not modal to the X11 host window because GtkFileChooserDialog can be modal only to the parent GtkWindow. This patch allows the X11 host window to disable input event handling to make a file-picker modal. Design doc and discussion: https://docs.google.com/document/d/12CfKVTpaonxxM3sNksq6vY6qb0J2qR3b7h_bLxzYanE This CL was reverted due to the UI freezing problem that happens when the users open a file-picker from a child window of the X11 host window: https://codereview.chromium.org/1594973009 BUG=408481,579408 TEST=BrowserSelectFileDialogTest.ModalTest ==========
On 2016/08/11 05:17:51, sadrul wrote: > On 2016/08/10 17:19:30, joone wrote: > > sadrul@ ping? > > I have responded on the doc. sadrul@ Please take a look at my comments on the doc.
On 2016/08/31 22:28:26, joone wrote: > On 2016/08/11 05:17:51, sadrul wrote: > > On 2016/08/10 17:19:30, joone wrote: > > > sadrul@ ping? > > > > I have responded on the doc. > > sadrul@ Please take a look at my comments on the doc. I think a quick real-time conversation (IM, or VC) would be useful (I have sent out an email about it last week). Would that be possible?
On 2016/09/06 19:30:33, sadrul wrote: > On 2016/08/31 22:28:26, joone wrote: > > On 2016/08/11 05:17:51, sadrul wrote: > > > On 2016/08/10 17:19:30, joone wrote: > > > > sadrul@ ping? > > > > > > I have responded on the doc. > > > > sadrul@ Please take a look at my comments on the doc. > > I think a quick real-time conversation (IM, or VC) would be useful (I have sent > out an email about it last week). Would that be possible? I sent you an invitation.
Patchset #10 (id:220001) has been deleted
The CQ bit was checked by joone.hur@intel.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
Hi sadrul@ I've rebased the CL. It became a bit simpler due to this change: https://codereview.chromium.org/2165083002
The CQ bit was checked by joone.hur@intel.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
On 2016/09/22 21:27:43, joone wrote: > Hi sadrul@ > > I've rebased the CL. It became a bit simpler due to this change: > https://codereview.chromium.org/2165083002 Please review the updated CL.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
LGTM with the comments addressed. https://codereview.chromium.org/1624793002/diff/260001/ui/views/widget/deskto... File ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc (right): https://codereview.chromium.org/1624793002/diff/260001/ui/views/widget/deskto... ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc:2331: return base::WrapUnique(scoped_handle_); return base::MakeUnique<...>(base::Bind...) https://codereview.chromium.org/1624793002/diff/260001/ui/views/widget/deskto... File ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h (right): https://codereview.chromium.org/1624793002/diff/260001/ui/views/widget/deskto... ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h:440: ScopedHandle* scoped_handle_; You shouldn't need this?
Patchset #12 (id:280001) has been deleted
Patchset #12 (id:300001) has been deleted
Patchset #12 (id:320001) has been deleted
Patchset #12 (id:340001) has been deleted
Thanks for review! https://codereview.chromium.org/1624793002/diff/260001/ui/views/widget/deskto... File ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc (right): https://codereview.chromium.org/1624793002/diff/260001/ui/views/widget/deskto... ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc:2331: return base::WrapUnique(scoped_handle_); On 2016/09/30 12:22:27, sadrul wrote: > return base::MakeUnique<...>(base::Bind...) Done. https://codereview.chromium.org/1624793002/diff/260001/ui/views/widget/deskto... File ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h (right): https://codereview.chromium.org/1624793002/diff/260001/ui/views/widget/deskto... ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h:440: ScopedHandle* scoped_handle_; On 2016/09/30 12:22:27, sadrul wrote: > You shouldn't need this? Removed.
The CQ bit was checked by joone.hur@intel.com
The patchset sent to the CQ was uploaded after l-g-t-m from sadrul@chromium.org Link to the patchset: https://codereview.chromium.org/1624793002/#ps360001 (title: "Remove ScopedHandle")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...)
erg@, could you review this CL?
lgtm
The CQ bit was checked by joone.hur@intel.com
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== Make File-Picker modal on Linux Chromium for Linux uses GtkFileChooserDialog for opening a file-picker, but it is not modal to the X11 host window because GtkFileChooserDialog can be modal only to the parent GtkWindow. This patch allows the X11 host window to disable input event handling to make a file-picker modal. Design doc and discussion: https://docs.google.com/document/d/12CfKVTpaonxxM3sNksq6vY6qb0J2qR3b7h_bLxzYanE This CL was reverted due to the UI freezing problem that happens when the users open a file-picker from a child window of the X11 host window: https://codereview.chromium.org/1594973009 BUG=408481,579408 TEST=BrowserSelectFileDialogTest.ModalTest ========== to ========== Make File-Picker modal on Linux Chromium for Linux uses GtkFileChooserDialog for opening a file-picker, but it is not modal to the X11 host window because GtkFileChooserDialog can be modal only to the parent GtkWindow. This patch allows the X11 host window to disable input event handling to make a file-picker modal. Design doc and discussion: https://docs.google.com/document/d/12CfKVTpaonxxM3sNksq6vY6qb0J2qR3b7h_bLxzYanE This CL was reverted due to the UI freezing problem that happens when the users open a file-picker from a child window of the X11 host window: https://codereview.chromium.org/1594973009 BUG=408481,579408 TEST=BrowserSelectFileDialogTest.ModalTest ==========
Message was sent while issue was closed.
Committed patchset #12 (id:360001)
Message was sent while issue was closed.
Description was changed from ========== Make File-Picker modal on Linux Chromium for Linux uses GtkFileChooserDialog for opening a file-picker, but it is not modal to the X11 host window because GtkFileChooserDialog can be modal only to the parent GtkWindow. This patch allows the X11 host window to disable input event handling to make a file-picker modal. Design doc and discussion: https://docs.google.com/document/d/12CfKVTpaonxxM3sNksq6vY6qb0J2qR3b7h_bLxzYanE This CL was reverted due to the UI freezing problem that happens when the users open a file-picker from a child window of the X11 host window: https://codereview.chromium.org/1594973009 BUG=408481,579408 TEST=BrowserSelectFileDialogTest.ModalTest ========== to ========== Make File-Picker modal on Linux Chromium for Linux uses GtkFileChooserDialog for opening a file-picker, but it is not modal to the X11 host window because GtkFileChooserDialog can be modal only to the parent GtkWindow. This patch allows the X11 host window to disable input event handling to make a file-picker modal. Design doc and discussion: https://docs.google.com/document/d/12CfKVTpaonxxM3sNksq6vY6qb0J2qR3b7h_bLxzYanE This CL was reverted due to the UI freezing problem that happens when the users open a file-picker from a child window of the X11 host window: https://codereview.chromium.org/1594973009 BUG=408481,579408 TEST=BrowserSelectFileDialogTest.ModalTest Committed: https://crrev.com/df7f78e35f95dfae098dd6197b012e0506f68e0f Cr-Commit-Position: refs/heads/master@{#422482} ==========
Message was sent while issue was closed.
Patchset 12 (id:??) landed as https://crrev.com/df7f78e35f95dfae098dd6197b012e0506f68e0f Cr-Commit-Position: refs/heads/master@{#422482} |