commit
fae045bc88
@ -0,0 +1,479 @@
|
|||||||
|
diff -up chromium-60.0.3112.78/components/neterror/resources/sounds/button-press.mp3 chromium-60.0.3112.78/components/neterror/resources/sounds/button-press
|
||||||
|
diff -up chromium-60.0.3112.78/components/neterror/resources/sounds/hit.mp3 chromium-60.0.3112.78/components/neterror/resources/sounds/hit
|
||||||
|
diff -up chromium-60.0.3112.78/components/neterror/resources/sounds/score-reached.mp3 chromium-60.0.3112.78/components/neterror/resources/sounds/score-reached
|
||||||
|
diff -up chromium-60.0.3112.78/media/base/mime_util_internal.cc.mp3 chromium-60.0.3112.78/media/base/mime_util_internal.cc
|
||||||
|
--- chromium-60.0.3112.78/media/base/mime_util_internal.cc.mp3 2017-07-25 15:04:57.000000000 -0400
|
||||||
|
+++ chromium-60.0.3112.78/media/base/mime_util_internal.cc 2017-07-31 10:57:55.054231795 -0400
|
||||||
|
@@ -278,10 +278,10 @@ void MimeUtil::AddSupportedMediaFormats(
|
||||||
|
CodecSet webm_codecs(webm_audio_codecs);
|
||||||
|
webm_codecs.insert(webm_video_codecs.begin(), webm_video_codecs.end());
|
||||||
|
|
||||||
|
-#if BUILDFLAG(USE_PROPRIETARY_CODECS)
|
||||||
|
CodecSet mp3_codecs;
|
||||||
|
mp3_codecs.insert(MP3);
|
||||||
|
|
||||||
|
+#if BUILDFLAG(USE_PROPRIETARY_CODECS)
|
||||||
|
CodecSet aac;
|
||||||
|
aac.insert(MPEG2_AAC);
|
||||||
|
aac.insert(MPEG4_AAC);
|
||||||
|
@@ -325,10 +325,10 @@ void MimeUtil::AddSupportedMediaFormats(
|
||||||
|
AddContainerWithCodecs("application/ogg", ogg_codecs, false);
|
||||||
|
AddContainerWithCodecs("audio/flac", implicit_codec, false);
|
||||||
|
|
||||||
|
-#if BUILDFLAG(USE_PROPRIETARY_CODECS)
|
||||||
|
AddContainerWithCodecs("audio/mpeg", mp3_codecs, true); // Allow "mp3".
|
||||||
|
AddContainerWithCodecs("audio/mp3", implicit_codec, true);
|
||||||
|
AddContainerWithCodecs("audio/x-mp3", implicit_codec, true);
|
||||||
|
+#if BUILDFLAG(USE_PROPRIETARY_CODECS)
|
||||||
|
AddContainerWithCodecs("audio/aac", implicit_codec, true); // AAC / ADTS.
|
||||||
|
AddContainerWithCodecs("audio/mp4", mp4_audio_codecs, true);
|
||||||
|
DCHECK(!mp4_video_codecs.empty());
|
||||||
|
@@ -928,7 +928,6 @@ bool MimeUtil::IsCodecProprietary(Codec
|
||||||
|
case INVALID_CODEC:
|
||||||
|
case AC3:
|
||||||
|
case EAC3:
|
||||||
|
- case MP3:
|
||||||
|
case MPEG2_AAC:
|
||||||
|
case MPEG4_AAC:
|
||||||
|
case H264:
|
||||||
|
@@ -936,6 +935,7 @@ bool MimeUtil::IsCodecProprietary(Codec
|
||||||
|
case DOLBY_VISION:
|
||||||
|
return true;
|
||||||
|
|
||||||
|
+ case MP3:
|
||||||
|
case PCM:
|
||||||
|
case VORBIS:
|
||||||
|
case OPUS:
|
||||||
|
diff -up chromium-60.0.3112.78/media/BUILD.gn.mp3 chromium-60.0.3112.78/media/BUILD.gn
|
||||||
|
diff -up chromium-60.0.3112.78/media/formats/BUILD.gn.mp3 chromium-60.0.3112.78/media/formats/BUILD.gn
|
||||||
|
--- chromium-60.0.3112.78/media/formats/BUILD.gn.mp3 2017-07-31 11:00:08.486638957 -0400
|
||||||
|
+++ chromium-60.0.3112.78/media/formats/BUILD.gn 2017-07-31 11:01:17.867290730 -0400
|
||||||
|
@@ -12,6 +12,14 @@ source_set("formats") {
|
||||||
|
"ac3/ac3_util.h",
|
||||||
|
"common/offset_byte_queue.cc",
|
||||||
|
"common/offset_byte_queue.h",
|
||||||
|
+ "mpeg/adts_constants.cc",
|
||||||
|
+ "mpeg/adts_constants.h",
|
||||||
|
+ "mpeg/adts_stream_parser.cc",
|
||||||
|
+ "mpeg/adts_stream_parser.h",
|
||||||
|
+ "mpeg/mpeg1_audio_stream_parser.cc",
|
||||||
|
+ "mpeg/mpeg1_audio_stream_parser.h",
|
||||||
|
+ "mpeg/mpeg_audio_stream_parser_base.cc",
|
||||||
|
+ "mpeg/mpeg_audio_stream_parser_base.h",
|
||||||
|
"webm/webm_audio_client.cc",
|
||||||
|
"webm/webm_audio_client.h",
|
||||||
|
"webm/webm_cluster_parser.cc",
|
||||||
|
@@ -76,14 +84,6 @@ source_set("formats") {
|
||||||
|
"mp4/sample_to_group_iterator.h",
|
||||||
|
"mp4/track_run_iterator.cc",
|
||||||
|
"mp4/track_run_iterator.h",
|
||||||
|
- "mpeg/adts_constants.cc",
|
||||||
|
- "mpeg/adts_constants.h",
|
||||||
|
- "mpeg/adts_stream_parser.cc",
|
||||||
|
- "mpeg/adts_stream_parser.h",
|
||||||
|
- "mpeg/mpeg1_audio_stream_parser.cc",
|
||||||
|
- "mpeg/mpeg1_audio_stream_parser.h",
|
||||||
|
- "mpeg/mpeg_audio_stream_parser_base.cc",
|
||||||
|
- "mpeg/mpeg_audio_stream_parser_base.h",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
diff -up chromium-60.0.3112.78/third_party/catapult/third_party/gsutil/gslib/tests/test_data/test.mp3 chromium-60.0.3112.78/third_party/catapult/third_party/gsutil/gslib/tests/test_data/test
|
||||||
|
diff -up chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h.mp3 chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h
|
||||||
|
--- chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h.mp3 2017-07-31 10:18:49.000000000 -0400
|
||||||
|
+++ chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/arm64/config.h 2017-07-31 10:57:55.056231757 -0400
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
/* Automatically generated by configure - do not modify! */
|
||||||
|
#ifndef FFMPEG_CONFIG_H
|
||||||
|
#define FFMPEG_CONFIG_H
|
||||||
|
-#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/usr/local/google/home/tguilbert/Code/chromium/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-cross-compile --cross-prefix=/usr/bin/aarch64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --enable-pic"
|
||||||
|
+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/usr/local/google/home/tguilbert/Code/chromium/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-cross-compile --cross-prefix=/usr/bin/aarch64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'"
|
||||||
|
#define FFMPEG_LICENSE "LGPL version 2.1 or later"
|
||||||
|
#define CONFIG_THIS_YEAR 2017
|
||||||
|
#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
|
||||||
|
@@ -550,7 +550,7 @@
|
||||||
|
#define CONFIG_FFPROBE 0
|
||||||
|
#define CONFIG_FFSERVER 0
|
||||||
|
#define CONFIG_FFMPEG 0
|
||||||
|
-#define CONFIG_DCT 0
|
||||||
|
+#define CONFIG_DCT 1
|
||||||
|
#define CONFIG_DWT 0
|
||||||
|
#define CONFIG_ERROR_RESILIENCE 0
|
||||||
|
#define CONFIG_FAAN 1
|
||||||
|
@@ -617,8 +617,8 @@
|
||||||
|
#define CONFIG_LZF 0
|
||||||
|
#define CONFIG_ME_CMP 0
|
||||||
|
#define CONFIG_MPEG_ER 0
|
||||||
|
-#define CONFIG_MPEGAUDIO 0
|
||||||
|
-#define CONFIG_MPEGAUDIODSP 0
|
||||||
|
+#define CONFIG_MPEGAUDIO 1
|
||||||
|
+#define CONFIG_MPEGAUDIODSP 1
|
||||||
|
#define CONFIG_MPEGVIDEO 0
|
||||||
|
#define CONFIG_MPEGVIDEOENC 0
|
||||||
|
#define CONFIG_MSS34DSP 0
|
||||||
|
@@ -957,7 +957,7 @@
|
||||||
|
#define CONFIG_MP1FLOAT_DECODER 0
|
||||||
|
#define CONFIG_MP2_DECODER 0
|
||||||
|
#define CONFIG_MP2FLOAT_DECODER 0
|
||||||
|
-#define CONFIG_MP3_DECODER 0
|
||||||
|
+#define CONFIG_MP3_DECODER 1
|
||||||
|
#define CONFIG_MP3FLOAT_DECODER 0
|
||||||
|
#define CONFIG_MP3ADU_DECODER 0
|
||||||
|
#define CONFIG_MP3ADUFLOAT_DECODER 0
|
||||||
|
@@ -1263,7 +1263,7 @@
|
||||||
|
#define CONFIG_MM_DEMUXER 0
|
||||||
|
#define CONFIG_MMF_DEMUXER 0
|
||||||
|
#define CONFIG_MOV_DEMUXER 0
|
||||||
|
-#define CONFIG_MP3_DEMUXER 0
|
||||||
|
+#define CONFIG_MP3_DEMUXER 1
|
||||||
|
#define CONFIG_MPC_DEMUXER 0
|
||||||
|
#define CONFIG_MPC8_DEMUXER 0
|
||||||
|
#define CONFIG_MPEGPS_DEMUXER 0
|
||||||
|
@@ -2196,7 +2196,7 @@
|
||||||
|
#define CONFIG_MJPEG_PARSER 0
|
||||||
|
#define CONFIG_MLP_PARSER 0
|
||||||
|
#define CONFIG_MPEG4VIDEO_PARSER 0
|
||||||
|
-#define CONFIG_MPEGAUDIO_PARSER 0
|
||||||
|
+#define CONFIG_MPEGAUDIO_PARSER 1
|
||||||
|
#define CONFIG_MPEGVIDEO_PARSER 0
|
||||||
|
#define CONFIG_OPUS_PARSER 1
|
||||||
|
#define CONFIG_PNG_PARSER 0
|
||||||
|
diff -up chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h.mp3 chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h
|
||||||
|
--- chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h.mp3 2017-07-31 10:18:49.000000000 -0400
|
||||||
|
+++ chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h 2017-07-31 10:57:55.057231738 -0400
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
/* Automatically generated by configure - do not modify! */
|
||||||
|
#ifndef FFMPEG_CONFIG_H
|
||||||
|
#define FFMPEG_CONFIG_H
|
||||||
|
-#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/tguilbert/chrome_root/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --disable-neon --extra-cflags='-mfpu=vfpv3-d16' --enable-pic"
|
||||||
|
+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/tguilbert/chrome_root/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --disable-neon --extra-cflags='-mfpu=vfpv3-d16' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'"
|
||||||
|
#define FFMPEG_LICENSE "LGPL version 2.1 or later"
|
||||||
|
#define CONFIG_THIS_YEAR 2017
|
||||||
|
#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
|
||||||
|
@@ -550,7 +550,7 @@
|
||||||
|
#define CONFIG_FFPROBE 0
|
||||||
|
#define CONFIG_FFSERVER 0
|
||||||
|
#define CONFIG_FFMPEG 0
|
||||||
|
-#define CONFIG_DCT 0
|
||||||
|
+#define CONFIG_DCT 1
|
||||||
|
#define CONFIG_DWT 0
|
||||||
|
#define CONFIG_ERROR_RESILIENCE 0
|
||||||
|
#define CONFIG_FAAN 1
|
||||||
|
@@ -617,8 +617,8 @@
|
||||||
|
#define CONFIG_LZF 0
|
||||||
|
#define CONFIG_ME_CMP 0
|
||||||
|
#define CONFIG_MPEG_ER 0
|
||||||
|
-#define CONFIG_MPEGAUDIO 0
|
||||||
|
-#define CONFIG_MPEGAUDIODSP 0
|
||||||
|
+#define CONFIG_MPEGAUDIO 1
|
||||||
|
+#define CONFIG_MPEGAUDIODSP 1
|
||||||
|
#define CONFIG_MPEGVIDEO 0
|
||||||
|
#define CONFIG_MPEGVIDEOENC 0
|
||||||
|
#define CONFIG_MSS34DSP 0
|
||||||
|
@@ -957,7 +957,7 @@
|
||||||
|
#define CONFIG_MP1FLOAT_DECODER 0
|
||||||
|
#define CONFIG_MP2_DECODER 0
|
||||||
|
#define CONFIG_MP2FLOAT_DECODER 0
|
||||||
|
-#define CONFIG_MP3_DECODER 0
|
||||||
|
+#define CONFIG_MP3_DECODER 1
|
||||||
|
#define CONFIG_MP3FLOAT_DECODER 0
|
||||||
|
#define CONFIG_MP3ADU_DECODER 0
|
||||||
|
#define CONFIG_MP3ADUFLOAT_DECODER 0
|
||||||
|
@@ -1263,7 +1263,7 @@
|
||||||
|
#define CONFIG_MM_DEMUXER 0
|
||||||
|
#define CONFIG_MMF_DEMUXER 0
|
||||||
|
#define CONFIG_MOV_DEMUXER 0
|
||||||
|
-#define CONFIG_MP3_DEMUXER 0
|
||||||
|
+#define CONFIG_MP3_DEMUXER 1
|
||||||
|
#define CONFIG_MPC_DEMUXER 0
|
||||||
|
#define CONFIG_MPC8_DEMUXER 0
|
||||||
|
#define CONFIG_MPEGPS_DEMUXER 0
|
||||||
|
@@ -2196,7 +2196,7 @@
|
||||||
|
#define CONFIG_MJPEG_PARSER 0
|
||||||
|
#define CONFIG_MLP_PARSER 0
|
||||||
|
#define CONFIG_MPEG4VIDEO_PARSER 0
|
||||||
|
-#define CONFIG_MPEGAUDIO_PARSER 0
|
||||||
|
+#define CONFIG_MPEGAUDIO_PARSER 1
|
||||||
|
#define CONFIG_MPEGVIDEO_PARSER 0
|
||||||
|
#define CONFIG_OPUS_PARSER 1
|
||||||
|
#define CONFIG_PNG_PARSER 0
|
||||||
|
diff -up chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h.mp3 chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h
|
||||||
|
--- chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h.mp3 2017-07-31 10:18:49.000000000 -0400
|
||||||
|
+++ chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h 2017-07-31 10:57:55.106230806 -0400
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
/* Automatically generated by configure - do not modify! */
|
||||||
|
#ifndef FFMPEG_CONFIG_H
|
||||||
|
#define FFMPEG_CONFIG_H
|
||||||
|
-#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/tguilbert/chrome_root/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --enable-neon --extra-cflags='-mfpu=neon' --enable-pic"
|
||||||
|
+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/home/tguilbert/chrome_root/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=arm --enable-armv6 --enable-armv6t2 --enable-vfp --enable-thumb --extra-cflags='-march=armv7-a' --enable-cross-compile --target-os=linux --cross-prefix=armv7a-cros-linux-gnueabi- --extra-cflags='-mtune=cortex-a8' --extra-cflags='-mfloat-abi=hard' --enable-neon --extra-cflags='-mfpu=neon' --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'"
|
||||||
|
#define FFMPEG_LICENSE "LGPL version 2.1 or later"
|
||||||
|
#define CONFIG_THIS_YEAR 2017
|
||||||
|
#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
|
||||||
|
@@ -550,7 +550,7 @@
|
||||||
|
#define CONFIG_FFPROBE 0
|
||||||
|
#define CONFIG_FFSERVER 0
|
||||||
|
#define CONFIG_FFMPEG 0
|
||||||
|
-#define CONFIG_DCT 0
|
||||||
|
+#define CONFIG_DCT 1
|
||||||
|
#define CONFIG_DWT 0
|
||||||
|
#define CONFIG_ERROR_RESILIENCE 0
|
||||||
|
#define CONFIG_FAAN 1
|
||||||
|
@@ -617,8 +617,8 @@
|
||||||
|
#define CONFIG_LZF 0
|
||||||
|
#define CONFIG_ME_CMP 0
|
||||||
|
#define CONFIG_MPEG_ER 0
|
||||||
|
-#define CONFIG_MPEGAUDIO 0
|
||||||
|
-#define CONFIG_MPEGAUDIODSP 0
|
||||||
|
+#define CONFIG_MPEGAUDIO 1
|
||||||
|
+#define CONFIG_MPEGAUDIODSP 1
|
||||||
|
#define CONFIG_MPEGVIDEO 0
|
||||||
|
#define CONFIG_MPEGVIDEOENC 0
|
||||||
|
#define CONFIG_MSS34DSP 0
|
||||||
|
@@ -957,7 +957,7 @@
|
||||||
|
#define CONFIG_MP1FLOAT_DECODER 0
|
||||||
|
#define CONFIG_MP2_DECODER 0
|
||||||
|
#define CONFIG_MP2FLOAT_DECODER 0
|
||||||
|
-#define CONFIG_MP3_DECODER 0
|
||||||
|
+#define CONFIG_MP3_DECODER 1
|
||||||
|
#define CONFIG_MP3FLOAT_DECODER 0
|
||||||
|
#define CONFIG_MP3ADU_DECODER 0
|
||||||
|
#define CONFIG_MP3ADUFLOAT_DECODER 0
|
||||||
|
@@ -1263,7 +1263,7 @@
|
||||||
|
#define CONFIG_MM_DEMUXER 0
|
||||||
|
#define CONFIG_MMF_DEMUXER 0
|
||||||
|
#define CONFIG_MOV_DEMUXER 0
|
||||||
|
-#define CONFIG_MP3_DEMUXER 0
|
||||||
|
+#define CONFIG_MP3_DEMUXER 1
|
||||||
|
#define CONFIG_MPC_DEMUXER 0
|
||||||
|
#define CONFIG_MPC8_DEMUXER 0
|
||||||
|
#define CONFIG_MPEGPS_DEMUXER 0
|
||||||
|
@@ -2196,7 +2196,7 @@
|
||||||
|
#define CONFIG_MJPEG_PARSER 0
|
||||||
|
#define CONFIG_MLP_PARSER 0
|
||||||
|
#define CONFIG_MPEG4VIDEO_PARSER 0
|
||||||
|
-#define CONFIG_MPEGAUDIO_PARSER 0
|
||||||
|
+#define CONFIG_MPEGAUDIO_PARSER 1
|
||||||
|
#define CONFIG_MPEGVIDEO_PARSER 0
|
||||||
|
#define CONFIG_OPUS_PARSER 1
|
||||||
|
#define CONFIG_PNG_PARSER 0
|
||||||
|
diff -up chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h.mp3 chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h
|
||||||
|
--- chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h.mp3 2017-07-31 10:18:49.000000000 -0400
|
||||||
|
+++ chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/ia32/config.h 2017-07-31 10:57:55.107230787 -0400
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
/* Automatically generated by configure - do not modify! */
|
||||||
|
#ifndef FFMPEG_CONFIG_H
|
||||||
|
#define FFMPEG_CONFIG_H
|
||||||
|
-#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/usr/local/google/home/tguilbert/Code/chromium/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=i686 --extra-cflags='\"-m32\"' --extra-ldflags='\"-m32\"' --enable-yasm --enable-pic"
|
||||||
|
+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/usr/local/google/home/tguilbert/Code/chromium/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=i686 --extra-cflags='\"-m32\"' --extra-ldflags='\"-m32\"' --enable-yasm --enable-pic --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'"
|
||||||
|
#define FFMPEG_LICENSE "LGPL version 2.1 or later"
|
||||||
|
#define CONFIG_THIS_YEAR 2017
|
||||||
|
#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
|
||||||
|
@@ -550,7 +550,7 @@
|
||||||
|
#define CONFIG_FFPROBE 0
|
||||||
|
#define CONFIG_FFSERVER 0
|
||||||
|
#define CONFIG_FFMPEG 0
|
||||||
|
-#define CONFIG_DCT 0
|
||||||
|
+#define CONFIG_DCT 1
|
||||||
|
#define CONFIG_DWT 0
|
||||||
|
#define CONFIG_ERROR_RESILIENCE 0
|
||||||
|
#define CONFIG_FAAN 1
|
||||||
|
@@ -617,8 +617,8 @@
|
||||||
|
#define CONFIG_LZF 0
|
||||||
|
#define CONFIG_ME_CMP 0
|
||||||
|
#define CONFIG_MPEG_ER 0
|
||||||
|
-#define CONFIG_MPEGAUDIO 0
|
||||||
|
-#define CONFIG_MPEGAUDIODSP 0
|
||||||
|
+#define CONFIG_MPEGAUDIO 1
|
||||||
|
+#define CONFIG_MPEGAUDIODSP 1
|
||||||
|
#define CONFIG_MPEGVIDEO 0
|
||||||
|
#define CONFIG_MPEGVIDEOENC 0
|
||||||
|
#define CONFIG_MSS34DSP 0
|
||||||
|
@@ -957,7 +957,7 @@
|
||||||
|
#define CONFIG_MP1FLOAT_DECODER 0
|
||||||
|
#define CONFIG_MP2_DECODER 0
|
||||||
|
#define CONFIG_MP2FLOAT_DECODER 0
|
||||||
|
-#define CONFIG_MP3_DECODER 0
|
||||||
|
+#define CONFIG_MP3_DECODER 1
|
||||||
|
#define CONFIG_MP3FLOAT_DECODER 0
|
||||||
|
#define CONFIG_MP3ADU_DECODER 0
|
||||||
|
#define CONFIG_MP3ADUFLOAT_DECODER 0
|
||||||
|
@@ -1263,7 +1263,7 @@
|
||||||
|
#define CONFIG_MM_DEMUXER 0
|
||||||
|
#define CONFIG_MMF_DEMUXER 0
|
||||||
|
#define CONFIG_MOV_DEMUXER 0
|
||||||
|
-#define CONFIG_MP3_DEMUXER 0
|
||||||
|
+#define CONFIG_MP3_DEMUXER 1
|
||||||
|
#define CONFIG_MPC_DEMUXER 0
|
||||||
|
#define CONFIG_MPC8_DEMUXER 0
|
||||||
|
#define CONFIG_MPEGPS_DEMUXER 0
|
||||||
|
@@ -2196,7 +2196,7 @@
|
||||||
|
#define CONFIG_MJPEG_PARSER 0
|
||||||
|
#define CONFIG_MLP_PARSER 0
|
||||||
|
#define CONFIG_MPEG4VIDEO_PARSER 0
|
||||||
|
-#define CONFIG_MPEGAUDIO_PARSER 0
|
||||||
|
+#define CONFIG_MPEGAUDIO_PARSER 1
|
||||||
|
#define CONFIG_MPEGVIDEO_PARSER 0
|
||||||
|
#define CONFIG_OPUS_PARSER 1
|
||||||
|
#define CONFIG_PNG_PARSER 0
|
||||||
|
diff -up chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h.mp3 chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h
|
||||||
|
--- chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h.mp3 2017-07-31 10:18:49.000000000 -0400
|
||||||
|
+++ chromium-60.0.3112.78/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config.h 2017-07-31 10:57:55.108230768 -0400
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
/* Automatically generated by configure - do not modify! */
|
||||||
|
#ifndef FFMPEG_CONFIG_H
|
||||||
|
#define FFMPEG_CONFIG_H
|
||||||
|
-#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/usr/local/google/home/tguilbert/Code/chromium/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-pic --enable-lto"
|
||||||
|
+#define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-bzlib --disable-error-resilience --disable-iconv --disable-lzo --disable-network --disable-schannel --disable-sdl --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-nvenc --disable-cuda --disable-cuvid --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac' --enable-parser='opus,vorbis,flac' --extra-cflags=-I/usr/local/google/home/tguilbert/Code/chromium/src/third_party/opus/src/include --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-pic --enable-lto --enable-decoder='mp3' --enable-demuxer='mp3' --enable-parser='mpegaudio'"
|
||||||
|
#define FFMPEG_LICENSE "LGPL version 2.1 or later"
|
||||||
|
#define CONFIG_THIS_YEAR 2017
|
||||||
|
#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
|
||||||
|
@@ -550,7 +550,7 @@
|
||||||
|
#define CONFIG_FFPROBE 0
|
||||||
|
#define CONFIG_FFSERVER 0
|
||||||
|
#define CONFIG_FFMPEG 0
|
||||||
|
-#define CONFIG_DCT 0
|
||||||
|
+#define CONFIG_DCT 1
|
||||||
|
#define CONFIG_DWT 0
|
||||||
|
#define CONFIG_ERROR_RESILIENCE 0
|
||||||
|
#define CONFIG_FAAN 1
|
||||||
|
@@ -617,8 +617,8 @@
|
||||||
|
#define CONFIG_LZF 0
|
||||||
|
#define CONFIG_ME_CMP 0
|
||||||
|
#define CONFIG_MPEG_ER 0
|
||||||
|
-#define CONFIG_MPEGAUDIO 0
|
||||||
|
-#define CONFIG_MPEGAUDIODSP 0
|
||||||
|
+#define CONFIG_MPEGAUDIO 1
|
||||||
|
+#define CONFIG_MPEGAUDIODSP 1
|
||||||
|
#define CONFIG_MPEGVIDEO 0
|
||||||
|
#define CONFIG_MPEGVIDEOENC 0
|
||||||
|
#define CONFIG_MSS34DSP 0
|
||||||
|
@@ -957,7 +957,7 @@
|
||||||
|
#define CONFIG_MP1FLOAT_DECODER 0
|
||||||
|
#define CONFIG_MP2_DECODER 0
|
||||||
|
#define CONFIG_MP2FLOAT_DECODER 0
|
||||||
|
-#define CONFIG_MP3_DECODER 0
|
||||||
|
+#define CONFIG_MP3_DECODER 1
|
||||||
|
#define CONFIG_MP3FLOAT_DECODER 0
|
||||||
|
#define CONFIG_MP3ADU_DECODER 0
|
||||||
|
#define CONFIG_MP3ADUFLOAT_DECODER 0
|
||||||
|
@@ -1263,7 +1263,7 @@
|
||||||
|
#define CONFIG_MM_DEMUXER 0
|
||||||
|
#define CONFIG_MMF_DEMUXER 0
|
||||||
|
#define CONFIG_MOV_DEMUXER 0
|
||||||
|
-#define CONFIG_MP3_DEMUXER 0
|
||||||
|
+#define CONFIG_MP3_DEMUXER 1
|
||||||
|
#define CONFIG_MPC_DEMUXER 0
|
||||||
|
#define CONFIG_MPC8_DEMUXER 0
|
||||||
|
#define CONFIG_MPEGPS_DEMUXER 0
|
||||||
|
@@ -2196,7 +2196,7 @@
|
||||||
|
#define CONFIG_MJPEG_PARSER 0
|
||||||
|
#define CONFIG_MLP_PARSER 0
|
||||||
|
#define CONFIG_MPEG4VIDEO_PARSER 0
|
||||||
|
-#define CONFIG_MPEGAUDIO_PARSER 0
|
||||||
|
+#define CONFIG_MPEGAUDIO_PARSER 1
|
||||||
|
#define CONFIG_MPEGVIDEO_PARSER 0
|
||||||
|
#define CONFIG_OPUS_PARSER 1
|
||||||
|
#define CONFIG_PNG_PARSER 0
|
||||||
|
diff -up chromium-60.0.3112.78/third_party/ffmpeg/ffmpeg_generated.gni.mp3 chromium-60.0.3112.78/third_party/ffmpeg/ffmpeg_generated.gni
|
||||||
|
--- chromium-60.0.3112.78/third_party/ffmpeg/ffmpeg_generated.gni.mp3 2017-07-31 10:18:46.000000000 -0400
|
||||||
|
+++ chromium-60.0.3112.78/third_party/ffmpeg/ffmpeg_generated.gni 2017-07-31 10:57:55.109230749 -0400
|
||||||
|
@@ -177,19 +177,12 @@ if ((is_linux && current_cpu == "arm" &&
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
-if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_win && ffmpeg_branding == "Chrome")) {
|
||||||
|
+if ((current_cpu == "x64") || (is_android && current_cpu == "arm" && arm_use_neon) || (is_android && current_cpu == "arm64") || (is_android && current_cpu == "mips64el") || (is_android && current_cpu == "mipsel") || (is_android && current_cpu == "x86") || (is_linux && current_cpu == "arm" && arm_use_neon) || (is_linux && current_cpu == "arm" && arm_use_neon) || (is_linux && current_cpu == "arm") || (is_linux && current_cpu == "arm64") || (is_linux && current_cpu == "mipsel") || (is_linux && current_cpu == "x64") || (is_linux && current_cpu == "x86") || (is_win))
|
||||||
|
+{
|
||||||
|
ffmpeg_c_sources += [
|
||||||
|
- "libavcodec/aac_ac3_parser.c",
|
||||||
|
- "libavcodec/aac_parser.c",
|
||||||
|
- "libavcodec/aacadtsdec.c",
|
||||||
|
- "libavcodec/aacps_float.c",
|
||||||
|
- "libavcodec/aacpsdsp_float.c",
|
||||||
|
- "libavcodec/aacsbr.c",
|
||||||
|
- "libavcodec/aactab.c",
|
||||||
|
- "libavcodec/ac3tab.c",
|
||||||
|
- "libavcodec/autorename_libavcodec_aacdec.c",
|
||||||
|
"libavcodec/autorename_libavcodec_mpegaudiodsp.c",
|
||||||
|
"libavcodec/autorename_libavcodec_sbrdsp.c",
|
||||||
|
+ "libavcodec/ac3tab.c",
|
||||||
|
"libavcodec/cbrt_data.c",
|
||||||
|
"libavcodec/dct.c",
|
||||||
|
"libavcodec/dct32_fixed.c",
|
||||||
|
@@ -205,7 +198,6 @@ if ((current_cpu == "x64" && ffmpeg_bran
|
||||||
|
"libavcodec/mpegaudiodsp_float.c",
|
||||||
|
"libavcodec/sinewin.c",
|
||||||
|
"libavcodec/sinewin_fixed.c",
|
||||||
|
- "libavformat/aacdec.c",
|
||||||
|
"libavformat/apetag.c",
|
||||||
|
"libavformat/img2.c",
|
||||||
|
"libavformat/mov.c",
|
||||||
|
@@ -214,6 +206,21 @@ if ((current_cpu == "x64" && ffmpeg_bran
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
+if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_win && ffmpeg_branding == "Chrome"))
|
||||||
|
+{
|
||||||
|
+ ffmpeg_c_sources += [
|
||||||
|
+ "libavcodec/aac_ac3_parser.c",
|
||||||
|
+ "libavcodec/aac_parser.c",
|
||||||
|
+ "libavcodec/aacadtsdec.c",
|
||||||
|
+ "libavcodec/aacps_float.c",
|
||||||
|
+ "libavcodec/aacpsdsp_float.c",
|
||||||
|
+ "libavcodec/aacsbr.c",
|
||||||
|
+ "libavcodec/aactab.c",
|
||||||
|
+ "libavcodec/autorename_libavcodec_aacdec.c",
|
||||||
|
+ "libavformat/aacdec.c",
|
||||||
|
+ ]
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
if ((is_android && current_cpu == "x64") || (is_android && current_cpu == "x86") || (is_linux && current_cpu == "x64") || (is_linux && current_cpu == "x86") || (is_mac) || (is_win)) {
|
||||||
|
ffmpeg_c_sources += [
|
||||||
|
"libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c",
|
||||||
|
@@ -315,21 +322,31 @@ if ((is_linux && current_cpu == "x64") |
|
||||||
|
if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_win && ffmpeg_branding == "Chrome")) {
|
||||||
|
ffmpeg_c_sources += [
|
||||||
|
"libavcodec/x86/aacpsdsp_init.c",
|
||||||
|
+ ]
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+if ((current_cpu == "x64") || (is_android && current_cpu == "x86") || (is_linux && current_cpu == "x64") || (is_linux && current_cpu == "x86") || (is_win)) {
|
||||||
|
+ ffmpeg_c_sources += [
|
||||||
|
"libavcodec/x86/dct_init.c",
|
||||||
|
"libavcodec/x86/mpegaudiodsp.c",
|
||||||
|
"libavcodec/x86/sbrdsp_init.c",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
-if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_win && ffmpeg_branding == "Chrome")) {
|
||||||
|
+if ((current_cpu == "x64") || (is_android && current_cpu == "x86") || (is_linux && current_cpu == "x64") || (is_linux && current_cpu == "x86") || (is_win)) {
|
||||||
|
ffmpeg_yasm_sources += [
|
||||||
|
- "libavcodec/x86/aacpsdsp.asm",
|
||||||
|
"libavcodec/x86/dct32.asm",
|
||||||
|
"libavcodec/x86/imdct36.asm",
|
||||||
|
"libavcodec/x86/sbrdsp.asm",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
+if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_win && ffmpeg_branding == "Chrome")) {
|
||||||
|
+ ffmpeg_yasm_sources += [
|
||||||
|
+ "libavcodec/x86/aacpsdsp.asm",
|
||||||
|
+ ]
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
if ((is_linux && current_cpu == "arm" && arm_use_neon) || (is_linux && current_cpu == "arm")) {
|
||||||
|
ffmpeg_c_sources += [
|
||||||
|
"libavcodec/arm/h264pred_init_arm.c",
|
||||||
|
diff -up chromium-60.0.3112.78/third_party/ffmpeg/libavcodec/sbrdsp.c.mp3 chromium-60.0.3112.78/third_party/ffmpeg/libavcodec/sbrdsp.c
|
||||||
|
--- chromium-60.0.3112.78/third_party/ffmpeg/libavcodec/sbrdsp.c.mp3 2017-07-31 10:18:48.000000000 -0400
|
||||||
|
+++ chromium-60.0.3112.78/third_party/ffmpeg/libavcodec/sbrdsp.c 2017-07-31 10:57:55.110230730 -0400
|
||||||
|
@@ -23,6 +23,7 @@
|
||||||
|
#define USE_FIXED 0
|
||||||
|
|
||||||
|
#include "aac.h"
|
||||||
|
+#include "aacsbrdata.h"
|
||||||
|
#include "config.h"
|
||||||
|
#include "libavutil/attributes.h"
|
||||||
|
#include "libavutil/intfloat.h"
|
||||||
|
diff -up chromium-60.0.3112.78/third_party/webrtc/examples/objc/AppRTCMobile/ios/resources/mozart.mp3 chromium-60.0.3112.78/third_party/webrtc/examples/objc/AppRTCMobile/ios/resources/mozart
|
||||||
|
diff -up chromium-60.0.3112.78/tools/android/audio_focus_grabber/java/res/raw/ping.mp3 chromium-60.0.3112.78/tools/android/audio_focus_grabber/java/res/raw/ping
|
@ -0,0 +1,11 @@
|
|||||||
|
diff -up chromium-60.0.3112.78/tools/gn/bootstrap/bootstrap.py.fixme chromium-60.0.3112.78/tools/gn/bootstrap/bootstrap.py
|
||||||
|
--- chromium-60.0.3112.78/tools/gn/bootstrap/bootstrap.py.fixme 2017-07-31 11:47:11.660774702 -0400
|
||||||
|
+++ chromium-60.0.3112.78/tools/gn/bootstrap/bootstrap.py 2017-07-31 11:47:32.859362600 -0400
|
||||||
|
@@ -487,6 +487,7 @@ def write_gn_ninja(path, root_gen_dir, o
|
||||||
|
'base/sys_info.cc',
|
||||||
|
'base/task_runner.cc',
|
||||||
|
'base/task_scheduler/delayed_task_manager.cc',
|
||||||
|
+ 'base/task_scheduler/environment_config.cc',
|
||||||
|
'base/task_scheduler/post_task.cc',
|
||||||
|
'base/task_scheduler/priority_queue.cc',
|
||||||
|
'base/task_scheduler/scheduler_lock_impl.cc',
|
@ -0,0 +1,80 @@
|
|||||||
|
diff -up chromium-60.0.3112.78/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 chromium-60.0.3112.78/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h
|
||||||
|
--- chromium-60.0.3112.78/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 2017-07-25 15:05:15.000000000 -0400
|
||||||
|
+++ chromium-60.0.3112.78/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h 2017-07-31 10:51:08.530131802 -0400
|
||||||
|
@@ -8,6 +8,7 @@
|
||||||
|
#include "platform/PlatformExport.h"
|
||||||
|
#include "platform/wtf/ThreadSpecific.h"
|
||||||
|
|
||||||
|
+#include <functional>
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
namespace gpu {
|
||||||
|
diff -up chromium-60.0.3112.78/v8/src/objects-body-descriptors.h.gcc7 chromium-60.0.3112.78/v8/src/objects-body-descriptors.h
|
||||||
|
--- chromium-60.0.3112.78/v8/src/objects-body-descriptors.h.gcc7 2017-07-31 10:51:08.531131782 -0400
|
||||||
|
+++ chromium-60.0.3112.78/v8/src/objects-body-descriptors.h 2017-07-31 10:55:08.989458924 -0400
|
||||||
|
@@ -99,7 +99,7 @@ class FixedBodyDescriptor final : public
|
||||||
|
|
||||||
|
template <typename StaticVisitor>
|
||||||
|
static inline void IterateBody(HeapObject* obj, int object_size) {
|
||||||
|
- IterateBody(obj);
|
||||||
|
+ IterateBody<StaticVisitor>(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int SizeOf(Map* map, HeapObject* object) { return kSize; }
|
||||||
|
diff -up chromium-60.0.3112.78/v8/src/objects/hash-table.h.gcc7 chromium-60.0.3112.78/v8/src/objects/hash-table.h
|
||||||
|
--- chromium-60.0.3112.78/v8/src/objects/hash-table.h.gcc7 2017-07-25 15:06:36.000000000 -0400
|
||||||
|
+++ chromium-60.0.3112.78/v8/src/objects/hash-table.h 2017-07-31 10:51:08.531131782 -0400
|
||||||
|
@@ -138,22 +138,8 @@ class HashTable : public HashTableBase {
|
||||||
|
public:
|
||||||
|
typedef Shape ShapeT;
|
||||||
|
|
||||||
|
- // Wrapper methods
|
||||||
|
- inline uint32_t Hash(Key key) {
|
||||||
|
- if (Shape::UsesSeed) {
|
||||||
|
- return Shape::SeededHash(key, GetHeap()->HashSeed());
|
||||||
|
- } else {
|
||||||
|
- return Shape::Hash(key);
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- inline uint32_t HashForObject(Key key, Object* object) {
|
||||||
|
- if (Shape::UsesSeed) {
|
||||||
|
- return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
|
||||||
|
- } else {
|
||||||
|
- return Shape::HashForObject(key, object);
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
+ inline uint32_t Hash(Key key);
|
||||||
|
+ inline uint32_t HashForObject(Key key, Object* object);
|
||||||
|
|
||||||
|
// Returns a new HashTable object.
|
||||||
|
MUST_USE_RESULT static Handle<Derived> New(
|
||||||
|
diff -up chromium-60.0.3112.78/v8/src/objects-inl.h.gcc7 chromium-60.0.3112.78/v8/src/objects-inl.h
|
||||||
|
--- chromium-60.0.3112.78/v8/src/objects-inl.h.gcc7 2017-07-25 15:06:36.000000000 -0400
|
||||||
|
+++ chromium-60.0.3112.78/v8/src/objects-inl.h 2017-07-31 10:51:08.533131742 -0400
|
||||||
|
@@ -47,6 +47,25 @@
|
||||||
|
namespace v8 {
|
||||||
|
namespace internal {
|
||||||
|
|
||||||
|
+template <typename Derived, typename Shape, typename Key>
|
||||||
|
+uint32_t HashTable<Derived, Shape, Key>::Hash(Key key) {
|
||||||
|
+ if (Shape::UsesSeed) {
|
||||||
|
+ return Shape::SeededHash(key, GetHeap()->HashSeed());
|
||||||
|
+ } else {
|
||||||
|
+ return Shape::Hash(key);
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+template <typename Derived, typename Shape, typename Key>
|
||||||
|
+uint32_t HashTable<Derived, Shape, Key>::HashForObject(Key key,
|
||||||
|
+ Object* object) {
|
||||||
|
+ if (Shape::UsesSeed) {
|
||||||
|
+ return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
|
||||||
|
+ } else {
|
||||||
|
+ return Shape::HashForObject(key, object);
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
PropertyDetails::PropertyDetails(Smi* smi) {
|
||||||
|
value_ = smi->value();
|
||||||
|
}
|
@ -0,0 +1,221 @@
|
|||||||
|
diff -up chromium-60.0.3112.78/build/linux/unbundle/libjpeg.gn.gnsystem chromium-60.0.3112.78/build/linux/unbundle/libjpeg.gn
|
||||||
|
--- chromium-60.0.3112.78/build/linux/unbundle/libjpeg.gn.gnsystem 2017-07-25 15:04:48.000000000 -0400
|
||||||
|
+++ chromium-60.0.3112.78/build/linux/unbundle/libjpeg.gn 2017-07-31 10:38:25.879951641 -0400
|
||||||
|
@@ -16,6 +16,10 @@ source_set("libjpeg") {
|
||||||
|
libs = [ "jpeg" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
+config("system_libjpeg") {
|
||||||
|
+ defines = [ "USE_SYSTEM_LIBJPEG=1" ]
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
source_set("simd") {
|
||||||
|
}
|
||||||
|
|
||||||
|
diff -up chromium-60.0.3112.78/build/linux/unbundle/libusb.gn.gnsystem chromium-60.0.3112.78/build/linux/unbundle/libusb.gn
|
||||||
|
--- chromium-60.0.3112.78/build/linux/unbundle/libusb.gn.gnsystem 2017-07-31 10:38:25.880951622 -0400
|
||||||
|
+++ chromium-60.0.3112.78/build/linux/unbundle/libusb.gn 2017-07-31 10:38:25.879951641 -0400
|
||||||
|
@@ -0,0 +1,24 @@
|
||||||
|
+# Copyright 2016 The Chromium Authors. All rights reserved.
|
||||||
|
+# Use of this source code is governed by a BSD-style license that can be
|
||||||
|
+# found in the LICENSE file.
|
||||||
|
+
|
||||||
|
+import("//build/config/linux/pkg_config.gni")
|
||||||
|
+import("//build/shim_headers.gni")
|
||||||
|
+
|
||||||
|
+pkg_config("system_libusb") {
|
||||||
|
+ packages = [ "libusb-1.0" ]
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+shim_headers("libusb_shim") {
|
||||||
|
+ root_path = "src/libusb"
|
||||||
|
+ headers = [
|
||||||
|
+ "libusb.h",
|
||||||
|
+ ]
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+source_set("libusb") {
|
||||||
|
+ deps = [
|
||||||
|
+ ":libusb_shim",
|
||||||
|
+ ]
|
||||||
|
+ public_configs = [ ":system_libusb" ]
|
||||||
|
+}
|
||||||
|
diff -up chromium-60.0.3112.78/build/linux/unbundle/opus.gn.gnsystem chromium-60.0.3112.78/build/linux/unbundle/opus.gn
|
||||||
|
--- chromium-60.0.3112.78/build/linux/unbundle/opus.gn.gnsystem 2017-07-25 15:04:48.000000000 -0400
|
||||||
|
+++ chromium-60.0.3112.78/build/linux/unbundle/opus.gn 2017-07-31 10:38:25.880951622 -0400
|
||||||
|
@@ -1,3 +1,164 @@
|
||||||
|
+# Copyright 2016 The Chromium Authors. All rights reserved.
|
||||||
|
+# Use of this source code is governed by a BSD-style license that can be
|
||||||
|
+# found in the LICENSE file.
|
||||||
|
+
|
||||||
|
+import("//build/config/linux/pkg_config.gni")
|
||||||
|
+import("//build/shim_headers.gni")
|
||||||
|
+import("//testing/test.gni")
|
||||||
|
+
|
||||||
|
+pkg_config("system_opus") {
|
||||||
|
+ packages = [ "opus" ]
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+shim_headers("opus_shim") {
|
||||||
|
+ root_path = "src/include"
|
||||||
|
+ headers = [
|
||||||
|
+ "opus_custom.h",
|
||||||
|
+ "opus_defines.h",
|
||||||
|
+ "opus_multistream.h",
|
||||||
|
+ "opus_types.h",
|
||||||
|
+ "opus.h",
|
||||||
|
+ ]
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+source_set("opus") {
|
||||||
|
+ deps = [
|
||||||
|
+ ":opus_shim",
|
||||||
|
+ ]
|
||||||
|
+ public_configs = [ ":system_opus" ]
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+config("opus_test_config") {
|
||||||
|
+ include_dirs = [
|
||||||
|
+ "src/celt",
|
||||||
|
+ "src/silk",
|
||||||
|
+ ]
|
||||||
|
+
|
||||||
|
+ if (is_win) {
|
||||||
|
+ defines = [ "inline=__inline" ]
|
||||||
|
+ }
|
||||||
|
+ if (is_android) {
|
||||||
|
+ libs = [ "log" ]
|
||||||
|
+ }
|
||||||
|
+ if (is_clang) {
|
||||||
|
+ cflags = [ "-Wno-absolute-value" ]
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+executable("opus_compare") {
|
||||||
|
+ sources = [
|
||||||
|
+ "src/src/opus_compare.c",
|
||||||
|
+ ]
|
||||||
|
+
|
||||||
|
+ configs -= [ "//build/config/compiler:chromium_code" ]
|
||||||
|
+ configs += [
|
||||||
|
+ "//build/config/compiler:no_chromium_code",
|
||||||
|
+ ":opus_test_config",
|
||||||
|
+ ]
|
||||||
|
+
|
||||||
|
+ deps = [
|
||||||
|
+ ":opus",
|
||||||
|
+ "//build/config/sanitizers:deps",
|
||||||
|
+ "//build/win:default_exe_manifest",
|
||||||
|
+ ]
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+executable("opus_demo") {
|
||||||
|
+ sources = [
|
||||||
|
+ "src/src/opus_demo.c",
|
||||||
|
+ ]
|
||||||
|
+
|
||||||
|
+ configs -= [ "//build/config/compiler:chromium_code" ]
|
||||||
|
+ configs += [
|
||||||
|
+ "//build/config/compiler:no_chromium_code",
|
||||||
|
+ ":opus_test_config",
|
||||||
|
+ ]
|
||||||
|
+
|
||||||
|
+ deps = [
|
||||||
|
+ ":opus",
|
||||||
|
+ "//build/config/sanitizers:deps",
|
||||||
|
+ "//build/win:default_exe_manifest",
|
||||||
|
+ ]
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+test("test_opus_api") {
|
||||||
|
+ sources = [
|
||||||
|
+ "src/tests/test_opus_api.c",
|
||||||
|
+ ]
|
||||||
|
+
|
||||||
|
+ configs -= [ "//build/config/compiler:chromium_code" ]
|
||||||
|
+ configs += [
|
||||||
|
+ "//build/config/compiler:no_chromium_code",
|
||||||
|
+ ":opus_test_config",
|
||||||
|
+ ]
|
||||||
|
+
|
||||||
|
+ deps = [
|
||||||
|
+ ":opus",
|
||||||
|
+ ]
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+test("test_opus_encode") {
|
||||||
|
+ sources = [
|
||||||
|
+ "src/tests/test_opus_encode.c",
|
||||||
|
+ ]
|
||||||
|
+
|
||||||
|
+ configs -= [ "//build/config/compiler:chromium_code" ]
|
||||||
|
+ configs += [
|
||||||
|
+ "//build/config/compiler:no_chromium_code",
|
||||||
|
+ ":opus_test_config",
|
||||||
|
+ ]
|
||||||
|
+
|
||||||
|
+ deps = [
|
||||||
|
+ ":opus",
|
||||||
|
+ ]
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+# GN orders flags on a target before flags from configs. The default config
|
||||||
|
+# adds -Wall, and this flag have to be after -Wall -- so they need to
|
||||||
|
+# come from a config and can't be on the target directly.
|
||||||
|
+config("test_opus_decode_config") {
|
||||||
|
+ # test_opus_decode passes a null pointer to opus_decode() for an argument
|
||||||
|
+ # marked as requiring a non-null value by the nonnull function attribute,
|
||||||
|
+ # and expects opus_decode() to fail. Disable the -Wnonnull option to avoid
|
||||||
|
+ # a compilation error if -Werror is specified.
|
||||||
|
+ if (is_posix) {
|
||||||
|
+ cflags = [ "-Wno-nonnull" ]
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+test("test_opus_decode") {
|
||||||
|
+ sources = [
|
||||||
|
+ "src/tests/test_opus_decode.c",
|
||||||
|
+ ]
|
||||||
|
+
|
||||||
|
+ configs -= [ "//build/config/compiler:chromium_code" ]
|
||||||
|
+ configs += [
|
||||||
|
+ "//build/config/compiler:no_chromium_code",
|
||||||
|
+ ":opus_test_config",
|
||||||
|
+ ":test_opus_decode_config",
|
||||||
|
+ ]
|
||||||
|
+
|
||||||
|
+ deps = [
|
||||||
|
+ ":opus",
|
||||||
|
+ ]
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+test("test_opus_padding") {
|
||||||
|
+ sources = [
|
||||||
|
+ "src/tests/test_opus_padding.c",
|
||||||
|
+ ]
|
||||||
|
+
|
||||||
|
+ configs -= [ "//build/config/compiler:chromium_code" ]
|
||||||
|
+ configs += [
|
||||||
|
+ "//build/config/compiler:no_chromium_code",
|
||||||
|
+ ":opus_test_config",
|
||||||
|
+ ]
|
||||||
|
+
|
||||||
|
+ deps = [
|
||||||
|
+ ":opus",
|
||||||
|
+ ]
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
# Copyright 2017 The Chromium Authors. All rights reserved.
|
||||||
|
# Use of this source code is governed by a BSD-style license that can be
|
||||||
|
# found in the LICENSE file.
|
||||||
|
diff -up chromium-60.0.3112.78/build/linux/unbundle/replace_gn_files.py.gnsystem chromium-60.0.3112.78/build/linux/unbundle/replace_gn_files.py
|
||||||
|
--- chromium-60.0.3112.78/build/linux/unbundle/replace_gn_files.py.gnsystem 2017-07-31 10:38:25.880951622 -0400
|
||||||
|
+++ chromium-60.0.3112.78/build/linux/unbundle/replace_gn_files.py 2017-07-31 10:39:58.067159914 -0400
|
||||||
|
@@ -26,6 +26,7 @@ REPLACEMENTS = {
|
||||||
|
'libevent': 'base/third_party/libevent/BUILD.gn',
|
||||||
|
'libjpeg': 'build/secondary/third_party/libjpeg_turbo/BUILD.gn',
|
||||||
|
'libpng': 'third_party/libpng/BUILD.gn',
|
||||||
|
+ 'libusb': 'third_party/libusb/BUILD.gn',
|
||||||
|
'libvpx': 'third_party/libvpx/BUILD.gn',
|
||||||
|
'libwebp': 'third_party/libwebp/BUILD.gn',
|
||||||
|
'libxml': 'third_party/libxml/BUILD.gn',
|
@ -0,0 +1,612 @@
|
|||||||
|
diff -up chromium-60.0.3112.78/chrome/browser/ui/libgtkui/gtk_ui.cc.gtk2fix chromium-60.0.3112.78/chrome/browser/ui/libgtkui/gtk_ui.cc
|
||||||
|
--- chromium-60.0.3112.78/chrome/browser/ui/libgtkui/gtk_ui.cc.gtk2fix 2017-08-03 10:26:36.816787227 -0400
|
||||||
|
+++ chromium-60.0.3112.78/chrome/browser/ui/libgtkui/gtk_ui.cc 2017-08-03 10:56:53.345661368 -0400
|
||||||
|
@@ -60,6 +60,7 @@
|
||||||
|
#include "ui/views/controls/button/blue_button.h"
|
||||||
|
#include "ui/views/controls/button/label_button.h"
|
||||||
|
#include "ui/views/controls/button/label_button_border.h"
|
||||||
|
+#include "ui/views/linux_ui/device_scale_factor_observer.h"
|
||||||
|
#include "ui/views/linux_ui/window_button_order_observer.h"
|
||||||
|
#include "ui/views/resources/grit/views_resources.h"
|
||||||
|
|
||||||
|
@@ -315,17 +316,6 @@ gfx::FontRenderParams GetGtkFontRenderPa
|
||||||
|
return params;
|
||||||
|
}
|
||||||
|
|
||||||
|
-float GetRawDeviceScaleFactor() {
|
||||||
|
- if (display::Display::HasForceDeviceScaleFactor())
|
||||||
|
- return display::Display::GetForcedDeviceScaleFactor();
|
||||||
|
-
|
||||||
|
- GdkScreen* screen = gdk_screen_get_default();
|
||||||
|
- gint scale = gdk_screen_get_monitor_scale_factor(
|
||||||
|
- screen, gdk_screen_get_primary_monitor(screen));
|
||||||
|
- gdouble resolution = gdk_screen_get_resolution(screen);
|
||||||
|
- return resolution <= 0 ? scale : resolution * scale / kDefaultDPI;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
views::LinuxUI::NonClientMiddleClickAction GetDefaultMiddleClickAction() {
|
||||||
|
std::unique_ptr<base::Environment> env(base::Environment::Create());
|
||||||
|
switch (base::nix::GetDesktopEnvironment(env.get())) {
|
||||||
|
@@ -414,19 +404,17 @@ GtkUi::GtkUi() : middle_click_action_(Ge
|
||||||
|
#if GTK_MAJOR_VERSION == 2
|
||||||
|
native_theme_ = NativeThemeGtk2::instance();
|
||||||
|
fake_window_ = chrome_gtk_frame_new();
|
||||||
|
- gtk_widget_realize(fake_window_); // Is this necessary?
|
||||||
|
#elif GTK_MAJOR_VERSION == 3
|
||||||
|
native_theme_ = NativeThemeGtk3::instance();
|
||||||
|
- (void)fake_window_; // Silence the unused warning.
|
||||||
|
+ fake_window_ = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||||
|
#else
|
||||||
|
#error "Unsupported GTK version"
|
||||||
|
#endif
|
||||||
|
+ gtk_widget_realize(fake_window_);
|
||||||
|
}
|
||||||
|
|
||||||
|
GtkUi::~GtkUi() {
|
||||||
|
-#if GTK_MAJOR_VERSION == 2
|
||||||
|
gtk_widget_destroy(fake_window_);
|
||||||
|
-#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnThemeChanged(GObject* obj, GParamSpec* param, GtkUi* gtkui) {
|
||||||
|
@@ -440,6 +428,17 @@ void GtkUi::Initialize() {
|
||||||
|
g_signal_connect_after(settings, "notify::gtk-icon-theme-name",
|
||||||
|
G_CALLBACK(OnThemeChanged), this);
|
||||||
|
|
||||||
|
+ GdkScreen* screen = gdk_screen_get_default();
|
||||||
|
+ // Listen for DPI changes.
|
||||||
|
+ g_signal_connect_after(screen, "notify::resolution",
|
||||||
|
+ G_CALLBACK(OnDeviceScaleFactorMaybeChangedThunk),
|
||||||
|
+ this);
|
||||||
|
+ // Listen for scale factor changes. We would prefer to listen on
|
||||||
|
+ // |screen|, but there is no scale-factor property, so use an
|
||||||
|
+ // unmapped window instead.
|
||||||
|
+ g_signal_connect(fake_window_, "notify::scale-factor",
|
||||||
|
+ G_CALLBACK(OnDeviceScaleFactorMaybeChangedThunk), this);
|
||||||
|
+
|
||||||
|
LoadGtkValues();
|
||||||
|
|
||||||
|
#if BUILDFLAG(ENABLE_BASIC_PRINTING)
|
||||||
|
@@ -701,12 +700,12 @@ void GtkUi::AddWindowButtonOrderObserver
|
||||||
|
observer->OnWindowButtonOrderingChange(leading_buttons_, trailing_buttons_);
|
||||||
|
}
|
||||||
|
|
||||||
|
- observer_list_.AddObserver(observer);
|
||||||
|
+ window_button_order_observer_list_.AddObserver(observer);
|
||||||
|
}
|
||||||
|
|
||||||
|
void GtkUi::RemoveWindowButtonOrderObserver(
|
||||||
|
views::WindowButtonOrderObserver* observer) {
|
||||||
|
- observer_list_.RemoveObserver(observer);
|
||||||
|
+ window_button_order_observer_list_.RemoveObserver(observer);
|
||||||
|
}
|
||||||
|
|
||||||
|
void GtkUi::SetWindowButtonOrdering(
|
||||||
|
@@ -715,8 +714,10 @@ void GtkUi::SetWindowButtonOrdering(
|
||||||
|
leading_buttons_ = leading_buttons;
|
||||||
|
trailing_buttons_ = trailing_buttons;
|
||||||
|
|
||||||
|
- for (views::WindowButtonOrderObserver& observer : observer_list_)
|
||||||
|
+ for (views::WindowButtonOrderObserver& observer :
|
||||||
|
+ window_button_order_observer_list_) {
|
||||||
|
observer.OnWindowButtonOrderingChange(leading_buttons_, trailing_buttons_);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
void GtkUi::SetNonClientMiddleClickAction(NonClientMiddleClickAction action) {
|
||||||
|
@@ -768,6 +769,16 @@ void GtkUi::NotifyWindowManagerStartupCo
|
||||||
|
gdk_notify_startup_complete();
|
||||||
|
}
|
||||||
|
|
||||||
|
+void GtkUi::AddDeviceScaleFactorObserver(
|
||||||
|
+ views::DeviceScaleFactorObserver* observer) {
|
||||||
|
+ device_scale_factor_observer_list_.AddObserver(observer);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void GtkUi::RemoveDeviceScaleFactorObserver(
|
||||||
|
+ views::DeviceScaleFactorObserver* observer) {
|
||||||
|
+ device_scale_factor_observer_list_.RemoveObserver(observer);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
bool GtkUi::MatchEvent(const ui::Event& event,
|
||||||
|
std::vector<ui::TextEditCommandAuraLinux>* commands) {
|
||||||
|
// Ensure that we have a keyboard handler.
|
||||||
|
@@ -777,6 +788,10 @@ bool GtkUi::MatchEvent(const ui::Event&
|
||||||
|
return key_bindings_handler_->MatchEvent(event, commands);
|
||||||
|
}
|
||||||
|
|
||||||
|
+void GtkUi::OnDeviceScaleFactorMaybeChanged(void*, GParamSpec*) {
|
||||||
|
+ UpdateDeviceScaleFactor();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
void GtkUi::SetScrollbarColors() {
|
||||||
|
thumb_active_color_ = SkColorSetRGB(244, 244, 244);
|
||||||
|
thumb_inactive_color_ = SkColorSetRGB(234, 234, 234);
|
||||||
|
@@ -1037,14 +1052,38 @@ void GtkUi::ResetStyle() {
|
||||||
|
native_theme_->NotifyObservers();
|
||||||
|
}
|
||||||
|
|
||||||
|
-void GtkUi::UpdateDeviceScaleFactor() {
|
||||||
|
- // Note: Linux chrome currently does not support dynamic DPI
|
||||||
|
- // changes. This is to allow flags to override the DPI settings
|
||||||
|
- // during startup.
|
||||||
|
- float scale = GetRawDeviceScaleFactor();
|
||||||
|
+float GtkUi::GetRawDeviceScaleFactor() {
|
||||||
|
+ if (display::Display::HasForceDeviceScaleFactor())
|
||||||
|
+ return display::Display::GetForcedDeviceScaleFactor();
|
||||||
|
+
|
||||||
|
+#if GTK_MAJOR_VERSION == 2
|
||||||
|
+ GtkSettings* gtk_settings = gtk_settings_get_default();
|
||||||
|
+ gint gtk_dpi = -1;
|
||||||
|
+ g_object_get(gtk_settings, "gtk-xft-dpi", >k_dpi, nullptr);
|
||||||
|
+ const float scale_factor = gtk_dpi / (1024 * kDefaultDPI);
|
||||||
|
+#else
|
||||||
|
+ GdkScreen* screen = gdk_screen_get_default();
|
||||||
|
+ gint scale = gtk_widget_get_scale_factor(fake_window_);
|
||||||
|
+ DCHECK_GT(scale, 0);
|
||||||
|
+ gdouble resolution = gdk_screen_get_resolution(screen);
|
||||||
|
+ const float scale_factor =
|
||||||
|
+ resolution <= 0 ? scale : resolution * scale / kDefaultDPI;
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
// Blacklist scaling factors <120% (crbug.com/484400) and round
|
||||||
|
// to 1 decimal to prevent rendering problems (crbug.com/485183).
|
||||||
|
- device_scale_factor_ = scale < 1.2f ? 1.0f : roundf(scale * 10) / 10;
|
||||||
|
+ return scale_factor < 1.2f ? 1.0f : roundf(scale_factor * 10) / 10;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void GtkUi::UpdateDeviceScaleFactor() {
|
||||||
|
+ float old_device_scale_factor = device_scale_factor_;
|
||||||
|
+ device_scale_factor_ = GetRawDeviceScaleFactor();
|
||||||
|
+ if (device_scale_factor_ != old_device_scale_factor) {
|
||||||
|
+ for (views::DeviceScaleFactorObserver& observer :
|
||||||
|
+ device_scale_factor_observer_list_) {
|
||||||
|
+ observer.OnDeviceScaleFactorChanged();
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
UpdateDefaultFont();
|
||||||
|
}
|
||||||
|
|
||||||
|
diff -up chromium-60.0.3112.78/chrome/browser/ui/libgtkui/gtk_ui.h.gtk2fix chromium-60.0.3112.78/chrome/browser/ui/libgtkui/gtk_ui.h
|
||||||
|
--- chromium-60.0.3112.78/chrome/browser/ui/libgtkui/gtk_ui.h.gtk2fix 2017-08-03 10:35:28.031517634 -0400
|
||||||
|
+++ chromium-60.0.3112.78/chrome/browser/ui/libgtkui/gtk_ui.h 2017-08-03 10:37:29.300173415 -0400
|
||||||
|
@@ -18,12 +18,14 @@
|
||||||
|
#include "ui/views/linux_ui/linux_ui.h"
|
||||||
|
#include "ui/views/window/frame_buttons.h"
|
||||||
|
|
||||||
|
+typedef struct _GParamSpec GParamSpec;
|
||||||
|
typedef struct _GtkStyle GtkStyle;
|
||||||
|
typedef struct _GtkWidget GtkWidget;
|
||||||
|
|
||||||
|
namespace libgtkui {
|
||||||
|
class Gtk2KeyBindingsHandler;
|
||||||
|
class GConfListener;
|
||||||
|
+class DeviceScaleFactorObserver;
|
||||||
|
|
||||||
|
// Interface to GTK2 desktop features.
|
||||||
|
//
|
||||||
|
@@ -97,6 +99,10 @@ class GtkUi : public views::LinuxUI {
|
||||||
|
bool UnityIsRunning() override;
|
||||||
|
NonClientMiddleClickAction GetNonClientMiddleClickAction() override;
|
||||||
|
void NotifyWindowManagerStartupComplete() override;
|
||||||
|
+ void AddDeviceScaleFactorObserver(
|
||||||
|
+ views::DeviceScaleFactorObserver* observer) override;
|
||||||
|
+ void RemoveDeviceScaleFactorObserver(
|
||||||
|
+ views::DeviceScaleFactorObserver* observer) override;
|
||||||
|
|
||||||
|
// ui::TextEditKeybindingDelegate:
|
||||||
|
bool MatchEvent(const ui::Event& event,
|
||||||
|
@@ -110,6 +116,12 @@ class GtkUi : public views::LinuxUI {
|
||||||
|
typedef std::map<int, SkColor> ColorMap;
|
||||||
|
typedef std::map<int, color_utils::HSL> TintMap;
|
||||||
|
|
||||||
|
+ CHROMEG_CALLBACK_1(GtkUi,
|
||||||
|
+ void,
|
||||||
|
+ OnDeviceScaleFactorMaybeChanged,
|
||||||
|
+ void*,
|
||||||
|
+ GParamSpec*);
|
||||||
|
+
|
||||||
|
// This method returns the colors webkit will use for the scrollbars. When no
|
||||||
|
// colors are specified by the GTK+ theme, this function averages of the
|
||||||
|
// thumb part and of the track colors.
|
||||||
|
@@ -129,9 +141,12 @@ class GtkUi : public views::LinuxUI {
|
||||||
|
bool GetChromeStyleColor(const char* sytle_property,
|
||||||
|
SkColor* ret_color) const;
|
||||||
|
|
||||||
|
+ float GetRawDeviceScaleFactor();
|
||||||
|
+
|
||||||
|
ui::NativeTheme* native_theme_;
|
||||||
|
|
||||||
|
- // A GtkWindow object with the class "ChromeGtkFrame".
|
||||||
|
+ // On Gtk2, A GtkWindow object with the class "ChromeGtkFrame". On
|
||||||
|
+ // Gtk3, a regular GtkWindow.
|
||||||
|
GtkWidget* fake_window_;
|
||||||
|
|
||||||
|
// Colors calculated by LoadGtkValues() that are given to the
|
||||||
|
@@ -171,7 +186,12 @@ class GtkUi : public views::LinuxUI {
|
||||||
|
std::unique_ptr<Gtk2KeyBindingsHandler> key_bindings_handler_;
|
||||||
|
|
||||||
|
// Objects to notify when the window frame button order changes.
|
||||||
|
- base::ObserverList<views::WindowButtonOrderObserver> observer_list_;
|
||||||
|
+ base::ObserverList<views::WindowButtonOrderObserver>
|
||||||
|
+ window_button_order_observer_list_;
|
||||||
|
+
|
||||||
|
+ // Objects to notify when the device scale factor changes.
|
||||||
|
+ base::ObserverList<views::DeviceScaleFactorObserver>
|
||||||
|
+ device_scale_factor_observer_list_;
|
||||||
|
|
||||||
|
// Whether we should lower the window on a middle click to the non client
|
||||||
|
// area.
|
||||||
|
diff -up chromium-60.0.3112.78/ui/views/linux_ui/device_scale_factor_observer.h.gtk2fix chromium-60.0.3112.78/ui/views/linux_ui/device_scale_factor_observer.h
|
||||||
|
--- chromium-60.0.3112.78/ui/views/linux_ui/device_scale_factor_observer.h.gtk2fix 2017-08-03 10:39:23.600963296 -0400
|
||||||
|
+++ chromium-60.0.3112.78/ui/views/linux_ui/device_scale_factor_observer.h 2017-08-03 10:39:39.024664885 -0400
|
||||||
|
@@ -0,0 +1,19 @@
|
||||||
|
+// Copyright 2017 The Chromium Authors. All rights reserved.
|
||||||
|
+// Use of this source code is governed by a BSD-style license that can be
|
||||||
|
+// found in the LICENSE file.
|
||||||
|
+
|
||||||
|
+#ifndef UI_VIEWS_LINUX_UI_DEVICE_SCALE_FACTOR_OBSERVER_H_
|
||||||
|
+#define UI_VIEWS_LINUX_UI_DEVICE_SCALE_FACTOR_OBSERVER_H_
|
||||||
|
+
|
||||||
|
+namespace views {
|
||||||
|
+
|
||||||
|
+class DeviceScaleFactorObserver {
|
||||||
|
+ public:
|
||||||
|
+ virtual ~DeviceScaleFactorObserver() {}
|
||||||
|
+
|
||||||
|
+ virtual void OnDeviceScaleFactorChanged() = 0;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+} // namespace views
|
||||||
|
+
|
||||||
|
+#endif // UI_VIEWS_LINUX_UI_DEVICE_SCALE_FACTOR_OBSERVER_H_
|
||||||
|
diff -up chromium-60.0.3112.78/ui/views/linux_ui/linux_ui.h.gtk2fix chromium-60.0.3112.78/ui/views/linux_ui/linux_ui.h
|
||||||
|
--- chromium-60.0.3112.78/ui/views/linux_ui/linux_ui.h.gtk2fix 2017-08-03 10:39:48.866474799 -0400
|
||||||
|
+++ chromium-60.0.3112.78/ui/views/linux_ui/linux_ui.h 2017-08-03 10:41:05.598991893 -0400
|
||||||
|
@@ -38,6 +38,7 @@ class NativeTheme;
|
||||||
|
|
||||||
|
namespace views {
|
||||||
|
class Border;
|
||||||
|
+class DeviceScaleFactorObserver;
|
||||||
|
class LabelButton;
|
||||||
|
class LabelButtonBorder;
|
||||||
|
class WindowButtonOrderObserver;
|
||||||
|
@@ -157,6 +158,16 @@ class VIEWS_EXPORT LinuxUI : public ui::
|
||||||
|
|
||||||
|
// Determines the device scale factor of the primary screen.
|
||||||
|
virtual float GetDeviceScaleFactor() const = 0;
|
||||||
|
+
|
||||||
|
+ // Registers |observer| to be notified about changes to the device
|
||||||
|
+ // scale factor.
|
||||||
|
+ virtual void AddDeviceScaleFactorObserver(
|
||||||
|
+ DeviceScaleFactorObserver* observer) = 0;
|
||||||
|
+
|
||||||
|
+ // Unregisters |observer| from receiving changes to the device scale
|
||||||
|
+ // factor.
|
||||||
|
+ virtual void RemoveDeviceScaleFactorObserver(
|
||||||
|
+ DeviceScaleFactorObserver* observer) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace views
|
||||||
|
diff -up chromium-60.0.3112.78/ui/views/test/desktop_screen_x11_test_api.cc.gtk2fix chromium-60.0.3112.78/ui/views/test/desktop_screen_x11_test_api.cc
|
||||||
|
--- chromium-60.0.3112.78/ui/views/test/desktop_screen_x11_test_api.cc.gtk2fix 2017-08-03 10:41:28.014558483 -0400
|
||||||
|
+++ chromium-60.0.3112.78/ui/views/test/desktop_screen_x11_test_api.cc 2017-08-03 10:41:49.326146074 -0400
|
||||||
|
@@ -13,7 +13,7 @@ namespace test {
|
||||||
|
void DesktopScreenX11TestApi::UpdateDisplays() {
|
||||||
|
DesktopScreenX11* screen =
|
||||||
|
static_cast<DesktopScreenX11*>(display::Screen::GetScreen());
|
||||||
|
- screen->ConfigureTimerFired();
|
||||||
|
+ screen->UpdateDisplays();
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace test
|
||||||
|
diff -up chromium-60.0.3112.78/ui/views/widget/desktop_aura/desktop_screen_x11.cc.gtk2fix chromium-60.0.3112.78/ui/views/widget/desktop_aura/desktop_screen_x11.cc
|
||||||
|
--- chromium-60.0.3112.78/ui/views/widget/desktop_aura/desktop_screen_x11.cc.gtk2fix 2017-08-03 10:41:59.219954866 -0400
|
||||||
|
+++ chromium-60.0.3112.78/ui/views/widget/desktop_aura/desktop_screen_x11.cc 2017-08-03 10:47:16.589818323 -0400
|
||||||
|
@@ -11,6 +11,7 @@
|
||||||
|
#undef RootWindow
|
||||||
|
|
||||||
|
#include "base/logging.h"
|
||||||
|
+#include "base/threading/thread_task_runner_handle.h"
|
||||||
|
#include "base/trace_event/trace_event.h"
|
||||||
|
#include "ui/aura/window.h"
|
||||||
|
#include "ui/aura/window_event_dispatcher.h"
|
||||||
|
@@ -40,10 +41,6 @@ const char* const kAtomsToCache[] = {
|
||||||
|
nullptr
|
||||||
|
};
|
||||||
|
|
||||||
|
-// The delay to perform configuration after RRNotify. See the comment
|
||||||
|
-// in |Dispatch()|.
|
||||||
|
-const int64_t kConfigureDelayMs = 500;
|
||||||
|
-
|
||||||
|
double GetDeviceScaleFactor() {
|
||||||
|
float device_scale_factor = 1.0f;
|
||||||
|
if (views::LinuxUI::instance()) {
|
||||||
|
@@ -95,7 +92,10 @@ DesktopScreenX11::DesktopScreenX11()
|
||||||
|
has_xrandr_(false),
|
||||||
|
xrandr_event_base_(0),
|
||||||
|
primary_display_index_(0),
|
||||||
|
+ weak_factory_(this),
|
||||||
|
atom_cache_(xdisplay_, kAtomsToCache) {
|
||||||
|
+ if (views::LinuxUI::instance())
|
||||||
|
+ views::LinuxUI::instance()->AddDeviceScaleFactorObserver(this);
|
||||||
|
// We only support 1.3+. There were library changes before this and we should
|
||||||
|
// use the new interface instead of the 1.2 one.
|
||||||
|
int randr_version_major = 0;
|
||||||
|
@@ -124,6 +124,8 @@ DesktopScreenX11::DesktopScreenX11()
|
||||||
|
}
|
||||||
|
|
||||||
|
DesktopScreenX11::~DesktopScreenX11() {
|
||||||
|
+ if (views::LinuxUI::instance())
|
||||||
|
+ views::LinuxUI::instance()->AddDeviceScaleFactorObserver(this);
|
||||||
|
if (has_xrandr_ && ui::PlatformEventSource::GetInstance())
|
||||||
|
ui::PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this);
|
||||||
|
}
|
||||||
|
@@ -251,18 +253,7 @@ uint32_t DesktopScreenX11::DispatchEvent
|
||||||
|
} else if (event->type - xrandr_event_base_ == RRNotify ||
|
||||||
|
(event->type == PropertyNotify &&
|
||||||
|
event->xproperty.atom == atom_cache_.GetAtom("_NET_WORKAREA"))) {
|
||||||
|
- // There's some sort of observer dispatch going on here, but I don't think
|
||||||
|
- // it's the screen's?
|
||||||
|
- if (configure_timer_.get() && configure_timer_->IsRunning()) {
|
||||||
|
- configure_timer_->Reset();
|
||||||
|
- } else {
|
||||||
|
- configure_timer_.reset(new base::OneShotTimer());
|
||||||
|
- configure_timer_->Start(
|
||||||
|
- FROM_HERE,
|
||||||
|
- base::TimeDelta::FromMilliseconds(kConfigureDelayMs),
|
||||||
|
- this,
|
||||||
|
- &DesktopScreenX11::ConfigureTimerFired);
|
||||||
|
- }
|
||||||
|
+ RestartDelayedConfigurationTask();
|
||||||
|
} else {
|
||||||
|
NOTREACHED();
|
||||||
|
}
|
||||||
|
@@ -270,11 +261,15 @@ uint32_t DesktopScreenX11::DispatchEvent
|
||||||
|
return ui::POST_DISPATCH_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
|
+void DesktopScreenX11::OnDeviceScaleFactorChanged() {
|
||||||
|
+ RestartDelayedConfigurationTask();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
// static
|
||||||
|
void DesktopScreenX11::UpdateDeviceScaleFactorForTest() {
|
||||||
|
DesktopScreenX11* screen =
|
||||||
|
static_cast<DesktopScreenX11*>(display::Screen::GetScreen());
|
||||||
|
- screen->ConfigureTimerFired();
|
||||||
|
+ screen->UpdateDisplays();
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
@@ -288,7 +283,11 @@ DesktopScreenX11::DesktopScreenX11(
|
||||||
|
xrandr_event_base_(0),
|
||||||
|
displays_(test_displays),
|
||||||
|
primary_display_index_(0),
|
||||||
|
- atom_cache_(xdisplay_, kAtomsToCache) {}
|
||||||
|
+ weak_factory_(this),
|
||||||
|
+ atom_cache_(xdisplay_, kAtomsToCache) {
|
||||||
|
+ if (views::LinuxUI::instance())
|
||||||
|
+ views::LinuxUI::instance()->AddDeviceScaleFactorObserver(this);
|
||||||
|
+}
|
||||||
|
|
||||||
|
std::vector<display::Display> DesktopScreenX11::BuildDisplaysFromXRandRInfo() {
|
||||||
|
std::vector<display::Display> displays;
|
||||||
|
@@ -390,7 +389,14 @@ std::vector<display::Display> DesktopScr
|
||||||
|
return displays;
|
||||||
|
}
|
||||||
|
|
||||||
|
-void DesktopScreenX11::ConfigureTimerFired() {
|
||||||
|
+void DesktopScreenX11::RestartDelayedConfigurationTask() {
|
||||||
|
+ delayed_configuration_task_.Reset(base::Bind(
|
||||||
|
+ &DesktopScreenX11::UpdateDisplays, weak_factory_.GetWeakPtr()));
|
||||||
|
+ base::ThreadTaskRunnerHandle::Get()->PostTask(
|
||||||
|
+ FROM_HERE, delayed_configuration_task_.callback());
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void DesktopScreenX11::UpdateDisplays() {
|
||||||
|
std::vector<display::Display> old_displays = displays_;
|
||||||
|
SetDisplaysInternal(BuildDisplaysFromXRandRInfo());
|
||||||
|
change_notifier_.NotifyDisplaysChanged(old_displays, displays_);
|
||||||
|
diff -up chromium-60.0.3112.78/ui/views/widget/desktop_aura/desktop_screen_x11.h.gtk2fix chromium-60.0.3112.78/ui/views/widget/desktop_aura/desktop_screen_x11.h
|
||||||
|
--- chromium-60.0.3112.78/ui/views/widget/desktop_aura/desktop_screen_x11.h.gtk2fix 2017-08-03 10:47:28.734583288 -0400
|
||||||
|
+++ chromium-60.0.3112.78/ui/views/widget/desktop_aura/desktop_screen_x11.h 2017-08-03 10:49:54.850756813 -0400
|
||||||
|
@@ -9,11 +9,12 @@
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
+#include "base/cancelable_callback.h"
|
||||||
|
#include "base/macros.h"
|
||||||
|
-#include "base/timer/timer.h"
|
||||||
|
#include "ui/display/display_change_notifier.h"
|
||||||
|
#include "ui/display/screen.h"
|
||||||
|
#include "ui/events/platform/platform_event_dispatcher.h"
|
||||||
|
+#include "ui/views/linux_ui/device_scale_factor_observer.h"
|
||||||
|
#include "ui/gfx/x/x11_atom_cache.h"
|
||||||
|
#include "ui/views/views_export.h"
|
||||||
|
|
||||||
|
@@ -30,7 +31,8 @@ class DesktopScreenX11TestApi;
|
||||||
|
|
||||||
|
// Our singleton screen implementation that talks to xrandr.
|
||||||
|
class VIEWS_EXPORT DesktopScreenX11 : public display::Screen,
|
||||||
|
- public ui::PlatformEventDispatcher {
|
||||||
|
+ public ui::PlatformEventDispatcher,
|
||||||
|
+ public views::DeviceScaleFactorObserver {
|
||||||
|
public:
|
||||||
|
DesktopScreenX11();
|
||||||
|
|
||||||
|
@@ -56,6 +58,9 @@ class VIEWS_EXPORT DesktopScreenX11 : pu
|
||||||
|
bool CanDispatchEvent(const ui::PlatformEvent& event) override;
|
||||||
|
uint32_t DispatchEvent(const ui::PlatformEvent& event) override;
|
||||||
|
|
||||||
|
+ // views::DeviceScaleFactorObserver:
|
||||||
|
+ void OnDeviceScaleFactorChanged() override;
|
||||||
|
+
|
||||||
|
static void UpdateDeviceScaleFactorForTest();
|
||||||
|
|
||||||
|
private:
|
||||||
|
@@ -69,10 +74,15 @@ class VIEWS_EXPORT DesktopScreenX11 : pu
|
||||||
|
// the X server.
|
||||||
|
std::vector<display::Display> BuildDisplaysFromXRandRInfo();
|
||||||
|
|
||||||
|
- // We delay updating the display so we can coalesce events.
|
||||||
|
- void ConfigureTimerFired();
|
||||||
|
+ // Removes |delayed_configuration_task_| from the task queue (if
|
||||||
|
+ // it's in the queue) and adds it back at the end of the queue.
|
||||||
|
+ void RestartDelayedConfigurationTask();
|
||||||
|
+
|
||||||
|
+ // Updates |displays_| with the latest XRandR info.
|
||||||
|
+ void UpdateDisplays();
|
||||||
|
|
||||||
|
- // Updates |displays_| and sets FontRenderParams's scale factor.
|
||||||
|
+ // Updates |displays_| from |displays| and sets FontRenderParams's scale
|
||||||
|
+ // factor.
|
||||||
|
void SetDisplaysInternal(const std::vector<display::Display>& displays);
|
||||||
|
|
||||||
|
Display* xdisplay_;
|
||||||
|
@@ -91,12 +101,14 @@ class VIEWS_EXPORT DesktopScreenX11 : pu
|
||||||
|
// The index into displays_ that represents the primary display.
|
||||||
|
size_t primary_display_index_;
|
||||||
|
|
||||||
|
- // The timer to delay configuring outputs. See also the comments in
|
||||||
|
- // Dispatch().
|
||||||
|
- std::unique_ptr<base::OneShotTimer> configure_timer_;
|
||||||
|
+ // The task to delay configuring outputs. We delay updating the
|
||||||
|
+ // display so we can coalesce events.
|
||||||
|
+ base::CancelableCallback<void()> delayed_configuration_task_;
|
||||||
|
|
||||||
|
display::DisplayChangeNotifier change_notifier_;
|
||||||
|
|
||||||
|
+ base::WeakPtrFactory<DesktopScreenX11> weak_factory_;
|
||||||
|
+
|
||||||
|
ui::X11AtomCache atom_cache_;
|
||||||
|
|
||||||
|
DISALLOW_COPY_AND_ASSIGN(DesktopScreenX11);
|
||||||
|
diff -up chromium-60.0.3112.78/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc.gtk2fix chromium-60.0.3112.78/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
|
||||||
|
--- chromium-60.0.3112.78/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc.gtk2fix 2017-08-03 10:50:14.858370042 -0400
|
||||||
|
+++ chromium-60.0.3112.78/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc 2017-08-03 10:52:58.367207187 -0400
|
||||||
|
@@ -212,13 +212,16 @@ DesktopWindowTreeHostX11::DesktopWindowT
|
||||||
|
has_pointer_focus_(false),
|
||||||
|
modal_dialog_counter_(0),
|
||||||
|
close_widget_factory_(this),
|
||||||
|
- weak_factory_(this) {}
|
||||||
|
+ weak_factory_(this) {
|
||||||
|
+ display::Screen::GetScreen()->AddObserver(this);
|
||||||
|
+}
|
||||||
|
|
||||||
|
DesktopWindowTreeHostX11::~DesktopWindowTreeHostX11() {
|
||||||
|
window()->ClearProperty(kHostForRootWindow);
|
||||||
|
aura::client::SetWindowMoveClient(window(), NULL);
|
||||||
|
desktop_native_widget_aura_->OnDesktopWindowTreeHostDestroyed(this);
|
||||||
|
DestroyDispatcher();
|
||||||
|
+ display::Screen::GetScreen()->RemoveObserver(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
// static
|
||||||
|
@@ -1360,6 +1363,30 @@ void DesktopWindowTreeHostX11::OnCursorV
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
+// DesktopWindowTreeHostX11, display::DisplayObserver implementation:
|
||||||
|
+
|
||||||
|
+void DesktopWindowTreeHostX11::OnDisplayAdded(
|
||||||
|
+ const display::Display& new_display) {}
|
||||||
|
+
|
||||||
|
+void DesktopWindowTreeHostX11::OnDisplayRemoved(
|
||||||
|
+ const display::Display& old_display) {}
|
||||||
|
+
|
||||||
|
+void DesktopWindowTreeHostX11::OnDisplayMetricsChanged(
|
||||||
|
+ const display::Display& display,
|
||||||
|
+ uint32_t changed_metrics) {
|
||||||
|
+ if ((changed_metrics & DISPLAY_METRIC_DEVICE_SCALE_FACTOR) &&
|
||||||
|
+ display::Screen::GetScreen()->GetDisplayNearestWindow(window()).id() ==
|
||||||
|
+ display.id()) {
|
||||||
|
+ // When the scale factor changes, also pretend that a resize
|
||||||
|
+ // occured so that the window layout will be refreshed and a
|
||||||
|
+ // compositor redraw will be scheduled. This is weird, but works.
|
||||||
|
+ // TODO(thomasanderson): Figure out a more direct way of doing
|
||||||
|
+ // this.
|
||||||
|
+ RestartDelayedResizeTask();
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// DesktopWindowTreeHostX11, private:
|
||||||
|
|
||||||
|
void DesktopWindowTreeHostX11::InitX11Window(
|
||||||
|
@@ -2079,13 +2106,8 @@ uint32_t DesktopWindowTreeHostX11::Dispa
|
||||||
|
if (origin_changed)
|
||||||
|
OnHostMovedInPixels(bounds_in_pixels_.origin());
|
||||||
|
|
||||||
|
- if (size_changed) {
|
||||||
|
- delayed_resize_task_.Reset(base::Bind(
|
||||||
|
- &DesktopWindowTreeHostX11::DelayedResize,
|
||||||
|
- close_widget_factory_.GetWeakPtr(), bounds_in_pixels.size()));
|
||||||
|
- base::ThreadTaskRunnerHandle::Get()->PostTask(
|
||||||
|
- FROM_HERE, delayed_resize_task_.callback());
|
||||||
|
- }
|
||||||
|
+ if (size_changed)
|
||||||
|
+ RestartDelayedResizeTask();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case GenericEvent: {
|
||||||
|
@@ -2358,6 +2380,14 @@ void DesktopWindowTreeHostX11::EnableEve
|
||||||
|
targeter_for_modal_.reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
+void DesktopWindowTreeHostX11::RestartDelayedResizeTask() {
|
||||||
|
+ delayed_resize_task_.Reset(
|
||||||
|
+ base::Bind(&DesktopWindowTreeHostX11::DelayedResize,
|
||||||
|
+ close_widget_factory_.GetWeakPtr(), bounds_in_pixels_.size()));
|
||||||
|
+ base::ThreadTaskRunnerHandle::Get()->PostTask(
|
||||||
|
+ FROM_HERE, delayed_resize_task_.callback());
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// DesktopWindowTreeHost, public:
|
||||||
|
|
||||||
|
diff -up chromium-60.0.3112.78/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h.gtk2fix chromium-60.0.3112.78/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
|
||||||
|
--- chromium-60.0.3112.78/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h.gtk2fix 2017-08-03 10:54:34.484348046 -0400
|
||||||
|
+++ chromium-60.0.3112.78/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h 2017-08-03 10:54:43.564172318 -0400
|
||||||
|
@@ -18,6 +18,7 @@
|
||||||
|
#include "ui/aura/scoped_window_targeter.h"
|
||||||
|
#include "ui/aura/window_tree_host.h"
|
||||||
|
#include "ui/base/cursor/cursor_loader_x11.h"
|
||||||
|
+#include "ui/display/display_observer.h"
|
||||||
|
#include "ui/events/platform/platform_event_dispatcher.h"
|
||||||
|
#include "ui/gfx/geometry/insets.h"
|
||||||
|
#include "ui/gfx/geometry/rect.h"
|
||||||
|
@@ -45,7 +46,8 @@ class X11DesktopWindowMoveClient;
|
||||||
|
class VIEWS_EXPORT DesktopWindowTreeHostX11
|
||||||
|
: public DesktopWindowTreeHost,
|
||||||
|
public aura::WindowTreeHost,
|
||||||
|
- public ui::PlatformEventDispatcher {
|
||||||
|
+ public ui::PlatformEventDispatcher,
|
||||||
|
+ public display::DisplayObserver {
|
||||||
|
public:
|
||||||
|
DesktopWindowTreeHostX11(
|
||||||
|
internal::NativeWidgetDelegate* native_widget_delegate,
|
||||||
|
@@ -170,6 +172,12 @@ class VIEWS_EXPORT DesktopWindowTreeHost
|
||||||
|
const gfx::Point& location_in_pixels) override;
|
||||||
|
void OnCursorVisibilityChangedNative(bool show) override;
|
||||||
|
|
||||||
|
+ // Overridden from display::DisplayObserver:
|
||||||
|
+ void OnDisplayAdded(const display::Display& new_display) override;
|
||||||
|
+ void OnDisplayRemoved(const display::Display& old_display) override;
|
||||||
|
+ void OnDisplayMetricsChanged(const display::Display& display,
|
||||||
|
+ uint32_t changed_metrics) override;
|
||||||
|
+
|
||||||
|
private:
|
||||||
|
friend class DesktopWindowTreeHostX11HighDPITest;
|
||||||
|
// Initializes our X11 surface to draw on. This method performs all
|
||||||
|
@@ -278,6 +286,10 @@ class VIEWS_EXPORT DesktopWindowTreeHost
|
||||||
|
// Enables event listening after closing |dialog|.
|
||||||
|
void EnableEventListening();
|
||||||
|
|
||||||
|
+ // Removes |delayed_resize_task_| from the task queue (if it's in
|
||||||
|
+ // the queue) and adds it back at the end of the queue.
|
||||||
|
+ void RestartDelayedResizeTask();
|
||||||
|
+
|
||||||
|
// X11 things
|
||||||
|
// The display and the native X window hosting the root window.
|
||||||
|
XDisplay* xdisplay_;
|
@ -0,0 +1,14 @@
|
|||||||
|
diff -up chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h.nomangle chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h
|
||||||
|
--- chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h.nomangle 2017-08-01 15:29:00.870759406 -0400
|
||||||
|
+++ chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h 2017-08-01 15:29:09.326593414 -0400
|
||||||
|
@@ -18,10 +18,6 @@
|
||||||
|
#ifndef JPEGLIB_H
|
||||||
|
#define JPEGLIB_H
|
||||||
|
|
||||||
|
-/* Begin chromium edits */
|
||||||
|
-#include "jpeglibmangler.h"
|
||||||
|
-/* End chromium edits */
|
||||||
|
-
|
||||||
|
/*
|
||||||
|
* First we include the configuration files that record how this
|
||||||
|
* installation of the JPEG library is set up. jconfig.h can be
|
@ -0,0 +1,28 @@
|
|||||||
|
diff -up chromium-60.0.3112.78/tools/gn/BUILD.gn.lastcommit chromium-60.0.3112.78/tools/gn/BUILD.gn
|
||||||
|
--- chromium-60.0.3112.78/tools/gn/BUILD.gn.lastcommit 2017-07-31 10:42:38.568041044 -0400
|
||||||
|
+++ chromium-60.0.3112.78/tools/gn/BUILD.gn 2017-07-31 10:47:50.760974587 -0400
|
||||||
|
@@ -268,7 +268,6 @@ executable("gn") {
|
||||||
|
|
||||||
|
deps = [
|
||||||
|
":gn_lib",
|
||||||
|
- ":last_commit_position",
|
||||||
|
"//base",
|
||||||
|
"//build/config:exe_and_shlib_deps",
|
||||||
|
"//build/win:default_exe_manifest",
|
||||||
|
diff -up chromium-60.0.3112.78/tools/gn/gn_main.cc.lastcommit chromium-60.0.3112.78/tools/gn/gn_main.cc
|
||||||
|
--- chromium-60.0.3112.78/tools/gn/gn_main.cc.lastcommit 2017-07-25 15:05:19.000000000 -0400
|
||||||
|
+++ chromium-60.0.3112.78/tools/gn/gn_main.cc 2017-07-31 10:42:38.568041044 -0400
|
||||||
|
@@ -12,13 +12,7 @@
|
||||||
|
#include "tools/gn/standard_out.h"
|
||||||
|
#include "tools/gn/switches.h"
|
||||||
|
|
||||||
|
-// Only the GN-generated build makes this header for now.
|
||||||
|
-// TODO(brettw) consider adding this if we need it in GYP.
|
||||||
|
-#if defined(GN_BUILD)
|
||||||
|
-#include "tools/gn/last_commit_position.h"
|
||||||
|
-#else
|
||||||
|
#define LAST_COMMIT_POSITION "UNKNOWN"
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
@ -0,0 +1,17 @@
|
|||||||
|
diff -up chromium-60.0.3112.78/third_party/libpng/pnglibconf.h.noprefix chromium-60.0.3112.78/third_party/libpng/pnglibconf.h
|
||||||
|
--- chromium-60.0.3112.78/third_party/libpng/pnglibconf.h.noprefix 2017-08-01 14:42:54.321986758 -0400
|
||||||
|
+++ chromium-60.0.3112.78/third_party/libpng/pnglibconf.h 2017-08-01 14:43:01.493845832 -0400
|
||||||
|
@@ -225,13 +225,4 @@
|
||||||
|
#define PNG_USER_CHUNK_MALLOC_MAX 4000000L
|
||||||
|
/* end of chromium settings */
|
||||||
|
|
||||||
|
-/* chromium prefixing */
|
||||||
|
-/*
|
||||||
|
- * This is necessary to build multiple copies of libpng. We need this while pdfium builds
|
||||||
|
- * its own copy of libpng.
|
||||||
|
- */
|
||||||
|
-#define PNG_PREFIX
|
||||||
|
-#include "pngprefix.h"
|
||||||
|
-/* end of chromium prefixing */
|
||||||
|
-
|
||||||
|
#endif /* PNGLCONF_H */
|
@ -0,0 +1,13 @@
|
|||||||
|
diff -up chromium-60.0.3112.78/third_party/zlib/zconf.h.nozmangle chromium-60.0.3112.78/third_party/zlib/zconf.h
|
||||||
|
--- chromium-60.0.3112.78/third_party/zlib/zconf.h.nozmangle 2017-08-04 10:45:17.509152089 -0400
|
||||||
|
+++ chromium-60.0.3112.78/third_party/zlib/zconf.h 2017-08-04 10:45:30.451902380 -0400
|
||||||
|
@@ -8,9 +8,6 @@
|
||||||
|
#ifndef ZCONF_H
|
||||||
|
#define ZCONF_H
|
||||||
|
|
||||||
|
-/* This include does prefixing as below, but with an updated set of names */
|
||||||
|
-#include "names.h"
|
||||||
|
-
|
||||||
|
/*
|
||||||
|
* If you *really* need a unique prefix for all types and library functions,
|
||||||
|
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
|
@ -1,4 +1,3 @@
|
|||||||
SHA512 (depot_tools.git-master.tar.gz) = d3d6a1873b2b0296a8cd99e0d8d2e629a17b1808934b4972556168f8b4ccea60577ebaeab4445baf15afb1b04080808db59a832a5b61d247bd48da14fa6acf03
|
SHA512 (depot_tools.git-master.tar.gz) = d3d6a1873b2b0296a8cd99e0d8d2e629a17b1808934b4972556168f8b4ccea60577ebaeab4445baf15afb1b04080808db59a832a5b61d247bd48da14fa6acf03
|
||||||
SHA512 (policy_templates.zip) = a997bd5d410cf8f0f104fb5b69b60699c9e60eb3f99b42e0aff167843f3a45923a9a99c881cac9cd4472a60ca9c7d1ba897e15d485fbfd66c996419e7fadd3f8
|
SHA512 (chromium-60.0.3112.90-clean.tar.xz) = 3b1579037b3debc0f714e5de3e02bd5fc1c8aa7482479ffc20b824653b11191ed558cef147633b30da16ffd8c26d5eacb95b93610041a44a6ea84606702f7ac1
|
||||||
SHA512 (chromium-59.0.3071.115-clean.tar.xz) = 001e6d9b4cae244767de7e85575d4071421d588422ca434461939e9652549bcd43c56fe0c510ab0d7d0a050e97d98f4086b8bf102dbadd7f83dc8827b9ea7ed1
|
SHA512 (policy_templates.zip) = 4d2a7162adb3ca224f3e1bf1d2936ae395603e8ffa3fda7753e666a16c42c7ba54c7acfcfdc742e22978ace37e471ed099d222063708d4d8a299da3daf135f15
|
||||||
SHA512 (chromium-59.0.3071.109-freetype.tar.bz2) = 62a698c0229c0eb5ed4d31efd211db70f1183f4f86558bd68a6110214b2f0a61eecdde27efcab359ecee684b3df819b37a75505c1b9ea6bec407d289d6e78a66
|
|
||||||
|
Loading…
Reference in new issue