184 lines
6.1 KiB
Diff
184 lines
6.1 KiB
Diff
diff --git build/config/linux/gtk/BUILD.gn build/config/linux/gtk/BUILD.gn
|
|
index d78f7407c179..0bb79883e16c 100644
|
|
--- build/config/linux/gtk/BUILD.gn
|
|
+++ build/config/linux/gtk/BUILD.gn
|
|
@@ -4,8 +4,10 @@
|
|
|
|
import("//build/config/linux/gtk/gtk.gni")
|
|
import("//build/config/linux/pkg_config.gni")
|
|
+import("//build/config/ui.gni")
|
|
|
|
assert(is_linux, "This file should only be referenced on Linux")
|
|
+assert(use_gtk, "This file should only be referenced when GTK is enabled")
|
|
|
|
# GN doesn't check visibility for configs so we give this an obviously internal
|
|
# name to discourage random targets from accidentally depending on this and
|
|
diff --git build/config/ui.gni build/config/ui.gni
|
|
index 547b42fb5c66..0eae3470e1bb 100644
|
|
--- build/config/ui.gni
|
|
+++ build/config/ui.gni
|
|
@@ -37,6 +37,9 @@ declare_args() {
|
|
# True means the UI is built using the "views" framework.
|
|
toolkit_views = (is_mac || is_win || is_chromeos || use_aura) &&
|
|
!is_chromecast && !is_fuchsia
|
|
+
|
|
+ # Whether we should use GTK.
|
|
+ use_gtk = use_aura && is_linux
|
|
}
|
|
|
|
# Additional dependent variables -----------------------------------------------
|
|
diff --git chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
|
|
index 79c24d729c08..1c2b19b75e6b 100644
|
|
--- chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
|
|
+++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
|
|
@@ -6,6 +6,7 @@
|
|
|
|
#include "base/bind.h"
|
|
#include "base/run_loop.h"
|
|
+#include "cef/libcef/features/features.h"
|
|
#include "chrome/browser/chrome_browser_main.h"
|
|
#include "chrome/browser/profiles/profile.h"
|
|
#include "chrome/browser/themes/theme_service.h"
|
|
@@ -31,6 +32,7 @@
|
|
|
|
namespace {
|
|
|
|
+#if !BUILDFLAG(ENABLE_CEF)
|
|
ui::NativeTheme* GetNativeThemeForWindow(aura::Window* window) {
|
|
if (!window)
|
|
return nullptr;
|
|
@@ -55,6 +57,7 @@ ui::NativeTheme* GetNativeThemeForWindow(aura::Window* window) {
|
|
|
|
return ui::NativeTheme::GetInstanceForNativeUi();
|
|
}
|
|
+#endif // !BUILDFLAG(ENABLE_CEF)
|
|
|
|
} // namespace
|
|
|
|
@@ -68,9 +71,11 @@ ChromeBrowserMainExtraPartsViewsLinux::
|
|
}
|
|
|
|
void ChromeBrowserMainExtraPartsViewsLinux::PreEarlyInitialization() {
|
|
+#if !BUILDFLAG(ENABLE_CEF)
|
|
views::LinuxUI* gtk_ui = BuildGtkUi();
|
|
gtk_ui->SetNativeThemeOverride(base::BindRepeating(&GetNativeThemeForWindow));
|
|
views::LinuxUI::SetInstance(gtk_ui);
|
|
+#endif
|
|
}
|
|
|
|
void ChromeBrowserMainExtraPartsViewsLinux::ToolkitInitialized() {
|
|
diff --git chrome/test/BUILD.gn chrome/test/BUILD.gn
|
|
index a4bd99bf7cd1..13b7b96609bf 100644
|
|
--- chrome/test/BUILD.gn
|
|
+++ chrome/test/BUILD.gn
|
|
@@ -4146,7 +4146,7 @@ test("unit_tests") {
|
|
"../browser/ui/input_method/input_method_engine_unittest.cc",
|
|
]
|
|
}
|
|
- if (!is_chromeos && !is_chromecast && is_linux) {
|
|
+ if (!is_chromeos && !is_chromecast && is_linux && use_gtk) {
|
|
sources +=
|
|
[ "../browser/ui/libgtkui/select_file_dialog_impl_gtk_unittest.cc" ]
|
|
deps += [ "//build/config/linux/gtk" ]
|
|
@@ -4167,7 +4167,7 @@ test("unit_tests") {
|
|
if (use_gio) {
|
|
configs += [ "//build/linux:gio_config" ]
|
|
}
|
|
- if (!is_chromeos && !use_ozone && is_linux) {
|
|
+ if (!is_chromeos && !use_ozone && is_linux && use_gtk) {
|
|
deps += [ "//chrome/browser/ui/libgtkui" ]
|
|
}
|
|
|
|
@@ -5184,7 +5184,7 @@ if (!is_android) {
|
|
# suites, it seems like one or another starts timing out too.
|
|
"../browser/ui/views/keyboard_access_browsertest.cc",
|
|
]
|
|
- if (!use_ozone) {
|
|
+ if (!use_ozone && use_gtk) {
|
|
sources += [
|
|
"../browser/ui/libgtkui/select_file_dialog_interactive_uitest.cc",
|
|
]
|
|
diff --git remoting/host/BUILD.gn remoting/host/BUILD.gn
|
|
index 7aeefa7b1b89..13fc19218a4c 100644
|
|
--- remoting/host/BUILD.gn
|
|
+++ remoting/host/BUILD.gn
|
|
@@ -351,7 +351,7 @@ static_library("common") {
|
|
"//build/config/linux:xrandr",
|
|
]
|
|
deps += [ "//remoting/host/linux:x11" ]
|
|
- if (is_desktop_linux) {
|
|
+ if (is_desktop_linux && use_gtk) {
|
|
deps += [ "//build/config/linux/gtk" ]
|
|
}
|
|
} else {
|
|
@@ -734,7 +734,7 @@ if (enable_me2me_host) {
|
|
deps += [ "//components/policy:generated" ]
|
|
}
|
|
|
|
- if (is_desktop_linux) {
|
|
+ if (is_desktop_linux && use_gtk) {
|
|
deps += [ "//build/config/linux/gtk" ]
|
|
}
|
|
if ((is_linux && !is_chromeos) || is_mac) {
|
|
diff --git remoting/host/file_transfer/BUILD.gn remoting/host/file_transfer/BUILD.gn
|
|
index ffaaa0b5b423..9fc7f88859a9 100644
|
|
--- remoting/host/file_transfer/BUILD.gn
|
|
+++ remoting/host/file_transfer/BUILD.gn
|
|
@@ -35,7 +35,7 @@ source_set("file_transfer") {
|
|
sources -= [ "get_desktop_directory.cc" ]
|
|
}
|
|
|
|
- if (is_desktop_linux) {
|
|
+ if (is_desktop_linux && use_gtk) {
|
|
sources += [ "file_chooser_linux.cc" ]
|
|
deps += [ "//build/config/linux/gtk" ]
|
|
}
|
|
diff --git remoting/host/it2me/BUILD.gn remoting/host/it2me/BUILD.gn
|
|
index e6298a0cb0b2..cee7134af3ec 100644
|
|
--- remoting/host/it2me/BUILD.gn
|
|
+++ remoting/host/it2me/BUILD.gn
|
|
@@ -56,7 +56,7 @@ source_set("common") {
|
|
"//remoting/resources",
|
|
"//remoting/signaling",
|
|
]
|
|
- if (is_desktop_linux) {
|
|
+ if (is_desktop_linux && use_gtk) {
|
|
deps += [
|
|
"//build/config/linux/gtk",
|
|
|
|
@@ -250,7 +250,7 @@ if (!is_chromeos && enable_remoting_host) {
|
|
}
|
|
}
|
|
|
|
- if (is_desktop_linux) {
|
|
+ if (is_desktop_linux && use_gtk) {
|
|
deps += [ "//build/config/linux/gtk" ]
|
|
}
|
|
}
|
|
diff --git remoting/host/linux/BUILD.gn remoting/host/linux/BUILD.gn
|
|
index a07f8b0254af..970c1a54b4d2 100644
|
|
--- remoting/host/linux/BUILD.gn
|
|
+++ remoting/host/linux/BUILD.gn
|
|
@@ -98,7 +98,7 @@ source_set("linux") {
|
|
if (use_x11) {
|
|
deps += [ ":x11" ]
|
|
}
|
|
- if (is_desktop_linux) {
|
|
+ if (is_desktop_linux && use_gtk) {
|
|
deps += [ "//build/config/linux/gtk" ]
|
|
}
|
|
}
|
|
diff --git remoting/test/BUILD.gn remoting/test/BUILD.gn
|
|
index d916fa822a8f..245c0e006cdf 100644
|
|
--- remoting/test/BUILD.gn
|
|
+++ remoting/test/BUILD.gn
|
|
@@ -148,7 +148,7 @@ if (enable_remoting_host && !is_android && !is_chromeos) {
|
|
":it2me_standalone_host",
|
|
]
|
|
|
|
- if (is_desktop_linux) {
|
|
+ if (is_desktop_linux && use_gtk) {
|
|
deps += [ "//build/config/linux/gtk" ]
|
|
}
|
|
|