Commit c89be45f authored by Riku Voipio's avatar Riku Voipio

68.0.3440.75-1~deb9u1

parent 2ad245c8
chromium-browser (68.0.3440.75-1~deb9u1) stretch-security; urgency=medium
* New upstream stable release.
- CVE-2018-4117: Cross origin information leak in Blink. Reported by
AhsanEjaz
- CVE-2018-6044: Request privilege escalation in Extensions . Reported by
Rob Wu
- CVE-2018-6150: Cross origin information disclosure in Service Workers.
Reported by Rob Wu
- CVE-2018-6151: Bad cast in DevTools. Reported by Rob Wu
- CVE-2018-6152: Local file write in DevTools. Reported by Rob Wu
- CVE-2018-6153: Stack buffer overflow in Skia. Reported by Zhen Zhou
- CVE-2018-6154: Heap buffer overflow in WebGL. Reported by Omair
- CVE-2018-6155: Use after free in WebRTC. Reported by Natalie Silvanovich
- CVE-2018-6156: Heap buffer overflow in WebRTC. Reported by Natalie
Silvanovich
- CVE-2018-6157: Type confusion in WebRTC. Reported by Natalie Silvanovich
- CVE-2018-6158: Use after free in Blink. Reported by Zhe Jin
- CVE-2018-6159: Same origin policy bypass in ServiceWorker. Reported by
Jun Kokatsu
- CVE-2018-6161: Same origin policy bypass in WebAudio. Reported by Jun
Kokatsu
- CVE-2018-6162: Heap buffer overflow in WebGL. Reported by Omair
- CVE-2018-6163: URL spoof in Omnibox. Reported by Khalil Zhani
- CVE-2018-6164: Same origin policy bypass in ServiceWorker. Reported by
Jun Kokatsu
- CVE-2018-6165: URL spoof in Omnibox. Reported by evi1m0
- CVE-2018-6166: URL spoof in Omnibox. Reported by Lnyas Zhang
- CVE-2018-6167: URL spoof in Omnibox. Reported by Lnyas Zhang
- CVE-2018-6168: CORS bypass in Blink. Reported by Gunes Acar and Danny Y.
Huang
- CVE-2018-6169: Permissions bypass in extension installation . Reported by
Sam P
- CVE-2018-6170: Type confusion in PDFium. Reported by Anonymous
- CVE-2018-6171: Use after free in WebBluetooth.
- CVE-2018-6172: URL spoof in Omnibox. Reported by Khalil Zhani
- CVE-2018-6173: URL spoof in Omnibox. Reported by Khalil Zhani
- CVE-2018-6174: Integer overflow in SwiftShader. Reported by Mark Brand
- CVE-2018-6175: URL spoof in Omnibox. Reported by Khalil Zhani
- CVE-2018-6176: Local user privilege escalation in Extensions. Reported by
Jann Horn
- CVE-2018-6177: Cross origin information leak in Blink. Reported by Ron
Masas
- CVE-2018-6178: UI spoof in Extensions. Reported by Khalil Zhani
- CVE-2018-6179: Local file information leak in Extensions.
* Correct a regression in audio/video file handling caused by the ffmpeg 3.4
support patch introduced in the previous security upload (closes: #902909).
-- Michael Gilbert <mgilbert@debian.org> Sun, 15 Jul 2018 20:09:38 +0000
chromium-browser (67.0.3396.87-1~deb9u1) stretch-security; urgency=medium
* New upstream stable release.
......
......@@ -23,3 +23,4 @@ third_party/opus/BUILD.gn
third_party/freetype/BUILD.gn
third_party/fontconfig/BUILD.gn
build/config/freetype/freetype.gni
third_party/yasm/run_yasm.py
......@@ -72,6 +72,7 @@ Build-Depends:
libhunspell-dev,
libharfbuzz-dev (>= 1.2.7),
libusb-1.0-0-dev,
libopenjp2-7-dev,
libmodpbase64-dev,
libgnome-keyring-dev,
libnss3-dev (>= 3.12.3),
......
......@@ -3,7 +3,7 @@ author: Riku Voipio
--- a/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
+++ b/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
@@ -288,7 +288,7 @@ CAPTURECONTEXT_SYMBOL2:
@@ -291,7 +291,7 @@ CAPTURECONTEXT_SYMBOL2:
#elif defined(__aarch64__)
// Zero out fault_address, which is unused.
......
description: GCC ICE with optimized version
author: Riku Voipio
bug-debian: http://bugs.debian.org/901290
--- a/third_party/skia/third_party/skcms/skcms.gni
+++ b/third_party/skia/third_party/skcms/skcms.gni
@@ -3,6 +3,10 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+if ((current_cpu == "arm64" || current_cpu == "arm") && !is_clang) {
+ defines = [ "SKCMS_PORTABLE=1" ]
+}
+
skcms_sources = [
"src/Curve.c",
"src/Curve.h",
......@@ -9,7 +9,7 @@ author: Michael Gilbert <mgilbert@debian.org>
base::FilePath MasterPrefsPath() {
- // The standard location of the master prefs is next to the chrome binary.
- base::FilePath master_prefs;
- if (!PathService::Get(base::DIR_EXE, &master_prefs))
- if (!base::PathService::Get(base::DIR_EXE, &master_prefs))
- return base::FilePath();
- return master_prefs.AppendASCII(installer::kDefaultMasterPrefs);
+ return base::FilePath("/usr/share/chromium/master_preferences");
......
--- a/device/vr/buildflags/buildflags.gni
+++ b/device/vr/buildflags/buildflags.gni
@@ -5,7 +5,6 @@
import("//build/config/chrome_build.gni")
import("//build/config/chromecast_build.gni")
import("//build/config/gclient_args.gni")
-import("//chrome/android/channel.gni")
declare_args() {
# TODO(733935): Enable for other Android architectures too. Currently we only
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -365,7 +365,7 @@ group("gn_all") {
# seems currently broken for this platform at the moment, and the
# corresponding code build and works on Linux unmodified.
# See instructions in the corresponding BUILD.gn.
- if (is_linux) {
+ if (is_android) {
deps +=
[ "//third_party/android_crazy_linker:android_crazy_linker_zip_fuzzer" ]
}
......@@ -3,7 +3,7 @@ author: Michael Gilbert <mgilbert@debian.org>
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -702,8 +702,7 @@ group("gn_all") {
@@ -713,8 +713,7 @@ group("gn_all") {
}
}
......@@ -13,3 +13,25 @@ author: Michael Gilbert <mgilbert@debian.org>
deps += [
"//testing/libfuzzer/fuzzers",
"//testing/libfuzzer/tests:libfuzzer_tests",
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -2122,9 +2122,3 @@ test("content_perftests") {
deps += [ "//testing/android/native_test:native_test_native_code" ]
}
}
-
-group("fuzzers") {
- deps = [
- "//content/test/fuzzer",
- ]
-}
--- a/v8/tools/BUILD.gn
+++ b/v8/tools/BUILD.gn
@@ -11,7 +11,6 @@ group("gn_all") {
data_deps = [
":v8_check_static_initializers",
"gcmole:v8_run_gcmole",
- "jsfunfuzz:v8_jsfunfuzz",
]
}
......@@ -3,7 +3,7 @@ author: Michael Gilbert <mgilbert@debian.org>
--- a/chrome/browser/ui/startup/startup_browser_creator_impl.cc
+++ b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
@@ -900,8 +900,6 @@ void StartupBrowserCreatorImpl::AddInfoB
@@ -899,8 +899,6 @@ void StartupBrowserCreatorImpl::AddInfoB
chrome::ShowBadFlagsPrompt(web_contents);
InfoBarService* infobar_service =
InfoBarService::FromWebContents(web_contents);
......
--- a/third_party/webrtc/webrtc.gni
+++ b/third_party/webrtc/webrtc.gni
@@ -126,7 +126,7 @@ declare_args() {
# also: |rtc_initialize_ffmpeg|.
# CHECK THE OPENH264, FFMPEG AND H.264 LICENSES/PATENTS BEFORE BUILDING.
# http://www.openh264.org, https://www.ffmpeg.org/
- rtc_use_h264 = proprietary_codecs && !is_android && !is_ios
+ rtc_use_h264 = false
# By default, use normal platform audio support or dummy audio, but don't
# use file-based audio playout and record.
description: disable dependencies on third_party/perfetto
author: Michael Gilbert <mgilbert@debian.org>
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -659,7 +659,7 @@ group("gn_all") {
}
}
- if (is_mac || is_linux || is_android) {
+ if (false) {
deps += [ "//third_party/perfetto:all" ]
}
--- a/services/tracing/BUILD.gn
+++ b/services/tracing/BUILD.gn
@@ -28,7 +28,7 @@ source_set("lib") {
"//services/tracing/public/cpp",
]
- if (is_mac || is_linux || is_android) {
+ if (false) {
sources += [
"perfetto/json_trace_exporter.cc",
"perfetto/json_trace_exporter.h",
@@ -99,7 +99,7 @@ source_set("tests") {
"//testing/gtest",
]
- if (is_mac || is_linux || is_android) {
+ if (false) {
sources += [
"perfetto/json_trace_exporter_unittest.cc",
"perfetto/perfetto_integration_unittest.cc",
--- a/services/tracing/public/cpp/BUILD.gn
+++ b/services/tracing/public/cpp/BUILD.gn
@@ -22,7 +22,7 @@ component("cpp") {
"//services/tracing/public/mojom",
]
- if (is_mac || is_linux || is_android) {
+ if (false) {
sources += [
"perfetto/producer_client.cc",
"perfetto/producer_client.h",
--- a/services/tracing/tracing_service.cc
+++ b/services/tracing/tracing_service.cc
@@ -12,7 +12,7 @@
#include "services/tracing/coordinator.h"
#include "services/tracing/public/cpp/tracing_features.h"
-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_MACOSX)
+#if 0
#include "services/tracing/perfetto/perfetto_service.h"
#include "services/tracing/perfetto/perfetto_tracing_coordinator.h"
#endif
@@ -26,7 +26,7 @@ std::unique_ptr<service_manager::Service
TracingService::TracingService() : weak_factory_(this) {}
TracingService::~TracingService() {
-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_MACOSX)
+#if 0
if (perfetto_tracing_coordinator_) {
PerfettoTracingCoordinator::DestroyOnSequence(
std::move(perfetto_tracing_coordinator_));
@@ -48,7 +48,7 @@ void TracingService::OnStart() {
base::Unretained(tracing_agent_registry_.get())));
if (TracingUsesPerfettoBackend()) {
-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_MACOSX)
+#if 0
perfetto_service_ = std::make_unique<tracing::PerfettoService>();
registry_.AddInterface(
base::BindRepeating(&tracing::PerfettoService::BindRequest,
--- a/services/tracing/tracing_service.h
+++ b/services/tracing/tracing_service.h
@@ -50,7 +50,7 @@ class TracingService : public service_ma
std::unique_ptr<Coordinator> tracing_coordinator_;
std::unique_ptr<service_manager::ServiceContextRefFactory> ref_factory_;
-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_MACOSX)
+#if 0
std::unique_ptr<tracing::PerfettoService> perfetto_service_;
std::unique_ptr<PerfettoTracingCoordinator> perfetto_tracing_coordinator_;
#endif
--- a/services/tracing/public/cpp/trace_event_agent.cc
+++ b/services/tracing/public/cpp/trace_event_agent.cc
@@ -21,7 +21,7 @@
#include "services/tracing/public/cpp/tracing_features.h"
#include "services/tracing/public/mojom/constants.mojom.h"
-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_MACOSX)
+#if 0
#include "services/tracing/public/cpp/perfetto/producer_client.h"
#endif
@@ -33,7 +33,7 @@ const char kTraceEventLabel[] = "traceEv
namespace tracing {
-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_MACOSX)
+#if 0
class PerfettoTraceEventAgent : public TraceEventAgent {
public:
explicit PerfettoTraceEventAgent(service_manager::Connector* connector) {
@@ -65,7 +65,7 @@ std::unique_ptr<TraceEventAgent> TraceEv
service_manager::Connector* connector,
bool request_clock_sync_marker_on_android) {
if (TracingUsesPerfettoBackend()) {
-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_MACOSX)
+#if 0
return std::make_unique<PerfettoTraceEventAgent>(connector);
#else
LOG(FATAL) << "Perfetto is not yet available for this platform.";
......@@ -3,7 +3,7 @@ author: Michael Gilbert <mgilbert@debian.org>
--- a/extensions/common/manifest_handlers/permissions_parser.cc
+++ b/extensions/common/manifest_handlers/permissions_parser.cc
@@ -26,10 +26,10 @@
@@ -28,10 +28,10 @@
#include "extensions/common/url_pattern_set.h"
#include "url/url_constants.h"
......
description: some libraries fail to link when --as-needed is set
author: Michael Gilbert <mgilbert@debian.org>
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -385,7 +385,7 @@ config("compiler") {
if (!using_sanitizer) {
ldflags += [
"-Wl,-z,defs",
- "-Wl,--as-needed",
+ "-Wl,--no-as-needed",
]
}
}
......@@ -12,3 +12,12 @@ author: Michael Gilbert <mgilbert@debian.org>
import("$_inspector_protocol/inspector_protocol.gni")
_protocol_generated = [
@@ -30,7 +30,7 @@ _protocol_generated = [
action("protocol_compatibility") {
visibility = [ ":*" ] # Only targets in this file can depend on this.
- script = "$_inspector_protocol/CheckProtocolCompatibility.py"
+ script = "$_inspector_protocol/check_protocol_compatibility.py"
inputs = [
"js_protocol.json",
]
description: map doesn't support insertion from a pair in gcc 6
author: Michael Gilbert <mgilbert@debian.org>
--- a/content/browser/background_fetch/background_fetch_context.cc
+++ b/content/browser/background_fetch/background_fetch_context.cc
@@ -218,7 +218,7 @@ void BackgroundFetchContext::InitializeC
scheduler_->AddJobController(controller.get());
- job_controllers_.insert({unique_id, std::move(controller)});
+ job_controllers_[unique_id] = std::move(controller);
std::move(done_closure).Run();
}
--- a/content/renderer/input/input_event_prediction.cc
+++ b/content/renderer/input/input_event_prediction.cc
@@ -119,7 +119,7 @@ void InputEventPrediction::UpdateSingleP
if (predictor != pointer_id_predictor_map_.end()) {
predictor->second->Update(data);
} else {
- pointer_id_predictor_map_.insert({event.id, SetUpPredictor()});
+ pointer_id_predictor_map_[event.id] = SetUpPredictor();
pointer_id_predictor_map_[event.id]->Update(data);
}
}
--- a/components/bookmarks/browser/bookmark_storage.h
+++ b/components/bookmarks/browser/bookmark_storage.h
@@ -18,6 +18,7 @@
#include "base/memory/ref_counted.h"
#include "base/memory/weak_ptr.h"
#include "components/bookmarks/browser/bookmark_node.h"
+#include "components/bookmarks/browser/url_index.h"
#include "components/bookmarks/browser/titled_url_index.h"
namespace base {
@@ -29,7 +30,7 @@ namespace bookmarks {
class BookmarkClient;
class BookmarkModel;
class BookmarkNode;
-class UrlIndex;
+#include "components/bookmarks/browser/url_index.h"
// A list of BookmarkPermanentNodes that owns them.
using BookmarkPermanentNodeList =
--- a/services/network/public/cpp/cors/cors_legacy.h
+++ b/services/network/public/cpp/cors/cors_legacy.h
@@ -5,6 +5,7 @@
#ifndef SERVICES_NETWORK_PUBLIC_CPP_CORS_CORS_LEGACY_H_
#define SERVICES_NETWORK_PUBLIC_CPP_CORS_CORS_LEGACY_H_
+#include <string>
#include <vector>
#include "base/component_export.h"
......@@ -3,16 +3,16 @@ author: Michael Gilbert <mgilbert@debian.org>
--- a/content/shell/BUILD.gn
+++ b/content/shell/BUILD.gn
@@ -101,8 +101,6 @@ static_library("content_shell_lib") {
"browser/layout_test/layout_test_push_messaging_service.h",
"browser/layout_test/layout_test_url_request_context_getter.cc",
@@ -112,8 +112,6 @@ static_library("content_shell_lib") {
"browser/layout_test/layout_test_url_request_context_getter.h",
"browser/layout_test/leak_detector.cc",
"browser/layout_test/leak_detector.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",
@@ -255,9 +253,7 @@ static_library("content_shell_lib") {
@@ -262,9 +260,7 @@ static_library("content_shell_lib") {
"//content/public/common",
"//content/public/common:service_names",
"//content/shell/test_runner:test_runner",
......@@ -32,7 +32,7 @@ author: Michael Gilbert <mgilbert@debian.org>
#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"
@@ -36,11 +35,6 @@ namespace {
@@ -37,11 +36,6 @@ namespace {
LayoutTestContentBrowserClient* g_layout_test_browser_client;
......@@ -44,15 +44,15 @@ author: Michael Gilbert <mgilbert@debian.org>
class WebPackageInternalsImpl : public blink::test::mojom::WebPackageInternals {
public:
explicit WebPackageInternalsImpl(WebPackageContext* web_package_context)
@@ -148,7 +142,6 @@ void LayoutTestContentBrowserClient::Exp
@@ -152,7 +146,6 @@ void LayoutTestContentBrowserClient::Exp
&WebPackageInternalsImpl::Create,
base::Unretained(
render_process_host->GetStoragePartition()->GetWebPackageContext())));
- registry->AddInterface(base::BindRepeating(&MojoLayoutTestHelper::Create));
}
void LayoutTestContentBrowserClient::OverrideWebkitPrefs(
@@ -236,7 +229,6 @@ bool LayoutTestContentBrowserClient::Can
registry->AddInterface(
base::BindRepeating(&LayoutTestContentBrowserClient::BindClipboardHost,
base::Unretained(this)),
@@ -257,7 +250,6 @@ bool LayoutTestContentBrowserClient::Can
void LayoutTestContentBrowserClient::ExposeInterfacesToFrame(
service_manager::BinderRegistryWithArgs<content::RenderFrameHost*>*
registry) {
......
......@@ -3,7 +3,7 @@ author: Salvatore Bonaccorso
--- a/chrome/browser/ui/libgtkui/print_dialog_gtk.cc
+++ b/chrome/browser/ui/libgtkui/print_dialog_gtk.cc
@@ -348,6 +348,7 @@ void PrintDialogGtk2::ShowDialog(
@@ -350,6 +350,7 @@ void PrintDialogGtk2::ShowDialog(
// Since we only generate PDF, only show printers that support PDF.
// TODO(thestig) Add more capabilities to support?
GtkPrintCapabilities cap = static_cast<GtkPrintCapabilities>(
......
description: size_t is not in scope by default in gcc 6
author: Michael Gilbert <mgilbert@debian.org>
--- a/media/base/subsample_entry.h
+++ b/media/base/subsample_entry.h
@@ -35,7 +35,7 @@ struct SubsampleEntry {
// does not match |input_size|.
MEDIA_EXPORT bool VerifySubsamplesMatchSize(
const std::vector<SubsampleEntry>& subsamples,
- size_t input_size);
+ std::size_t input_size);
} // namespace media
--- a/base/strings/string_piece.h
+++ b/base/strings/string_piece.h
@@ -382,8 +382,8 @@ BasicStringPiece<STRING_TYPE>::npos =
// MSVC doesn't like complex extern templates and DLLs.
#if !defined(COMPILER_MSVC)
-extern template class BASE_EXPORT BasicStringPiece<std::string>;
-extern template class BASE_EXPORT BasicStringPiece<string16>;
+//extern template class BASE_EXPORT BasicStringPiece<std::string>;
+//extern template class BASE_EXPORT BasicStringPiece<string16>;
#endif
// StingPiece operators --------------------------------------------------------
......@@ -3,7 +3,7 @@ author: Michael Gilbert <mgilbert@debian.org>
--- a/tools/gn/bootstrap/bootstrap.py
+++ b/tools/gn/bootstrap/bootstrap.py
@@ -713,6 +713,8 @@ def write_gn_ninja(path, root_gen_dir, o
@@ -730,6 +730,8 @@ def write_gn_ninja(path, root_gen_dir, o
}
if is_linux or is_aix:
......@@ -12,7 +12,7 @@ author: Michael Gilbert <mgilbert@debian.org>
static_libraries['xdg_user_dirs'] = {
'sources': [
'base/third_party/xdg_user_dirs/xdg_user_dir_lookup.cc',
@@ -738,85 +740,6 @@ def write_gn_ninja(path, root_gen_dir, o
@@ -755,85 +757,6 @@ def write_gn_ninja(path, root_gen_dir, o
'base/threading/platform_thread_linux.cc',
])
if is_linux:
......
......@@ -3,7 +3,7 @@ author: Michael Gilbert <mgilbert@debian.org>
--- a/tools/gn/bootstrap/bootstrap.py
+++ b/tools/gn/bootstrap/bootstrap.py
@@ -154,6 +154,7 @@ def main(argv):
@@ -156,6 +156,7 @@ def main(argv):
'the out_bootstrap to be located in the parent directory')
parser.add_option('-v', '--verbose', action='store_true',
help='Log more details')
......@@ -11,7 +11,7 @@ author: Michael Gilbert <mgilbert@debian.org>
options, args = parser.parse_args(argv)
if args:
@@ -282,6 +283,8 @@ def build_gn_with_ninja_manually(tempdir
@@ -284,6 +285,8 @@ def build_gn_with_ninja_manually(tempdir
cmd = ['ninja', '-C', tempdir, '-w', 'dupbuild=err']
if options.verbose:
cmd.append('-v')
......
......@@ -5,31 +5,45 @@ gn/libcxx.patch
gn/parallel.patch
gn/buildflags.patch
disable/fuzzers.patch
disable/google-api-warning.patch
disable/third-party-cookies.patch
arm/skia.patch
arm/crashpad.patch
arm/gcc_skcms_ice.patch
fixes/mojo.patch
fixes/sizet.patch
fixes/widevine.patch
fixes/optimize.patch
fixes/ps-print.patch
fixes/as-needed.patch
fixes/namespace.patch
fixes/inspector.patch
fixes/gpu-timeout.patch
fixes/stringpiece.patch
fixes/map-insertion.patch
fixes/missing-includes.patch
fixes/ambiguous-aliases.patch
fixes/widevine-revision.patch
fixes/include-collisions.patch
fixes/chromedriver-revision.patch
arm/skia.patch
arm/crashpad.patch
disable/android.patch
disable/fuzzers.patch
disable/openh264.patch
disable/perfetto.patch
disable/google-api-warning.patch
disable/third-party-cookies.patch
system/icu.patch
system/vpx16.patch
system/vpx.patch
system/icu.patch
system/jpeg.patch
system/webp.patch
system/nspr.patch
system/zlib.patch
system/event.patch
system/ffmpeg.patch
system/ffmpeg2.patch
system/libdrm.patch
system/ffmpeg.patch
system/ffmpeg34.patch
system/fontconfig.patch
system/openjpeg.patch
system/openjpeg21.patch
......@@ -14,9 +14,9 @@ author: Michael Gilbert <mgilbert@debian.org>
#include "rtc_base/logging.h"
--- a/tools/gn/bootstrap/bootstrap.py
+++ b/tools/gn/bootstrap/bootstrap.py
@@ -693,26 +693,6 @@ def write_gn_ninja(path, root_gen_dir, o
@@ -710,26 +710,6 @@ def write_gn_ninja(path, root_gen_dir, o
'base/threading/thread_local_storage_posix.cc',
'base/time/time_conversion_posix.cc',
'base/trace_event/heap_profiler_allocation_register_posix.cc',
])
- static_libraries['libevent'] = {
- 'sources': [
......@@ -41,7 +41,7 @@ author: Michael Gilbert <mgilbert@debian.org>
if is_linux or is_aix:
ldflags.extend(['-pthread'])
@@ -746,13 +726,7 @@ def write_gn_ninja(path, root_gen_dir, o
@@ -763,13 +743,7 @@ def write_gn_ninja(path, root_gen_dir, o
'base/allocator/allocator_shim.cc',
'base/allocator/allocator_shim_default_dispatch_to_glibc.cc',
])
......@@ -56,7 +56,7 @@ author: Michael Gilbert <mgilbert@debian.org>
else:
ldflags.extend(['-pthread'])
libs.extend(['-lrt'])
@@ -792,12 +766,6 @@ def write_gn_ninja(path, root_gen_dir, o
@@ -809,12 +783,6 @@ def write_gn_ninja(path, root_gen_dir, o
'base/time/time_mac.cc',
'base/threading/platform_thread_mac.mm',
])
......
description: ffmpeg decoders before version 4.0 require explicit initialization
author: Michael Gilbert <mgilbert@debian.org>
origin: chromium 66 authors
--- a/media/filters/ffmpeg_audio_decoder.cc
+++ b/media/filters/ffmpeg_audio_decoder.cc
@@ -80,6 +80,8 @@ void FFmpegAudioDecoder::Initialize(
return;
}
+ FFmpegGlue::InitializeFFmpeg();
+
if (!ConfigureDecoder(config)) {
av_sample_format_ = 0;
bound_init_cb.Run(false);
--- a/media/cdm/library_cdm/clear_key_cdm/clear_key_cdm.cc
+++ b/media/cdm/library_cdm/clear_key_cdm/clear_key_cdm.cc
@@ -228,10 +228,13 @@ void ConvertCdmKeysInfo(const media::Cdm
}
}
+#include <libavformat/avformat.h>
+
void INITIALIZE_CDM_MODULE() {
DVLOG(1) << __func__;
#if defined(CLEAR_KEY_CDM_USE_FFMPEG_DECODER)
media::InitializeMediaLibrary();
+ av_register_all();
#endif // CLEAR_KEY_CDM_USE_FFMPEG_DECODER
g_is_cdm_module_initialized = true;
--- a/media/filters/ffmpeg_glue.cc
+++ b/media/filters/ffmpeg_glue.cc
@@ -63,7 +63,13 @@ static int64_t AVIOSeekOperation(void* o
return new_offset;
}
+void FFmpegGlue::InitializeFFmpeg() {
+ av_register_all();
+}
+
FFmpegGlue::FFmpegGlue(FFmpegURLProtocol* protocol) {
+ InitializeFFmpeg();
+
// Initialize an AVIOContext using our custom read and seek operations. Don't
// keep pointers to the buffer since FFmpeg may reallocate it on the fly. It
// will be cleaned up
--- a/media/filters/ffmpeg_glue.h
+++ b/media/filters/ffmpeg_glue.h
@@ -59,6 +59,8 @@ class MEDIA_EXPORT FFmpegURLProtocol {
class MEDIA_EXPORT FFmpegGlue {
public:
+ static void InitializeFFmpeg();
+
// See file documentation for usage. |protocol| must outlive FFmpegGlue.
explicit FFmpegGlue(FFmpegURLProtocol* protocol);
~FFmpegGlue();
--- a/media/filters/ffmpeg_video_decoder.cc
+++ b/media/filters/ffmpeg_video_decoder.cc
@@ -28,6 +28,7 @@
#include "media/base/video_util.h"
#include "media/ffmpeg/ffmpeg_common.h"
#include "media/ffmpeg/ffmpeg_decoding_loop.h"
+#include "media/filters/ffmpeg_glue.h"
namespace media {
@@ -110,6 +111,7 @@ static void ReleaseVideoBufferImpl(void*
// static
bool FFmpegVideoDecoder::IsCodecSupported(VideoCodec codec) {
+ FFmpegGlue::InitializeFFmpeg();
return avcodec_find_decoder(VideoCodecToCodecID(codec)) != nullptr;
}
@@ -253,6 +255,8 @@ void FFmpegVideoDecoder::Initialize(
return;
}
+ FFmpegGlue::InitializeFFmpeg();
+
if (!ConfigureDecoder(config, low_delay)) {
bound_init_cb.Run(false);
return;
......@@ -10,10 +10,10 @@ author: Michael Gilbert <mgilbert@debian.org>
-import("//buildtools/deps_revisions.gni")
import("//build/config/c++/c++.gni")
import("//build/config/clang/clang.gni")
import("//build/config/sanitizers/sanitizers.gni")
import("//build/config/compiler/compiler.gni")
--- a/base/test/BUILD.gn
+++ b/base/test/BUILD.gn
@@ -187,13 +187,6 @@ static_library("test_support") {
@@ -185,13 +185,6 @@ static_library("test_support") {
if (is_linux) {
public_deps += [ ":fontconfig_util_linux" ]
......@@ -27,7 +27,7 @@ author: Michael Gilbert <mgilbert@debian.org>
}
if (is_ios) {
@@ -340,7 +333,7 @@ if (is_linux) {
@@ -338,7 +331,7 @@ if (is_linux) {
]
}
......@@ -38,12 +38,12 @@ author: Michael Gilbert <mgilbert@debian.org>
sources = [
--- a/content/shell/test_runner/BUILD.gn
+++ b/content/shell/test_runner/BUILD.gn
@@ -203,7 +203,7 @@ group("resources") {
deps += [ ":copy_android_fonts_config" ]
data_deps += [ ":copy_android_fonts_config" ]
}
- if (is_android || is_linux || is_fuchsia) {
+ if (false) {
@@ -168,7 +168,7 @@ group("resources") {
if (is_mac) {
deps += [ ":test_runner_bundle_data" ]
data_deps += [ ":test_runner_bundle_data" ]
- } else {
+ } else if (false) {
deps += [ "//third_party/test_fonts" ]
data_deps += [ "//third_party/test_fonts" ]
}
......@@ -3,7 +3,7 @@ author: Michael Gilbert <mgilbert@debian.org>
--- a/third_party/blink/renderer/platform/graphics/logging_canvas.cc
+++ b/third_party/blink/renderer/platform/graphics/logging_canvas.cc
@@ -531,8 +531,12 @@ String StringForUTF32LEText(const void*
@@ -528,8 +528,12 @@ String StringForUTF32LEText(const void*
utf16 = icu::UnicodeString::fromUTF32(reinterpret_cast<const UChar32*>(text),
static_cast<int32_t>(byte_length));
#endif
......@@ -28,7 +28,7 @@ author: Michael Gilbert <mgilbert@debian.org>
import("//url/features.gni")
--- a/components/url_formatter/idn_spoof_checker.cc
+++ b/components/url_formatter/idn_spoof_checker.cc
@@ -322,8 +322,8 @@ bool IDNSpoofChecker::SimilarToTopDomain
@@ -327,8 +327,8 @@ bool IDNSpoofChecker::SimilarToTopDomain
if ((u04cf_pos = host.indexOf(0x4CF)) != -1) {
icu::UnicodeString host_alt(host);
size_t length = host_alt.length();
......
......@@ -3,7 +3,7 @@ author: Michael Gilbert <mgilbert@debian.org>
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -671,7 +671,6 @@ group("gn_all") {
@@ -682,7 +682,6 @@ group("gn_all") {
"//third_party/angle:libEGL",
"//third_party/angle:libGLESv2",
"//third_party/leveldatabase:leveldb_test_targets",
......@@ -11,7 +11,7 @@ author: Michael Gilbert <mgilbert@debian.org>
"//third_party/opus:opus_compare",