Accepting request 597716 from network:chromium

- Up to 66.0.3359.81
- Bump to 66.0.3359.66
- Update chromium-gcc7.patch to include more quirks
- Bump to 66.0.3359.45
- Bump to 66.0.3359.33
- Version bump to 66.0.3359.26
- Bump the requirement for the clang version
- Conditionalize harfbuzz switch
- Update to 66.0.3359.22
- Apply patches using %autopatch
- Add patch to build with gcc7 properly chromium-gcc7.patch
- Drop patch chromium-sandbox-pie.patch as we have pie default now
- Add patch to build with leap variant of drm chromium-drm.patch
- Add patch to build ffmpeg from system chromium-ffmpeg.patch

- Up to 66.0.3355.0
- Disable clang by default again

- Up to 66.0.3350.0

- Drop patch fix_network_api_crash.patch

- Bump to 66.0.3343.3

- Bump to 65.0.3325.51

- Disable gconf support
- Bump to 65.0.3325.31
- Update to 65.0.3325.18
- Try to have automatic ozone platform detection

OBS-URL: https://build.opensuse.org/request/show/597716
OBS-URL: https://build.opensuse.org/package/show/network:chromium/chromium?expand=0&rev=1114
This commit is contained in:
Tomáš Chvátal
2018-04-18 08:59:31 +00:00
committed by Git OBS Bridge
parent 7fc836ab2a
commit 761036a084
18 changed files with 1171 additions and 1191 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:93666448c6b96ec83e6a35a64cff40db4eb92a154fe1db4e7dab4761d0e38687
size 570386836

BIN
chromium-66.0.3359.81.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -1,11 +0,0 @@
--- a/device/u2f/u2f_ble_transaction.cc
+++ b/device/u2f/u2f_ble_transaction.cc
@@ -131,7 +131,7 @@
void U2fBleTransaction::OnError() {
request_frame_.reset();
- request_cont_fragments_ = {};
+ request_cont_fragments_ = base::queue<U2fBleFrameContinuationFragment>();
response_frame_assembler_.reset();
std::move(callback_).Run(base::nullopt);
}

22
chromium-ffmpeg.patch Normal file
View File

