New issue
Advanced search Search tips

Issue 876586 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug

Blocked on:
issue 834963



Sign in to add a comment

Add a GTK4 build option

Project Member Reported by thomasanderson@chromium.org, Aug 22

Issue description

libgtk-4-0 is now available in the Debian experimental repo.  We will need to switch to GTK4 eventually, so we should add a build option now.
 
Blockedon: 834963
Currently blocked on fixing up the appindicator dependency.  Gtk4 gets rid of GtkStatusIcon (it was deprecated in Gtk3, and fully removed in Gtk4).  So we would have to use our alternative libappindicator3 implementation... except we can't since that has a dependency on gtk3, which would be problematic if loaded into the same address space as gtk4 is loaded into.
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 22

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9e44ffb4da52bc4ffa7c039742898ba20524875a

commit 9e44ffb4da52bc4ffa7c039742898ba20524875a
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Wed Aug 22 22:11:52 2018

Add libgtk-4-dev to sysroots

R=thestig
BUG=876586

Change-Id: I97c9609bd49f034027f3eb18ae7f57fef14c2267
Reviewed-on: https://chromium-review.googlesource.com/1096401
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585275}
[modify] https://crrev.com/9e44ffb4da52bc4ffa7c039742898ba20524875a/build/linux/sysroot_scripts/packagelist.sid.amd64
[modify] https://crrev.com/9e44ffb4da52bc4ffa7c039742898ba20524875a/build/linux/sysroot_scripts/packagelist.sid.arm
[modify] https://crrev.com/9e44ffb4da52bc4ffa7c039742898ba20524875a/build/linux/sysroot_scripts/packagelist.sid.arm64
[modify] https://crrev.com/9e44ffb4da52bc4ffa7c039742898ba20524875a/build/linux/sysroot_scripts/packagelist.sid.i386
[modify] https://crrev.com/9e44ffb4da52bc4ffa7c039742898ba20524875a/build/linux/sysroot_scripts/packagelist.sid.mips64el
[modify] https://crrev.com/9e44ffb4da52bc4ffa7c039742898ba20524875a/build/linux/sysroot_scripts/packagelist.sid.mipsel
[modify] https://crrev.com/9e44ffb4da52bc4ffa7c039742898ba20524875a/build/linux/sysroot_scripts/sysroot-creator-sid.sh
[modify] https://crrev.com/9e44ffb4da52bc4ffa7c039742898ba20524875a/build/linux/sysroot_scripts/sysroots.json

Project Member

Comment 3 by bugdroid1@chromium.org, Aug 23

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/afb06600dd19ba47569d823663c873763aaf5eb6

commit afb06600dd19ba47569d823663c873763aaf5eb6
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Thu Aug 23 23:13:09 2018

Add GTK4 build option and fix GTK4 build

BUG=876586
R=sky

Change-Id: I97d58a1fcb333781dfa2bceb4c3363b5c914e5df
Reviewed-on: https://chromium-review.googlesource.com/1187197
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585646}
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/build/config/linux/gtk/BUILD.gn
[add] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/build/config/linux/gtk/gtk.gni
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/chrome/browser/ui/libgtkui/BUILD.gn
[delete] https://crrev.com/f57a1c98f7d36275e67b872d31603b32f47e61bf/chrome/browser/ui/libgtkui/chrome_gtk_frame.cc
[delete] https://crrev.com/f57a1c98f7d36275e67b872d31603b32f47e61bf/chrome/browser/ui/libgtkui/chrome_gtk_frame.h
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/chrome/browser/ui/libgtkui/gtk_key_bindings_handler.cc
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/chrome/browser/ui/libgtkui/gtk_key_bindings_handler.h
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/chrome/browser/ui/libgtkui/gtk_ui.cc
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/chrome/browser/ui/libgtkui/gtk_util.cc
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/chrome/browser/ui/libgtkui/menu_util.cc
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/chrome/browser/ui/libgtkui/native_theme_gtk.cc
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/chrome/browser/ui/libgtkui/nav_button_provider_gtk.cc
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/chrome/browser/ui/libgtkui/print_dialog_gtk.cc
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/chrome/browser/ui/libgtkui/select_file_dialog_impl_gtk.cc
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/chrome/browser/ui/libgtkui/settings_provider_gtk.cc
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/chrome/browser/ui/libgtkui/skia_utils_gtk.cc
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/chrome/browser/ui/libgtkui/skia_utils_gtk.h
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/chrome/browser/ui/libgtkui/x11_input_method_context_impl_gtk.cc
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/remoting/host/continue_window_linux.cc
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/remoting/host/disconnect_window_linux.cc
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/remoting/host/it2me/it2me_confirmation_dialog_linux.cc
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/remoting/host/it2me/it2me_native_messaging_host_main.cc
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/remoting/host/remoting_me2me_host.cc
[modify] https://crrev.com/afb06600dd19ba47569d823663c873763aaf5eb6/remoting/test/it2me_standalone_host_main.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Aug 23

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7004b5ed8c0b9abfa5ea3e96ec916e54979bdc1b

