mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-19 00:21:40 +00:00
extra/chromium to 74.0.3729.131-3
This commit is contained in:
parent
13cfecf073
commit
6ba51beb13
2 changed files with 102 additions and 1 deletions
|
@ -16,7 +16,7 @@ highmem=1
|
|||
|
||||
pkgname=chromium
|
||||
pkgver=74.0.3729.131
|
||||
pkgrel=2
|
||||
pkgrel=3
|
||||
_launcher_ver=6
|
||||
pkgdesc="A web browser built for speed, simplicity, and security"
|
||||
arch=('x86_64')
|
||||
|
@ -36,6 +36,7 @@ source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgn
|
|||
chromium-system-icu.patch
|
||||
chromium-glibc-2.29.patch
|
||||
chromium-fix-the-flash-for-new-windows.patch
|
||||
chromium-fix-window-flash-for-some-WMs.patch
|
||||
chromium-widevine.patch
|
||||
chromium-skia-harmony.patch
|
||||
0001-crashpad-include-limits.patch)
|
||||
|
@ -44,6 +45,7 @@ sha256sums=('d178c7842f8f858ac876d88ce866cbd2132d7ca6c73940613ebf7e9c3fada986'
|
|||
'e2d284311f49c529ea45083438a768db390bde52949995534034d2a814beab89'
|
||||
'dd791f154b48e69cd47fd94753c45448655b529590995fd71ac1591c53a3d60c'
|
||||
'6d82c052eb1f1ae5644a09f7ad7a88d9e2966d1836124445ca4df93b7657c10a'
|
||||
'183d8cc712f0bcf1afcb01ce90c4c104a4c8d8070a06f94974a28b007d9e2ce4'
|
||||
'd081f2ef8793544685aad35dea75a7e6264a2cb987ff3541e6377f4a3650a28b'
|
||||
'5887f78b55c4ecbbcba5930f3f0bb7bc0117c2a41c2f761805fcf7f46f1ca2b3'
|
||||
'df99f49ad58b70c9a3e1827d7e80b62e4363419334ed83373cf55b79c17b6f10')
|
||||
|
@ -111,6 +113,7 @@ prepare() {
|
|||
|
||||
# https://crbug.com/956061
|
||||
patch -Np1 -i ../chromium-fix-the-flash-for-new-windows.patch
|
||||
patch -Np1 -i ../chromium-fix-window-flash-for-some-WMs.patch
|
||||
|
||||
# Load Widevine CDM if available
|
||||
patch -Np1 -i ../chromium-widevine.patch
|
||||
|
|
98
extra/chromium/chromium-fix-window-flash-for-some-WMs.patch
Normal file
98
extra/chromium/chromium-fix-window-flash-for-some-WMs.patch
Normal file
|
@ -0,0 +1,98 @@
|
|||
From 90e226ba50c98b5e60f74f9dce998b17117f9051 Mon Sep 17 00:00:00 2001
|
||||
From: Peng Huang <penghuang@chromium.org>
|
||||
Date: Tue, 7 May 2019 13:16:21 +0000
|
||||
Subject: [PATCH] Fix window flash for some WMs
|
||||
|
||||
Bug: 956061
|
||||
Change-Id: I0d8d196395e70006a8fdc770f1e4a5ba6f93dd57
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1597388
|
||||
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
||||
Reviewed-by: Antoine Labour <piman@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/master@{#657215}
|
||||
---
|
||||
ui/gl/BUILD.gn | 5 ++++-
|
||||
ui/gl/gl_surface_glx.cc | 41 ++++++++++++++++++++++++++++-------------
|
||||
2 files changed, 32 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/ui/gl/BUILD.gn b/ui/gl/BUILD.gn
|
||||
index 50df0e4085..1753dd480b 100644
|
||||
--- a/ui/gl/BUILD.gn
|
||||
+++ b/ui/gl/BUILD.gn
|
||||
@@ -274,7 +274,10 @@ jumbo_component("gl") {
|
||||
"//build/config/linux:xext",
|
||||
]
|
||||
|
||||
- deps += [ "//ui/gfx/x" ]
|
||||
+ deps += [
|
||||
+ "//ui/base/x",
|
||||
+ "//ui/gfx/x",
|
||||
+ ]
|
||||
}
|
||||
if (is_win) {
|
||||
sources += [
|
||||
diff --git a/ui/gl/gl_surface_glx.cc b/ui/gl/gl_surface_glx.cc
|
||||
index f4c13bed18..777bf767cb 100644
|
||||
--- a/ui/gl/gl_surface_glx.cc
|
||||
+++ b/ui/gl/gl_surface_glx.cc
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "base/time/time.h"
|
||||
#include "base/trace_event/trace_event.h"
|
||||
#include "build/build_config.h"
|
||||
+#include "ui/base/x/x11_util.h"
|
||||
#include "ui/events/platform/platform_event_source.h"
|
||||
#include "ui/gfx/x/x11.h"
|
||||
#include "ui/gfx/x/x11_connection.h"
|
||||
@@ -431,7 +432,9 @@ bool GLSurfaceGLX::InitializeOneOff() {
|
||||
}
|
||||
|
||||
const XVisualInfo& visual_info =
|
||||
- gl::GLVisualPickerGLX::GetInstance()->rgba_visual();
|
||||
+ ui::IsCompositingManagerPresent()
|
||||
+ ? gl::GLVisualPickerGLX::GetInstance()->rgba_visual()
|
||||
+ : gl::GLVisualPickerGLX::GetInstance()->system_visual();
|
||||
g_visual = visual_info.visual;
|
||||
g_depth = visual_info.depth;
|
||||
g_colormap =
|
||||
@@ -581,18 +584,30 @@ bool NativeViewGLSurfaceGLX::Initialize(GLSurfaceFormat format) {
|
||||
}
|
||||
size_ = gfx::Size(attributes.width, attributes.height);
|
||||
|
||||
- XSetWindowAttributes swa;
|
||||
- memset(&swa, 0, sizeof(swa));
|
||||
- swa.background_pixmap = 0;
|
||||
- swa.bit_gravity = NorthWestGravity;
|
||||
- swa.colormap = g_colormap;
|
||||
- swa.background_pixel = 0;
|
||||
- swa.border_pixel = 0;
|
||||
- window_ = XCreateWindow(
|
||||
- gfx::GetXDisplay(), parent_window_, 0 /* x */, 0 /* y */, size_.width(),
|
||||
- size_.height(), 0 /* border_width */, g_depth, InputOutput, g_visual,
|
||||
- CWBackPixmap | CWBitGravity | CWColormap | CWBackPixel | CWBorderPixel,
|
||||
- &swa);
|
||||
+ XSetWindowAttributes swa = {
|
||||
+ .background_pixmap = 0,
|
||||
+ .bit_gravity = NorthWestGravity,
|
||||
+ .colormap = g_colormap,
|
||||
+ .background_pixel = 0, // ARGB(0,0,0,0) for compositing WM
|
||||
+ .border_pixel = 0,
|
||||
+ };
|
||||
+ auto value_mask = CWBackPixmap | CWBitGravity | CWColormap | CWBorderPixel;
|
||||
+ if (ui::IsCompositingManagerPresent() &&
|
||||
+ XVisualIDFromVisual(attributes.visual) == XVisualIDFromVisual(g_visual)) {
|
||||
+ // When parent and child are using the same visual, the back buffer will be
|
||||
+ // shared between parent and child. If WM compositing is enabled, we set
|
||||
+ // child's background pixel to ARGB(0,0,0,0), so ARGB(0,0,0,0) will be
|
||||
+ // filled to the shared buffer, when the child window is mapped. It can
|
||||
+ // avoid an annoying flash when the child window is mapped below.
|
||||
+ // If WM compositing is disabled, we don't set the background pixel, so
|
||||
+ // nothing will be draw when the child window is mapped.
|
||||
+ value_mask |= CWBackPixel;
|
||||
+ }
|
||||
+
|
||||
+ window_ =
|
||||
+ XCreateWindow(gfx::GetXDisplay(), parent_window_, 0 /* x */, 0 /* y */,
|
||||
+ size_.width(), size_.height(), 0 /* border_width */,
|
||||
+ g_depth, InputOutput, g_visual, value_mask, &swa);
|
||||
if (!window_) {
|
||||
LOG(ERROR) << "XCreateWindow failed";
|
||||
return false;
|
Loading…
Reference in a new issue