@@ -0,0 +1,22 @@
--- a/build/linux/unbundle/ffmpeg.gn
+++ b/build/linux/unbundle/ffmpeg.gn
@@ -14,8 +14,8 @@ pkg_config("system_ffmpeg") {
]
}
-buildflag_header("ffmpeg_buildflags") {
- header = "ffmpeg_buildflags.h"
+buildflag_header("ffmpeg_features") {
+ header = "ffmpeg_features.h"
flags = [ "USE_SYSTEM_FFMPEG=true" ]
}
@@ -30,7 +30,7 @@ shim_headers("ffmpeg_shim") {
source_set("ffmpeg") {
deps = [
- ":ffmpeg_buildflags",
+ ":ffmpeg_features",
":ffmpeg_shim",
]
public_configs = [ ":system_ffmpeg" ]

177
chromium-gcc7.patch Normal file
View File

@@ -0,0 +1,177 @@
--- chromium-66.0.3355.0.orig/device/fido/device_response_converter.cc 2018-03-09 12:04:44.988233476 +0100
+++ chromium-66.0.3355.0/device/fido/device_response_converter.cc 2018-03-09 13:08:48.566680438 +0100
@@ -121,7 +121,7 @@
response.SetNumCredentials(it->second.GetUnsigned());
}
- return response;
+ return std::move(response);
}
base::Optional<AuthenticatorGetInfoResponse> ReadCTAPGetInfoResponse(
@@ -241,7 +241,7 @@
response.SetPinProtocols(std::move(supported_pin_protocols));
}
- return response;
+ return std::move(response);
}
} // namespace device
From 4f2b52281ce1649ea8347489443965ad33262ecc Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <jose.dapena@lge.com>
Date: Thu, 08 Mar 2018 17:46:02 +0000
Subject: [PATCH] GCC: PlaybackImageProvider::Settings: explicitely set copy constructor.
GCC fails to resolve the default copy constructor of the flat_map, so
we add an explicit reference to use default copy constructor.
Bug: 819294
Change-Id: Ie2d69bdbe60742e9253251c965cbf0a936037871
Reviewed-on: https://chromium-review.googlesource.com/944403
Reviewed-by: David Reveman <reveman@chromium.org>
Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
Cr-Commit-Position: refs/heads/master@{#541827}
---
diff --git a/cc/raster/playback_image_provider.cc b/cc/raster/playback_image_provider.cc
index 557b421..b2ace4d 100644
--- a/cc/raster/playback_image_provider.cc
+++ b/cc/raster/playback_image_provider.cc
@@ -20,7 +20,7 @@
PlaybackImageProvider::PlaybackImageProvider(
ImageDecodeCache* cache,
const gfx::ColorSpace& target_color_space,
- base::Optional<Settings> settings)
+ base::Optional<Settings>&& settings)
: cache_(cache),
target_color_space_(target_color_space),
settings_(std::move(settings)) {
@@ -70,7 +70,10 @@
}
PlaybackImageProvider::Settings::Settings() = default;
-PlaybackImageProvider::Settings::Settings(const Settings& other) = default;
+PlaybackImageProvider::Settings::Settings(PlaybackImageProvider::Settings&&) =
+ default;
PlaybackImageProvider::Settings::~Settings() = default;
+PlaybackImageProvider::Settings& PlaybackImageProvider::Settings::operator=(
+ PlaybackImageProvider::Settings&&) = default;
} // namespace cc
diff --git a/cc/raster/playback_image_provider.h b/cc/raster/playback_image_provider.h
index 67974f3..a33092d 100644
--- a/cc/raster/playback_image_provider.h
+++ b/cc/raster/playback_image_provider.h
@@ -20,8 +20,10 @@
public:
struct CC_EXPORT Settings {
Settings();
- Settings(const Settings& other);
+ Settings(const Settings&) = delete;
+ Settings(Settings&&);
~Settings();
+ Settings& operator=(Settings&&);
// The set of image ids to skip during raster.
PaintImageIdFlatSet images_to_skip;
@@ -34,7 +36,7 @@
// If no settings are provided, all images are skipped during rasterization.
PlaybackImageProvider(ImageDecodeCache* cache,
const gfx::ColorSpace& target_color_space,
- base::Optional<Settings> settings);
+ base::Optional<Settings>&& settings);
~PlaybackImageProvider() override;
PlaybackImageProvider(PlaybackImageProvider&& other);
diff --git a/cc/raster/playback_image_provider_unittest.cc b/cc/raster/playback_image_provider_unittest.cc
index 0206999..40036e8 100644
--- a/cc/raster/playback_image_provider_unittest.cc
+++ b/cc/raster/playback_image_provider_unittest.cc
@@ -85,7 +85,8 @@
settings.emplace();
settings->images_to_skip = {skip_image.stable_id()};
- PlaybackImageProvider provider(&cache, gfx::ColorSpace(), settings);
+ PlaybackImageProvider provider(&cache, gfx::ColorSpace(),
+ std::move(settings));
SkIRect rect = SkIRect::MakeWH(10, 10);
SkMatrix matrix = SkMatrix::I();
@@ -99,7 +100,8 @@
base::Optional<PlaybackImageProvider::Settings> settings;
settings.emplace();
- PlaybackImageProvider provider(&cache, gfx::ColorSpace(), settings);
+ PlaybackImageProvider provider(&cache, gfx::ColorSpace(),
+ std::move(settings));
{
SkRect rect = SkRect::MakeWH(10, 10);
@@ -127,7 +129,8 @@
settings.emplace();
settings->image_to_current_frame_index = image_to_frame;
- PlaybackImageProvider provider(&cache, gfx::ColorSpace(), settings);
+ PlaybackImageProvider provider(&cache, gfx::ColorSpace(),
+ std::move(settings));
SkIRect rect = SkIRect::MakeWH(10, 10);
SkMatrix matrix = SkMatrix::I();
@@ -143,7 +146,8 @@
base::Optional<PlaybackImageProvider::Settings> settings;
settings.emplace();
- PlaybackImageProvider provider(&cache, gfx::ColorSpace(), settings);
+ PlaybackImageProvider provider(&cache, gfx::ColorSpace(),
+ std::move(settings));
{
SkIRect rect = SkIRect::MakeWH(10, 10);
@@ -174,7 +178,8 @@
MockDecodeCache cache;
base::Optional<PlaybackImageProvider::Settings> settings;
settings.emplace();
- PlaybackImageProvider provider(&cache, gfx::ColorSpace(), settings);
+ PlaybackImageProvider provider(&cache, gfx::ColorSpace(),
+ std::move(settings));
{
SkIRect rect = SkIRect::MakeWH(10, 10);
SkMatrix matrix = SkMatrix::I();
diff -urN chromium-66.0.3359.45.orig/chrome/browser/supervised_user/supervised_user_url_filter.cc chromium-66.0.3359.45/chrome/browser/supervised_user/supervised_user_url_filter.cc
--- chromium-66.0.3359.45.orig/chrome/browser/supervised_user/supervised_user_url_filter.cc 2018-03-27 16:26:46.164296894 +0200
+++ chromium-66.0.3359.45/chrome/browser/supervised_user/supervised_user_url_filter.cc 2018-03-27 16:27:54.889425873 +0200
@@ -368,7 +368,7 @@
// Allow navigations to whitelisted origins (currently families.google.com).
static const base::NoDestructor<base::flat_set<GURL>> kWhitelistedOrigins(
- {GURL(kFamiliesUrl).GetOrigin()});
+ base::flat_set<GURL>({GURL(kFamiliesUrl).GetOrigin()}));
if (base::ContainsKey(*kWhitelistedOrigins, effective_url.GetOrigin()))
return ALLOW;
diff -urN chromium-66.0.3359.45.orig/content/browser/appcache/appcache_request_handler.cc chromium-66.0.3359.45/content/browser/appcache/appcache_request_handler.cc
--- chromium-66.0.3359.45.orig/content/browser/appcache/appcache_request_handler.cc 2018-03-28 14:54:42.714402259 +0200
+++ chromium-66.0.3359.45/content/browser/appcache/appcache_request_handler.cc 2018-03-28 15:00:14.367868004 +0200
@@ -639,7 +639,7 @@
SubresourceLoaderParams params;
params.loader_factory_info = factory_ptr.PassInterface();
- return params;
+ return base::Optional<SubresourceLoaderParams>(std::move(params));
}
void AppCacheRequestHandler::MaybeCreateSubresourceLoader(
diff -urN chromium-66.0.3359.45.orig/content/browser/service_worker/service_worker_controllee_request_handler.cc chromium-66.0.3359.45/content/browser/service_worker/service_worker_controllee_request_handler.cc
--- chromium-66.0.3359.45.orig/content/browser/service_worker/service_worker_controllee_request_handler.cc 2018-03-28 14:54:43.154409514 +0200
+++ chromium-66.0.3359.45/content/browser/service_worker/service_worker_controllee_request_handler.cc 2018-03-28 15:01:02.384658496 +0200
@@ -271,7 +271,7 @@
controller_info->object_info = provider_host_->GetOrCreateServiceWorkerHandle(
provider_host_->controller());
params.controller_service_worker_info = std::move(controller_info);
- return params;
+ return base::Optional<SubresourceLoaderParams>(std::move(params));
}
void ServiceWorkerControlleeRequestHandler::PrepareForMainResource(

View File

@@ -1,50 +0,0 @@
From 9f63f94a11abc34d40ede8b8712fa15b5844a8c0 Mon Sep 17 00:00:00 2001
From: Tom Anderson <thomasanderson@chromium.org>
Date: Sat, 27 Jan 2018 20:03:37 +0000
Subject: [PATCH] Fix build with glibc 2.27
BUG=806340
TBR=hamelphi@chromium.org
Change-Id: Ib4e5091212d874d9ad88f3e9a1fdfee3ed7e0d5e
Reviewed-on: https://chromium-review.googlesource.com/890059
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Philippe Hamel <hamelphi@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#532249}
---
diff --git a/components/assist_ranker/ranker_example_util.cc b/components/assist_ranker/ranker_example_util.cc
index 54d4dbd..ceedd8f 100644
--- a/components/assist_ranker/ranker_example_util.cc
+++ b/components/assist_ranker/ranker_example_util.cc
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include <math.h>
+
#include "components/assist_ranker/ranker_example_util.h"
#include "base/bit_cast.h"
#include "base/format_macros.h"
From 0235c2b657d936f3cdb09053776e5929fc84704b Mon Sep 17 00:00:00 2001
From: Tomas Popela <tomas.popela@gmail.com>
Date: Wed, 31 Jan 2018 18:57:07 +0000
Subject: [PATCH] Add missing stdint include
diff --git a/chrome/browser/vr/sample_queue.cc b/chrome/browser/vr/sample_queue.cc
index c2ca777ce90c..53cb3aab1576 100644
--- a/chrome/browser/vr/sample_queue.cc
+++ b/chrome/browser/vr/sample_queue.cc
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include <stdint.h>
+
#include "chrome/browser/vr/sample_queue.h"
namespace vr {
--
2.16.2

View File

@@ -1,7 +1,7 @@
Index: chromium/src/chrome/browser/first_run/first_run_linux.cc
Index: a/chromium/src/chrome/browser/first_run/first_run_linux.cc
===================================================================
--- chrome/browser/first_run/first_run_internal_linux.cc
+++ chrome/browser/first_run/first_run_internal_linux.cc
--- a/chrome/browser/first_run/first_run_internal_linux.cc
+++ b/chrome/browser/first_run/first_run_internal_linux.cc
@@ -22,8 +22,7 @@
base::FilePath MasterPrefsPath() {
// The standard location of the master prefs is next to the chrome binary.

View File

@@ -1,16 +1,3 @@
Index: chromium-65.0.3325.146/chrome/browser/ui/libgtkui/app_indicator_icon.cc
===================================================================
--- chromium-65.0.3325.146.orig/chrome/browser/ui/libgtkui/app_indicator_icon.cc
+++ chromium-65.0.3325.146/chrome/browser/ui/libgtkui/app_indicator_icon.cc
@@ -98,6 +98,8 @@ bool ShouldUseLibAppIndicator() {
case base::nix::DESKTOP_ENVIRONMENT_OTHER:
case base::nix::DESKTOP_ENVIRONMENT_XFCE:
return false;
+ default:
+ return false;
}
}
Index: chromium-65.0.3325.146/media/gpu/vaapi/vaapi_wrapper.cc
===================================================================
--- chromium-65.0.3325.146.orig/media/gpu/vaapi/vaapi_wrapper.cc

View File

@@ -1,5 +1,5 @@
--- sandbox/linux/BUILD.gn 2016-08-03 06:31:07.000000000 +0200
+++ sandbox/linux/BUILD.gn 2016-08-03 06:31:07.000000000 +0200
--- a/sandbox/linux/BUILD.gn 2016-08-03 06:31:07.000000000 +0200
+++ b/sandbox/linux/BUILD.gn 2016-08-03 06:31:07.000000000 +0200
@@ -297,12 +297,17 @@
cflags = [

View File

@@ -1,253 +0,0 @@
From 281edc278272f0650fc190c8539d443ac59157bc Mon Sep 17 00:00:00 2001
From: Daniel Charles <daniel.charles@intel.com>
Date: Thu, 08 Feb 2018 02:36:51 +0000
Subject: [PATCH] vaapi initialization: move it to vaapi_wrapper
vaapi loading of libraries happens on the Pre and Post Sandbox
functions. Moving dynamic loading of libaries, i.e. libva,libva-drm
and i965_drv_video shared libraries to vaapi_wrapper.
When calling PreSandbox function in vaapi_wrapper libva will open
i965_drv_video shared library and both will be available for use
BUG=785117
TEST=video initialization of h/w dec/enc, VAVDA/VAVEA/VAJDA subjective
testing and include unittests and autotests
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I862bb49f1167d7437e80387882cb9081ad53f54b
Signed-off-by: Daniel Charles <daniel.charles@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/666138
Commit-Queue: Miguel Casas <mcasas@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Dongseong Hwang <dongseong.hwang@intel.com>
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535274}
---
diff --git a/content/gpu/gpu_sandbox_hook_linux.cc b/content/gpu/gpu_sandbox_hook_linux.cc
index e69e23e..5c4013c 100644
--- a/content/gpu/gpu_sandbox_hook_linux.cc
+++ b/content/gpu/gpu_sandbox_hook_linux.cc
@@ -29,10 +29,6 @@
#include "services/service_manager/sandbox/linux/bpf_gpu_policy_linux.h"
#include "services/service_manager/sandbox/linux/sandbox_linux.h"
-#if BUILDFLAG(USE_VAAPI)
-#include <va/va_version.h>
-#endif
-
using sandbox::bpf_dsl::Policy;
using sandbox::syscall_broker::BrokerFilePermission;
using sandbox::syscall_broker::BrokerProcess;
@@ -48,22 +44,6 @@
#endif
}
-inline bool IsArchitectureX86_64() {
-#if defined(__x86_64__)
- return true;
-#else
- return false;
-#endif
-}
-
-inline bool IsArchitectureI386() {
-#if defined(__i386__)
- return true;
-#else
- return false;
-#endif
-}
-
inline bool IsArchitectureArm() {
#if defined(ARCH_CPU_ARM_FAMILY)
return true;
@@ -88,14 +68,6 @@
#endif
}
-inline bool IsLibVAVersion2() {
-#if BUILDFLAG(USE_VAAPI) && VA_MAJOR_VERSION == 1
- return true;
-#else
- return false;
-#endif
-}
-
constexpr int dlopen_flag = RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE;
void AddV4L2GpuWhitelist(
@@ -270,50 +242,6 @@
}
}
-void LoadStandardLibraries(
- const service_manager::SandboxSeccompBPF::Options& options) {
- if (IsArchitectureX86_64() || IsArchitectureI386()) {
- // Accelerated video dlopen()'s some shared objects
- // inside the sandbox, so preload them now.
- if (IsAcceleratedVideoEnabled(options)) {
- if (IsLibVAVersion2()) {
- if (IsArchitectureX86_64()) {
- dlopen("/usr/lib64/va/drivers/i965_drv_video.so", dlopen_flag);
- dlopen("/usr/lib64/va/drivers/hybrid_drv_video.so", dlopen_flag);
- } else if (IsArchitectureI386()) {
- dlopen("/usr/lib/va/drivers/i965_drv_video.so", dlopen_flag);
- }
- dlopen("libva.so.2", dlopen_flag);
-#if defined(USE_OZONE)
- dlopen("libva-drm.so.2", dlopen_flag);
-#endif
- } else {
- // If we are linked against libva 1, we have two cases to handle:
- // - the sysroot includes both libva 1 and 2, in which case the drivers
- // are in /usr/lib{64}/va1/
- // - the sysroot only includes libva 1, in which case the drivers are
- // are in /usr/lib{64}/va/
- // This is ugly, but temporary until all builds have switched to libva 2.
- if (IsArchitectureX86_64()) {
- if (!dlopen("/usr/lib64/va1/drivers/i965_drv_video.so", dlopen_flag))
- dlopen("/usr/lib64/va/drivers/i965_drv_video.so", dlopen_flag);
- if (!dlopen("/usr/lib64/va1/drivers/hybrid_drv_video.so", dlopen_flag))
- dlopen("/usr/lib64/va/drivers/hybrid_drv_video.so", dlopen_flag);
- } else if (IsArchitectureI386()) {
- if (!dlopen("/usr/lib/va1/drivers/i965_drv_video.so", dlopen_flag))
- dlopen("/usr/lib/va/drivers/i965_drv_video.so", dlopen_flag);
- }
- dlopen("libva.so.1", dlopen_flag);
-#if defined(USE_OZONE)
- dlopen("libva-drm.so.1", dlopen_flag);
-#elif defined(USE_X11)
- dlopen("libva-x11.so.1", dlopen_flag);
-#endif
- }
- }
- }
-}
-
bool LoadLibrariesForGpu(
const service_manager::SandboxSeccompBPF::Options& options) {
if (IsChromeOS()) {
@@ -326,7 +254,6 @@
if (options.use_amd_specific_policies)
return LoadAmdGpuLibraries();
}
- LoadStandardLibraries(options);
return true;
}
diff --git a/media/gpu/vaapi/vaapi_wrapper.cc b/media/gpu/vaapi/vaapi_wrapper.cc
index bc3d735..7421a74 100644
--- a/media/gpu/vaapi/vaapi_wrapper.cc
+++ b/media/gpu/vaapi/vaapi_wrapper.cc
@@ -48,6 +48,11 @@
using media_gpu_vaapi::kModuleVa_x11;
#endif
using media_gpu_vaapi::InitializeStubs;
+using media_gpu_vaapi::IsVaInitialized;
+#if defined(USE_X11)
+using media_gpu_vaapi::IsVa_x11Initialized;
+#endif
+using media_gpu_vaapi::IsVa_drmInitialized;
using media_gpu_vaapi::StubPathMap;
#define LOG_VA_ERROR_AND_REPORT(va_error, err_msg) \
@@ -166,9 +171,6 @@
void SetDrmFd(base::PlatformFile fd) { drm_fd_.reset(HANDLE_EINTR(dup(fd))); }
private:
- // Returns false on init failure.
- static bool PostSandboxInitialization();
-
// Protected by |va_lock_|.
int refcount_;
@@ -203,41 +205,17 @@
VADisplayState::Get()->SetDrmFd(drm_file.GetPlatformFile());
}
-// static
-bool VADisplayState::PostSandboxInitialization() {
- const std::string va_suffix(std::to_string(VA_MAJOR_VERSION + 1));
- StubPathMap paths;
-
- paths[kModuleVa].push_back(std::string("libva.so.") + va_suffix);
- paths[kModuleVa_drm].push_back(std::string("libva-drm.so.") + va_suffix);
-#if defined(USE_X11)
- // libva-x11 does not exist on libva >= 2
- if (VA_MAJOR_VERSION == 0)
- paths[kModuleVa_x11].push_back("libva-x11.so.1");
-#endif
-
- const bool success = InitializeStubs(paths);
- if (!success) {
- static const char kErrorMsg[] = "Failed to initialize VAAPI libs";
-#if defined(OS_CHROMEOS)
- // When Chrome runs on Linux with target_os="chromeos", do not log error
- // message without VAAPI libraries.
- LOG_IF(ERROR, base::SysInfo::IsRunningOnChromeOS()) << kErrorMsg;
-#else
- DVLOG(1) << kErrorMsg;
-#endif
- }
- return success;
-}
-
VADisplayState::VADisplayState()
: refcount_(0), va_display_(nullptr), va_initialized_(false) {}
bool VADisplayState::Initialize() {
va_lock_.AssertAcquired();
- static bool result = PostSandboxInitialization();
- if (!result)
+ if (!IsVaInitialized() ||
+#if defined(USE_X11)
+ !IsVa_x11Initialized() ||
+#endif
+ !IsVa_drmInitialized())
return false;
if (refcount_++ > 0)
@@ -1169,6 +1147,38 @@
// static
void VaapiWrapper::PreSandboxInitialization() {
VADisplayState::PreSandboxInitialization();
+
+ const std::string va_suffix(std::to_string(VA_MAJOR_VERSION + 1));
+ StubPathMap paths;
+
+ paths[kModuleVa].push_back(std::string("libva.so.") + va_suffix);
+ paths[kModuleVa_drm].push_back(std::string("libva-drm.so.") + va_suffix);
+#if defined(USE_X11)
+ paths[kModuleVa_x11].push_back(std::string("libva-x11.so.") + va_suffix);
+#endif
+
+ // InitializeStubs dlopen() VA-API libraries
+ // libva.so
+ // libva-x11.so (X11)
+ // libva-drm.so (X11 and Ozone).
+ static bool result = InitializeStubs(paths);
+ if (!result) {
+ static const char kErrorMsg[] = "Failed to initialize VAAPI libs";
+#if defined(OS_CHROMEOS)
+ // When Chrome runs on Linux with target_os="chromeos", do not log error
+ // message without VAAPI libraries.
+ LOG_IF(ERROR, base::SysInfo::IsRunningOnChromeOS()) << kErrorMsg;
+#else
+ DVLOG(1) << kErrorMsg;
+#endif
+ }
+
+ // VASupportedProfiles::Get creates VADisplayState and in so doing
+ // driver associated libraries are dlopen(), to know:
+ // i965_drv_video.so
+ // hybrid_drv_video.so (platforms that support it)
+ // libcmrt.so (platforms that support it)
+ VASupportedProfiles::Get();
}
VaapiWrapper::VaapiWrapper()

View File

@@ -1,4 +1,4 @@
From 4bf343ab8c4a538205f9c1e96a661e40620c716b Mon Sep 17 00:00:00 2001
From d9ef948bf4a739f95acbd98ef88b04caa29d8dda Mon Sep 17 00:00:00 2001
From: Daniel Charles <daniel.charles@intel.com>
Date: Fri, 09 Feb 2018 14:39:27 -0800
Subject: [PATCH] Enable VAVDA, VAVEA and VAJDA on linux with VAAPI only
@@ -29,14 +29,16 @@ TEST=subjective testing with VAVDA,VAVEA and VAJDA, autotest for encoder
have libva/intel-vaapi-driver installed and not installed in the system
repeat on different hardware families
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Ifbbf5c9e5221a8b5733fc6d4d0cf984a1f103171
Signed-off-by: Daniel Charles <daniel.charles@intel.com>
---
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -1249,12 +1249,14 @@ const FeatureEntry kFeatureEntries[] = {
Index: chromium-66.0.3359.81/chrome/browser/about_flags.cc
===================================================================
--- chromium-66.0.3359.81.orig/chrome/browser/about_flags.cc
+++ chromium-66.0.3359.81/chrome/browser/about_flags.cc
@@ -1234,12 +1234,14 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kUiPartialSwapDescription, kOsAll,
SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)},
#if BUILDFLAG(ENABLE_WEBRTC)
@@ -51,7 +53,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
{"enable-webrtc-hw-h264-encoding",
flag_descriptions::kWebrtcHwH264EncodingName,
flag_descriptions::kWebrtcHwH264EncodingDescription, kOsAndroid | kOsCrOS,
@@ -1550,6 +1552,13 @@ const FeatureEntry kFeatureEntries[] = {
@@ -1553,6 +1555,13 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kShowTouchHudDescription, kOsCrOS,
SINGLE_VALUE_TYPE(ash::switches::kAshTouchHud)},
#endif // OS_CHROMEOS
@@ -65,7 +67,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
{
"disable-accelerated-video-decode",
flag_descriptions::kAcceleratedVideoDecodeName,
@@ -1557,6 +1566,7 @@ const FeatureEntry kFeatureEntries[] = {
@@ -1560,6 +1569,7 @@ const FeatureEntry kFeatureEntries[] = {
kOsMac | kOsWin | kOsCrOS | kOsAndroid,
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
},
@@ -73,7 +75,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
#if defined(OS_WIN)
{"enable-hdr", flag_descriptions::kEnableHDRName,
flag_descriptions::kEnableHDRDescription, kOsWin,
@@ -2268,12 +2278,17 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2280,12 +2290,17 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kOpenVR)},
#endif // ENABLE_OPENVR
#endif // ENABLE_VR
@@ -93,8 +95,10 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
{"v8-cache-options", flag_descriptions::kV8CacheOptionsName,
flag_descriptions::kV8CacheOptionsDescription, kOsAll,
MULTI_VALUE_TYPE(kV8CacheOptionsChoices)},
--- a/chrome/browser/chromeos/login/chrome_restart_request.cc
+++ b/chrome/browser/chromeos/login/chrome_restart_request.cc
Index: chromium-66.0.3359.81/chrome/browser/chromeos/login/chrome_restart_request.cc
===================================================================
--- chromium-66.0.3359.81.orig/chrome/browser/chromeos/login/chrome_restart_request.cc
+++ chromium-66.0.3359.81/chrome/browser/chromeos/login/chrome_restart_request.cc
@@ -19,6 +19,7 @@
#include "base/sys_info.h"
#include "base/timer/timer.h"
@@ -118,7 +122,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
::switches::kDisableBlinkFeatures,
::switches::kDisableCastStreamingHWEncoding,
::switches::kDisableDistanceFieldText,
@@ -164,7 +170,7 @@ void DeriveCommandLine(const GURL& start
@@ -163,7 +169,7 @@ void DeriveCommandLine(const GURL& start
::switches::kDisableWebGLImageChromium,
::switches::kEnableWebGLImageChromium,
::switches::kEnableWebVR,
@@ -127,8 +131,10 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
::switches::kDisableWebRtcHWDecoding,
::switches::kDisableWebRtcHWEncoding,
#endif
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
Index: chromium-66.0.3359.81/chrome/browser/flag_descriptions.cc
===================================================================
--- chromium-66.0.3359.81.orig/chrome/browser/flag_descriptions.cc
+++ chromium-66.0.3359.81/chrome/browser/flag_descriptions.cc
@@ -14,6 +14,13 @@ const char kAccelerated2dCanvasDescripti
"Enables the use of the GPU to perform 2d canvas rendering instead of "
"using software rendering.";
@@ -143,7 +149,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
const char kAcceleratedVideoDecodeName[] = "Hardware-accelerated video decode";
const char kAcceleratedVideoDecodeDescription[] =
"Hardware-accelerated video decode where available.";
@@ -1597,6 +1604,7 @@ const char kWebrtcEchoCanceller3Name[] =
@@ -1723,6 +1730,7 @@ const char kWebrtcEchoCanceller3Name[] =
const char kWebrtcEchoCanceller3Description[] =
"Experimental WebRTC echo canceller (AEC3).";
@@ -151,7 +157,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
const char kWebrtcHwDecodingName[] = "WebRTC hardware video decoding";
const char kWebrtcHwDecodingDescription[] =
"Support in WebRTC for decoding video streams using platform hardware.";
@@ -1604,6 +1612,7 @@ const char kWebrtcHwDecodingDescription[
@@ -1730,6 +1738,7 @@ const char kWebrtcHwDecodingDescription[
const char kWebrtcHwEncodingName[] = "WebRTC hardware video encoding";
const char kWebrtcHwEncodingDescription[] =
"Support in WebRTC for encoding video streams using platform hardware.";
@@ -159,7 +165,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
const char kWebrtcHwH264EncodingName[] = "WebRTC hardware h264 video encoding";
const char kWebrtcHwH264EncodingDescription[] =
@@ -2434,14 +2443,16 @@ const char kTranslateNewUxDescription[]
@@ -2549,14 +2558,16 @@ const char kTabStripKeyboardFocusDescrip
// Chrome OS -------------------------------------------------------------------
@@ -177,8 +183,10 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
const char kAllowTouchpadThreeFingerClickName[] = "Touchpad three-finger-click";
const char kAllowTouchpadThreeFingerClickDescription[] =
"Enables touchpad three-finger-click as middle button.";
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
Index: chromium-66.0.3359.81/chrome/browser/flag_descriptions.h
===================================================================
--- chromium-66.0.3359.81.orig/chrome/browser/flag_descriptions.h
+++ chromium-66.0.3359.81/chrome/browser/flag_descriptions.h
@@ -37,6 +37,10 @@ namespace flag_descriptions {
extern const char kAccelerated2dCanvasName[];
extern const char kAccelerated2dCanvasDescription[];
@@ -190,7 +198,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
extern const char kAcceleratedVideoDecodeName[];
extern const char kAcceleratedVideoDecodeDescription[];
@@ -1498,13 +1502,17 @@ extern const char kPermissionPromptPersi
@@ -1561,13 +1565,17 @@ extern const char kPermissionPromptPersi
#endif // defined(OS_MACOSX)
@@ -211,9 +219,11 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
extern const char kAllowTouchpadThreeFingerClickName[];
extern const char kAllowTouchpadThreeFingerClickDescription[];
--- a/content/browser/gpu/compositor_util.cc
+++ b/content/browser/gpu/compositor_util.cc
@@ -98,7 +98,11 @@ const GpuFeatureData GetGpuFeatureData(s
Index: chromium-66.0.3359.81/content/browser/gpu/compositor_util.cc
===================================================================
--- chromium-66.0.3359.81.orig/content/browser/gpu/compositor_util.cc
+++ chromium-66.0.3359.81/content/browser/gpu/compositor_util.cc
@@ -99,7 +99,11 @@ const GpuFeatureData GetGpuFeatureData(s
{"video_decode",
manager->GetFeatureStatus(
gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE),
@@ -225,9 +235,11 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
"Accelerated video decode has been disabled, either via blacklist,"
" about:flags or the command line.",
true},
--- a/content/browser/gpu/gpu_process_host.cc
+++ b/content/browser/gpu/gpu_process_host.cc
@@ -120,7 +120,7 @@ static const char* const kSwitchNames[]
Index: chromium-66.0.3359.81/content/browser/gpu/gpu_process_host.cc
===================================================================
--- chromium-66.0.3359.81.orig/content/browser/gpu/gpu_process_host.cc
+++ chromium-66.0.3359.81/content/browser/gpu/gpu_process_host.cc
@@ -132,7 +132,7 @@ static const char* const kSwitchNames[]
switches::kDisableGLExtensions,
switches::kDisableLogging,
switches::kDisableShaderNameHashing,
@@ -236,9 +248,11 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
switches::kDisableWebRtcHWEncoding,
#endif
#if defined(OS_WIN)
--- a/content/browser/renderer_host/media/video_capture_browsertest.cc
+++ b/content/browser/renderer_host/media/video_capture_browsertest.cc
@@ -164,8 +164,13 @@ class VideoCaptureBrowserTest : public C
Index: chromium-66.0.3359.81/content/browser/renderer_host/media/video_capture_browsertest.cc
===================================================================
--- chromium-66.0.3359.81.orig/content/browser/renderer_host/media/video_capture_browsertest.cc
+++ chromium-66.0.3359.81/content/browser/renderer_host/media/video_capture_browsertest.cc
@@ -163,8 +163,13 @@ class VideoCaptureBrowserTest : public C
base::CommandLine::ForCurrentProcess()->AppendSwitch(
switches::kUseFakeJpegDecodeAccelerator);
} else {
@@ -252,8 +266,10 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
}
}
--- a/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc
+++ b/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc
Index: chromium-66.0.3359.81/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc
===================================================================
--- chromium-66.0.3359.81.orig/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc
+++ chromium-66.0.3359.81/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc
@@ -65,15 +65,21 @@ void VideoCaptureGpuJpegDecoder::Initial
bool is_platform_supported =
base::CommandLine::ForCurrentProcess()->HasSwitch(
@@ -280,9 +296,11 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
decoder_status_ = FAILED;
RecordInitDecodeUMA_Locked();
return;
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -2530,7 +2530,11 @@ void RenderProcessHostImpl::PropagateBro
Index: chromium-66.0.3359.81/content/browser/renderer_host/render_process_host_impl.cc
===================================================================
--- chromium-66.0.3359.81.orig/content/browser/renderer_host/render_process_host_impl.cc
+++ chromium-66.0.3359.81/content/browser/renderer_host/render_process_host_impl.cc
@@ -2524,7 +2524,11 @@ void RenderProcessHostImpl::PropagateBro
switches::kDefaultTileHeight,
switches::kDisable2dCanvasImageChromium,
switches::kDisableAcceleratedJpegDecoding,
@@ -294,7 +312,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
switches::kDisableBackgroundTimerThrottling,
switches::kDisableBreakpad,
switches::kDisableCompositorUkmForTests,
@@ -2663,8 +2667,10 @@ void RenderProcessHostImpl::PropagateBro
@@ -2658,8 +2662,10 @@ void RenderProcessHostImpl::PropagateBro
switches::kDisableMojoRenderer,
#endif
#if BUILDFLAG(ENABLE_WEBRTC)
@@ -305,8 +323,10 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
switches::kEnableWebRtcSrtpAesGcm,
switches::kEnableWebRtcSrtpEncryptedHeaders,
switches::kEnableWebRtcStunOrigin,
--- a/content/browser/webrtc/webrtc_media_recorder_browsertest.cc
+++ b/content/browser/webrtc/webrtc_media_recorder_browsertest.cc
Index: chromium-66.0.3359.81/content/browser/webrtc/webrtc_media_recorder_browsertest.cc
===================================================================
--- chromium-66.0.3359.81.orig/content/browser/webrtc/webrtc_media_recorder_browsertest.cc
+++ chromium-66.0.3359.81/content/browser/webrtc/webrtc_media_recorder_browsertest.cc
@@ -58,7 +58,12 @@ class WebRtcMediaRecorderTest
return;
// This flag is also used for encoding, https://crbug.com/616640.
@@ -321,10 +341,12 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
}
private:
--- a/content/gpu/BUILD.gn
+++ b/content/gpu/BUILD.gn
@@ -125,4 +125,8 @@ target(link_target_type, "gpu_sources")
if (is_desktop_linux && (!is_chromecast || is_cast_desktop_build)) {
Index: chromium-66.0.3359.81/content/gpu/BUILD.gn
===================================================================
--- chromium-66.0.3359.81.orig/content/gpu/BUILD.gn
+++ chromium-66.0.3359.81/content/gpu/BUILD.gn
@@ -130,4 +130,8 @@ target(link_target_type, "gpu_sources")
(!is_chromecast || is_cast_desktop_build)) {
configs += [ "//build/config/linux/dri" ]
}
+
@@ -332,9 +354,11 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
+ public_configs = [ "//media/gpu:libva_config" ]
+ }
}
--- a/content/gpu/gpu_main.cc
+++ b/content/gpu/gpu_main.cc
@@ -273,7 +273,7 @@ int GpuMain(const MainFunctionParams& pa
Index: chromium-66.0.3359.81/content/gpu/gpu_main.cc
===================================================================
--- chromium-66.0.3359.81.orig/content/gpu/gpu_main.cc
+++ chromium-66.0.3359.81/content/gpu/gpu_main.cc
@@ -286,7 +286,7 @@ int GpuMain(const MainFunctionParams& pa
base::PlatformThread::SetName("CrGpuMain");
@@ -343,7 +367,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
// Set thread priority before sandbox initialization.
base::PlatformThread::SetCurrentThreadPriority(base::ThreadPriority::DISPLAY);
#endif
@@ -302,7 +302,7 @@ int GpuMain(const MainFunctionParams& pa
@@ -315,7 +315,7 @@ int GpuMain(const MainFunctionParams& pa
GetContentClient()->SetGpuInfo(gpu_init->gpu_info());
base::ThreadPriority io_thread_priority = base::ThreadPriority::NORMAL;
@@ -352,8 +376,10 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
io_thread_priority = base::ThreadPriority::DISPLAY;
#endif
--- a/content/public/browser/gpu_utils.cc
+++ b/content/public/browser/gpu_utils.cc
Index: chromium-66.0.3359.81/content/public/browser/gpu_utils.cc
===================================================================
--- chromium-66.0.3359.81.orig/content/public/browser/gpu_utils.cc
+++ chromium-66.0.3359.81/content/public/browser/gpu_utils.cc
@@ -7,6 +7,7 @@
#include "base/command_line.h"
#include "base/single_thread_task_runner.h"
@@ -362,7 +388,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
#include "content/browser/gpu/gpu_process_host.h"
#include "content/public/common/content_features.h"
#include "content/public/common/content_switches.h"
@@ -55,10 +56,18 @@ const gpu::GpuPreferences GetGpuPreferen
@@ -55,9 +56,17 @@ const gpu::GpuPreferences GetGpuPreferen
gpu_preferences.in_process_gpu =
command_line->HasSwitch(switches::kInProcessGPU);
gpu_preferences.disable_accelerated_video_decode =
@@ -376,14 +402,14 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
+ !command_line->HasSwitch(switches::kEnableAcceleratedVideo);
+#else
command_line->HasSwitch(switches::kDisableAcceleratedVideoEncode);
-#if BUILDFLAG(ENABLE_WEBRTC)
+#endif
+#if BUILDFLAG(ENABLE_WEBRTC) && (defined(OS_CHROMEOS) || defined(OS_ANDROID))
gpu_preferences.disable_web_rtc_hw_encoding =
command_line->HasSwitch(switches::kDisableWebRtcHWEncoding);
#endif
--- a/content/public/common/content_switches.cc
+++ b/content/public/common/content_switches.cc
#if defined(OS_WIN)
uint32_t enable_accelerated_vpx_decode_val =
gpu::GpuPreferences::VPX_VENDOR_MICROSOFT;
Index: chromium-66.0.3359.81/content/public/common/content_switches.cc
===================================================================
--- chromium-66.0.3359.81.orig/content/public/common/content_switches.cc
+++ chromium-66.0.3359.81/content/public/common/content_switches.cc
@@ -78,12 +78,21 @@ const char kDisable3DAPIs[]
// Disable gpu-accelerated 2d canvas.
@@ -407,7 +433,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
// Disables hardware acceleration of video decode, where available.
const char kDisableAcceleratedVideoDecode[] =
"disable-accelerated-video-decode";
@@ -888,11 +897,13 @@ const char kZygoteProcess[]
@@ -859,11 +868,13 @@ const char kZygoteProcess[]
// ignores this switch on its stable and beta channels.
const char kDisableWebRtcEncryption[] = "disable-webrtc-encryption";
@@ -421,8 +447,10 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
// Enables negotiation of GCM cipher suites from RFC 7714 for SRTP in WebRTC.
// See https://tools.ietf.org/html/rfc7714 for further information.
--- a/content/public/common/content_switches.h
+++ b/content/public/common/content_switches.h
Index: chromium-66.0.3359.81/content/public/common/content_switches.h
===================================================================
--- chromium-66.0.3359.81.orig/content/public/common/content_switches.h
+++ chromium-66.0.3359.81/content/public/common/content_switches.h
@@ -33,7 +33,11 @@ CONTENT_EXPORT extern const char kDisabl
CONTENT_EXPORT extern const char kDisable3DAPIs[];
CONTENT_EXPORT extern const char kDisableAccelerated2dCanvas[];
@@ -435,7 +463,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
CONTENT_EXPORT extern const char kDisableAcceleratedVideoDecode[];
CONTENT_EXPORT extern const char kDisableAcceleratedVideoEncode[];
CONTENT_EXPORT extern const char kDisableAudioSupportForDesktopShare[];
@@ -107,6 +111,9 @@ CONTENT_EXPORT extern const char kDisabl
@@ -106,6 +110,9 @@ CONTENT_EXPORT extern const char kDisabl
CONTENT_EXPORT extern const char kDomAutomationController[];
extern const char kDisable2dCanvasClipAntialiasing[];
CONTENT_EXPORT extern const char kDumpBlinkRuntimeCallStats[];
@@ -445,7 +473,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
CONTENT_EXPORT extern const char kEnableAggressiveDOMStorageFlushing[];
CONTENT_EXPORT extern const char kEnableAutomation[];
CONTENT_EXPORT extern const char kEnablePreferCompositingToLCDText[];
@@ -244,8 +251,10 @@ CONTENT_EXPORT extern const char kZygote
@@ -240,8 +247,10 @@ CONTENT_EXPORT extern const char kZygote
#if BUILDFLAG(ENABLE_WEBRTC)
CONTENT_EXPORT extern const char kDisableWebRtcEncryption[];
@@ -456,9 +484,11 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
CONTENT_EXPORT extern const char kEnableWebRtcSrtpAesGcm[];
CONTENT_EXPORT extern const char kEnableWebRtcSrtpEncryptedHeaders[];
CONTENT_EXPORT extern const char kEnableWebRtcStunOrigin[];
--- a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
+++ b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
@@ -245,12 +245,19 @@ void PeerConnectionDependencyFactory::In
Index: chromium-66.0.3359.81/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
===================================================================
--- chromium-66.0.3359.81.orig/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
+++ chromium-66.0.3359.81/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
@@ -282,10 +282,18 @@ void PeerConnectionDependencyFactory::In
const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess();
if (gpu_factories && gpu_factories->IsGpuVideoAcceleratorEnabled()) {
@@ -469,20 +499,19 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
+#endif
decoder_factory.reset(new RTCVideoDecoderFactory(gpu_factories));
- if (!cmd_line->HasSwitch(switches::kDisableWebRtcHWEncoding)) {
+#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
+ if (cmd_line->HasSwitch(switches::kEnableAcceleratedVideo))
+#else
+ if (!cmd_line->HasSwitch(switches::kDisableWebRtcHWEncoding))
if (!cmd_line->HasSwitch(switches::kDisableWebRtcHWEncoding))
+#endif
encoder_factory.reset(new RTCVideoEncoderFactory(gpu_factories));
- }
}
#if defined(OS_ANDROID)
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -1485,7 +1485,11 @@ media::GpuVideoAcceleratorFactories* Ren
Index: chromium-66.0.3359.81/content/renderer/render_thread_impl.cc
===================================================================
--- chromium-66.0.3359.81.orig/content/renderer/render_thread_impl.cc
+++ chromium-66.0.3359.81/content/renderer/render_thread_impl.cc
@@ -1581,7 +1581,11 @@ media::GpuVideoAcceleratorFactories* Ren
scoped_refptr<base::SingleThreadTaskRunner> media_task_runner =
GetMediaThreadTaskRunner();
const bool enable_video_accelerator =
@@ -494,8 +523,10 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
(gpu_channel_host->gpu_feature_info()
.status_values[gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE] ==
gpu::kGpuFeatureStatusEnabled);
--- a/gpu/config/software_rendering_list.json
+++ b/gpu/config/software_rendering_list.json
Index: chromium-66.0.3359.81/gpu/config/software_rendering_list.json
===================================================================
--- chromium-66.0.3359.81.orig/gpu/config/software_rendering_list.json
+++ chromium-66.0.3359.81/gpu/config/software_rendering_list.json
@@ -373,17 +373,6 @@
]
},
@@ -514,10 +545,12 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
"id": 50,
"description": "Disable VMware software renderer on older Mesa",
"cr_bugs": [145531, 332596, 571899, 629434],
--- a/media/gpu/BUILD.gn
+++ b/media/gpu/BUILD.gn
@@ -24,6 +24,14 @@ if (is_mac) {
import("//build/config/mac/mac_sdk.gni")
Index: chromium-66.0.3359.81/media/gpu/BUILD.gn
===================================================================
--- chromium-66.0.3359.81.orig/media/gpu/BUILD.gn
+++ chromium-66.0.3359.81/media/gpu/BUILD.gn
@@ -482,6 +482,14 @@ if (use_v4l2_codec || use_vaapi || is_ma
}
}
+if (is_desktop_linux && use_vaapi) {
@@ -529,9 +562,9 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
+}
+
if (use_vaapi) {
action("libva_generate_stubs") {
extra_header = "vaapi/va_stub_header.fragment"
@@ -353,6 +361,10 @@ component("gpu") {
test("jpeg_encode_accelerator_unittest") {
deps = [
@@ -542,6 +550,10 @@ if (use_v4l2_codec || use_vaapi) {
if (use_ozone) {
deps += [ "//ui/ozone" ]
}
@@ -540,5 +573,5 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
+ public_configs = [ ":libva_config" ]
+ }
}
}
if (is_win) {

File diff suppressed because it is too large Load Diff

View File

@@ -34,8 +34,8 @@
%endif
%bcond_with system_vpx
%bcond_with clang
Name: chromium
Version: 65.0.3325.181
Name: chromium-beta
Version: 66.0.3359.81
Release: 0
Summary: Google's open source browser project
License: BSD-3-Clause AND LGPL-2.1-or-later
@@ -53,29 +53,24 @@ Source104: chromium-icons.tar.bz2
# PATCH-FEATURE-UPSTREAM https://bugs.chromium.org/p/chromium/issues/detail?id=654190
Source105: chromium-browser.appdata.xml
# PATCH-FIX-OPENSUSE Make the 1-click-install ymp file always download [bnc#836059]
Patch1: exclude_ymp.diff
Patch1: exclude_ymp.patch
# PATCH-FIX-OPENSUSE enables reading of the master preference
Patch2: chromium-master-prefs-path.patch
# PATCH-FIX-OPENSUSE Compile the sandbox with -fPIE settings
Patch4: chromium-sandbox-pie.patch
# PATCH-FIX-OPENSUSE fix_building_widevinecdm_with_chromium.patch - Enable WideVine plugin
Patch6: fix_building_widevinecdm_with_chromium.patch
# PATCH-FIX-OPENSUSE fix_network_api_crash.patch - Fix crash in network API, e.g. when using chromecast extension
Patch7: fix_network_api_crash.patch
Patch8: chromium-glibc-2.27.patch
Patch9: chromium-compiler.patch
Patch10: mojo.patch
Patch12: chromium-dma-buf.patch
Patch14: chromium-buildname.patch
Patch17: chromium-non-void-return.patch
Patch18: chromium-drm.patch
Patch3: fix_building_widevinecdm_with_chromium.patch
Patch4: chromium-dma-buf.patch
Patch5: chromium-buildname.patch
Patch6: chromium-non-void-return.patch
Patch7: chromium-ffmpeg.patch
Patch8: chromium-drm.patch
Patch9: chromium-gcc7.patch
Patch10: chromium-sandbox-pie.patch
# Google seem not too keen on merging this but GPU accel is quite important
# https://chromium-review.googlesource.com/c/chromium/src/+/532294
Patch100: chromium-vaapi-init.patch
Patch101: chromium-vaapi.patch
Patch100: chromium-vaapi.patch
# GN buildsystem related patches
Patch200: chromium-last-commit-position-r0.patch
Patch201: fix-gn-bootstrap.diff
Patch201: fix-gn-bootstrap.patch
# PATCH-FIX-SUSE: allow proprietary codecs to be set with chromium branding
Patch202: chromium-prop-codecs.patch
BuildRequires: SDL-devel
@@ -183,12 +178,12 @@ Provides: chromium-browser = %{version}
Obsoletes: %{name}-suid-helper < %{version}
Obsoletes: chromium-browser < %{version}
Provides: %{name}-suid-helper = %{version}
Obsoletes: chromium-beta-desktop-gnome
Obsoletes: chromium-beta-desktop-kde
Obsoletes: chromium-desktop-gnome
Obsoletes: chromium-desktop-kde
Obsoletes: chromium-dev-desktop-gnome
Obsoletes: chromium-desktop-gnome
Obsoletes: chromium-beta-desktop-kde
Obsoletes: chromium-beta-desktop-gnome
Obsoletes: chromium-dev-desktop-kde
Obsoletes: chromium-dev-desktop-gnome
Obsoletes: chromium-ffmpeg
Obsoletes: chromium-ffmpegsumo
# no 32bit supported and it takes ages to build
@@ -218,7 +213,7 @@ BuildRequires: pkgconfig(icu-i18n) >= 59.0
BuildRequires: pkgconfig(vpx) >= 1.6.1
%endif
%if %{with clang}
BuildRequires: clang >= 3.9.0
BuildRequires: clang >= 5.0.0
%else
%if %{?suse_version} >= 1330
BuildRequires: gcc >= 7
@@ -243,29 +238,7 @@ WebDriver is an open source tool for automated testing of webapps across many br
%prep
%setup -q -n %{rname}-%{version}
#GN Buildsystem fixes
%patch200 -p1
%patch201 -p1
%patch202 -p1
#Standard patches
%patch1
%patch2
%patch4
%patch6 -p1
%patch7
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch12 -p1
%patch14 -p1
%patch17 -p1
%patch18 -p1
# vaapi
%patch100 -p1
%patch101 -p1
%autopatch -p1
# Copy the toolchain settings
mkdir toolchain
@@ -286,6 +259,9 @@ keeplibs=(
base/third_party/valgrind
base/third_party/xdg_mime
base/third_party/xdg_user_dirs
buildtools/third_party/libc++
buildtools/third_party/libc++abi
buildtools/third_party/libunwind
chrome/third_party/mozilla_security_manager
courgette/third_party
net/third_party/mozilla_security_manager
@@ -298,6 +274,10 @@ keeplibs=(
third_party/angle/src/third_party/compiler
third_party/angle/src/third_party/libXNVCtrl
third_party/angle/src/third_party/trace_event
third_party/angle/third_party/glslang
third_party/angle/third_party/spirv-headers
third_party/angle/third_party/spirv-tools
third_party/angle/third_party/vulkan-validation-layers
third_party/blink
third_party/boringssl
third_party/boringssl/src/third_party/fiat
@@ -340,6 +320,7 @@ keeplibs=(
third_party/libXNVCtrl
third_party/libaddressinput
third_party/libaom
third_party/libaom/source/libaom/third_party/x86inc
third_party/libjingle
third_party/libphonenumber
third_party/libsecret
@@ -349,14 +330,12 @@ keeplibs=(
third_party/libwebm
third_party/libxml/chromium
third_party/libyuv
third_party/llvm
third_party/lss
third_party/lzma_sdk
third_party/markupsafe
third_party/mesa
third_party/metrics_proto
third_party/modp_b64
third_party/mt19937ar
third_party/node
third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
third_party/openh264
@@ -365,13 +344,14 @@ keeplibs=(
third_party/pdfium
third_party/pdfium/third_party/agg23
third_party/pdfium/third_party/base
third_party/pdfium/third_party/build
third_party/pdfium/third_party/bigint
third_party/pdfium/third_party/eu-strip
third_party/pdfium/third_party/freetype
third_party/pdfium/third_party/lcms
third_party/pdfium/third_party/libopenjpeg20
third_party/pdfium/third_party/libpng16
third_party/pdfium/third_party/libtiff
third_party/pdfium/third_party/skia_shared
third_party/ply
third_party/polymer
third_party/protobuf
@@ -392,6 +372,7 @@ keeplibs=(
third_party/swiftshader/third_party/llvm-subzero
third_party/swiftshader/third_party/subzero
third_party/tcmalloc
third_party/unrar
third_party/usrsctp
third_party/vulkan
third_party/vulkan-validation-layers
@@ -453,7 +434,7 @@ export CXX=clang++
%else
# REDUCE DEBUG as it gets TOO large
ARCH_FLAGS="`echo %{optflags} | sed -e 's/^-g / /g' -e 's/ -g / /g' -e 's/ -g$//g'`"
export CFLAGS="${ARCH_FLAGS} -std=gnu11 -fpermissive"
export CFLAGS="${ARCH_FLAGS} -fpermissive"
export CXXFLAGS="${ARCH_FLAGS} -fpermissive"
export CC=gcc
export CXX=g++
@@ -578,7 +559,7 @@ tools/gn/bootstrap/bootstrap.py -s -v --gn-gen-args "${myconf_gn}"
# https://bugs.chromium.org/p/chromium/issues/detail?id=642016
out/Release/gn gen --args="${myconf_gn}" out/Release
ninja -v %{?_smp_mflags} -C out/Release chrome chrome_sandbox chromedriver
ninja -v %{_smp_mflags} -C out/Release chrome chrome_sandbox chromedriver
%install
mkdir -p %{buildroot}%{_libdir}/chromium
@@ -646,6 +627,8 @@ install -m 0644 %{SOURCE30} %{buildroot}%{_sysconfdir}/chromium
chmod 755 %{buildroot}%{_libdir}/chromium/xdg-settings
chmod 755 %{buildroot}%{_libdir}/chromium/xdg-mime
%fdupes %{buildroot}
%verifyscript
%verify_permissions -e %{_libexecdir}/chrome_sandbox

View File

@@ -1,10 +0,0 @@
--- third_party/WebKit/common/mime_util/mime_util.cc 2013-08-25 10:12:05.428599992 +0200
+++ third_party/WebKit/common/mime_util/mime_util.cc 2013-08-25 10:12:05.428599992 +0200
@@ -79,6 +79,7 @@
"text/x-csv",
"text/x-vcf",
"text/rtf",
+ "text/x-suse-ymp",
"text/comma-separated-values",
"text/csv",
"text/tab-separated-values",

View File

@@ -1,10 +1,10 @@
--- a/third_party/blink/common/mime_util/mime_util.cc 2013-08-25 10:12:05.428599992 +0200
+++ b/third_party/blink/common/mime_util/mime_util.cc 2013-08-25 10:12:05.428599992 +0200
--- a/third_party/WebKit/common/mime_util/mime_util.cc 2013-08-25 10:12:05.428599992 +0200
+++ b/third_party/WebKit/common/mime_util/mime_util.cc 2013-08-25 10:12:05.428599992 +0200
@@ -79,6 +79,7 @@
"text/x-csv",
"text/x-vcf",
"text/rtf",
+ "text/x-suse-ymp",
"text/comma-separated-values",
"text/csv",
"text/tab-separated-values",
"text/x-csv",
"text/x-vcf",
"text/rtf",
+ "text/x-suse-ymp",
"text/comma-separated-values",
"text/csv",
"text/tab-separated-values",

View File

@@ -1,77 +0,0 @@
Index: extensions/browser/api/networking_private/networking_private_linux.cc
===================================================================
--- extensions/browser/api/networking_private/networking_private_linux.cc.orig 2016-05-05 03:01:50.000000000 +0200
+++ extensions/browser/api/networking_private/networking_private_linux.cc 2016-05-10 16:16:42.431052917 +0200
@@ -215,12 +215,14 @@ void NetworkingPrivateLinux::GetState(
std::unique_ptr<base::DictionaryValue> network_properties(
new base::DictionaryValue);
+ std::string* erp = error.get();
+ base::DictionaryValue* npp = network_properties.get();
// Runs GetCachedNetworkProperties on |dbus_thread|.
dbus_thread_.task_runner()->PostTaskAndReply(
FROM_HERE, base::Bind(&NetworkingPrivateLinux::GetCachedNetworkProperties,
base::Unretained(this), guid,
- base::Unretained(network_properties.get()),
- base::Unretained(error.get())),
+ base::Unretained(npp),
+ base::Unretained(erp)),
base::Bind(&GetCachedNetworkPropertiesCallback, base::Passed(&error),
base::Passed(&network_properties), success_callback,
failure_callback));
@@ -301,11 +303,12 @@ void NetworkingPrivateLinux::GetNetworks
// Runs GetAllWiFiAccessPoints on the dbus_thread and returns the
// results back to OnAccessPointsFound where the callback is fired.
+ NetworkMap* nmp = network_map.get();
dbus_thread_.task_runner()->PostTaskAndReply(
FROM_HERE,
base::Bind(&NetworkingPrivateLinux::GetAllWiFiAccessPoints,
base::Unretained(this), configured_only, visible_only, limit,
- base::Unretained(network_map.get())),
+ base::Unretained(nmp)),
base::Bind(&NetworkingPrivateLinux::OnAccessPointsFound,
base::Unretained(this), base::Passed(&network_map),
success_callback, failure_callback));
@@ -321,11 +324,12 @@ bool NetworkingPrivateLinux::GetNetworks
// Runs GetAllWiFiAccessPoints on the dbus_thread and returns the
// results back to SendNetworkListChangedEvent to fire the event. No
// callbacks are used in this case.
+ NetworkMap* nmp = network_map.get();
dbus_thread_.task_runner()->PostTaskAndReply(
FROM_HERE, base::Bind(&NetworkingPrivateLinux::GetAllWiFiAccessPoints,
base::Unretained(this), false /* configured_only */,
false /* visible_only */, 0 /* limit */,
- base::Unretained(network_map.get())),
+ base::Unretained(nmp)),
base::Bind(&NetworkingPrivateLinux::OnAccessPointsFoundViaScan,
base::Unretained(this), base::Passed(&network_map)));
@@ -506,11 +510,12 @@ void NetworkingPrivateLinux::StartConnec
std::unique_ptr<std::string> error(new std::string);
+ std::string* erp = error.get();
// Runs ConnectToNetwork on |dbus_thread|.
dbus_thread_.task_runner()->PostTaskAndReply(
FROM_HERE,
base::Bind(&NetworkingPrivateLinux::ConnectToNetwork,
- base::Unretained(this), guid, base::Unretained(error.get())),
+ base::Unretained(this), guid, base::Unretained(erp)),
base::Bind(&OnNetworkConnectOperationCompleted, base::Passed(&error),
success_callback, failure_callback));
}
@@ -524,11 +529,12 @@ void NetworkingPrivateLinux::StartDiscon
std::unique_ptr<std::string> error(new std::string);
+ std::string* erp = error.get();
// Runs DisconnectFromNetwork on |dbus_thread|.
dbus_thread_.task_runner()->PostTaskAndReply(
FROM_HERE,
base::Bind(&NetworkingPrivateLinux::DisconnectFromNetwork,
- base::Unretained(this), guid, base::Unretained(error.get())),
+ base::Unretained(this), guid, base::Unretained(erp)),
base::Bind(&OnNetworkConnectOperationCompleted, base::Passed(&error),
success_callback, failure_callback));
}

View File

@@ -1,62 +0,0 @@
description: fix mojo layout test build error
author: Michael Gilbert <mgilbert@debian.org>
--- a/content/shell/BUILD.gn
+++ b/content/shell/BUILD.gn
@@ -93,8 +93,6 @@ static_library("content_shell_lib") {
"browser/layout_test/layout_test_resource_dispatcher_host_delegate.h",
"browser/layout_test/layout_test_url_request_context_getter.cc",
"browser/layout_test/layout_test_url_request_context_getter.h",
- "browser/layout_test/mojo_layout_test_helper.cc",
- "browser/layout_test/mojo_layout_test_helper.h",
"browser/layout_test/secondary_test_window_observer.cc",
"browser/layout_test/secondary_test_window_observer.h",
"browser/layout_test/test_info_extractor.cc",
@@ -244,9 +242,7 @@ static_library("content_shell_lib") {
"//content/public/common",
"//content/public/common:service_names",
"//content/shell/test_runner:test_runner",
- "//content/test:content_test_mojo_bindings",
"//content/test:layouttest_support",
- "//content/test:mojo_layouttest_bindings",
"//content/test:test_support",
"//device/bluetooth",
"//device/bluetooth:fake_bluetooth",
--- a/content/shell/browser/layout_test/layout_test_content_browser_client.cc
+++ b/content/shell/browser/layout_test/layout_test_content_browser_client.cc
@@ -19,7 +19,6 @@
#include "content/shell/browser/layout_test/layout_test_message_filter.h"
#include "content/shell/browser/layout_test/layout_test_notification_manager.h"
#include "content/shell/browser/layout_test/layout_test_resource_dispatcher_host_delegate.h"
-#include "content/shell/browser/layout_test/mojo_layout_test_helper.h"
#include "content/shell/browser/shell_browser_context.h"
#include "content/shell/common/layout_test/layout_test_switches.h"
#include "content/shell/common/shell_messages.h"
@@ -32,11 +31,6 @@ namespace {
LayoutTestContentBrowserClient* g_layout_test_browser_client;
-void BindLayoutTestHelper(mojom::MojoLayoutTestHelperRequest request,
- RenderFrameHost* render_frame_host) {
- MojoLayoutTestHelper::Create(std::move(request));
-}
-
} // namespace
LayoutTestContentBrowserClient::LayoutTestContentBrowserClient() {
@@ -98,7 +92,6 @@ void LayoutTestContentBrowserClient::Exp
registry->AddInterface(base::Bind(&bluetooth::FakeBluetooth::Create),
ui_task_runner);
- registry->AddInterface(base::Bind(&MojoLayoutTestHelper::Create));
}
void LayoutTestContentBrowserClient::OverrideWebkitPrefs(
@@ -193,7 +186,6 @@ bool LayoutTestContentBrowserClient::Can
void LayoutTestContentBrowserClient::ExposeInterfacesToFrame(
service_manager::BinderRegistryWithArgs<content::RenderFrameHost*>*
registry) {
- registry->AddInterface(base::Bind(&BindLayoutTestHelper));
}
} // namespace content