commit 7004b5ed8c0b9abfa5ea3e96ec916e54979bdc1b
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Thu Aug 23 23:57:40 2018

GTK4: Fix crash when drawing certain frame buttons

BUG=876586
R=sky

Change-Id: Iac4f45a4aec1a905b75332ed7b365d1a2fce1d87
Reviewed-on: https://chromium-review.googlesource.com/1187223
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585663}
[modify] https://crrev.com/7004b5ed8c0b9abfa5ea3e96ec916e54979bdc1b/chrome/browser/ui/libgtkui/gtk_util.cc
[modify] https://crrev.com/7004b5ed8c0b9abfa5ea3e96ec916e54979bdc1b/chrome/browser/ui/libgtkui/native_theme_gtk.cc
[modify] https://crrev.com/7004b5ed8c0b9abfa5ea3e96ec916e54979bdc1b/chrome/browser/ui/libgtkui/nav_button_provider_gtk.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Aug 25

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c2a8dd8936fdb5bcfdbf00bc6a3d569cb0200f03

commit c2a8dd8936fdb5bcfdbf00bc6a3d569cb0200f03
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Sat Aug 25 00:27:28 2018

GTK4: Fix event processing after closing dialogs

In GTK4, the GDestroyNotify that SelectFileDialogImplGtk used does not get fired
when the GtkFileChooser is closed (perhaps GTK is now doing some lazy
deletion?).  But the "destroy" signal does get fired, so move the event
re-enabling code there.

Also clean up some messy code.

BUG=876586
R=sky

Change-Id: I2d78ff292d167fe526bd5fb35aaf6296d32da1af
Reviewed-on: https://chromium-review.googlesource.com/1188585
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#586078}
[modify] https://crrev.com/c2a8dd8936fdb5bcfdbf00bc6a3d569cb0200f03/chrome/browser/ui/libgtkui/gtk_util.cc
[modify] https://crrev.com/c2a8dd8936fdb5bcfdbf00bc6a3d569cb0200f03/chrome/browser/ui/libgtkui/gtk_util.h
[modify] https://crrev.com/c2a8dd8936fdb5bcfdbf00bc6a3d569cb0200f03/chrome/browser/ui/libgtkui/print_dialog_gtk.cc
[modify] https://crrev.com/c2a8dd8936fdb5bcfdbf00bc6a3d569cb0200f03/chrome/browser/ui/libgtkui/print_dialog_gtk.h
[modify] https://crrev.com/c2a8dd8936fdb5bcfdbf00bc6a3d569cb0200f03/chrome/browser/ui/libgtkui/select_file_dialog_impl_gtk.cc
[modify] https://crrev.com/c2a8dd8936fdb5bcfdbf00bc6a3d569cb0200f03/chrome/browser/ui/libgtkui/select_file_dialog_impl_gtk.h
[modify] https://crrev.com/c2a8dd8936fdb5bcfdbf00bc6a3d569cb0200f03/chrome/browser/ui/libgtkui/select_file_dialog_impl_gtk_unittest.cc
[modify] https://crrev.com/c2a8dd8936fdb5bcfdbf00bc6a3d569cb0200f03/chrome/browser/ui/libgtkui/select_file_dialog_interactive_uitest.cc
[modify] https://crrev.com/c2a8dd8936fdb5bcfdbf00bc6a3d569cb0200f03/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
[modify] https://crrev.com/c2a8dd8936fdb5bcfdbf00bc6a3d569cb0200f03/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h

Sign in to add a comment