2017-09-12 19:21:18 +02:00
|
|
|
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
|
2018-03-20 21:15:08 +01:00
|
|
|
index 9a10137aa405..6dd8033a0b33 100644
|
2017-09-12 19:21:18 +02:00
|
|
|
--- build/config/compiler/BUILD.gn
|
|
|
|
+++ build/config/compiler/BUILD.gn
|
2018-03-20 21:15:08 +01:00
|
|
|
@@ -137,7 +137,7 @@ declare_args() {
|
|
|
|
is_posix && !using_sanitizer && !(is_android && use_order_profiling) &&
|
|
|
|
((use_lld && !is_nacl) ||
|
|
|
|
(use_gold &&
|
|
|
|
- ((!is_android && linux_use_bundled_binutils) || is_chromeos ||
|
|
|
|
+ ((!is_android && linux_use_bundled_binutils && current_cpu != "x86") || is_chromeos ||
|
|
|
|
!(current_cpu == "x86" || current_cpu == "x64"))))
|
|
|
|
}
|
|
|
|
|
2018-02-15 01:12:09 +01:00
|
|
|
diff --git chrome/browser/ui/libgtkui/gtk_util.cc chrome/browser/ui/libgtkui/gtk_util.cc
|
2018-03-20 21:15:08 +01:00
|
|
|
index 96f8c0e71472..49c462b37e12 100644
|
2018-02-15 01:12:09 +01:00
|
|
|
--- chrome/browser/ui/libgtkui/gtk_util.cc
|
|
|
|
+++ chrome/browser/ui/libgtkui/gtk_util.cc
|
2018-03-20 21:15:08 +01:00
|
|
|
@@ -237,6 +237,7 @@ float GetDeviceScaleFactor() {
|
|
|
|
return linux_ui ? linux_ui->GetDeviceScaleFactor() : 1;
|
2017-12-07 22:44:24 +01:00
|
|
|
}
|
|
|
|
|
2018-02-15 01:12:09 +01:00
|
|
|
+#if GTK_MAJOR_VERSION > 2
|
|
|
|
using GtkSetState = void (*)(GtkWidgetPath*, gint, GtkStateFlags);
|
|
|
|
PROTECTED_MEMORY_SECTION base::ProtectedMemory<GtkSetState>
|
|
|
|
_gtk_widget_path_iter_set_state;
|
2018-03-20 21:15:08 +01:00
|
|
|
@@ -244,6 +245,7 @@ PROTECTED_MEMORY_SECTION base::ProtectedMemory<GtkSetState>
|
2018-02-15 01:12:09 +01:00
|
|
|
using GtkSetObjectName = void (*)(GtkWidgetPath*, gint, const char*);
|
|
|
|
PROTECTED_MEMORY_SECTION base::ProtectedMemory<GtkSetObjectName>
|
|
|
|
_gtk_widget_path_iter_set_object_name;
|
2017-12-07 22:44:24 +01:00
|
|
|
+#endif
|
|
|
|
|
|
|
|
} // namespace
|
|
|
|
|
2018-02-15 01:12:09 +01:00
|
|
|
@@ -401,10 +403,12 @@ ScopedStyleContext AppendCssNodeToStyleContext(GtkStyleContext* context,
|
|
|
|
NOTREACHED();
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
+#if GTK_MAJOR_VERSION > 2
|
|
|
|
static base::ProtectedMemory<GtkSetObjectName>::Initializer init(
|
|
|
|
&_gtk_widget_path_iter_set_object_name,
|
|
|
|
reinterpret_cast<GtkSetObjectName>(dlsym(
|
|
|
|
GetGtkSharedLibrary(), "gtk_widget_path_iter_set_object_name")));
|
|
|
|
+#endif
|
|
|
|
switch (part_type) {
|
|
|
|
case CSS_NAME: {
|
|
|
|
if (GtkVersionCheck(3, 20)) {
|
|
|
|
@@ -449,6 +453,7 @@ ScopedStyleContext AppendCssNodeToStyleContext(GtkStyleContext* context,
|
|
|
|
// widgets specially if they want to.
|
|
|
|
gtk_widget_path_iter_add_class(path, -1, "chromium");
|
2017-12-07 22:44:24 +01:00
|
|
|
|
2018-02-15 01:12:09 +01:00
|
|
|
+#if GTK_MAJOR_VERSION > 2
|
|
|
|
if (GtkVersionCheck(3, 14)) {
|
|
|
|
static base::ProtectedMemory<GtkSetState>::Initializer init(
|
|
|
|
&_gtk_widget_path_iter_set_state,
|
|
|
|
@@ -457,6 +462,7 @@ ScopedStyleContext AppendCssNodeToStyleContext(GtkStyleContext* context,
|
|
|
|
DCHECK(*_gtk_widget_path_iter_set_state);
|
|
|
|
base::UnsanitizedCfiCall(_gtk_widget_path_iter_set_state)(path, -1, state);
|
2017-12-07 22:44:24 +01:00
|
|
|
}
|
2018-02-15 01:12:09 +01:00
|
|
|
+#endif
|
2017-12-07 22:44:24 +01:00
|
|
|
|
2018-02-15 01:12:09 +01:00
|
|
|
ScopedStyleContext child_context(gtk_style_context_new());
|
|
|
|
gtk_style_context_set_path(child_context, path);
|