forked from chromium/chromium
Accepting request 79098 from home:rwooninck:chromium
Move chromium to it's own place OBS-URL: https://build.opensuse.org/request/show/79098 OBS-URL: https://build.opensuse.org/package/show/network:chromium/chromium?expand=0&rev=1
This commit is contained in:
25
.gitattributes
vendored
Normal file
25
.gitattributes
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||
## Specific LFS patterns
|
||||
chromium-symbolic.svg filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.osc
|
350
Cr122-ffmpeg-new-channel-layout.patch
Normal file
350
Cr122-ffmpeg-new-channel-layout.patch
Normal file
@@ -0,0 +1,350 @@
|
||||
From 84d1d7adcd1697348e3f821811179c525d3b5717 Mon Sep 17 00:00:00 2001
|
||||
From: Dale Curtis <dalecurtis@chromium.org>
|
||||
Date: Tue, 28 Nov 2023 00:41:42 +0000
|
||||
Subject: [PATCH] Roll src/third_party/ffmpeg/ c1d0dc413..866768f35 (492
|
||||
commits)
|
||||
|
||||
https://chromium.googlesource.com/chromium/third_party/ffmpeg.git/+log/c1d0dc4135ec..866768f35c22
|
||||
|
||||
$ git log c1d0dc413..866768f35 --date=short --no-merges --format='%ad %ae %s'
|
||||
2023-11-22 dalecurtis README.chromium file
|
||||
2023-11-22 dalecurtis Chromium patches file
|
||||
2023-11-22 dalecurtis GN Configuration
|
||||
2023-11-21 dalecurtis Switch to remoteexec for robosushi
|
||||
2023-11-12 mypopydev vulkan_decode: fix the print format of VkDeviceSize
|
||||
2023-08-28 mypopydev avdevice/decklink_dec: add explicit specifier
|
||||
2023-11-20 jamrial avcodec: bump version after EVC additions
|
||||
2023-09-19 d.kozinski avcodec/evc_decoder: Provided support for EVC decoder
|
||||
2023-09-19 d.kozinski avcodec/evc_encoder: Provided support for EVC encoder
|
||||
2023-10-17 michael avcodec/h264dec: Support skipping frames that used gray gap frames
|
||||
2023-10-17 michael avcodec/h264: Avoid using gray gap frames as references
|
||||
2023-10-17 michael avcodec/h264: keep track of which frames used gray references
|
||||
2023-10-02 michael avcodec/h264dec: More elaborate documentation for frame_recovered
|
||||
2023-10-02 michael avcodec/h264: Use FRAME_RECOVERED_HEURISTIC instead of IDR/SEI
|
||||
2023-10-02 michael avcodec/h264: Seperate SEI and IDR recovery handling
|
||||
2023-11-19 onemda avfilter/af_afir: remove flag that is not needed
|
||||
2023-11-19 onemda avfilter/af_afir: no need to dynamically add outpad
|
||||
2023-11-19 onemda avfilter/af_afir: refactor crossfade code
|
||||
2023-11-19 onemda avfilter/af_afir: add timeline support
|
||||
2023-11-16 remi riscv: set fast half-precision conversion
|
||||
2023-11-19 onemda avfilter/af_afir: remove IR response video rendering support
|
||||
2023-11-19 onemda doc/filters: add one more example for afir filter usage
|
||||
2023-11-14 anton tools/general_assembly: update to conform to new rules
|
||||
2023-11-14 anton tools/general_assembly: make the script executable
|
||||
2023-11-18 onemda avfilter/avf_showvolume: improve step for vertical orientation
|
||||
2023-11-18 onemda avfilter/avf_showvolume: draw channel names directly into output frame
|
||||
2023-11-15 remi lavc/llviddsp: R-V V add_bytes
|
||||
2023-11-15 remi lavc/flacdsp: R-V V LPC16 function
|
||||
2023-11-15 remi lavc/flacdsp: R-V V LPC32
|
||||
2023-11-15 remi checkasm/flacdsp: add LPC test
|
||||
2023-11-15 remi riscv: fix builds without Zbb support
|
||||
2023-11-18 mypopydev lavfi/Makefile: fix vf_cropdetect missed edge_common
|
||||
2023-11-10 ffmpeg-devel apply spelling fixes
|
||||
2023-11-18 onemda avfilter/af_afir: add irnorm and irlink options
|
||||
2023-11-14 remi lavc/flacdsp: R-V V decorrelate_indep 16-bit packed
|
||||
2023-11-14 remi lavc/flacdsp: R-V V decorrelate_indep 32-bit packed
|
||||
2023-11-13 remi lavc/flacdsp: R-V V decorrelate_ms packed
|
||||
2023-08-16 remi lavc/flacdsp: R-V V packed decorrelate_{l,r}s
|
||||
2023-11-13 remi checkasm/flacdsp: fix ls/rs/ms tests
|
||||
2023-11-08 onemda avfilter/af_adynamicequalizer: add adaptive detection mode
|
||||
2023-11-06 onemda avfilter/af_adynamicequalizer: do gain calculations in log domain
|
||||
2023-11-03 sunyuechi af_afir: RISC-V V fcmul_add
|
||||
2023-11-12 remi lavc/llauddsp: R-V V scalarproduct_and_madd_int32
|
||||
2023-11-12 remi lavc/llauddsp: R-V V scalarproduct_and_madd_int16
|
||||
2023-11-12 remi checkasm: add lossless audio DSP
|
||||
2023-11-15 jamrial x86/flacds: clear the high bits from pred_order in lpc_32 functions
|
||||
2023-11-13 jianhui.j.dai-at-intel.com avcodec/cbs_vp8: Add support for VP8 codec bitstream
|
||||
2023-11-13 jianhui.j.dai-at-intel.com avcodec/vp8: Export `vp8_token_update_probs` variable
|
||||
2023-11-12 remi lavc/huffyuvdsp: basic R-V V add_hfyu_left_pred_bgr32
|
||||
2023-11-12 remi checkasm/huffyuvdsp: test for add_hfyu_left_pred_bgr32
|
||||
(...)
|
||||
2022-08-04 andreas.rheinhardt avcodec/cbs: Use RefStruct-API for unit content
|
||||
2022-08-04 andreas.rheinhardt avcodec/refstruct: Allow checking for exclusive ownership
|
||||
2022-08-04 andreas.rheinhardt avcodec/dovi_rpu: Use RefStruct API for Vdr data
|
||||
2022-08-04 andreas.rheinhardt avcodec/wavpack: Use RefStruct API for DSD context
|
||||
2023-07-17 andreas.rheinhardt avcodec/vp8: Use RefStruct API for seg_map
|
||||
2022-08-04 andreas.rheinhardt avcodec/hevc_ps: Use RefStruct API for parameter sets
|
||||
2022-08-04 andreas.rheinhardt avcodec/h264_ps: Use RefStruct API for SPS/PPS
|
||||
2022-08-04 andreas.rheinhardt avcodec/get_buffer: Use RefStruct API for FramePool
|
||||
2022-08-04 andreas.rheinhardt avcodec/refstruct: Add simple API for refcounted objects
|
||||
2023-10-03 remi lavu/fixed_dsp: R-V V scalarproduct
|
||||
2023-10-07 onemda avformat/wavdec: w64: do not error out for broken files if data start is found
|
||||
2023-10-06 onemda avcodec/mlpenc: rename some variables related to thd
|
||||
2023-10-03 andreas.rheinhardt avcodec/mpegvideo: Move allocating new_picture to the encoder
|
||||
2023-07-17 jamrial fftools/ffplay: stop injecting stream side data in packets
|
||||
2023-07-17 jamrial fftools/ffmpeg: stop injecting stream side data in packets
|
||||
2023-07-17 jamrial avcodec/decode: propagate global side data to frames
|
||||
2023-07-17 jamrial avcodec/hevcdec: check for DOVI configuration record in AVCodecContext side data
|
||||
2023-07-16 jamrial fftools/ffprobe: stop using AVStream.side_data
|
||||
2023-07-16 jamrial fftools/ffplay: stop using AVStream.side_data
|
||||
2023-07-16 jamrial fftools/ffmpeg: stop using AVStream.side_data
|
||||
2023-09-26 jamrial avcodec/packet: add some documentation for AVPacketSideData
|
||||
2023-07-16 jamrial avformat/avformat: use the side data from AVStream.codecpar
|
||||
2023-07-16 jamrial avcodec/codec_par: add side data to AVCodecParameters
|
||||
2023-07-16 jamrial avcodec/packet: add generic side data helpers
|
||||
2023-10-06 andreas.rheinhardt avfilter/vulkan_filter: Remove unused label
|
||||
2023-10-06 onemda avcodec/mlpdec: set extended_substream_info from header
|
||||
2023-08-26 stefasab doc/encoders/libopus: clarify lowdelay and cutoff options
|
||||
2023-08-26 stefasab doc/encoders/libxvid: fix references for me_quality option
|
||||
2023-08-26 stefasab doc/encoders/libx264: clarify meaning of level option
|
||||
2023-08-26 stefasab lavc: clarify meaning of avctx.level option
|
||||
2023-10-03 leo.izen avcodec/jpegxl_parser: fix various memory issues
|
||||
2023-10-03 leo.izen avcodec/jpegxl_parser: add some icc profile checks
|
||||
2023-09-01 stefasab ffprobe: introduce section type, use for the compact output
|
||||
2023-09-01 stefasab ffprobe: correct section name for side data piece
|
||||
2023-08-31 stefasab ffprobe: factorize side data printing to dedicated function
|
||||
2023-10-03 onemda avcodec/mlpenc: restructure code and resolve several bugs
|
||||
2023-10-05 dev hwcontext_vulkan: properly support STORAGE usage for mutliplane images
|
||||
2023-09-30 ben vulkan_hevc: handle non-contiguous SPS/PPS/VPS ids
|
||||
2023-10-03 ffmpeg-devel avcodec/svt-av1: Set force_key_frames only when gop_size == 1
|
||||
2023-10-03 andreas.rheinhardt avcodec/h261dec, mpeg12dec, vc1dec: Remove setting write-only flags
|
||||
2023-10-03 andreas.rheinhardt avcodec/rv10: Replace switch by LUT
|
||||
2023-10-03 andreas.rheinhardt avcodec/rv10: Remove dead code
|
||||
2023-10-02 andreas.rheinhardt avcodec/h263dec, mpeg4videodec: Parse extradata during init
|
||||
2023-10-01 andreas.rheinhardt avcodec/mpegvideo_dec: Always initialize IDCTDSPContext during init
|
||||
2023-10-01 andreas.rheinhardt avcodec/mpegvideo_dec: Don't zero context on init failure
|
||||
2023-10-01 andreas.rheinhardt avcodec/mpeg12dec: Don't initialize IDCT more than once
|
||||
2023-10-02 remi lavc/ac3: add R-V Zbb extract_exponents
|
||||
2023-10-04 jamrial avcodec/hcadec: add a flush callback
|
||||
2023-10-01 remi swscale/rgb2rgb: R-V V deinterleaveBytes
|
||||
2023-10-01 remi swscale/rgb2rgb: fix extra iteration in R-V V interleave
|
||||
|
||||
Created with:
|
||||
roll-dep src/third_party/ffmpeg
|
||||
|
||||
R=jrummell
|
||||
|
||||
Bug: 1504603
|
||||
Change-Id: Ia40313bc2abcb0594543019bc8d1c22fbf7bde82
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5055586
|
||||
Reviewed-by: John Rummell <jrummell@chromium.org>
|
||||
Auto-Submit: Dale Curtis <dalecurtis@chromium.org>
|
||||
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#1229653}
|
||||
---
|
||||
DEPS | 2 +-
|
||||
media/ffmpeg/ffmpeg_common.cc | 169 +++++++++---------
|
||||
.../filters/audio_video_metadata_extractor.cc | 17 +-
|
||||
media/filters/ffmpeg_demuxer_unittest.cc | 4 +-
|
||||
third_party/ffmpeg | 2 +-
|
||||
5 files changed, 97 insertions(+), 97 deletions(-)
|
||||
|
||||
diff --git a/media/ffmpeg/ffmpeg_common.cc b/media/ffmpeg/ffmpeg_common.cc
|
||||
index 3c97e4a6cf4c7..a55e4ab51d5b3 100644
|
||||
--- a/media/ffmpeg/ffmpeg_common.cc
|
||||
+++ b/media/ffmpeg/ffmpeg_common.cc
|
||||
@@ -653,15 +653,6 @@ bool AVStreamToVideoDecoderConfig(const AVStream* stream,
|
||||
profile = ProfileIDToVideoCodecProfile(codec_context->profile);
|
||||
}
|
||||
|
||||
- void* display_matrix =
|
||||
- av_stream_get_side_data(stream, AV_PKT_DATA_DISPLAYMATRIX, nullptr);
|
||||
-
|
||||
- VideoTransformation video_transformation = VideoTransformation();
|
||||
- if (display_matrix) {
|
||||
- video_transformation = VideoTransformation::FromFFmpegDisplayMatrix(
|
||||
- static_cast<int32_t*>(display_matrix));
|
||||
- }
|
||||
-
|
||||
if (!color_space.IsSpecified()) {
|
||||
// VP9 frames may have color information, but that information cannot
|
||||
// express new color spaces, like HDR. For that reason, color space
|
||||
@@ -718,91 +709,92 @@
|
||||
codec_context->extradata + codec_context->extradata_size);
|
||||
}
|
||||
|
||||
- if (stream->nb_side_data) {
|
||||
- for (int i = 0; i < stream->nb_side_data; ++i) {
|
||||
- AVPacketSideData side_data = stream->side_data[i];
|
||||
- switch (side_data.type) {
|
||||
- case AV_PKT_DATA_MASTERING_DISPLAY_METADATA: {
|
||||
- AVMasteringDisplayMetadata* mdcv =
|
||||
- reinterpret_cast<AVMasteringDisplayMetadata*>(side_data.data);
|
||||
- gfx::HdrMetadataSmpteSt2086 smpte_st_2086;
|
||||
- if (mdcv->has_primaries) {
|
||||
- smpte_st_2086.primaries = {
|
||||
- static_cast<float>(av_q2d(mdcv->display_primaries[0][0])),
|
||||
- static_cast<float>(av_q2d(mdcv->display_primaries[0][1])),
|
||||
- static_cast<float>(av_q2d(mdcv->display_primaries[1][0])),
|
||||
- static_cast<float>(av_q2d(mdcv->display_primaries[1][1])),
|
||||
- static_cast<float>(av_q2d(mdcv->display_primaries[2][0])),
|
||||
- static_cast<float>(av_q2d(mdcv->display_primaries[2][1])),
|
||||
- static_cast<float>(av_q2d(mdcv->white_point[0])),
|
||||
- static_cast<float>(av_q2d(mdcv->white_point[1])),
|
||||
- };
|
||||
- }
|
||||
- if (mdcv->has_luminance) {
|
||||
- smpte_st_2086.luminance_max = av_q2d(mdcv->max_luminance);
|
||||
- smpte_st_2086.luminance_min = av_q2d(mdcv->min_luminance);
|
||||
- }
|
||||
-
|
||||
- // TODO(crbug.com/40268540): Consider rejecting metadata that
|
||||
- // does not specify all values.
|
||||
- if (mdcv->has_primaries || mdcv->has_luminance) {
|
||||
- hdr_metadata.smpte_st_2086 = smpte_st_2086;
|
||||
- }
|
||||
- break;
|
||||
+ VideoTransformation video_transformation = VideoTransformation();
|
||||
+ for (int i = 0; i < stream->codecpar->nb_coded_side_data; ++i) {
|
||||
+ const auto& side_data = stream->codecpar->coded_side_data[i];
|
||||
+ switch (side_data.type) {
|
||||
+ case AV_PKT_DATA_DISPLAYMATRIX: {
|
||||
+ CHECK_EQ(side_data.size, sizeof(int32_t) * 3 * 3);
|
||||
+ video_transformation = VideoTransformation::FromFFmpegDisplayMatrix(
|
||||
+ reinterpret_cast<int32_t*>(side_data.data));
|
||||
+ break;
|
||||
+ }
|
||||
+ case AV_PKT_DATA_MASTERING_DISPLAY_METADATA: {
|
||||
+ AVMasteringDisplayMetadata* mdcv =
|
||||
+ reinterpret_cast<AVMasteringDisplayMetadata*>(side_data.data);
|
||||
+ gfx::HdrMetadataSmpteSt2086 smpte_st_2086;
|
||||
+ if (mdcv->has_primaries) {
|
||||
+ smpte_st_2086.primaries = {
|
||||
+ static_cast<float>(av_q2d(mdcv->display_primaries[0][0])),
|
||||
+ static_cast<float>(av_q2d(mdcv->display_primaries[0][1])),
|
||||
+ static_cast<float>(av_q2d(mdcv->display_primaries[1][0])),
|
||||
+ static_cast<float>(av_q2d(mdcv->display_primaries[1][1])),
|
||||
+ static_cast<float>(av_q2d(mdcv->display_primaries[2][0])),
|
||||
+ static_cast<float>(av_q2d(mdcv->display_primaries[2][1])),
|
||||
+ static_cast<float>(av_q2d(mdcv->white_point[0])),
|
||||
+ static_cast<float>(av_q2d(mdcv->white_point[1])),
|
||||
+ };
|
||||
}
|
||||
- case AV_PKT_DATA_CONTENT_LIGHT_LEVEL: {
|
||||
- AVContentLightMetadata* clli =
|
||||
- reinterpret_cast<AVContentLightMetadata*>(side_data.data);
|
||||
- hdr_metadata.cta_861_3 =
|
||||
- gfx::HdrMetadataCta861_3(clli->MaxCLL, clli->MaxFALL);
|
||||
- break;
|
||||
+ if (mdcv->has_luminance) {
|
||||
+ smpte_st_2086.luminance_max = av_q2d(mdcv->max_luminance);
|
||||
+ smpte_st_2086.luminance_min = av_q2d(mdcv->min_luminance);
|
||||
+ }
|
||||
+
|
||||
+ // TODO(crbug.com/40268540): Consider rejecting metadata that
|
||||
+ // does not specify all values.
|
||||
+ if (mdcv->has_primaries || mdcv->has_luminance) {
|
||||
+ hdr_metadata.smpte_st_2086 = smpte_st_2086;
|
||||
}
|
||||
+ break;
|
||||
+ }
|
||||
+ case AV_PKT_DATA_CONTENT_LIGHT_LEVEL: {
|
||||
+ AVContentLightMetadata* clli =
|
||||
+ reinterpret_cast<AVContentLightMetadata*>(side_data.data);
|
||||
+ hdr_metadata.cta_861_3 =
|
||||
+ gfx::HdrMetadataCta861_3(clli->MaxCLL, clli->MaxFALL);
|
||||
+ break;
|
||||
+ }
|
||||
#if BUILDFLAG(ENABLE_PLATFORM_DOLBY_VISION)
|
||||
- case AV_PKT_DATA_DOVI_CONF: {
|
||||
- AVDOVIDecoderConfigurationRecord* dovi =
|
||||
- reinterpret_cast<AVDOVIDecoderConfigurationRecord*>(
|
||||
- side_data.data);
|
||||
- VideoType type;
|
||||
- type.codec = VideoCodec::kDolbyVision;
|
||||
- type.level = dovi->dv_level;
|
||||
- type.color_space = color_space;
|
||||
- type.hdr_metadata_type = gfx::HdrMetadataType::kNone;
|
||||
- switch (dovi->dv_profile) {
|
||||
- case 0:
|
||||
- type.profile = VideoCodecProfile::DOLBYVISION_PROFILE0;
|
||||
- break;
|
||||
- case 4:
|
||||
- type.profile = VideoCodecProfile::DOLBYVISION_PROFILE4;
|
||||
- break;
|
||||
- case 5:
|
||||
- type.profile = VideoCodecProfile::DOLBYVISION_PROFILE5;
|
||||
- break;
|
||||
- case 7:
|
||||
- type.profile = VideoCodecProfile::DOLBYVISION_PROFILE7;
|
||||
- break;
|
||||
- case 8:
|
||||
- type.profile = VideoCodecProfile::DOLBYVISION_PROFILE8;
|
||||
- break;
|
||||
- case 9:
|
||||
- type.profile = VideoCodecProfile::DOLBYVISION_PROFILE9;
|
||||
- break;
|
||||
- default:
|
||||
- type.profile = VideoCodecProfile::VIDEO_CODEC_PROFILE_UNKNOWN;
|
||||
- break;
|
||||
- }
|
||||
- // Treat dolby vision contents as dolby vision codec only if the
|
||||
- // device support clear DV decoding, otherwise use the original
|
||||
- // HEVC or AVC codec and profile.
|
||||
- if (media::IsDecoderSupportedVideoType(type)) {
|
||||
- codec = type.codec;
|
||||
- profile = type.profile;
|
||||
- }
|
||||
- break;
|
||||
+ case AV_PKT_DATA_DOVI_CONF: {
|
||||
+ AVDOVIDecoderConfigurationRecord* dovi =
|
||||
+ reinterpret_cast<AVDOVIDecoderConfigurationRecord*>(side_data.data);
|
||||
+ VideoType type;
|
||||
+ type.codec = VideoCodec::kDolbyVision;
|
||||
+ type.level = dovi->dv_level;
|
||||
+ type.color_space = color_space;
|
||||
+ type.hdr_metadata_type = gfx::HdrMetadataType::kNone;
|
||||
+ switch (dovi->dv_profile) {
|
||||
+ case 0:
|
||||
+ type.profile = VideoCodecProfile::DOLBYVISION_PROFILE0;
|
||||
+ break;
|
||||
+ case 5:
|
||||
+ type.profile = VideoCodecProfile::DOLBYVISION_PROFILE5;
|
||||
+ break;
|
||||
+ case 7:
|
||||
+ type.profile = VideoCodecProfile::DOLBYVISION_PROFILE7;
|
||||
+ break;
|
||||
+ case 8:
|
||||
+ type.profile = VideoCodecProfile::DOLBYVISION_PROFILE8;
|
||||
+ break;
|
||||
+ case 9:
|
||||
+ type.profile = VideoCodecProfile::DOLBYVISION_PROFILE9;
|
||||
+ break;
|
||||
+ default:
|
||||
+ type.profile = VideoCodecProfile::VIDEO_CODEC_PROFILE_UNKNOWN;
|
||||
+ break;
|
||||
}
|
||||
+ // Treat dolby vision contents as dolby vision codec only if the
|
||||
+ // device support clear DV decoding, otherwise use the original
|
||||
+ // HEVC or AVC codec and profile.
|
||||
+ if (media::IsDecoderSupportedVideoType(type)) {
|
||||
+ codec = type.codec;
|
||||
+ profile = type.profile;
|
||||
+ }
|
||||
+ break;
|
||||
+ }
|
||||
#endif // BUILDFLAG(ENABLE_PLATFORM_DOLBY_VISION)
|
||||
default:
|
||||
break;
|
||||
- }
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/media/filters/audio_video_metadata_extractor.cc b/media/filters/audio_video_metadata_extractor.cc
|
||||
index cb002490a6322..e841b4ad13383 100644
|
||||
--- a/media/filters/audio_video_metadata_extractor.cc
|
||||
+++ b/media/filters/audio_video_metadata_extractor.cc
|
||||
@@ -113,13 +113,16 @@ bool AudioVideoMetadataExtractor::Extract(DataSource* source,
|
||||
if (!stream)
|
||||
continue;
|
||||
|
||||
- void* display_matrix =
|
||||
- av_stream_get_side_data(stream, AV_PKT_DATA_DISPLAYMATRIX, nullptr);
|
||||
- if (display_matrix) {
|
||||
- rotation_ = VideoTransformation::FromFFmpegDisplayMatrix(
|
||||
- static_cast<int32_t*>(display_matrix))
|
||||
- .rotation;
|
||||
- info.tags["rotate"] = base::NumberToString(rotation_);
|
||||
+ for (int j = 0; j < stream->codecpar->nb_coded_side_data; j++) {
|
||||
+ const AVPacketSideData& sd = stream->codecpar->coded_side_data[j];
|
||||
+ if (sd.type == AV_PKT_DATA_DISPLAYMATRIX) {
|
||||
+ CHECK_EQ(sd.size, sizeof(int32_t) * 3 * 3);
|
||||
+ rotation_ = VideoTransformation::FromFFmpegDisplayMatrix(
|
||||
+ reinterpret_cast<int32_t*>(sd.data))
|
||||
+ .rotation;
|
||||
+ info.tags["rotate"] = base::NumberToString(rotation_);
|
||||
+ break;
|
||||
+ }
|
||||
}
|
||||
|
||||
// Extract dictionary from streams also. Needed for containers that attach
|
181
INSTALL.sh
Normal file
181
INSTALL.sh
Normal file
@@ -0,0 +1,181 @@
|
||||
#!/bin/bash
|
||||
set -x
|
||||
while getopts s:o:l:i: option
|
||||
do
|
||||
case "${option}" in
|
||||
s) STAGEDIR=${OPTARG};;
|
||||
o) OUTPUTDIR=${OPTARG};;
|
||||
l) LIBDIR=${OPTARG};;
|
||||
i) ICUDATAFILE=${OPTARG};;
|
||||
esac
|
||||
done
|
||||
SHLIB_PERMS="755"
|
||||
PROGNAME="chrome"
|
||||
PACKAGE="chromium-browser"
|
||||
MAINTMAIL="chromium-dev@chromium.org"
|
||||
PROJECT_LICENSE="BSD-3-Clause and LGPL-2.1+ and Apache-2.0 and IJG and MIT and GPL-2.0+ and ISC and OpenSSL and (MPL-1.1 or GPL-2.0 or LGPL-2.0)"
|
||||
SHORTDESC="The web browser from Chromium project"
|
||||
FULLDESC=" Chromium is an open-source browser project that aims to build a safer, faster,\
|
||||
and more stable way to experience the web.\
|
||||
</p>\
|
||||
<p>\
|
||||
We invite you to join our effort to build a powerful platform for developing a\
|
||||
new generation of web applications.\
|
||||
</p>\
|
||||
<p>\
|
||||
Chromium supports Vorbis, Theora, WebM and HTML5 audio and video standards, but\
|
||||
does not include the non-free AAC, H.264, MP3 or Adobe Flash code that is found\
|
||||
in Chrome."
|
||||
PRODUCTURL="https://www.chromium.org/Home"
|
||||
DEVELOPER_NAME="The Chromium Authors"
|
||||
BUGTRACKERURL="https://www.chromium.org/for-testers/bug-reporting-guidelines"
|
||||
HELPURL="https://chromium.googlesource.com/chromium/src/+/main/docs/linux/debugging.md"
|
||||
MENUNAME="Chromium Web Browser"
|
||||
CHANNEL="stable"
|
||||
INSTALLDIR="${LIBDIR}/chromium"
|
||||
|
||||
install -m 755 -d \
|
||||
"${STAGEDIR}/${INSTALLDIR}" \
|
||||
"${STAGEDIR}/usr/bin" \
|
||||
"${STAGEDIR}/usr/share/applications" \
|
||||
"${STAGEDIR}/usr/share/metainfo" \
|
||||
"${STAGEDIR}/usr/share/man/man1"
|
||||
|
||||
# app
|
||||
buildfile="${OUTPUTDIR}/${PROGNAME}"
|
||||
install -m 755 "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${PROGNAME}"
|
||||
|
||||
# crashpad
|
||||
buildfile="${OUTPUTDIR}/chrome_crashpad_handler"
|
||||
install -m 755 "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/chrome_crashpad_handler"
|
||||
|
||||
# resources
|
||||
install -m 644 "${OUTPUTDIR}/resources.pak" "${STAGEDIR}/${INSTALLDIR}/"
|
||||
install -m 644 "${OUTPUTDIR}/chrome_100_percent.pak" "${STAGEDIR}/${INSTALLDIR}/"
|
||||
install -m 644 "${OUTPUTDIR}/chrome_200_percent.pak" "${STAGEDIR}/${INSTALLDIR}/"
|
||||
|
||||
# ICU data file; Necessary when the GN icu_use_data_file flag is true.
|
||||
if [ "x$ICUDATAFILE" == "xtrue" ]; then
|
||||
install -m 644 "${OUTPUTDIR}/icudtl.dat" "${STAGEDIR}/${INSTALLDIR}/"
|
||||
fi
|
||||
|
||||
# V8 snapshot files; Necessary when the GN v8_use_external_startup_data flag
|
||||
# is true.
|
||||
# Use v8_context_snapshot.bin instead of snapshot_blob.bin if it is available.
|
||||
# TODO(crbug.com/764576): Unship snapshot_blob.bin on ChromeOS and drop this branch
|
||||
install -m 644 "${OUTPUTDIR}/v8_context_snapshot.bin" "${STAGEDIR}/${INSTALLDIR}/"
|
||||
|
||||
# l10n paks
|
||||
install -m 755 -d "${STAGEDIR}/${INSTALLDIR}/locales/"
|
||||
find "${OUTPUTDIR}/locales" -type f -name '*.pak' -print -exec \
|
||||
cp -a {} "${STAGEDIR}/${INSTALLDIR}/locales/" \;
|
||||
find "${STAGEDIR}/${INSTALLDIR}/locales" -type f -print -exec chmod 644 {} \;
|
||||
|
||||
# ANGLE
|
||||
if [ -f "${OUTPUTDIR}/libEGL.so" ]; then
|
||||
for file in libEGL.so libGLESv2.so;
|
||||
do
|
||||
buildfile="${OUTPUTDIR}/${file}"
|
||||
install -m ${SHLIB_PERMS} "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${file}"
|
||||
done
|
||||
fi
|
||||
|
||||
# ANGLE's libvulkan library
|
||||
if [ -f "${OUTPUTDIR}/libvulkan.so.1" ]; then
|
||||
file="libvulkan.so.1"
|
||||
buildfile="${OUTPUTDIR}/${file}"
|
||||
install -m 755 "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${file}"
|
||||
fi
|
||||
|
||||
# SwiftShader ES
|
||||
if [ -f "${OUTPUTDIR}/swiftshader/libEGL.so" ]; then
|
||||
install -m 755 -d "${STAGEDIR}/${INSTALLDIR}/swiftshader/"
|
||||
for file in libEGL.so libGLESv2.so;
|
||||
do
|
||||
buildfile="${OUTPUTDIR}/swiftshader/${file}"
|
||||
install -m ${SHLIB_PERMS} "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/swiftshader/${file}"
|
||||
done
|
||||
fi
|
||||
|
||||
# SwiftShader VK
|
||||
if [ -f "${OUTPUTDIR}/libvk_swiftshader.so" ]; then
|
||||
install -m 755 -d "${STAGEDIR}/${INSTALLDIR}/"
|
||||
file="libvk_swiftshader.so"
|
||||
buildfile="${OUTPUTDIR}/${file}"
|
||||
install -m ${SHLIB_PERMS} "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${file}"
|
||||
fi
|
||||
sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > ${OUTPUTDIR}/vk_swiftshader_icd.json
|
||||
# Install the ICD json file to point ANGLE to libvk_swiftshader.so
|
||||
install -m 644 "${OUTPUTDIR}/vk_swiftshader_icd.json" "${STAGEDIR}/${INSTALLDIR}/"
|
||||
|
||||
# QT shim
|
||||
if [ -f "${OUTPUTDIR}/libqt5_shim.so" ]; then
|
||||
file="libqt5_shim.so"
|
||||
buildfile="${OUTPUTDIR}/${file}"
|
||||
install -m ${SHLIB_PERMS} "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${file}"
|
||||
fi
|
||||
if [ -f "${OUTPUTDIR}/libqt6_shim.so" ]; then
|
||||
file="libqt6_shim.so"
|
||||
buildfile="${OUTPUTDIR}/${file}"
|
||||
install -m ${SHLIB_PERMS} "${buildfile}" "${STAGEDIR}/${INSTALLDIR}/${file}"
|
||||
fi
|
||||
|
||||
# default apps
|
||||
if [ -d "${OUTPUTDIR}/default_apps" ]; then
|
||||
cp -a "${OUTPUTDIR}/default_apps" "${STAGEDIR}/${INSTALLDIR}/"
|
||||
find "${STAGEDIR}/${INSTALLDIR}/default_apps" -type d -exec chmod 755 '{}' \;
|
||||
find "${STAGEDIR}/${INSTALLDIR}/default_apps" -type f -exec chmod 644 '{}' \;
|
||||
fi
|
||||
|
||||
# launcher script and symlink
|
||||
sed \
|
||||
-e "s#@@PROGNAME@@#${PROGNAME}#g" \
|
||||
-e "s#@@CHANNEL@@#${CHANNEL}#g" \
|
||||
"chrome/installer/linux/common/wrapper" > "${STAGEDIR}/${INSTALLDIR}/chrome-wrapper"
|
||||
chmod 755 "${STAGEDIR}/${INSTALLDIR}/chrome-wrapper"
|
||||
ln -s "${INSTALLDIR}/chrome-wrapper" "${STAGEDIR}/usr/bin/${PACKAGE}"
|
||||
|
||||
# app icons
|
||||
for size in 16 32;
|
||||
do
|
||||
icon="chrome/app/theme/default_100_percent/chromium/product_logo_${size}.png"
|
||||
installpath="${STAGEDIR}/usr/share/icons/hicolor/${size}x${size}/apps/chromium-browser.png"
|
||||
install -D -m 644 ${icon} ${installpath}
|
||||
done
|
||||
for size in 24 48 64 128 256;
|
||||
do
|
||||
icon="chrome/app/theme/chromium/product_logo_${size}.png"
|
||||
installpath="${STAGEDIR}/usr/share/icons/hicolor/${size}x${size}/apps/chromium-browser.png"
|
||||
install -D -m 644 ${icon} ${installpath}
|
||||
done
|
||||
|
||||
# desktop integration
|
||||
## AppData
|
||||
sed \
|
||||
-e "s#@@PACKAGE@@#${PACKAGE}#g" \
|
||||
-e "s#@@MAINTMAIL@@#${MAINTMAIL}#g" \
|
||||
-e "s#@@PROJECT_LICENSE@@#${PROJECT_LICENSE}#g" \
|
||||
-e "s#@@MENUNAME@@#${MENUNAME}#g" \
|
||||
-e "s#@@SHORTDESC@@#${SHORTDESC}#g" \
|
||||
-e "s#@@FULLDESC@@#${FULLDESC}#g" \
|
||||
-e "s#@@PRODUCTURL@@#${PRODUCTURL}#g" \
|
||||
-e "s#@@DEVELOPER_NAME@@#${DEVELOPER_NAME}#g" \
|
||||
-e "s#@@BUGTRACKERURL@@#${BUGTRACKERURL}#g" \
|
||||
-e "s#@@HELPURL@@#${HELPURL}#g" \
|
||||
"chrome/installer/linux/common/appdata.xml.template" > "${STAGEDIR}/usr/share/metainfo/${PACKAGE}.appdata.xml"
|
||||
|
||||
## Desktop file
|
||||
sed \
|
||||
-e "s#@@MENUNAME@@#${MENUNAME}#g" \
|
||||
-e "s#@@USR_BIN_SYMLINK_NAME@@#${PACKAGE}#g" \
|
||||
-e "s#@@PACKAGE@@#${PACKAGE}#g" \
|
||||
"chrome/installer/linux/common/desktop.template" > "${STAGEDIR}/usr/share/applications/${PACKAGE}.desktop"
|
||||
chmod 644 "${STAGEDIR}/usr/share/applications/${PACKAGE}.desktop"
|
||||
|
||||
# documentation
|
||||
sed \
|
||||
-e "s#@@MENUNAME@@#${MENUNAME}#g" \
|
||||
-e "s#@@PACKAGE@@#${PACKAGE}#g" \
|
||||
"chrome/app/resources/manpage.1.in" > "${STAGEDIR}/usr/share/man/man1/${PACKAGE}.1"
|
||||
gzip -9n "${STAGEDIR}/usr/share/man/man1/${PACKAGE}.1"
|
||||
chmod 644 "${STAGEDIR}/usr/share/man/man1/${PACKAGE}.1.gz"
|
9
README.SUSE
Normal file
9
README.SUSE
Normal file
@@ -0,0 +1,9 @@
|
||||
README for SUSE packagers
|
||||
=========================
|
||||
Patches for chromium can typically be found in the following places:
|
||||
|
||||
Stephan Hartmann - https://github.com/stha09/chromium-patches/releases
|
||||
Gentoo - https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files
|
||||
Fedora - https://src.fedoraproject.org/rpms/chromium/tree/rawhide
|
||||
Arch - https://github.com/archlinux/svntogit-packages/tree/packages/chromium/trunk
|
||||
Arch: https://gitlab.com/Matt.Jolly/chromium-patches/
|
24
_constraints
Normal file
24
_constraints
Normal file
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0"?>
|
||||
<constraints>
|
||||
<hardware>
|
||||
<disk>
|
||||
<size unit="G">30</size>
|
||||
</disk>
|
||||
<physicalmemory>
|
||||
<size unit="G">14</size>
|
||||
</physicalmemory>
|
||||
</hardware>
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>aarch64</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<cpu>
|
||||
<flag>asimdrdm</flag>
|
||||
</cpu>
|
||||
<memory>
|
||||
<size unit="G">11</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
</constraints>
|
18
buildfix.patch
Normal file
18
buildfix.patch
Normal file
@@ -0,0 +1,18 @@
|
||||
--- chromium/src/third_party/WebKit/Source/WebCore/platform/ScrollAnimatorNone.cpp
|
||||
+++ chromium/src/third_party/WebKit/Source/WebCore/platform/ScrollAnimatorNone.cpp
|
||||
@@ -96,6 +96,7 @@
|
||||
t -= 2.625 / 2.75;
|
||||
return 7.5625 * t * t + .984375;
|
||||
}
|
||||
+ return t;
|
||||
}
|
||||
|
||||
double ScrollAnimatorNone::PerAxisData::attackCurve(Curve curve, double deltaTime, double curveT, double startPosition, double attackPosition)
|
||||
@@ -124,6 +125,7 @@
|
||||
case Bounce:
|
||||
return t;
|
||||
}
|
||||
+ return t;
|
||||
}
|
||||
|
||||
ScrollAnimatorNone::PerAxisData::PerAxisData(ScrollAnimatorNone* parent, float* currentPosition)
|
51
chrome-wrapper
Normal file
51
chrome-wrapper
Normal file
@@ -0,0 +1,51 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (c) 2010 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.
|
||||
|
||||
# Running Chromium via this script makes it possible to set Chromium as the
|
||||
# default browser directly out of a compile, without needing to package it.
|
||||
|
||||
DESKTOP="chromium-devel"
|
||||
TITLE="Chromium"
|
||||
|
||||
# Checks a file to see if it's a 32 or 64-bit.
|
||||
check_executable() {
|
||||
out=$(file $(readlink -f $1) 2> /dev/null)
|
||||
echo $out | grep -qs "ELF 32-bit LSB"
|
||||
if [ $? = 0 ]; then
|
||||
echo 32
|
||||
return
|
||||
fi
|
||||
echo $out | grep -qs "ELF 64-bit LSB"
|
||||
if [ $? = 0 ]; then
|
||||
echo 64
|
||||
return
|
||||
fi
|
||||
echo neither
|
||||
}
|
||||
|
||||
# Let the wrapped binary know that it has been run through the wrapper.
|
||||
export CHROME_WRAPPER="`readlink -f "$0"`"
|
||||
|
||||
HERE="`dirname "$CHROME_WRAPPER"`"
|
||||
|
||||
# We include some xdg utilities next to the binary, and we want to prefer them
|
||||
# over the system versions because we know they work correctly for us. But if
|
||||
# our path already exists, we leave it where it is, to allow overriding this.
|
||||
# (Once distributions have picked up the updated xdg-mime, we can go back to
|
||||
# appending $HERE rather than prepending.)
|
||||
case ":$PATH:" in
|
||||
*:$HERE:*)
|
||||
# $PATH already contains $HERE, leave it where it is.
|
||||
;;
|
||||
*)
|
||||
# Prepend $HERE to $PATH.
|
||||
export PATH="$HERE:$PATH"
|
||||
;;
|
||||
esac
|
||||
|
||||
export LD_LIBRARY_PATH="$HERE:$HERE/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
|
||||
|
||||
exec "$HERE/chrome" "$@"
|
16
chromium-102-regex_pattern-array.patch
Normal file
16
chromium-102-regex_pattern-array.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
Index: chromium-123.0.6312.46/components/autofill/core/browser/BUILD.gn
|
||||
===================================================================
|
||||
--- chromium-123.0.6312.46.orig/components/autofill/core/browser/BUILD.gn
|
||||
+++ chromium-123.0.6312.46/components/autofill/core/browser/BUILD.gn
|
||||
@@ -64,6 +64,11 @@
|
||||
}
|
||||
|
||||
static_library("browser") {
|
||||
+ if (is_clang) {
|
||||
+ cflags = [
|
||||
+ "-fbracket-depth=1000",
|
||||
+ ]
|
||||
+ }
|
||||
sources = [
|
||||
"autofill_browser_util.cc",
|
||||
"autofill_browser_util.h",
|
17
chromium-106-ffmpeg-duration.patch
Normal file
17
chromium-106-ffmpeg-duration.patch
Normal file
@@ -0,0 +1,17 @@
|
||||
Index: chromium-106.0.5249.91/media/filters/audio_file_reader.cc
|
||||
===================================================================
|
||||
--- chromium-106.0.5249.91.orig/media/filters/audio_file_reader.cc
|
||||
+++ chromium-106.0.5249.91/media/filters/audio_file_reader.cc
|
||||
@@ -243,10 +243,10 @@ bool AudioFileReader::OnNewFrame(
|
||||
// silence from being output. In the case where we are also discarding some
|
||||
// portion of the packet (as indicated by a negative pts), we further want to
|
||||
// adjust the duration downward by however much exists before zero.
|
||||
- if (audio_codec_ == AudioCodec::kAAC && frame->duration) {
|
||||
+ if (audio_codec_ == AudioCodec::kAAC && frame->pkt_duration) {
|
||||
const base::TimeDelta pkt_duration = ConvertFromTimeBase(
|
||||
glue_->format_context()->streams[stream_index_]->time_base,
|
||||
- frame->duration + std::min(static_cast<int64_t>(0), frame->pts));
|
||||
+ frame->pkt_duration + std::min(static_cast<int64_t>(0), frame->pts));
|
||||
const base::TimeDelta frame_duration =
|
||||
base::Seconds(frames_read / static_cast<double>(sample_rate_));
|
||||
|
21
chromium-117-string-convert.patch
Normal file
21
chromium-117-string-convert.patch
Normal file
@@ -0,0 +1,21 @@
|
||||
diff -up chromium-117.0.5938.62/net/dns/host_resolver_cache.cc.me chromium-117.0.5938.62/net/dns/host_resolver_cache.cc
|
||||
diff -up chromium-117.0.5938.62/net/dns/host_resolver_cache.h.me chromium-117.0.5938.62/net/dns/host_resolver_cache.h
|
||||
--- chromium-117.0.5938.62/net/dns/host_resolver_cache.h.me 2023-09-14 15:21:24.632965004 +0200
|
||||
+++ chromium-117.0.5938.62/net/dns/host_resolver_cache.h 2023-09-15 09:15:48.511300845 +0200
|
||||
@@ -143,12 +143,14 @@ class NET_EXPORT HostResolverCache final
|
||||
}
|
||||
|
||||
bool operator()(const Key& lhs, const KeyRef& rhs) const {
|
||||
+ const std::string rhs_domain_name{rhs.domain_name};
|
||||
return std::tie(lhs.domain_name, lhs.network_anonymization_key) <
|
||||
- std::tie(rhs.domain_name, *rhs.network_anonymization_key);
|
||||
+ std::tie(rhs_domain_name, *rhs.network_anonymization_key);
|
||||
}
|
||||
|
||||
bool operator()(const KeyRef& lhs, const Key& rhs) const {
|
||||
- return std::tie(lhs.domain_name, *lhs.network_anonymization_key) <
|
||||
+ const std::string lhs_domain_name{lhs.domain_name};
|
||||
+ return std::tie(lhs_domain_name, *lhs.network_anonymization_key) <
|
||||
std::tie(rhs.domain_name, rhs.network_anonymization_key);
|
||||
}
|
||||
};
|
41
chromium-121-rust-clang_lib.patch
Normal file
41
chromium-121-rust-clang_lib.patch
Normal file
@@ -0,0 +1,41 @@
|
||||
diff -up chromium-121.0.6167.57/build/config/clang/BUILD.gn.rust-clang_lib chromium-121.0.6167.57/build/config/clang/BUILD.gn
|
||||
--- chromium-121.0.6167.57/build/config/clang/BUILD.gn.rust-clang_lib 2024-01-10 16:43:01.000000000 +0100
|
||||
+++ chromium-121.0.6167.57/build/config/clang/BUILD.gn 2024-01-20 19:51:38.481992799 +0100
|
||||
@@ -112,6 +112,7 @@ template("clang_lib") {
|
||||
_prefix = "lib"
|
||||
_suffix = ""
|
||||
_ext = "a"
|
||||
+ _libprefix = ""
|
||||
if (is_win) {
|
||||
_dir = "windows"
|
||||
_prefix = ""
|
||||
@@ -127,7 +128,19 @@ template("clang_lib") {
|
||||
}
|
||||
} else if (is_apple) {
|
||||
_dir = "darwin"
|
||||
- } else if (is_linux || is_chromeos) {
|
||||
+ } else if (is_linux) {
|
||||
+ _libprefix = "64"
|
||||
+ _dir = "linux"
|
||||
+ if (current_cpu == "x64") {
|
||||
+ _suffix ="-x86_64"
|
||||
+ } else if (current_cpu == "arm64") {
|
||||
+ _suffix = "-aarch64"
|
||||
+ } else if (current_cpu == "riscv64") {
|
||||
+ _suffix = "-riscv64"
|
||||
+ } else {
|
||||
+ assert(false) # Unhandled cpu type
|
||||
+ }
|
||||
+ } else if (is_chromeos) {
|
||||
if (current_cpu == "x64") {
|
||||
_dir = "x86_64-unknown-linux-gnu"
|
||||
} else if (current_cpu == "x86") {
|
||||
@@ -166,7 +193,7 @@ template("clang_lib") {
|
||||
assert(false) # Unhandled target platform
|
||||
}
|
||||
|
||||
- _clang_lib_dir = "$clang_base_path/lib/clang/$clang_version/lib"
|
||||
+ _clang_lib_dir = "$clang_base_path/lib${_libprefix}/clang/$clang_version/lib"
|
||||
_lib_file = "${_prefix}clang_rt.${_libname}${_suffix}.${_ext}"
|
||||
libs = [ "$_clang_lib_dir/$_dir/$_lib_file" ]
|
||||
}
|
12
chromium-123-missing-QtGui.patch
Normal file
12
chromium-123-missing-QtGui.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
diff --git a/ui/qt/BUILD.gn b/ui/qt/BUILD.gn.new
|
||||
index 2da7845..02ae3c8 100644
|
||||
--- a/ui/qt/BUILD.gn
|
||||
+++ b/ui/qt/BUILD.gn
|
||||
@@ -61,6 +61,7 @@ template("qt_shim") {
|
||||
packages = [
|
||||
"Qt" + invoker.qt_version + "Core",
|
||||
"Qt" + invoker.qt_version + "Widgets",
|
||||
+ "Qt" + invoker.qt_version + "Gui",
|
||||
]
|
||||
}
|
||||
|
24
chromium-124-system-libxml.patch
Normal file
24
chromium-124-system-libxml.patch
Normal file
@@ -0,0 +1,24 @@
|
||||
diff -up chromium-121.0.6167.139/third_party/blink/renderer/core/xml/xslt_processor.h.me chromium-121.0.6167.139/third_party/blink/renderer/core/xml/xslt_processor.h
|
||||
--- chromium-121.0.6167.139/third_party/blink/renderer/core/xml/xslt_processor.h.me 2024-02-06 08:22:36.013021582 +0100
|
||||
+++ chromium-121.0.6167.139/third_party/blink/renderer/core/xml/xslt_processor.h 2024-02-06 08:23:08.281607499 +0100
|
||||
@@ -77,7 +77,7 @@ class XSLTProcessor final : public Scrip
|
||||
|
||||
void reset();
|
||||
|
||||
- static void ParseErrorFunc(void* user_data, const xmlError*);
|
||||
+ static void ParseErrorFunc(void* user_data, xmlError*);
|
||||
static void GenericErrorFunc(void* user_data, const char* msg, ...);
|
||||
|
||||
// Only for libXSLT callbacks
|
||||
diff -up chromium-121.0.6167.139/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc.me chromium-121.0.6167.139/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
|
||||
--- chromium-121.0.6167.139/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc.me 2024-02-06 08:14:32.368066214 +0100
|
||||
+++ chromium-121.0.6167.139/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc 2024-02-06 08:23:08.282607518 +0100
|
||||
@@ -66,7 +66,7 @@ void XSLTProcessor::GenericErrorFunc(voi
|
||||
// It would be nice to do something with this error message.
|
||||
}
|
||||
|
||||
-void XSLTProcessor::ParseErrorFunc(void* user_data, const xmlError* error) {
|
||||
+void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) {
|
||||
FrameConsole* console = static_cast<FrameConsole*>(user_data);
|
||||
if (!console)
|
||||
return;
|
285
chromium-125-compiler.patch
Normal file
285
chromium-125-compiler.patch
Normal file
@@ -0,0 +1,285 @@
|
||||
From 307a0f63dd9b118f4b8470ed3d7567e81fdb7a6d Mon Sep 17 00:00:00 2001
|
||||
From: Mike Gilbert <floppym@gentoo.org>
|
||||
Date: Tue, 15 Nov 2022 10:27:58 +0000
|
||||
Subject: [PATCH] Disable various compiler configs
|
||||
|
||||
---
|
||||
build/config/compiler/BUILD.gn | 134 +++++----------------------------
|
||||
1 file changed, 17 insertions(+), 117 deletions(-)
|
||||
|
||||
Index: chromium-126.0.6478.8/build/config/compiler/BUILD.gn
|
||||
===================================================================
|
||||
--- chromium-126.0.6478.8.orig/build/config/compiler/BUILD.gn
|
||||
+++ chromium-126.0.6478.8/build/config/compiler/BUILD.gn
|
||||
@@ -305,9 +305,7 @@ config("compiler") {
|
||||
|
||||
configs += [
|
||||
# See the definitions below.
|
||||
- ":clang_revision",
|
||||
":rustc_revision",
|
||||
- ":compiler_cpu_abi",
|
||||
":compiler_codegen",
|
||||
":compiler_deterministic",
|
||||
]
|
||||
@@ -566,63 +566,6 @@
|
||||
ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
|
||||
}
|
||||
|
||||
- if (is_clang && !is_nacl) {
|
||||
- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
|
||||
- if (save_reproducers_on_lld_crash && use_lld) {
|
||||
- ldflags += [
|
||||
- "-fcrash-diagnostics=all",
|
||||
- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir,
|
||||
- ]
|
||||
- }
|
||||
-
|
||||
- # TODO(hans): Remove this once Clang generates better optimized debug info
|
||||
- # by default. https://crbug.com/765793
|
||||
- cflags += [
|
||||
- "-mllvm",
|
||||
- "-instcombine-lower-dbg-declare=0",
|
||||
- ]
|
||||
- if (!is_debug && use_thin_lto && is_a_target_toolchain) {
|
||||
- if (is_win) {
|
||||
- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ]
|
||||
- } else {
|
||||
- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ]
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- # TODO(crbug.com/40283598): This causes binary size growth and potentially
|
||||
- # other problems.
|
||||
- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version.
|
||||
- if (default_toolchain != "//build/toolchain/cros:target" &&
|
||||
- !llvm_android_mainline) {
|
||||
- cflags += [
|
||||
- "-mllvm",
|
||||
- "-split-threshold-for-reg-with-hint=0",
|
||||
- ]
|
||||
- if (use_thin_lto && is_a_target_toolchain) {
|
||||
- if (is_win) {
|
||||
- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ]
|
||||
- } else {
|
||||
- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ]
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- # TODO(crbug.com/40192287): Investigate why/if this should be needed.
|
||||
- if (is_win) {
|
||||
- cflags += [ "/clang:-ffp-contract=off" ]
|
||||
- } else {
|
||||
- cflags += [ "-ffp-contract=off" ]
|
||||
- }
|
||||
-
|
||||
- # Enable ELF CREL (see crbug.com/357878242) for all platforms that use ELF
|
||||
- # (excluding toolchains that use an older version of LLVM).
|
||||
- # TODO(crbug.com/376278218): This causes segfault on Linux ARM builds.
|
||||
- if (is_linux && !llvm_android_mainline && current_cpu != "arm" &&
|
||||
- default_toolchain != "//build/toolchain/cros:target") {
|
||||
- cflags += [ "-Wa,--crel,--allow-experimental-crel" ]
|
||||
- }
|
||||
- }
|
||||
-
|
||||
# C11/C++11 compiler flags setup.
|
||||
# ---------------------------
|
||||
if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) ||
|
||||
@@ -1538,52 +1489,6 @@ config("compiler_deterministic") {
|
||||
}
|
||||
}
|
||||
|
||||
- # Makes builds independent of absolute file path.
|
||||
- if (is_clang && strip_absolute_paths_from_debug_symbols) {
|
||||
- # If debug option is given, clang includes $cwd in debug info by default.
|
||||
- # For such build, this flag generates reproducible obj files even we use
|
||||
- # different build directory like "out/feature_a" and "out/feature_b" if
|
||||
- # we build same files with same compile flag.
|
||||
- # Other paths are already given in relative, no need to normalize them.
|
||||
- if (is_nacl) {
|
||||
- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
|
||||
- cflags += [
|
||||
- "-Xclang",
|
||||
- "-fdebug-compilation-dir",
|
||||
- "-Xclang",
|
||||
- ".",
|
||||
- ]
|
||||
- } else {
|
||||
- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir=
|
||||
- # and -fcoverage-compilation-dir=.
|
||||
- cflags += [ "-ffile-compilation-dir=." ]
|
||||
-
|
||||
- # Convert absolute paths to relative paths. Expands to, for example:
|
||||
- # -file-prefix-map /path/to/chromium/src=../..
|
||||
- swiftflags += [
|
||||
- "-file-prefix-map",
|
||||
- rebase_path("//.", "") + "=" + rebase_path("//.", root_build_dir),
|
||||
- ]
|
||||
- }
|
||||
- if (!is_win) {
|
||||
- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
|
||||
- asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
|
||||
- }
|
||||
-
|
||||
- if (is_win && use_lld) {
|
||||
- if (symbol_level == 2 || (is_clang && using_sanitizer)) {
|
||||
- # Absolutize source file paths for PDB. Pass the real build directory
|
||||
- # if the pdb contains source-level debug information and if linker
|
||||
- # reproducibility is not critical.
|
||||
- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ]
|
||||
- } else {
|
||||
- # Use a fake fixed base directory for paths in the pdb to make the pdb
|
||||
- # output fully deterministic and independent of the build directory.
|
||||
- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ]
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
-
|
||||
# Tells the compiler not to use absolute paths when passing the default
|
||||
# paths to the tools it invokes. We don't want this because we don't
|
||||
# really need it and it can mess up the RBE cache entries.
|
||||
@@ -1602,28 +1507,6 @@ config("compiler_deterministic") {
|
||||
}
|
||||
}
|
||||
|
||||
-config("clang_revision") {
|
||||
- if (is_clang && clang_base_path == default_clang_base_path &&
|
||||
- current_os != "zos") {
|
||||
- update_args = [
|
||||
- "--print-revision",
|
||||
- "--verify-version=$clang_version",
|
||||
- ]
|
||||
- if (llvm_force_head_revision) {
|
||||
- update_args += [ "--llvm-force-head-revision" ]
|
||||
- }
|
||||
- clang_revision = exec_script("//tools/clang/scripts/update.py",
|
||||
- update_args,
|
||||
- "trim string")
|
||||
-
|
||||
- # This is here so that all files get recompiled after a clang roll and
|
||||
- # when turning clang on or off. (defines are passed via the command line,
|
||||
- # and build system rebuild things when their commandline changes). Nothing
|
||||
- # should ever read this define.
|
||||
- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ]
|
||||
- }
|
||||
-}
|
||||
-
|
||||
config("rustc_revision") {
|
||||
if (rustc_revision != "") {
|
||||
# Similar to the above config, this is here so that all files get recompiled
|
||||
@@ -1983,10 +1871,6 @@ config("chromium_code") {
|
||||
}
|
||||
} else {
|
||||
cflags = [ "-Wall" ]
|
||||
- if (is_clang) {
|
||||
- # Enable extra warnings for chromium_code when we control the compiler.
|
||||
- cflags += [ "-Wextra" ]
|
||||
- }
|
||||
|
||||
# In Chromium code, we define __STDC_foo_MACROS in order to get the
|
||||
# C99 macros on Mac and Linux.
|
||||
@@ -1995,24 +1879,6 @@ config("chromium_code") {
|
||||
"__STDC_FORMAT_MACROS",
|
||||
]
|
||||
|
||||
- if (!is_debug && !using_sanitizer && current_cpu != "s390x" &&
|
||||
- current_cpu != "s390" && current_cpu != "ppc64" &&
|
||||
- current_cpu != "mips" && current_cpu != "mips64" &&
|
||||
- current_cpu != "riscv64" && current_cpu != "loong64") {
|
||||
- # Non-chromium code is not guaranteed to compile cleanly with
|
||||
- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are
|
||||
- # disabled, so only do that for Release build.
|
||||
- fortify_level = "2"
|
||||
-
|
||||
- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3
|
||||
- # implementation with a few custom glibc patches. Use that if it's
|
||||
- # available.
|
||||
- if (is_chromeos_device && !lacros_use_chromium_toolchain) {
|
||||
- fortify_level = "3"
|
||||
- }
|
||||
- defines += [ "_FORTIFY_SOURCE=" + fortify_level ]
|
||||
- }
|
||||
-
|
||||
if (is_apple) {
|
||||
cflags_objc = [ "-Wimplicit-retain-self" ]
|
||||
cflags_objcc = [ "-Wimplicit-retain-self" ]
|
||||
@@ -2442,7 +2325,8 @@ config("default_stack_frames") {
|
||||
# [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000
|
||||
# [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000
|
||||
# [2]: https://crrev.com/c/5447532
|
||||
-config("optimize") {
|
||||
+config("optimize") { }
|
||||
+config("xoptimize") {
|
||||
if (is_win) {
|
||||
# clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for
|
||||
# consistency with the other platforms.
|
||||
@@ -2450,7 +2317,8 @@ config("optimize") {
|
||||
}
|
||||
|
||||
# Turn off optimizations.
|
||||
-config("no_optimize") {
|
||||
+config("no_optimize") { }
|
||||
+config("xno_optimize") {
|
||||
if (is_win) {
|
||||
cflags = [
|
||||
"/Od", # Disable optimization.
|
||||
@@ -2490,7 +2358,8 @@ config("no_optimize") {
|
||||
# Turns up the optimization level. Used to explicitly enable -O2 instead of
|
||||
# -Os for select targets on platforms that use optimize_for_size. No-op
|
||||
# elsewhere.
|
||||
-config("optimize_max") {
|
||||
+config("optimize_max") { }
|
||||
+config("xoptimize_max") {
|
||||
if (is_nacl && is_nacl_irt) {
|
||||
# The NaCl IRT is a special case and always wants its own config.
|
||||
# Various components do:
|
||||
@@ -2523,7 +2392,8 @@ config("optimize_max") {
|
||||
#
|
||||
# TODO(crbug.com/41259697) - rework how all of these configs are related
|
||||
# so that we don't need this disclaimer.
|
||||
-config("optimize_speed") {
|
||||
+config("optimize_speed") { }
|
||||
+config("xoptimize_speed") {
|
||||
if (is_nacl && is_nacl_irt) {
|
||||
# The NaCl IRT is a special case and always wants its own config.
|
||||
# Various components do:
|
||||
@@ -2552,7 +2422,8 @@ config("optimize_speed") {
|
||||
}
|
||||
}
|
||||
|
||||
-config("optimize_fuzzing") {
|
||||
+config("optimize_fuzzing") { }
|
||||
+config("xoptimize_fuzzing") {
|
||||
cflags = [ "-O1" ] + common_optimize_on_cflags
|
||||
rustflags = [ "-Copt-level=1" ]
|
||||
ldflags = common_optimize_on_ldflags
|
||||
@@ -2685,7 +2556,8 @@ config("win_pdbaltpath") {
|
||||
}
|
||||
|
||||
# Full symbols.
|
||||
-config("symbols") {
|
||||
+config("symbols") { }
|
||||
+config("xsymbols") {
|
||||
rustflags = []
|
||||
configs = []
|
||||
if (is_win) {
|
||||
@@ -2835,7 +2707,8 @@ config("symbols") {
|
||||
# Minimal symbols.
|
||||
# This config guarantees to hold symbol for stack trace which are shown to user
|
||||
# when crash happens in unittests running on buildbot.
|
||||
-config("minimal_symbols") {
|
||||
+config("minimal_symbols") { }
|
||||
+config("xminimal_symbols") {
|
||||
rustflags = []
|
||||
if (is_win) {
|
||||
# Functions, files, and line tables only.
|
||||
@@ -2920,7 +2793,8 @@ config("minimal_symbols") {
|
||||
# This configuration contains function names only. That is, the compiler is
|
||||
# told to not generate debug information and the linker then just puts function
|
||||
# names in the final debug information.
|
||||
-config("no_symbols") {
|
||||
+config("no_symbols") { }
|
||||
+config("xno_symbols") {
|
||||
if (is_win) {
|
||||
ldflags = [ "/DEBUG" ]
|
||||
|
105
chromium-125-ffmpeg-5.x-reordered_opaque.patch
Normal file
105
chromium-125-ffmpeg-5.x-reordered_opaque.patch
Normal file
@@ -0,0 +1,105 @@
|
||||
commit 62274859104bd828373ae406aa9309e610449ac5
|
||||
Author: Ted Meyer <tmathmeyer@chromium.org>
|
||||
Date: Fri Mar 22 19:56:55 2024 +0000
|
||||
|
||||
Replace deprecated use of AVCodecContext::reordered_opaque
|
||||
|
||||
We can use the AV_CODEC_FLAG_COPY_OPAQUE flag on the codec context
|
||||
now to trigger timestamp propagation.
|
||||
|
||||
Bug: 330573128
|
||||
Change-Id: I6bc57241a35ab5283742aad8d42acb4dc5e85858
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5384308
|
||||
Commit-Queue: Ted (Chromium) Meyer <tmathmeyer@chromium.org>
|
||||
Reviewed-by: Dan Sanders <sandersd@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#1277051}
|
||||
|
||||
diff --git a/media/filters/ffmpeg_video_decoder.cc b/media/filters/ffmpeg_video_decoder.cc
|
||||
index bd75477feeabb..8a658a58caac5 100644
|
||||
--- a/media/filters/ffmpeg_video_decoder.cc
|
||||
+++ b/media/filters/ffmpeg_video_decoder.cc
|
||||
@@ -134,7 +134,7 @@ bool FFmpegVideoDecoder::IsCodecSupported(VideoCodec codec) {
|
||||
}
|
||||
|
||||
FFmpegVideoDecoder::FFmpegVideoDecoder(MediaLog* media_log)
|
||||
- : media_log_(media_log) {
|
||||
+ : media_log_(media_log), timestamp_map_(128) {
|
||||
DVLOG(1) << __func__;
|
||||
DETACH_FROM_SEQUENCE(sequence_checker_);
|
||||
}
|
||||
@@ -363,8 +363,10 @@ bool FFmpegVideoDecoder::FFmpegDecode(const DecoderBuffer& buffer) {
|
||||
DCHECK(packet->data);
|
||||
DCHECK_GT(packet->size, 0);
|
||||
|
||||
- // Let FFmpeg handle presentation timestamp reordering.
|
||||
- codec_context_->reordered_opaque = buffer.timestamp().InMicroseconds();
|
||||
+ const int64_t timestamp = buffer.timestamp().InMicroseconds();
|
||||
+ const TimestampId timestamp_id = timestamp_id_generator_.GenerateNextId();
|
||||
+ timestamp_map_.Put(std::make_pair(timestamp_id, timestamp));
|
||||
+ packet->opaque = reinterpret_cast<void*>(timestamp_id.GetUnsafeValue());
|
||||
}
|
||||
FFmpegDecodingLoop::DecodeStatus decode_status = decoding_loop_->DecodePacket(
|
||||
packet, base::BindRepeating(&FFmpegVideoDecoder::OnNewFrame,
|
||||
@@ -423,7 +425,12 @@ bool FFmpegVideoDecoder::OnNewFrame(AVFrame* frame) {
|
||||
}
|
||||
gfx::Size natural_size = aspect_ratio.GetNaturalSize(visible_rect);
|
||||
|
||||
- const auto pts = base::Microseconds(frame->reordered_opaque);
|
||||
+ const auto ts_id = TimestampId(reinterpret_cast<size_t>(frame->opaque));
|
||||
+ const auto ts_lookup = timestamp_map_.Get(ts_id);
|
||||
+ if (ts_lookup == timestamp_map_.end()) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ const auto pts = base::Microseconds(std::get<1>(*ts_lookup));
|
||||
auto video_frame = VideoFrame::WrapExternalDataWithLayout(
|
||||
opaque->layout, visible_rect, natural_size, opaque->data, opaque->size,
|
||||
pts);
|
||||
@@ -482,8 +482,10 @@ bool FFmpegVideoDecoder::ConfigureDecoder(const VideoDecoderConfig& config,
|
||||
codec_context_->thread_count = GetFFmpegVideoDecoderThreadCount(config);
|
||||
codec_context_->thread_type =
|
||||
FF_THREAD_SLICE | (low_delay ? 0 : FF_THREAD_FRAME);
|
||||
+
|
||||
codec_context_->opaque = this;
|
||||
codec_context_->get_buffer2 = GetVideoBufferImpl;
|
||||
+ codec_context_->flags |= AV_CODEC_FLAG_COPY_OPAQUE;
|
||||
|
||||
if (decode_nalus_) {
|
||||
codec_context_->flags2 |= AV_CODEC_FLAG2_CHUNKS;
|
||||
diff --git a/media/filters/ffmpeg_video_decoder.h b/media/filters/ffmpeg_video_decoder.h
|
||||
index d02cb89c3ddf7..0a2de1c623fff 100644
|
||||
--- a/media/filters/ffmpeg_video_decoder.h
|
||||
+++ b/media/filters/ffmpeg_video_decoder.h
|
||||
@@ -7,10 +7,12 @@
|
||||
|
||||
#include <memory>
|
||||
|
||||
+#include "base/containers/lru_cache.h"
|
||||
#include "base/functional/callback.h"
|
||||
#include "base/memory/raw_ptr.h"
|
||||
#include "base/memory/scoped_refptr.h"
|
||||
#include "base/sequence_checker.h"
|
||||
+#include "base/types/id_type.h"
|
||||
#include "media/base/frame_buffer_pool.h"
|
||||
#include "media/base/supported_video_decoder_config.h"
|
||||
#include "media/base/video_decoder.h"
|
||||
@@ -87,6 +89,20 @@ class MEDIA_EXPORT FFmpegVideoDecoder : public VideoDecoder {
|
||||
// FFmpeg structures owned by this object.
|
||||
std::unique_ptr<AVCodecContext, ScopedPtrAVFreeContext> codec_context_;
|
||||
|
||||
+ // The gist here is that timestamps need to be 64 bits to store microsecond
|
||||
+ // precision. A 32 bit integer would overflow at ~35 minutes at this level of
|
||||
+ // precision. We can't cast the timestamp to the void ptr object used by the
|
||||
+ // opaque field in ffmpeg then, because it would lose data on a 32 bit build.
|
||||
+ // However, we don't actually have 2^31 timestamped frames in a single
|
||||
+ // playback, so it's fine to use the 32 bit value as a key in a map which
|
||||
+ // contains the actual timestamps. Additionally, we've in the past set 128
|
||||
+ // outstanding frames for re-ordering as a limit for cross-thread decoding
|
||||
+ // tasks, so we'll do that here too with the LRU cache.
|
||||
+ using TimestampId = base::IdType<int64_t, size_t, 0>;
|
||||
+
|
||||
+ TimestampId::Generator timestamp_id_generator_;
|
||||
+ base::LRUCache<TimestampId, int64_t> timestamp_map_;
|
||||
+
|
||||
VideoDecoderConfig config_;
|
||||
|
||||
scoped_refptr<FrameBufferPool> frame_pool_;
|
12
chromium-126-quiche-interator.patch
Normal file
12
chromium-126-quiche-interator.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
diff -up chromium-126.0.6478.26/net/third_party/quiche/src/quiche/quic/core/quic_interval_deque.h.me chromium-126.0.6478.26/net/third_party/quiche/src/quiche/quic/core/quic_interval_deque.h
|
||||
--- chromium-126.0.6478.26/net/third_party/quiche/src/quiche/quic/core/quic_interval_deque.h.me 2024-06-03 15:01:54.724207324 +0200
|
||||
+++ chromium-126.0.6478.26/net/third_party/quiche/src/quiche/quic/core/quic_interval_deque.h 2024-06-03 14:58:16.244189794 +0200
|
||||
@@ -144,7 +144,7 @@ class QUICHE_NO_EXPORT QuicIntervalDeque
|
||||
// for efficient std::lower_bound() calls.
|
||||
class QUICHE_NO_EXPORT Iterator {
|
||||
public:
|
||||
- using iterator_category = std::random_access_iterator_tag;
|
||||
+ using iterator_category = std::forward_iterator_tag;
|
||||
using value_type = T;
|
||||
using difference_type = std::ptrdiff_t;
|
||||
using pointer = T*;
|
21
chromium-127-bindgen.patch
Normal file
21
chromium-127-bindgen.patch
Normal file
@@ -0,0 +1,21 @@
|
||||
author: Andres Salomon <dilinger@debian.org>
|
||||
description: fix bindgen-related stuff
|
||||
|
||||
Also, the call to bindgen sets the path for libclang to
|
||||
rust_bindgen_root, which is wrong. We're already passing
|
||||
clang_base_path with the path to libclang, there's no reason that
|
||||
we'd expect libclang to be in the same directory as bindgen. That
|
||||
fix should probably go upstream.
|
||||
|
||||
|
||||
--- a/build/rust/rust_bindgen.gni
|
||||
+++ b/build/rust/rust_bindgen.gni
|
||||
@@ -18,7 +18,7 @@ if (host_os == "win") {
|
||||
|
||||
# On Windows, the libclang.dll is beside the bindgen.exe, otherwise it is in
|
||||
# ../lib.
|
||||
-_libclang_path = rust_bindgen_root
|
||||
+_libclang_path = clang_base_path
|
||||
if (host_os == "win") {
|
||||
_libclang_path += "/bin"
|
||||
} else {
|
108
chromium-127-constexpr.patch
Normal file
108
chromium-127-constexpr.patch
Normal file
@@ -0,0 +1,108 @@
|
||||
author: Andres Salomon <dilinger@debian.org>
|
||||
|
||||
../../services/network/shared_dictionary/simple_url_pattern_matcher.cc:31:34: error: constexpr variable 'kDefaultOptions' must be initialized by a constant expression
|
||||
31 | constexpr liburlpattern::Options kDefaultOptions = {.delimiter_list = "",
|
||||
| ^ ~~~~~~~~~~~~~~~~~~~~~~
|
||||
32 | .prefix_list = "",
|
||||
| ~~~~~~~~~~~~~~~~~~
|
||||
33 | .sensitive = true,
|
||||
| ~~~~~~~~~~~~~~~~~~
|
||||
34 | .strict = true};
|
||||
| ~~~~~~~~~~~~~~~
|
||||
|
||||
--- a/services/network/shared_dictionary/simple_url_pattern_matcher.cc
|
||||
+++ b/services/network/shared_dictionary/simple_url_pattern_matcher.cc
|
||||
@@ -28,17 +28,17 @@ namespace network {
|
||||
namespace {
|
||||
|
||||
// https://urlpattern.spec.whatwg.org/#default-options
|
||||
-constexpr liburlpattern::Options kDefaultOptions = {.delimiter_list = "",
|
||||
+const liburlpattern::Options kDefaultOptions = {.delimiter_list = "",
|
||||
.prefix_list = "",
|
||||
.sensitive = true,
|
||||
.strict = true};
|
||||
// https://urlpattern.spec.whatwg.org/#hostname-options
|
||||
-constexpr liburlpattern::Options kHostnameOptions = {.delimiter_list = ".",
|
||||
+const liburlpattern::Options kHostnameOptions = {.delimiter_list = ".",
|
||||
.prefix_list = "",
|
||||
.sensitive = true,
|
||||
.strict = true};
|
||||
// https://urlpattern.spec.whatwg.org/#pathname-options
|
||||
-constexpr liburlpattern::Options kPathnameOptions = {.delimiter_list = "/",
|
||||
+const liburlpattern::Options kPathnameOptions = {.delimiter_list = "/",
|
||||
.prefix_list = "/",
|
||||
.sensitive = true,
|
||||
.strict = true};
|
||||
--- a/components/autofill/core/browser/data_model/addresses/autofill_i18n_api.h
|
||||
+++ b/components/autofill/core/browser/data_model/addresses/autofill_i18n_api.h
|
||||
@@ -16,8 +16,8 @@ namespace autofill::i18n_model_definitio
|
||||
// Country code that represents autofill's legacy address hierarchy model as
|
||||
// stored `kAutofillModelRules`. As a workaround for GCC we declare the
|
||||
// std::string constexpr first.
|
||||
-constexpr inline std::string kLegacyHierarchyCountryCodeString{"XX"};
|
||||
-constexpr AddressCountryCode kLegacyHierarchyCountryCode =
|
||||
+[[clang::no_destroy]] const inline std::string kLegacyHierarchyCountryCodeString{"XX"};
|
||||
+[[clang::no_destroy]] const AddressCountryCode kLegacyHierarchyCountryCode =
|
||||
AddressCountryCode(kLegacyHierarchyCountryCodeString);
|
||||
|
||||
// Creates an instance of the address hierarchy model corresponding to the
|
||||
--- a/components/omnibox/browser/on_device_tail_model_service.cc
|
||||
+++ b/components/omnibox/browser/on_device_tail_model_service.cc
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
namespace {
|
||||
// Constants for TFlite model validation.
|
||||
-constexpr std::string kTestPrefix = "google m";
|
||||
+const std::string kTestPrefix = "google m";
|
||||
constexpr std::string_view kModelValidationSwitchName =
|
||||
"omnibox-on-device-tail-model-validation";
|
||||
|
||||
--- a/chrome/browser/ui/lens/lens_overlay_url_builder.cc
|
||||
+++ b/chrome/browser/ui/lens/lens_overlay_url_builder.cc
|
||||
@@ -80,7 +80,7 @@
|
||||
inline constexpr char kSecActQueryParamKey[] = "sec_act";
|
||||
|
||||
// The list of query parameters to ignore when comparing search URLs.
|
||||
-inline constexpr std::string kIgnoredSearchUrlQueryParameters[] = {
|
||||
+inline const std::string kIgnoredSearchUrlQueryParameters[] = {
|
||||
kViewportWidthQueryParamKey, kViewportHeightQueryParamKey,
|
||||
kXSRFTokenQueryParamKey, kSecActQueryParamKey,
|
||||
kModeParameterKey, kToolbeltModeParameterKey};
|
||||
--- a/content/public/test/prefetch_test_util.h
|
||||
+++ b/content/public/test/prefetch_test_util.h
|
||||
@@ -15,7 +15,7 @@ namespace content::test {
|
||||
|
||||
using PrefetchContainerIdForTesting =
|
||||
base::StrongAlias<class PrefetchContainerIdForTestingTag, std::string>;
|
||||
-inline constexpr PrefetchContainerIdForTesting
|
||||
+inline const PrefetchContainerIdForTesting
|
||||
InvalidPrefetchContainerIdForTesting = PrefetchContainerIdForTesting("");
|
||||
|
||||
class TestPrefetchWatcherImpl;
|
||||
--- a/components/history_embeddings/ml_answerer.cc
|
||||
+++ b/components/history_embeddings/ml_answerer.cc
|
||||
@@ -24,7 +24,7 @@ using optimization_guide::proto::Passage
|
||||
|
||||
namespace {
|
||||
|
||||
-static constexpr std::string kPassageIdToken = "ID";
|
||||
+static const std::string kPassageIdToken = "ID";
|
||||
// Estimated token count of the preamble text in prompt.
|
||||
static constexpr size_t kPreambleTokenBufferSize = 100u;
|
||||
// Estimated token count of overhead text per passage.
|
||||
--- a/components/compose/core/browser/config.cc
|
||||
+++ b/components/compose/core/browser/config.cc
|
||||
@@ -46,11 +46,11 @@
|
||||
}
|
||||
|
||||
constexpr auto DEFAULT_COMPOSE_ENABLED_COUNTRIES =
|
||||
- base::MakeFixedFlatSet<std::string>({"bd", "ca", "gh", "in", "ke", "my",
|
||||
+ base::MakeFixedFlatSet<std::string_view>({"bd", "ca", "gh", "in", "ke", "my",
|
||||
"ng", "ph", "pk", "sg", "tz", "ug",
|
||||
"us", "zm", "zw"});
|
||||
constexpr auto DEFAULT_PROACTIVE_NUDGE_ENABLED_COUNTRIES =
|
||||
- base::MakeFixedFlatSet<std::string>({"us"});
|
||||
+ base::MakeFixedFlatSet<std::string_view>({"us"});
|
||||
|
||||
} // namespace
|
||||
|
57
chromium-127-rust-clanglib.patch
Normal file
57
chromium-127-rust-clanglib.patch
Normal file
@@ -0,0 +1,57 @@
|
||||
diff -up chromium-127.0.6533.72/build/rust/rust_bindgen.gni.me chromium-127.0.6533.72/build/rust/rust_bindgen.gni
|
||||
--- chromium-127.0.6533.72/build/rust/rust_bindgen.gni.me 2024-07-25 16:11:18.754551595 +0200
|
||||
+++ chromium-127.0.6533.72/build/rust/rust_bindgen.gni 2024-07-25 16:11:33.997837660 +0200
|
||||
@@ -22,7 +22,7 @@ _libclang_path = rust_bindgen_root
|
||||
if (host_os == "win") {
|
||||
_libclang_path += "/bin"
|
||||
} else {
|
||||
- _libclang_path += "/lib"
|
||||
+ _libclang_path += "/lib64"
|
||||
}
|
||||
|
||||
# Template to build Rust/C bindings with bindgen.
|
||||
@@ -105,6 +105,14 @@
|
||||
# it's declared.
|
||||
deps = [ ":${_rust_bindgen_generator_name}_static_fns" ]
|
||||
}
|
||||
+
|
||||
+ # Default configs include "-fvisibility=hidden", and for some reason this
|
||||
+ # causes bindgen not to emit function bindings. Override it.
|
||||
+ args = []
|
||||
+ if (!is_win) {
|
||||
+ args += [ "-fvisibility=default" ]
|
||||
+ }
|
||||
+
|
||||
if (defined(cpp) && cpp) {
|
||||
# This cfg is used to control the bindings public export.
|
||||
rustflags = [
|
||||
--- chromium-132.0.6811.2/build/rust/rust_bindgen_generator.gni 2024/11/07 11:34:54 1.1
|
||||
+++ chromium-132.0.6811.2/build/rust/rust_bindgen_generator.gni 2024/11/07 11:35:41
|
||||
@@ -22,7 +22,7 @@
|
||||
if (host_os == "win") {
|
||||
_libclang_path += "/bin"
|
||||
} else {
|
||||
- _libclang_path += "/lib"
|
||||
+ _libclang_path += "/lib64"
|
||||
}
|
||||
|
||||
# Template to build Rust/C bindings with bindgen.
|
||||
@@ -266,6 +266,8 @@
|
||||
# causes bindgen not to emit function bindings. Override it.
|
||||
if (!is_win) {
|
||||
args += [ "-fvisibility=default" ]
|
||||
+ args += [ "-I/usr/include/c++/v1" ]
|
||||
+ args += [ "-I/usr/lib64/clang/" + clang_version + "/include" ]
|
||||
}
|
||||
|
||||
if (is_win) {
|
||||
--- chromium-132.0.6811.2/build/config/gcc/BUILD.gn 2024/11/07 14:13:22 1.1
|
||||
+++ chromium-132.0.6811.2/build/config/gcc/BUILD.gn 2024/11/07 14:13:45
|
||||
@@ -32,7 +32,6 @@
|
||||
# See http://gcc.gnu.org/wiki/Visibility
|
||||
config("symbol_visibility_hidden") {
|
||||
cflags = [ "-fvisibility=hidden" ]
|
||||
- rustflags = [ "-Zdefault-visibility=hidden" ]
|
||||
|
||||
# Visibility attribute is not supported on AIX.
|
||||
if (current_os != "aix") {
|
12
chromium-129-revert-AVFMT_FLAG_NOH264PARSE.patch
Normal file
12
chromium-129-revert-AVFMT_FLAG_NOH264PARSE.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
--- chromium-133.0.6943.16/media/filters/ffmpeg_glue.cc 2025/01/20 15:06:56 1.1
|
||||
+++ chromium-133.0.6943.16/media/filters/ffmpeg_glue.cc 2025/01/20 15:07:32
|
||||
@@ -111,7 +111,8 @@
|
||||
|
||||
// We don't allow H.264 parsing during demuxing since we have our own parser
|
||||
// and the ffmpeg one increases memory usage unnecessarily.
|
||||
- format_context_->flags |= AVFMT_FLAG_NOH264PARSE;
|
||||
+ // TODO(crbug.com/355485812): Re-enable this flag.
|
||||
+ // format_context_->flags |= AVFMT_FLAG_NOH264PARSE;
|
||||
|
||||
// Ensures format parsing errors will bail out. From an audit on 11/2017, all
|
||||
// instances were real failures. Solves bugs like http://crbug.com/710791.
|
19
chromium-131-clang-stack-protector.patch
Normal file
19
chromium-131-clang-stack-protector.patch
Normal file
@@ -0,0 +1,19 @@
|
||||
--- chromium-131.0.6778.69/base/compiler_specific.h 2024/11/18 15:29:10 1.1
|
||||
+++ chromium-131.0.6778.69/base/compiler_specific.h 2024/11/18 16:16:01
|
||||
@@ -424,10 +424,12 @@
|
||||
// // Stack canary checks will not be performed in this body.
|
||||
// }
|
||||
// ```
|
||||
-#if __has_cpp_attribute(gnu::no_stack_protector)
|
||||
-#define NO_STACK_PROTECTOR [[gnu::no_stack_protector]]
|
||||
-#elif __has_cpp_attribute(gnu::optimize)
|
||||
-#define NO_STACK_PROTECTOR [[gnu::optimize("-fno-stack-protector")]]
|
||||
+#if defined(COMPILER_GCC) || defined(__clang__)
|
||||
+#if HAS_ATTRIBUTE(__no_stack_protector__)
|
||||
+#define NO_STACK_PROTECTOR __attribute__((__no_stack_protector__))
|
||||
+#else
|
||||
+#define NO_STACK_PROTECTOR __attribute__((__optimize__("-fno-stack-protector")))
|
||||
+#endif
|
||||
#else
|
||||
#define NO_STACK_PROTECTOR
|
||||
#endif
|
18
chromium-131-fix-qt-ui.pach
Normal file
18
chromium-131-fix-qt-ui.pach
Normal file
@@ -0,0 +1,18 @@
|
||||
From b9075d0e1f687f9a5cf80a7778bde99cece9fdf7 Mon Sep 17 00:00:00 2001
|
||||
From: Than Ngo <than@redhat.com>
|
||||
Date: Sat, 23 Nov 2024 12:33:22 +0100
|
||||
Subject: [PATCH] Enable qt-ui
|
||||
|
||||
|
||||
diff -up chromium-131.0.6778.85/ui/qt/qt_shim.cc.me chromium-131.0.6778.85/ui/qt/qt_shim.cc
|
||||
--- chromium-131.0.6778.85/ui/qt/qt_shim.cc.me 2024-11-23 10:04:16.789121846 +0100
|
||||
+++ chromium-131.0.6778.85/ui/qt/qt_shim.cc 2024-11-23 11:40:02.905064702 +0100
|
||||
@@ -265,7 +265,7 @@ FontRenderParams QtShim::GetFontRenderPa
|
||||
FontDescription QtShim::GetFontDescription() const {
|
||||
QFont font = app_.font();
|
||||
return {
|
||||
- .family = String(font.family().toStdString().c_str()),
|
||||
+ .family = String(font.family().toUtf8().constData()),
|
||||
.size_pixels = font.pixelSize(),
|
||||
.size_points = font.pointSize(),
|
||||
.is_italic = IsStyleItalic(font.style()),
|
11
chromium-132-pdfium-explicit-template.patch
Normal file
11
chromium-132-pdfium-explicit-template.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- chromium-132.0.6834.15/pdf/pdfium/pdfium_api_wrappers.cc 2024/12/03 16:47:07 1.1
|
||||
+++ chromium-132.0.6834.15/pdf/pdfium/pdfium_api_wrappers.cc 2024/12/03 16:48:54
|
||||
@@ -147,7 +147,7 @@
|
||||
|
||||
// Number of characters, including the NUL.
|
||||
const size_t expected_size = base::checked_cast<size_t>(buflen_bytes / 2);
|
||||
- PDFiumAPIStringBufferAdapter adapter(&name, expected_size,
|
||||
+ PDFiumAPIStringBufferAdapter<std::u16string> adapter(&name, expected_size,
|
||||
/*check_expected_size=*/true);
|
||||
unsigned long actual_buflen_bytes = 0; // NOLINT(runtime/int)
|
||||
bool result =
|
60
chromium-133-bring_back_and_disable_allowlist.patch
Normal file
60
chromium-133-bring_back_and_disable_allowlist.patch
Normal file
@@ -0,0 +1,60 @@
|
||||
--- chromium-133.0.6943.98/media/base/media_switches.h 2025/02/18 15:56:48 1.1
|
||||
+++ chromium-133.0.6943.98/media/base/media_switches.h 2025/02/18 15:57:20
|
||||
@@ -516,6 +516,8 @@
|
||||
|
||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseWindowBoundsForPip);
|
||||
|
||||
+MEDIA_EXPORT BASE_DECLARE_FEATURE(kFFmpegAllowLists);
|
||||
+
|
||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kMediaLogToConsole);
|
||||
|
||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kLibvpxUseChromeThreads);
|
||||
--- chromium-133.0.6943.98/media/base/media_switches.cc 2025/02/18 15:56:07 1.1
|
||||
+++ chromium-133.0.6943.98/media/base/media_switches.cc 2025/02/18 15:56:48
|
||||
@@ -1657,6 +1657,11 @@
|
||||
"UseWindowBoundsForPip",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
+// Enables FFmpeg allow lists for supported codecs / containers.
|
||||
+BASE_FEATURE(kFFmpegAllowLists,
|
||||
+ "FFmpegAllowLists",
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
// Enables audio offload when supported by endpoints.
|
||||
BASE_FEATURE(kAudioOffload, "AudioOffload", base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
--- chromium-133.0.6943.98/media/ffmpeg/ffmpeg_common.cc 2025/02/18 16:03:18 1.1
|
||||
+++ chromium-133.0.6943.98/media/ffmpeg/ffmpeg_common.cc 2025/02/18 16:04:02
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "media/base/audio_decoder_config.h"
|
||||
#include "media/base/decoder_buffer.h"
|
||||
#include "media/base/encryption_scheme.h"
|
||||
+#include "media/base/media_switches.h"
|
||||
#include "media/base/media_util.h"
|
||||
#include "media/base/supported_types.h"
|
||||
#include "media/base/video_aspect_ratio.h"
|
||||
@@ -76,7 +76,8 @@
|
||||
void ApplyCodecContextSecuritySettings(AVCodecContext* codec_context) {
|
||||
// Future versions of ffmpeg may copy the allow list from the format
|
||||
// context.
|
||||
- if (!codec_context->codec_whitelist) {
|
||||
+ if (base::FeatureList::IsEnabled(kFFmpegAllowLists) &&
|
||||
+ !codec_context->codec_whitelist) {
|
||||
// Note: FFmpeg will try to free this string, so we must duplicate it.
|
||||
codec_context->codec_whitelist =
|
||||
av_strdup(codec_context->codec_type == AVMEDIA_TYPE_AUDIO
|
||||
--- chromium-133.0.6943.98/media/filters/ffmpeg_glue.cc 2025/02/18 16:06:06 1.1
|
||||
+++ chromium-133.0.6943.98/media/filters/ffmpeg_glue.cc 2025/02/18 16:07:06
|
||||
@@ -131,8 +131,10 @@
|
||||
// memory usage.
|
||||
//
|
||||
// Note: FFmpeg will try to free these strings, so we must duplicate them.
|
||||
- format_context_->codec_whitelist = av_strdup(GetAllowedAudioDecoders());
|
||||
- format_context_->format_whitelist = av_strdup(GetAllowedDemuxers());
|
||||
+ if (base::FeatureList::IsEnabled(kFFmpegAllowLists)) {
|
||||
+ format_context_->codec_whitelist = av_strdup(GetAllowedAudioDecoders());
|
||||
+ format_context_->format_whitelist = av_strdup(GetAllowedDemuxers());
|
||||
+ }
|
||||
}
|
||||
|
||||
bool FFmpegGlue::OpenContext(bool is_local_file) {
|
57
chromium-134-revert-rust-adler2.patch
Normal file
57
chromium-134-revert-rust-adler2.patch
Normal file
@@ -0,0 +1,57 @@
|
||||
diff --git a/build/rust/std/BUILD.gn b/build/rust/std/BUILD.gn
|
||||
index 68b085be200fa..6b996aa1fe386 100644
|
||||
--- a/build/rust/std/BUILD.gn
|
||||
+++ b/build/rust/std/BUILD.gn
|
||||
@@ -89,7 +89,7 @@ if (toolchain_has_rust) {
|
||||
# These are no longer present in the Windows toolchain.
|
||||
stdlib_files += [
|
||||
"addr2line",
|
||||
- "adler",
|
||||
+ "adler2",
|
||||
"gimli",
|
||||
"libc",
|
||||
"memchr",
|
||||
diff --git a/build/rust/std/rules/BUILD.gn b/build/rust/std/rules/BUILD.gn
|
||||
index 6b59b0894d365..e44d638832b6f 100644
|
||||
--- a/build/rust/std/rules/BUILD.gn
|
||||
+++ b/build/rust/std/rules/BUILD.gn
|
||||
@@ -65,22 +70,22 @@ cargo_crate("addr2line") {
|
||||
output_dir =
|
||||
"$root_out_dir/local_rustc_sysroot/lib/rustlib/$rust_abi_target/lib/"
|
||||
}
|
||||
-cargo_crate("adler") {
|
||||
+cargo_crate("adler2") {
|
||||
crate_type = "rlib"
|
||||
- crate_root = "//third_party/rust-toolchain/lib/rustlib/src/rust/library/vendor/adler-1.0.2/src/lib.rs"
|
||||
+ crate_root = "//third_party/rust-toolchain/lib/rustlib/src/rust/library/vendor/adler2-2.0.0/src/lib.rs"
|
||||
sources = [
|
||||
- "//third_party/rust-toolchain/lib/rustlib/src/rust/library/vendor/adler-1.0.2/src/algo.rs",
|
||||
- "//third_party/rust-toolchain/lib/rustlib/src/rust/library/vendor/adler-1.0.2/src/lib.rs",
|
||||
+ "//third_party/rust-toolchain/lib/rustlib/src/rust/library/vendor/adler2-2.0.0/src/algo.rs",
|
||||
+ "//third_party/rust-toolchain/lib/rustlib/src/rust/library/vendor/adler2-2.0.0/src/lib.rs",
|
||||
]
|
||||
inputs = []
|
||||
no_std = true
|
||||
|
||||
# Unit tests skipped. Generate with --with-tests to include them.
|
||||
build_native_rust_unit_tests = false
|
||||
- edition = "2015"
|
||||
- cargo_pkg_version = "1.0.2"
|
||||
- cargo_pkg_authors = "Jonas Schievink <jonasschievink@gmail.com>"
|
||||
- cargo_pkg_name = "adler"
|
||||
+ edition = "2021"
|
||||
+ cargo_pkg_version = "2.0.0"
|
||||
+ cargo_pkg_authors = "Jonas Schievink <jonasschievink@gmail.com>, oyvindln <oyvindln@users.noreply.github.com>"
|
||||
+ cargo_pkg_name = "adler2"
|
||||
cargo_pkg_description =
|
||||
"A simple clean-room implementation of the Adler-32 checksum"
|
||||
library_configs -= [
|
||||
@@ -1618,7 +1624,7 @@ cargo_crate("miniz_oxide") {
|
||||
]
|
||||
executable_configs += [ "//build/config/compiler:no_chromium_code" ]
|
||||
deps = [
|
||||
- ":adler",
|
||||
+ ":adler2",
|
||||
":compiler_builtins",
|
||||
":rustc_std_workspace_alloc",
|
||||
":rustc_std_workspace_core",
|
13
chromium-134-type-mismatch-error.patch
Normal file
13
chromium-134-type-mismatch-error.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
diff -up chromium-134.0.6998.23/base/containers/to_value_list.h.me chromium-134.0.6998.23/base/containers/to_value_list.h
|
||||
--- chromium-134.0.6998.23/base/containers/to_value_list.h.me 2025-02-23 22:39:33.369668072 +0100
|
||||
+++ chromium-134.0.6998.23/base/containers/to_value_list.h 2025-02-23 22:42:42.653990901 +0100
|
||||
@@ -36,8 +36,7 @@ Value::List ToValueList(Range&& range, P
|
||||
auto container = Value::List::with_capacity(std::ranges::size(range));
|
||||
std::ranges::for_each(
|
||||
std::forward<Range>(range),
|
||||
- [&]<typename T>(T&& value) { container.Append(std::forward<T>(value)); },
|
||||
- std::move(proj));
|
||||
+ [&](auto&& value) { container.Append(std::invoke(proj, std::forward<decltype(*std::ranges::begin(range))>(value))); });
|
||||
return container;
|
||||
}
|
||||
|
3
chromium-135.0.7049.52.tar.xz
Normal file
3
chromium-135.0.7049.52.tar.xz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:620ed41ac1c1bd465c775376deaafd43fd0f6cdd2be1971ed87511683728f5a7
|
||||
size 7017155948
|
249
chromium-6.0.406.0-system-gyp-v8.patch
Normal file
249
chromium-6.0.406.0-system-gyp-v8.patch
Normal file
@@ -0,0 +1,249 @@
|
||||
--- chromium/src/build/all.gyp 2010-11-25 19:17:16.000000000 +0100
|
||||
+++ new/src/build/all.gyp 2010-11-25 21:05:09.413000018 +0100
|
||||
@@ -59,7 +59,7 @@
|
||||
'conditions': [
|
||||
['javascript_engine=="v8"', {
|
||||
'dependencies': [
|
||||
- '../v8/tools/gyp/v8.gyp:*',
|
||||
+ 'linux/system.gyp:v8',
|
||||
],
|
||||
}],
|
||||
['OS=="mac" or OS=="linux"', {
|
||||
@@ -149,167 +149,6 @@
|
||||
}],
|
||||
],
|
||||
}, # target_name: All
|
||||
- {
|
||||
- 'target_name': 'chromium_builder_tests',
|
||||
- 'type': 'none',
|
||||
- 'dependencies': [
|
||||
- '../base/base.gyp:base_unittests',
|
||||
- '../chrome/chrome.gyp:browser_tests',
|
||||
- '../chrome/chrome.gyp:interactive_ui_tests',
|
||||
- '../chrome/chrome.gyp:nacl_ui_tests',
|
||||
- '../chrome/chrome.gyp:nacl_sandbox_tests',
|
||||
- '../chrome/chrome.gyp:safe_browsing_tests',
|
||||
- '../chrome/chrome.gyp:sync_integration_tests',
|
||||
- '../chrome/chrome.gyp:sync_unit_tests',
|
||||
- '../chrome/chrome.gyp:ui_tests',
|
||||
- '../chrome/chrome.gyp:unit_tests',
|
||||
- '../content/content.gyp:content_unittests',
|
||||
- '../crypto/crypto.gyp:crypto_unittests',
|
||||
- '../ui/ui.gyp:gfx_unittests',
|
||||
- '../gpu/gpu.gyp:gpu_unittests',
|
||||
- '../gpu/gles2_conform_support/gles2_conform_support.gyp:gles2_conform_support',
|
||||
- '../ipc/ipc.gyp:ipc_tests',
|
||||
- '../jingle/jingle.gyp:jingle_unittests',
|
||||
- '../media/media.gyp:media_unittests',
|
||||
- '../net/net.gyp:net_unittests',
|
||||
- '../printing/printing.gyp:printing_unittests',
|
||||
- '../remoting/remoting.gyp:remoting_unittests',
|
||||
- '../sql/sql.gyp:sql_unittests',
|
||||
- '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
|
||||
- '../third_party/libphonenumber/libphonenumber.gyp:libphonenumber_unittests',
|
||||
- 'temp_gyp/googleurl.gyp:googleurl_unittests',
|
||||
- ],
|
||||
- 'conditions': [
|
||||
- ['OS=="win"', {
|
||||
- 'dependencies': [
|
||||
- '../chrome/chrome.gyp:installer_util_unittests',
|
||||
- '../chrome/chrome.gyp:mini_installer_test',
|
||||
- # mini_installer_tests depends on mini_installer. This should be
|
||||
- # defined in installer.gyp.
|
||||
- '../chrome/installer/mini_installer.gyp:mini_installer',
|
||||
- '../chrome_frame/chrome_frame.gyp:chrome_frame_net_tests',
|
||||
- '../chrome_frame/chrome_frame.gyp:chrome_frame_perftests',
|
||||
- '../chrome_frame/chrome_frame.gyp:chrome_frame_reliability_tests',
|
||||
- '../chrome_frame/chrome_frame.gyp:chrome_frame_tests',
|
||||
- '../chrome_frame/chrome_frame.gyp:chrome_frame_unittests',
|
||||
- '../chrome_frame/chrome_frame.gyp:npchrome_frame',
|
||||
- '../courgette/courgette.gyp:courgette_unittests',
|
||||
- '../sandbox/sandbox.gyp:sbox_integration_tests',
|
||||
- '../sandbox/sandbox.gyp:sbox_unittests',
|
||||
- '../sandbox/sandbox.gyp:sbox_validation_tests',
|
||||
- '../views/views.gyp:views_unittests',
|
||||
- '../third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:copy_TestNetscapePlugIn',
|
||||
- # TODO(nsylvain) ui_tests.exe depends on test_shell_common.
|
||||
- # This should:
|
||||
- # 1) not be the case. OR.
|
||||
- # 2) be expressed in the ui tests dependencies.
|
||||
- '../webkit/webkit.gyp:test_shell_common',
|
||||
- ],
|
||||
- }],
|
||||
- ],
|
||||
- }, # target_name: chromium_builder_tests
|
||||
- {
|
||||
- 'target_name': 'chromium_2010_builder_tests',
|
||||
- 'type': 'none',
|
||||
- 'dependencies': [
|
||||
- '../chrome/chrome.gyp:chrome',
|
||||
- '../base/base.gyp:base_unittests',
|
||||
- '../chrome/chrome.gyp:browser_tests',
|
||||
- '../chrome/chrome.gyp:interactive_ui_tests',
|
||||
- # TODO(bradnelson): fix and enable.
|
||||
- #'../chrome/chrome.gyp:nacl_ui_tests',
|
||||
- #'../chrome/chrome.gyp:nacl_sandbox_tests',
|
||||
- '../chrome/chrome.gyp:safe_browsing_tests',
|
||||
- '../chrome/chrome.gyp:sync_integration_tests',
|
||||
- '../chrome/chrome.gyp:sync_unit_tests',
|
||||
- '../chrome/chrome.gyp:ui_tests',
|
||||
- '../chrome/chrome.gyp:unit_tests',
|
||||
- '../content/content.gyp:content_unittests',
|
||||
- '../crypto/crypto.gyp:crypto_unittests',
|
||||
- '../ui/ui.gyp:gfx_unittests',
|
||||
- '../gpu/gpu.gyp:gpu_unittests',
|
||||
- '../ipc/ipc.gyp:ipc_tests',
|
||||
- '../jingle/jingle.gyp:jingle_unittests',
|
||||
- '../media/media.gyp:media_unittests',
|
||||
- '../net/net.gyp:net_unittests',
|
||||
- '../printing/printing.gyp:printing_unittests',
|
||||
- '../remoting/remoting.gyp:remoting_unittests',
|
||||
- '../sql/sql.gyp:sql_unittests',
|
||||
- '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
|
||||
- '../third_party/libphonenumber/libphonenumber.gyp:libphonenumber_unittests',
|
||||
- 'temp_gyp/googleurl.gyp:googleurl_unittests',
|
||||
- ],
|
||||
- 'conditions': [
|
||||
- ['OS=="win"', {
|
||||
- 'dependencies': [
|
||||
- '../chrome/chrome.gyp:installer_util_unittests',
|
||||
- # TODO(bradnelson): fix and enable.
|
||||
- #'../chrome/chrome.gyp:mini_installer_test',
|
||||
- # mini_installer_tests depends on mini_installer. This should be
|
||||
- # defined in installer.gyp.
|
||||
- #'../chrome/installer/mini_installer.gyp:mini_installer',
|
||||
- #'../chrome_frame/chrome_frame.gyp:chrome_frame_net_tests',
|
||||
- #'../chrome_frame/chrome_frame.gyp:chrome_frame_perftests',
|
||||
- #'../chrome_frame/chrome_frame.gyp:chrome_frame_reliability_tests',
|
||||
- #'../chrome_frame/chrome_frame.gyp:chrome_frame_tests',
|
||||
- #'../chrome_frame/chrome_frame.gyp:chrome_frame_unittests',
|
||||
- #'../chrome_frame/chrome_frame.gyp:npchrome_frame',
|
||||
- '../courgette/courgette.gyp:courgette_unittests',
|
||||
- '../sandbox/sandbox.gyp:sbox_integration_tests',
|
||||
- '../sandbox/sandbox.gyp:sbox_unittests',
|
||||
- '../sandbox/sandbox.gyp:sbox_validation_tests',
|
||||
- '../views/views.gyp:views_unittests',
|
||||
- '../third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:copy_TestNetscapePlugIn',
|
||||
- # TODO(nsylvain) ui_tests.exe depends on test_shell_common.
|
||||
- # This should:
|
||||
- # 1) not be the case. OR.
|
||||
- # 2) be expressed in the ui tests dependencies.
|
||||
- '../webkit/webkit.gyp:test_shell_common',
|
||||
- ],
|
||||
- }],
|
||||
- ],
|
||||
- }, # target_name: chromium_2010_builder_tests
|
||||
- {
|
||||
- 'target_name': 'chromium_builder_nacl_win_integration',
|
||||
- 'type': 'none',
|
||||
- 'dependencies': [
|
||||
- 'chromium_builder_qa', # needed for pyauto
|
||||
- 'chromium_builder_tests',
|
||||
- ],
|
||||
- }, # target_name: chromium_builder_nacl_win_integration
|
||||
- {
|
||||
- 'target_name': 'chromium_builder_perf',
|
||||
- 'type': 'none',
|
||||
- 'dependencies': [
|
||||
- 'chromium_builder_qa', # needed for pyauto
|
||||
- '../chrome/chrome.gyp:performance_ui_tests',
|
||||
- '../chrome/chrome.gyp:plugin_tests',
|
||||
- '../chrome/chrome.gyp:sync_performance_tests',
|
||||
- '../chrome/chrome.gyp:ui_tests',
|
||||
- ],
|
||||
- }, # target_name: chromium_builder_perf
|
||||
- {
|
||||
- 'target_name': 'chromium_gpu_builder',
|
||||
- 'type': 'none',
|
||||
- 'dependencies': [
|
||||
- '../chrome/chrome.gyp:gpu_tests',
|
||||
- '../third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:DumpRenderTree',
|
||||
- ],
|
||||
- }, # target_name: chromium_gpu_builder
|
||||
- {
|
||||
- 'target_name': 'chromium_builder_qa',
|
||||
- 'type': 'none',
|
||||
- 'dependencies': [
|
||||
- '../chrome/chrome.gyp:chromedriver',
|
||||
- ],
|
||||
- 'conditions': [
|
||||
- ['OS=="mac" or OS=="win" or (os_posix==1 and target_arch==python_arch)', {
|
||||
- 'dependencies': [
|
||||
- '../chrome/chrome.gyp:pyautolib',
|
||||
- ],
|
||||
- }],
|
||||
- ],
|
||||
- }, # target_name: chromium_builder_qa
|
||||
],
|
||||
'conditions': [
|
||||
['OS=="mac"', {
|
||||
--- chromium/src/build/linux/system.gyp 2010-11-20 23:07:46.000000000 +0100
|
||||
+++ new/src/build/linux/system.gyp 2010-11-25 21:05:09.418000018 +0100
|
||||
@@ -340,6 +340,19 @@
|
||||
}]]
|
||||
},
|
||||
{
|
||||
+ 'target_name': 'v8',
|
||||
+ 'type': 'settings',
|
||||
+ 'conditions': [
|
||||
+ ['_toolset=="target"', {
|
||||
+ 'link_settings': {
|
||||
+ 'libraries': [
|
||||
+ '-lv8',
|
||||
+ '-lvpx',
|
||||
+ ],
|
||||
+ },
|
||||
+ }]]
|
||||
+ },
|
||||
+ {
|
||||
'target_name': 'gnome_keyring',
|
||||
'type': 'settings',
|
||||
'conditions': [
|
||||
--- chromium/src/net/net.gyp 2010-11-25 19:17:15.000000000 +0100
|
||||
+++ new/src/net/net.gyp 2010-11-25 21:05:09.427000018 +0100
|
||||
@@ -717,7 +717,7 @@
|
||||
'conditions': [
|
||||
['javascript_engine=="v8"', {
|
||||
'dependencies': [
|
||||
- '../v8/tools/gyp/v8.gyp:v8',
|
||||
+ '../build/linux/system.gyp:v8',
|
||||
],
|
||||
}],
|
||||
['chromeos==1', {
|
||||
--- chromium/src/third_party/WebKit/Source/WebCore/WebCore.gyp/WebCore.gyp 2010-11-20 23:09:21.000000000 +0100
|
||||
+++ new/src/third_party/WebKit/Source/WebCore/WebCore.gyp/WebCore.gyp 2010-11-25 21:05:09.435000018 +0100
|
||||
@@ -789,7 +789,7 @@
|
||||
'conditions': [
|
||||
['javascript_engine=="v8"', {
|
||||
'dependencies': [
|
||||
- '<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
|
||||
+ '<(chromium_src_dir)/build/linux/system.gyp:v8',
|
||||
],
|
||||
'conditions': [
|
||||
['inside_chromium_build==1 and OS=="win" and component=="shared_library"', {
|
||||
@@ -904,10 +904,10 @@
|
||||
'conditions': [
|
||||
['javascript_engine=="v8"', {
|
||||
'dependencies': [
|
||||
- '<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
|
||||
+ '<(chromium_src_dir)/build/linux/system.gyp:v8',
|
||||
],
|
||||
'export_dependent_settings': [
|
||||
- '<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
|
||||
+ '<(chromium_src_dir)/build/linux/system.gyp:v8',
|
||||
],
|
||||
'conditions': [
|
||||
['inside_chromium_build==1 and OS=="win" and component=="shared_library"', {
|
||||
@@ -1438,10 +1438,10 @@
|
||||
'conditions': [
|
||||
['javascript_engine=="v8"', {
|
||||
'dependencies': [
|
||||
- '<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
|
||||
+ '<(chromium_src_dir)/build/linux/system.gyp:v8',
|
||||
],
|
||||
'export_dependent_settings': [
|
||||
- '<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
|
||||
+ '<(chromium_src_dir)/build/linux/system.gyp:v8',
|
||||
],
|
||||
}],
|
||||
['OS=="mac"', {
|
23
chromium-6.0.425.0-ffmpeg-no-pkgconfig.patch
Normal file
23
chromium-6.0.425.0-ffmpeg-no-pkgconfig.patch
Normal file
@@ -0,0 +1,23 @@
|
||||
diff -up chromium-6.0.425.0-20100603svn48830/third_party/ffmpeg/ffmpeg.gyp.BAD chromium-6.0.425.0-20100603svn48830/third_party/ffmpeg/ffmpeg.gyp
|
||||
--- chromium-6.0.425.0-20100603svn48830/src/third_party/ffmpeg/ffmpeg.gyp.BAD 2010-06-03 13:48:45.196313786 -0400
|
||||
+++ chromium-6.0.425.0-20100603svn48830/src/third_party/ffmpeg/ffmpeg.gyp 2010-06-03 13:50:10.580325776 -0400
|
||||
@@ -818,12 +818,14 @@
|
||||
|
||||
# Add pkg-config result to include path when use_system_ffmpeg!=0
|
||||
['use_system_ffmpeg!=0', {
|
||||
- 'cflags': [
|
||||
- '<!@(pkg-config --cflags libavcodec libavformat libavutil)',
|
||||
- ],
|
||||
+ 'include_dirs': [
|
||||
+ 'config',
|
||||
+ 'ffmpeg-0.6-headers',
|
||||
+ ],
|
||||
'direct_dependent_settings': {
|
||||
- 'cflags': [
|
||||
- '<!@(pkg-config --cflags libavcodec libavformat libavutil)',
|
||||
+ 'include_dirs': [
|
||||
+ 'config',
|
||||
+ 'ffmpeg-0.6-headers',
|
||||
],
|
||||
},
|
||||
}, { # else use_system_ffmpeg==0, add local copy to include path
|
53
chromium-7.0.500.0-system-speex.patch
Normal file
53
chromium-7.0.500.0-system-speex.patch
Normal file
@@ -0,0 +1,53 @@
|
||||
diff -up chromium-7.0.500.0-20100819svn56724/build/linux/system.gyp.speex chromium-7.0.500.0-20100819svn56724/build/linux/system.gyp
|
||||
--- chromium-7.0.500.0-20100819svn56724/src/build/linux/system.gyp.speex 2010-08-19 16:23:14.594998783 -0400
|
||||
+++ chromium-7.0.500.0-20100819svn56724/src/build/linux/system.gyp 2010-08-19 16:23:14.676903548 -0400
|
||||
@@ -348,6 +348,26 @@
|
||||
}]]
|
||||
},
|
||||
{
|
||||
+ 'target_name': 'speex',
|
||||
+ 'type': 'settings',
|
||||
+ 'conditions': [
|
||||
+ ['_toolset=="target"', {
|
||||
+ 'direct_dependent_settings': {
|
||||
+ 'cflags': [
|
||||
+ '<!@(pkg-config --cflags speex)',
|
||||
+ ],
|
||||
+ },
|
||||
+ 'link_settings': {
|
||||
+ 'ldflags': [
|
||||
+ '<!@(pkg-config --libs-only-L --libs-only-other speex)',
|
||||
+ ],
|
||||
+ 'libraries': [
|
||||
+ '<!@(pkg-config --libs-only-l speex)',
|
||||
+ ],
|
||||
+ },
|
||||
+ }]]
|
||||
+ },
|
||||
+ {
|
||||
'target_name': 'gnome_keyring',
|
||||
'type': 'settings',
|
||||
'conditions': [
|
||||
diff -up chromium-7.0.500.0-20100819svn56724/content/content_browser.gypi.speex chromium-7.0.500.0-20100819svn56724/chrome/chrome_browser.gypi
|
||||
--- chromium-7.0.500.0-20100819svn56724/src/content/content_browser.gypi.speex 2010-08-19 16:23:14.594998783 -0400
|
||||
+++ chromium-7.0.500.0-20100819svn56724/src/content/content_browser.gypi 2010-08-19 16:25:27.921293238 -0400
|
||||
@@ -15,7 +15,7 @@
|
||||
'../third_party/flac/flac.gyp:libflac',
|
||||
# TODO(ericu): remove leveldb ref after crbug.com/6955013 is fixed.
|
||||
'../third_party/leveldb/leveldb.gyp:leveldb',
|
||||
- '../third_party/speex/speex.gyp:libspeex',
|
||||
+ '../build/linux/system.gyp:speex',
|
||||
'../third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit',
|
||||
'../third_party/zlib/zlib.gyp:zlib',
|
||||
'../ui/ui.gyp:ui',
|
||||
--- chromium/src/content/browser/speech/audio_encoder.cc 2011-01-20 09:04:11.631000020 +0100
|
||||
+++ chromium/src/content/browser/speech/audio_encoder.cc 2011-01-20 09:04:11.631000020 +0100
|
||||
@@ -10,7 +10,7 @@
|
||||
#include "base/stl_util.h"
|
||||
#include "base/string_number_conversions.h"
|
||||
#include "third_party/flac/flac.h"
|
||||
-#include "third_party/speex/speex.h"
|
||||
+#include <speex/speex.h>
|
||||
|
||||
using std::string;
|
||||
|
35
chromium-7.0.510.0-system-ffmpeg.patch
Normal file
35
chromium-7.0.510.0-system-ffmpeg.patch
Normal file
@@ -0,0 +1,35 @@
|
||||
diff -up chromium-7.0.510.0/media/filters/ffmpeg_glue.cc.system-ffmpeg chromium-7.0.510.0/media/filters/ffmpeg_glue.cc
|
||||
--- chromium-7.0.510.0/src/media/filters/ffmpeg_glue.cc.system-ffmpeg 2010-08-31 04:22:39.000000000 -0400
|
||||
+++ chromium-7.0.510.0/src/media/filters/ffmpeg_glue.cc 2010-09-01 10:50:30.259172512 -0400
|
||||
@@ -119,14 +119,14 @@ namespace media {
|
||||
static const char kProtocol[] = "http";
|
||||
|
||||
// Fill out our FFmpeg protocol definition.
|
||||
-static URLProtocol kFFmpegURLProtocol = {
|
||||
- kProtocol,
|
||||
- &OpenContext,
|
||||
- &ReadContext,
|
||||
- &WriteContext,
|
||||
- &SeekContext,
|
||||
- &CloseContext,
|
||||
-};
|
||||
+// static URLProtocol kFFmpegURLProtocol = {
|
||||
+// kProtocol,
|
||||
+// &OpenContext,
|
||||
+// &ReadContext,
|
||||
+// &WriteContext,
|
||||
+// &SeekContext,
|
||||
+// &CloseContext,
|
||||
+//};
|
||||
|
||||
FFmpegGlue::FFmpegGlue() {
|
||||
// Before doing anything disable logging as it interferes with layout tests.
|
||||
@@ -134,7 +134,7 @@ FFmpegGlue::FFmpegGlue() {
|
||||
|
||||
// Register our protocol glue code with FFmpeg.
|
||||
avcodec_init();
|
||||
- av_register_protocol2(&kFFmpegURLProtocol, sizeof(kFFmpegURLProtocol));
|
||||
+ // av_register_protocol2(&kFFmpegURLProtocol, sizeof(kFFmpegURLProtocol));
|
||||
av_lockmgr_register(&LockManagerOperation);
|
||||
|
||||
// Now register the rest of FFmpeg.
|
314
chromium-7.0.542.0-codechanges-system-minizip-v8.patch
Normal file
314
chromium-7.0.542.0-codechanges-system-minizip-v8.patch
Normal file
@@ -0,0 +1,314 @@
|
||||
diff -up chromium-7.0.542.0/chrome/browser/browser_about_handler.cc.system-code chromium-7.0.542.0/chrome/browser/browser_about_handler.cc
|
||||
--- chromium-7.0.542.0/src/chrome/browser/browser_about_handler.cc.system-code 2010-10-04 05:42:38.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/chrome/browser/browser_about_handler.cc 2010-10-04 13:50:45.322377060 -0400
|
||||
@@ -63,7 +63,7 @@
|
||||
#include "webkit/plugins/webplugininfo.h"
|
||||
|
||||
#ifdef CHROME_V8
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
#endif
|
||||
|
||||
#if defined(OS_WIN)
|
||||
diff -up chromium-7.0.542.0/chrome/browser/ui/webui/options/about_page_handler.cc.system-code chromium-7.0.542.0/chrome/browser/dom_ui/options/about_page_handler.cc
|
||||
--- chromium-7.0.542.0/src/chrome/browser/ui/webui/options/chromeos/about_page_handler.cc.system-code 2010-10-04 14:20:06.569129133 -0400
|
||||
+++ chromium-7.0.542.0/src/chrome/browser/ui/webui/options/chromeos/about_page_handler.cc 2010-10-04 14:20:21.197112798 -0400
|
||||
@@ -28,7 +28,7 @@
|
||||
#include "webkit/glue/webkit_glue.h"
|
||||
|
||||
#if defined(CHROME_V8)
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
#endif
|
||||
|
||||
#include "chrome/browser/chromeos/cros/cros_library.h"
|
||||
diff -up chromium-7.0.542.0/chrome/browser/memory_purger.cc.system-code chromium-7.0.542.0/chrome/browser/memory_purger.cc
|
||||
--- chromium-7.0.542.0/src/chrome/browser/memory_purger.cc.system-code 2010-10-04 05:42:38.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/chrome/browser/memory_purger.cc 2010-10-04 14:16:54.837353728 -0400
|
||||
@@ -23,7 +23,7 @@
|
||||
#include "net/url_request/url_request_context.h"
|
||||
#include "net/url_request/url_request_context_getter.h"
|
||||
#include "third_party/tcmalloc/chromium/src/google/malloc_extension.h"
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
|
||||
// PurgeMemoryHelper -----------------------------------------------------------
|
||||
|
||||
diff -up chromium-7.0.542.0/chrome/renderer/automation/dom_automation_v8_extension.h.system-code chromium-7.0.542.0/chrome/renderer/automation/dom_automation_v8_extension.h
|
||||
--- chromium-7.0.542.0/src/chrome/renderer/automation/dom_automation_v8_extension.h.system-code 2010-10-04 05:42:44.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/chrome/renderer/automation/dom_automation_v8_extension.h 2010-10-04 14:16:54.839353510 -0400
|
||||
@@ -6,7 +6,7 @@
|
||||
#define CHROME_RENDERER_AUTOMATION_DOM_AUTOMATION_V8_EXTENSION_H_
|
||||
#pragma once
|
||||
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
|
||||
class DomAutomationV8Extension {
|
||||
public:
|
||||
diff -up chromium-7.0.542.0/chrome/renderer/extensions/bindings_utils.h.system-code chromium-7.0.542.0/chrome/renderer/extensions/bindings_utils.h
|
||||
--- chromium-7.0.542.0/src/chrome/renderer/extensions/bindings_utils.h.system-code 2010-10-04 05:42:44.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/chrome/renderer/extensions/bindings_utils.h 2010-10-04 14:16:54.840353450 -0400
|
||||
@@ -10,7 +10,7 @@
|
||||
#include "base/memory/singleton.h"
|
||||
#include "base/string_piece.h"
|
||||
#include "ui/base/resource/resource_bundle.h"
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
|
||||
#include <list>
|
||||
#include <string>
|
||||
diff -up chromium-7.0.542.0/chrome/renderer/extensions/chrome_app_bindings.cc.system-code chromium-7.0.542.0/chrome/renderer/extensions/chrome_app_bindings.cc
|
||||
--- chromium-7.0.542.0/src/chrome/renderer/extensions/chrome_app_bindings.cc.system-code 2010-10-04 05:42:44.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/chrome/renderer/extensions/chrome_app_bindings.cc 2010-10-04 14:16:54.841498794 -0400
|
||||
@@ -19,7 +19,7 @@
|
||||
#include "content/renderer/v8_value_converter.h"
|
||||
#include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h"
|
||||
#include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h"
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
|
||||
using WebKit::WebFrame;
|
||||
|
||||
diff -up chromium-7.0.542.0/chrome/renderer/extensions/event_bindings.h.system-code chromium-7.0.542.0/chrome/renderer/extensions/event_bindings.h
|
||||
--- chromium-7.0.542.0/src/chrome/renderer/extensions/event_bindings.h.system-code 2010-10-04 05:42:44.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/chrome/renderer/extensions/event_bindings.h 2010-10-04 14:16:54.841498794 -0400
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
|
||||
class ExtensionDispatcher;
|
||||
class GURL;
|
||||
diff -up chromium-7.0.542.0/chrome/renderer/extensions/extension_process_bindings.h.system-code chromium-7.0.542.0/chrome/renderer/extensions/extension_process_bindings.h
|
||||
--- chromium-7.0.542.0/src/chrome/renderer/extensions/extension_process_bindings.h.system-code 2010-10-04 05:42:44.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/chrome/renderer/extensions/extension_process_bindings.h 2010-10-04 14:16:54.842499822 -0400
|
||||
@@ -12,7 +12,7 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
|
||||
class ExtensionDispatcher;
|
||||
class GURL;
|
||||
diff -up chromium-7.0.542.0/chrome/renderer/extensions/js_only_v8_extensions.h.system-code chromium-7.0.542.0/chrome/renderer/extensions/js_only_v8_extensions.h
|
||||
--- chromium-7.0.542.0/src/chrome/renderer/extensions/js_only_v8_extensions.h.system-code 2010-10-04 05:42:44.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/chrome/renderer/extensions/js_only_v8_extensions.h 2010-10-04 14:16:54.843500372 -0400
|
||||
@@ -6,7 +6,7 @@
|
||||
#define CHROME_RENDERER_EXTENSIONS_JS_ONLY_V8_EXTENSIONS_H_
|
||||
#pragma once
|
||||
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
|
||||
// This file contains various V8 Extensions that are JavaScript only, and
|
||||
// don't have any C++ native functions.
|
||||
diff -up chromium-7.0.542.0/chrome/renderer/extensions/renderer_extension_bindings.h.system-code chromium-7.0.542.0/chrome/renderer/extensions/renderer_extension_bindings.h
|
||||
--- chromium-7.0.542.0/src/chrome/renderer/extensions/renderer_extension_bindings.h.system-code 2010-10-04 05:42:44.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/chrome/renderer/extensions/renderer_extension_bindings.h 2010-10-04 14:16:54.844504849 -0400
|
||||
@@ -6,7 +6,7 @@
|
||||
#define CHROME_RENDERER_EXTENSIONS_RENDERER_EXTENSION_BINDINGS_H_
|
||||
#pragma once
|
||||
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
|
||||
#include <string>
|
||||
|
||||
diff -up chromium-7.0.542.0/chrome/renderer/external_extension.cc.system-code chromium-7.0.542.0/chrome/renderer/external_extension.cc
|
||||
--- chromium-7.0.542.0/src/chrome/renderer/external_extension.cc.system-code 2010-10-04 05:42:44.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/chrome/renderer/external_extension.cc 2010-10-04 14:16:54.845500082 -0400
|
||||
@@ -12,7 +12,7 @@
|
||||
#include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h"
|
||||
#include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h"
|
||||
#include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h"
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
|
||||
using WebKit::WebFrame;
|
||||
using WebKit::WebView;
|
||||
diff -up chromium-7.0.542.0/chrome/renderer/loadtimes_extension_bindings.cc.system-code chromium-7.0.542.0/chrome/renderer/loadtimes_extension_bindings.cc
|
||||
--- chromium-7.0.542.0/src/chrome/renderer/loadtimes_extension_bindings.cc.system-code 2010-10-04 05:42:44.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/chrome/renderer/loadtimes_extension_bindings.cc 2010-10-04 14:16:54.846500790 -0400
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "base/time.h"
|
||||
#include "content/renderer/navigation_state.h"
|
||||
#include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h"
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
|
||||
using WebKit::WebDataSource;
|
||||
using WebKit::WebFrame;
|
||||
diff -up chromium-7.0.542.0/content/renderer/render_thread.cc.system-code chromium-7.0.542.0/chrome/renderer/render_thread.cc
|
||||
--- chromium-7.0.542.0/src/content/renderer/render_thread.cc.system-code 2010-10-04 05:42:44.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/content/renderer/render_thread.cc 2010-10-04 14:16:54.848500089 -0400
|
||||
@@ -59,7 +59,7 @@
|
||||
#include "third_party/WebKit/Source/WebKit/chromium/public/WebStorageEventDispatcher.h"
|
||||
#include "third_party/WebKit/Source/WebKit/chromium/public/WebString.h"
|
||||
#include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h"
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
#include "webkit/extensions/v8/benchmarking_extension.h"
|
||||
#include "webkit/extensions/v8/playback_extension.h"
|
||||
#include "webkit/glue/webkit_glue.h"
|
||||
diff -up chromium-7.0.542.0/chrome/renderer/search_extension.cc.system-code chromium-7.0.542.0/chrome/renderer/search_extension.cc
|
||||
--- chromium-7.0.542.0/src/chrome/renderer/search_extension.cc.system-code 2010-10-04 05:42:44.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/chrome/renderer/search_extension.cc 2010-10-04 14:16:54.849503141 -0400
|
||||
@@ -12,7 +12,7 @@
|
||||
#include "chrome/renderer/searchbox.h"
|
||||
#include "content/renderer/render_view.h"
|
||||
#include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h"
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
|
||||
using WebKit::WebFrame;
|
||||
using WebKit::WebView;
|
||||
diff -up chromium-7.0.542.0/chrome/renderer/translate_helper.cc.system-code chromium-7.0.542.0/chrome/renderer/translate_helper.cc
|
||||
--- chromium-7.0.542.0/src/chrome/renderer/translate_helper.cc.system-code 2010-10-04 05:42:44.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/chrome/renderer/translate_helper.cc 2010-10-04 14:16:54.850500334 -0400
|
||||
@@ -18,7 +18,7 @@
|
||||
#include "third_party/WebKit/Source/WebKit/chromium/public/WebScriptSource.h"
|
||||
#include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h"
|
||||
#include "third_party/cld/encodings/compact_lang_det/win/cld_unicodetext.h"
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
#include "webkit/glue/dom_operations.h"
|
||||
|
||||
using WebKit::WebDocument;
|
||||
diff -up chromium-7.0.542.0/chrome/test/v8_unit_test.h.system-code chromium-7.0.542.0/chrome/test/v8_unit_test.h
|
||||
--- chromium-7.0.542.0/src/chrome/test/base/v8_unit_test.h.system-code 2010-10-04 05:42:17.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/chrome/test/base/v8_unit_test.h 2010-10-04 14:16:54.851503148 -0400
|
||||
@@ -9,7 +9,7 @@
|
||||
#include <string>
|
||||
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
|
||||
namespace base {
|
||||
class StringPiece;
|
||||
diff -up chromium-7.0.542.0/net/proxy/proxy_resolver_v8.cc.system-code chromium-7.0.542.0/net/proxy/proxy_resolver_v8.cc
|
||||
--- chromium-7.0.542.0/src/net/proxy/proxy_resolver_v8.cc.system-code 2010-10-04 05:40:28.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/net/proxy/proxy_resolver_v8.cc 2010-10-04 14:16:54.852507424 -0400
|
||||
@@ -22,7 +22,7 @@
|
||||
#include "net/proxy/proxy_resolver_js_bindings.h"
|
||||
#include "net/proxy/proxy_resolver_request_context.h"
|
||||
#include "net/proxy/proxy_resolver_script.h"
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
|
||||
// Notes on the javascript environment:
|
||||
//
|
||||
diff -up chromium-7.0.542.0/webkit/extensions/v8/benchmarking_extension.h.system-code chromium-7.0.542.0/webkit/extensions/v8/benchmarking_extension.h
|
||||
--- chromium-7.0.542.0/src/webkit/extensions/v8/benchmarking_extension.h.system-code 2010-10-04 05:39:56.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/webkit/extensions/v8/benchmarking_extension.h 2010-10-04 14:16:54.854152851 -0400
|
||||
@@ -9,7 +9,7 @@
|
||||
#ifndef WEBKIT_EXTENSIONS_V8_BENCHMARKING_EXTENSION_H_
|
||||
#define WEBKIT_EXTENSIONS_V8_BENCHMARKING_EXTENSION_H_
|
||||
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
|
||||
namespace extensions_v8 {
|
||||
|
||||
diff -up chromium-7.0.542.0/webkit/extensions/v8/gc_extension.h.system-code chromium-7.0.542.0/webkit/extensions/v8/gc_extension.h
|
||||
--- chromium-7.0.542.0/src/webkit/extensions/v8/gc_extension.h.system-code 2010-10-04 05:39:56.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/webkit/extensions/v8/gc_extension.h 2010-10-04 14:16:54.855479939 -0400
|
||||
@@ -8,7 +8,7 @@
|
||||
#ifndef WEBKIT_EXTENSIONS_V8_GC_EXTENSION_H_
|
||||
#define WEBKIT_EXTENSIONS_V8_GC_EXTENSION_H_
|
||||
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
|
||||
namespace extensions_v8 {
|
||||
|
||||
diff -up chromium-7.0.542.0/webkit/extensions/v8/heap_profiler_extension.h.system-code chromium-7.0.542.0/webkit/extensions/v8/heap_profiler_extension.h
|
||||
--- chromium-7.0.542.0/src/webkit/extensions/v8/heap_profiler_extension.h.system-code 2010-10-04 05:39:56.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/webkit/extensions/v8/heap_profiler_extension.h 2010-10-04 14:16:54.858478535 -0400
|
||||
@@ -9,7 +9,7 @@
|
||||
#ifndef WEBKIT_EXTENSIONS_V8_HEAP_PROFILER_EXTENSION_H_
|
||||
#define WEBKIT_EXTENSIONS_V8_HEAP_PROFILER_EXTENSION_H_
|
||||
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
|
||||
namespace extensions_v8 {
|
||||
|
||||
diff -up chromium-7.0.542.0/webkit/extensions/v8/playback_extension.h.system-code chromium-7.0.542.0/webkit/extensions/v8/playback_extension.h
|
||||
--- chromium-7.0.542.0/src/webkit/extensions/v8/playback_extension.h.system-code 2010-10-04 05:39:56.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/webkit/extensions/v8/playback_extension.h 2010-10-04 14:16:54.859478557 -0400
|
||||
@@ -5,7 +5,7 @@
|
||||
#ifndef WEBKIT_EXTENSIONS_V8_PLAYBACK_EXTENSION_H_
|
||||
#define WEBKIT_EXTENSIONS_V8_PLAYBACK_EXTENSION_H_
|
||||
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
|
||||
namespace extensions_v8 {
|
||||
|
||||
diff -up chromium-7.0.542.0/webkit/extensions/v8/profiler_extension.h.system-code chromium-7.0.542.0/webkit/extensions/v8/profiler_extension.h
|
||||
--- chromium-7.0.542.0/src/webkit/extensions/v8/profiler_extension.h.system-code 2010-10-04 05:39:56.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/webkit/extensions/v8/profiler_extension.h 2010-10-04 14:16:54.861478714 -0400
|
||||
@@ -9,7 +9,7 @@
|
||||
#ifndef WEBKIT_EXTENSIONS_V8_PROFILER_EXTENSION_H_
|
||||
#define WEBKIT_EXTENSIONS_V8_PROFILER_EXTENSION_H_
|
||||
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
|
||||
namespace extensions_v8 {
|
||||
|
||||
diff -up chromium-7.0.542.0/webkit/glue/webkitclient_impl.cc.system-code chromium-7.0.542.0/webkit/glue/webkitclient_impl.cc
|
||||
--- chromium-7.0.542.0/src/webkit/glue/webkitclient_impl.cc.system-code 2010-10-04 05:39:57.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/webkit/glue/webkitclient_impl.cc 2010-10-04 14:16:54.867374474 -0400
|
||||
@@ -42,7 +42,7 @@
|
||||
#include "webkit/glue/weburlloader_impl.h"
|
||||
|
||||
#if defined(OS_LINUX)
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
#endif
|
||||
|
||||
using WebKit::WebAudioBus;
|
||||
diff -up chromium-7.0.542.0/webkit/glue/webkit_glue.cc.system-code chromium-7.0.542.0/webkit/glue/webkit_glue.cc
|
||||
--- chromium-7.0.542.0/src/webkit/glue/webkit_glue.cc.system-code 2010-10-04 05:39:57.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/webkit/glue/webkit_glue.cc 2010-10-04 14:16:54.869402307 -0400
|
||||
@@ -43,7 +43,7 @@
|
||||
#endif
|
||||
#include "webkit/glue/glue_serialize.h"
|
||||
#include "webkit/glue/user_agent.h"
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
|
||||
using WebKit::WebCanvas;
|
||||
using WebKit::WebData;
|
||||
diff -up chromium-7.0.542.0/webkit/support/test_webkit_client.cc.system-code chromium-7.0.542.0/webkit/support/test_webkit_client.cc
|
||||
--- chromium-7.0.542.0/src/webkit/support/test_webkit_client.cc.system-code 2010-10-04 05:39:57.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/webkit/support/test_webkit_client.cc 2010-10-04 14:16:54.871369363 -0400
|
||||
@@ -31,7 +31,7 @@
|
||||
#include "third_party/WebKit/Source/WebKit/chromium/public/WebStorageNamespace.h"
|
||||
#include "third_party/WebKit/Source/WebKit/chromium/public/WebString.h"
|
||||
#include "third_party/WebKit/Source/WebKit/chromium/public/WebURL.h"
|
||||
-#include "v8/include/v8.h"
|
||||
+#include <v8.h>
|
||||
#include "webkit/appcache/web_application_cache_host_impl.h"
|
||||
#include "webkit/database/vfs_backend.h"
|
||||
#include "webkit/extensions/v8/gc_extension.h"
|
||||
diff -up chromium-7.0.542.0/webkit/tools/test_shell/listener_leak_test.cc.system-code chromium-7.0.542.0/webkit/tools/test_shell/listener_leak_test.cc
|
||||
--- chromium-7.0.542.0/src/webkit/tools/test_shell/listener_leak_test.cc.system-code 2010-10-04 05:39:56.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/webkit/tools/test_shell/listener_leak_test.cc 2010-10-04 14:16:54.872365629 -0400
|
||||
@@ -8,8 +8,8 @@
|
||||
#include "base/string_number_conversions.h"
|
||||
#include "base/string_util.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
-#include "v8/include/v8.h"
|
||||
-#include "v8/include/v8-profiler.h"
|
||||
+#include <v8.h>
|
||||
+#include <v8-profiler.h>
|
||||
#include "webkit/glue/webkit_glue.h"
|
||||
#include "webkit/tools/test_shell/test_shell.h"
|
||||
#include "webkit/tools/test_shell/test_shell_test.h"
|
190
chromium-7.0.542.0-media-probe.patch
Normal file
190
chromium-7.0.542.0-media-probe.patch
Normal file
@@ -0,0 +1,190 @@
|
||||
diff -up chromium-7.0.542.0/net/base/mime_util.cc.media-probe chromium-7.0.542.0/net/base/mime_util.cc
|
||||
--- chromium-7.0.542.0/src/net/base/mime_util.cc.media-probe 2010-10-04 05:40:38.000000000 -0400
|
||||
+++ chromium-7.0.542.0/src/net/base/mime_util.cc 2010-10-04 15:02:09.324499172 -0400
|
||||
@@ -15,6 +15,15 @@
|
||||
#include "base/string_util.h"
|
||||
#include "base/utf_string_conversions.h"
|
||||
|
||||
+#include "base/path_service.h"
|
||||
+
|
||||
+#if ! defined(OS_MACOSX) && defined (OS_POSIX)
|
||||
+#include <dlfcn.h>
|
||||
+#define HAVE_DLFCN 1
|
||||
+#else
|
||||
+#define HAVE_DLFCN 0
|
||||
+#endif
|
||||
+
|
||||
using std::string;
|
||||
|
||||
namespace net {
|
||||
@@ -224,51 +233,47 @@
|
||||
"image/x-xbitmap" // xbm
|
||||
};
|
||||
|
||||
-// A list of media types: http://en.wikipedia.org/wiki/Internet_media_type
|
||||
-// A comprehensive mime type list: http://plugindoc.mozdev.org/winmime.php
|
||||
-static const char* const supported_media_types[] = {
|
||||
-#if defined(ENABLE_MEDIA_TYPE_OGG)
|
||||
- // Ogg.
|
||||
- "video/ogg",
|
||||
- "audio/ogg",
|
||||
- "application/ogg",
|
||||
-#endif
|
||||
-
|
||||
- // WebM.
|
||||
- "video/webm",
|
||||
- "audio/webm",
|
||||
- "audio/wav",
|
||||
- "audio/x-wav",
|
||||
+struct format_info {
|
||||
+ const char* name;
|
||||
+ const char* symbol;
|
||||
+ const bool fallback;
|
||||
+};
|
||||
|
||||
#if defined(GOOGLE_CHROME_BUILD) || defined(USE_PROPRIETARY_CODECS)
|
||||
- // MPEG-4.
|
||||
- "video/mp4",
|
||||
- "video/x-m4v",
|
||||
- "audio/mp4",
|
||||
- "audio/x-m4a",
|
||||
-
|
||||
- // MP3.
|
||||
- "audio/mp3",
|
||||
- "audio/x-mp3",
|
||||
- "audio/mpeg",
|
||||
+#define MPEG true
|
||||
+#else
|
||||
+#define MPEG false
|
||||
#endif
|
||||
+
|
||||
+// A list of media types: http://en.wikipedia.org/wiki/Internet_media_type
|
||||
+// A comprehensive mime type list: http://plugindoc.mozdev.org/winmime.php
|
||||
+static const format_info supported_media_types[] = {
|
||||
+ { "video/ogg", "ogg_demuxer", true },
|
||||
+ { "audio/ogg", "ogg_demuxer", true },
|
||||
+ { "application/ogg", "ogg_demuxer", true },
|
||||
+ { "video/webm", "matroska_demuxer", true },
|
||||
+ { "audio/webm", "matroska_demuxer", true },
|
||||
+ { "audio/wav", "wav_demuxer", true },
|
||||
+ { "audio/x-wav", "wav_demuxer", true },
|
||||
+ { "video/mp4", "mov_demuxer", MPEG },
|
||||
+ { "video/x-m4v", "mov_demuxer", MPEG },
|
||||
+ { "audio/mp4", "mov_demuxer", MPEG },
|
||||
+ { "audio/x-m4a", "mov_demuxer", MPEG },
|
||||
+ { "audio/mp3", "mp3_demuxer", MPEG },
|
||||
+ { "audio/x-mp3", "mp3_demuxer", MPEG },
|
||||
+ { "audio/mpeg", "mp3_demuxer", MPEG },
|
||||
};
|
||||
|
||||
// List of supported codecs when passed in with <source type="...">.
|
||||
//
|
||||
// Refer to http://wiki.whatwg.org/wiki/Video_type_parameters#Browser_Support
|
||||
// for more information.
|
||||
-static const char* const supported_media_codecs[] = {
|
||||
-#if defined(GOOGLE_CHROME_BUILD) || defined(USE_PROPRIETARY_CODECS)
|
||||
- "avc1",
|
||||
- "mp4a",
|
||||
-#endif
|
||||
-#if defined(ENABLE_MEDIA_CODEC_THEORA)
|
||||
- "theora",
|
||||
-#endif
|
||||
- "vorbis",
|
||||
- "vp8",
|
||||
- "1" // PCM for WAV.
|
||||
+static const format_info supported_media_codecs[] = {
|
||||
+ { "avc1", "aac_decoder", MPEG },
|
||||
+ { "mp4a", "h264_decoder", MPEG },
|
||||
+ { "theora", "theora_decoder", true },
|
||||
+ { "vorbis", "vorbis_decoder", true },
|
||||
+ { "vp8", "libvpx_decoder", true },
|
||||
};
|
||||
|
||||
// Note: does not include javascript types list (see supported_javascript_types)
|
||||
@@ -342,7 +347,47 @@
|
||||
{ "audio/wav", "1" }
|
||||
};
|
||||
|
||||
-void MimeUtil::InitializeMimeTypeMaps() {
|
||||
+#if defined(OS_MACOSX)
|
||||
+#define DSO_NAME(MODULE) ("lib" MODULE ".dylib")
|
||||
+#elif defined(OS_POSIX)
|
||||
+#define DSO_NAME(MODULE) ("lib" MODULE ".so")
|
||||
+#else
|
||||
+#define DSO_NAME(MODULE) (MODULE ".dll")
|
||||
+#endif
|
||||
+
|
||||
+static void* GetHandle(const FilePath& module_dir, const char* library) {
|
||||
+#if HAVE_DLFCN
|
||||
+ FilePath path = module_dir.Append(library);
|
||||
+ return dlopen(path.value().c_str(), RTLD_LAZY);
|
||||
+#else
|
||||
+ return NULL;
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+static void DumpHandle(void* dlhandle) {
|
||||
+#if HAVE_DLFCN
|
||||
+ if (dlhandle)
|
||||
+ dlclose(dlhandle);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+static bool ProbeFormat(void* dlhandle, const char* symbol, bool fallback) {
|
||||
+#if HAVE_DLFCN
|
||||
+ return dlhandle && dlsym(dlhandle, symbol);
|
||||
+#else
|
||||
+ return fallback;
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+ void MimeUtil::InitializeMimeTypeMaps() {
|
||||
+ FilePath module_path;
|
||||
+#if defined(OS_MACOSX)
|
||||
+ module_path = mac_util::MainAppBundlePath().Append("Libraries");
|
||||
+#else
|
||||
+ PathService::Get(base::DIR_MODULE, &module_path);
|
||||
+#endif
|
||||
+ void* h_ffmpegsumo = GetHandle(module_path, DSO_NAME("ffmpegsumo"));
|
||||
+
|
||||
for (size_t i = 0; i < arraysize(supported_image_types); ++i)
|
||||
image_map_.insert(supported_image_types[i]);
|
||||
|
||||
@@ -352,11 +397,15 @@
|
||||
for (size_t i = 0; i < arraysize(supported_javascript_types); ++i)
|
||||
non_image_map_.insert(supported_javascript_types[i]);
|
||||
for (size_t i = 0; i < arraysize(supported_media_types); ++i)
|
||||
- non_image_map_.insert(supported_media_types[i]);
|
||||
+ if (ProbeFormat(h_ffmpegsumo, supported_media_types[i].symbol,
|
||||
+ supported_media_types[i].fallback))
|
||||
+ non_image_map_.insert(supported_media_types[i].name);
|
||||
|
||||
// Initialize the supported media types.
|
||||
for (size_t i = 0; i < arraysize(supported_media_types); ++i)
|
||||
- media_map_.insert(supported_media_types[i]);
|
||||
+ if (ProbeFormat(h_ffmpegsumo, supported_media_types[i].symbol,
|
||||
+ supported_media_types[i].fallback))
|
||||
+ media_map_.insert(supported_media_types[i].name);
|
||||
|
||||
for (size_t i = 0; i < arraysize(supported_javascript_types); ++i)
|
||||
javascript_map_.insert(supported_javascript_types[i]);
|
||||
@@ -365,7 +414,9 @@
|
||||
view_source_map_.insert(view_source_types[i]);
|
||||
|
||||
for (size_t i = 0; i < arraysize(supported_media_codecs); ++i)
|
||||
- codecs_map_.insert(supported_media_codecs[i]);
|
||||
+ if (ProbeFormat(h_ffmpegsumo, supported_media_codecs[i].symbol,
|
||||
+ supported_media_codecs[i].fallback))
|
||||
+ codecs_map_.insert(supported_media_codecs[i].name);
|
||||
|
||||
// Initialize the strict supported media types.
|
||||
for (size_t i = 0; i < arraysize(format_codec_mappings); ++i) {
|
||||
@@ -379,6 +430,8 @@
|
||||
codecs.insert(mime_type_codecs[j]);
|
||||
strict_format_map_[format_codec_mappings[i].mime_type] = codecs;
|
||||
}
|
||||
+
|
||||
+ DumpHandle(h_ffmpegsumo);
|
||||
}
|
||||
|
||||
bool MimeUtil::IsSupportedImageMimeType(const char* mime_type) const {
|
64
chromium-7.0.542.0-system-libvpx.patch
Normal file
64
chromium-7.0.542.0-system-libvpx.patch
Normal file
@@ -0,0 +1,64 @@
|
||||
diff -up chromium-7.0.542.0/build/linux/system.gyp.system-libvpx chromium-7.0.542.0/build/linux/system.gyp
|
||||
--- chromium-7.0.542.0/src/build/linux/system.gyp.system-libvpx 2010-10-06 14:01:19.638507000 -0400
|
||||
+++ chromium-7.0.542.0/src/build/linux/system.gyp 2010-10-06 14:01:19.650507000 -0400
|
||||
@@ -409,6 +409,26 @@
|
||||
}]]
|
||||
},
|
||||
{
|
||||
+ 'target_name': 'libvpx',
|
||||
+ 'type': 'settings',
|
||||
+ 'conditions': [
|
||||
+ ['_toolset=="target"', {
|
||||
+ 'direct_dependent_settings': {
|
||||
+ 'cflags': [
|
||||
+ '-I/usr/include/vpx',
|
||||
+ ],
|
||||
+ },
|
||||
+ 'link_settings': {
|
||||
+ 'ldflags': [
|
||||
+ '',
|
||||
+ ],
|
||||
+ 'libraries': [
|
||||
+ '-lvpx',
|
||||
+ ],
|
||||
+ },
|
||||
+ }]]
|
||||
+ },
|
||||
+ {
|
||||
'target_name': 'gnome_keyring',
|
||||
'type': 'settings',
|
||||
'conditions': [
|
||||
diff -up chromium-7.0.542.0/remoting/remoting.gyp.system-libvpx chromium-7.0.542.0/remoting/remoting.gyp
|
||||
--- chromium-7.0.542.0/src/remoting/remoting.gyp.system-libvpx 2010-10-06 14:01:19.641507000 -0400
|
||||
+++ chromium-7.0.542.0/src/remoting/remoting.gyp 2010-10-06 14:01:19.654507000 -0400
|
||||
@@ -165,7 +165,7 @@
|
||||
'remoting_base',
|
||||
'remoting_host',
|
||||
'remoting_jingle_glue',
|
||||
- '../third_party/libvpx/libvpx.gyp:libvpx',
|
||||
+ '../build/linux/system.gyp:libvpx',
|
||||
'../third_party/npapi/npapi.gyp:npapi',
|
||||
],
|
||||
'sources': [
|
||||
@@ -303,7 +303,7 @@
|
||||
# TODO(hclam): Remove this and depend on libvpx directly once we remove
|
||||
# libvpx from FFmpeg.
|
||||
'include_dirs': [
|
||||
- '../third_party/libvpx/source/libvpx',
|
||||
+ '/usr/include/vpx',
|
||||
],
|
||||
# This target needs a hard dependency because dependent targets
|
||||
# depend on chromotocol_proto_lib for headers.
|
||||
diff -up chromium-7.0.542.0/third_party/ffmpeg/ffmpeg.gyp.system-libvpx chromium-7.0.542.0/third_party/ffmpeg/ffmpeg.gyp
|
||||
--- chromium-7.0.542.0/src/third_party/ffmpeg/ffmpeg.gyp.system-libvpx 2010-10-06 14:04:09.730507291 -0400
|
||||
+++ chromium-7.0.542.0/src/third_party/ffmpeg/ffmpeg.gyp 2010-10-06 14:05:14.341510863 -0400
|
||||
@@ -812,6 +812,9 @@
|
||||
'<(output_root)',
|
||||
'../..', # The chromium 'src' directory.
|
||||
],
|
||||
+ 'dependencies': [
|
||||
+ '../../build/linux/system.gyp:libvpx',
|
||||
+ ],
|
||||
'direct_dependent_settings': {
|
||||
'defines': [
|
||||
'__STDC_CONSTANT_MACROS', # FFmpeg uses INT64_C.
|
16
chromium-91-java-only-allowed-in-android-builds.patch
Normal file
16
chromium-91-java-only-allowed-in-android-builds.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
References: https://bugs.chromium.org/p/chromium/issues/detail?id=1192875
|
||||
|
||||
Index: chromium-91.0.4472.57/third_party/closure_compiler/compiler.py
|
||||
===================================================================
|
||||
--- chromium-91.0.4472.57.orig/third_party/closure_compiler/compiler.py
|
||||
+++ chromium-91.0.4472.57/third_party/closure_compiler/compiler.py
|
||||
@@ -13,8 +13,7 @@ import subprocess
|
||||
|
||||
|
||||
_CURRENT_DIR = os.path.join(os.path.dirname(__file__))
|
||||
-_JAVA_PATH = os.path.join(_CURRENT_DIR, "..", "jdk", "current", "bin", "java")
|
||||
-assert os.path.isfile(_JAVA_PATH), "java only allowed in android builds"
|
||||
+_JAVA_PATH = "java"
|
||||
|
||||
class Compiler(object):
|
||||
"""Runs the Closure compiler on given source files to typecheck them
|
59
chromium-93-ffmpeg-4.4-rest.patch
Normal file
59
chromium-93-ffmpeg-4.4-rest.patch
Normal file
@@ -0,0 +1,59 @@
|
||||
From: 52c3e9c0f140a8742034e107fb0f371c0d73bf1d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org>
|
||||
Date: Sun, 12 Sep 2021 04:20:11 +0200
|
||||
Subject: [PATCH] chromium-93: fix building with system-ffmpeg
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The version of ffmpeg bundled in Chromium changed ABI a little, which
|
||||
affected the code in that the type of the last parameter of
|
||||
av_packet_get_side_data() is now size_t instead of int.
|
||||
|
||||
This causes Chromium to fail to build with system-ffmpeg if the system
|
||||
ffmpeg's version does not yet have this ABI change.
|
||||
|
||||
Fix the code to be able to compile with older ffmpeg as well.
|
||||
|
||||
Signed-off-by: Marek Behún <kabel@kernel.org>
|
||||
---
|
||||
media/filters/audio_decoder_unittest.cc | 4 ++++
|
||||
media/filters/ffmpeg_demuxer.cc | 16 ++++++++++++++++
|
||||
2 files changed, 20 insertions(+)
|
||||
|
||||
Index: chromium-126.0.6478.8/media/filters/ffmpeg_demuxer.cc
|
||||
===================================================================
|
||||
--- chromium-126.0.6478.8.orig/media/filters/ffmpeg_demuxer.cc
|
||||
+++ chromium-126.0.6478.8/media/filters/ffmpeg_demuxer.cc
|
||||
@@ -343,11 +343,19 @@
|
||||
}
|
||||
|
||||
base::span<const uint8_t> GetSideData(const AVPacket* packet) {
|
||||
+#if LIBAVUTIL_VERSION_MAJOR < 57
|
||||
+ int side_data_size = 0;
|
||||
+#else
|
||||
size_t side_data_size = 0;
|
||||
+#endif
|
||||
uint8_t* side_data = av_packet_get_side_data(
|
||||
packet, AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size);
|
||||
|
||||
+#if LIBAVUTIL_VERSION_MAJOR < 57
|
||||
+ return base::span<const uint8_t>(side_data, base::checked_cast<size_t>(side_data_size));
|
||||
+#else
|
||||
return base::span<const uint8_t>(side_data, side_data_size);
|
||||
+#endif
|
||||
}
|
||||
|
||||
void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
|
||||
@@ -474,7 +482,11 @@
|
||||
base::HeapArray<uint8_t>::CopiedFrom(side_data);
|
||||
}
|
||||
|
||||
+#if LIBAVUTIL_VERSION_MAJOR < 57
|
||||
+ int skip_samples_size = 0;
|
||||
+#else
|
||||
size_t skip_samples_size = 0;
|
||||
+#endif
|
||||
const uint32_t* skip_samples_ptr =
|
||||
reinterpret_cast<const uint32_t*>(av_packet_get_side_data(
|
||||
packet.get(), AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size));
|
39
chromium-93-ffmpeg-4.4.patch
Normal file
39
chromium-93-ffmpeg-4.4.patch
Normal file
@@ -0,0 +1,39 @@
|
||||
From: 52c3e9c0f140a8742034e107fb0f371c0d73bf1d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org>
|
||||
Date: Sun, 12 Sep 2021 04:20:11 +0200
|
||||
Subject: [PATCH] chromium-93: fix building with system-ffmpeg
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The version of ffmpeg bundled in Chromium changed ABI a little, which
|
||||
affected the code in that the type of the last parameter of
|
||||
av_packet_get_side_data() is now size_t instead of int.
|
||||
|
||||
This causes Chromium to fail to build with system-ffmpeg if the system
|
||||
ffmpeg's version does not yet have this ABI change.
|
||||
|
||||
Fix the code to be able to compile with older ffmpeg as well.
|
||||
|
||||
Signed-off-by: Marek Behún <kabel@kernel.org>
|
||||
---
|
||||
media/filters/audio_decoder_unittest.cc | 4 ++++
|
||||
media/filters/ffmpeg_demuxer.cc | 16 ++++++++++++++++
|
||||
2 files changed, 20 insertions(+)
|
||||
|
||||
Index: chromium-126.0.6478.8/media/filters/audio_decoder_unittest.cc
|
||||
===================================================================
|
||||
--- chromium-126.0.6478.8.orig/media/filters/audio_decoder_unittest.cc
|
||||
+++ chromium-126.0.6478.8/media/filters/audio_decoder_unittest.cc
|
||||
@@ -109,7 +109,11 @@ void SetDiscardPadding(AVPacket* packet,
|
||||
}
|
||||
|
||||
// If the timestamp is positive, try to use FFmpeg's discard data.
|
||||
+#if LIBAVUTIL_VERSION_MAJOR < 57
|
||||
+ int skip_samples_size = 0;
|
||||
+#else
|
||||
size_t skip_samples_size = 0;
|
||||
+#endif
|
||||
const uint32_t* skip_samples_ptr =
|
||||
reinterpret_cast<const uint32_t*>(av_packet_get_side_data(
|
||||
packet, AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size));
|
1
chromium-browser-rpmlintrc
Normal file
1
chromium-browser-rpmlintrc
Normal file
@@ -0,0 +1 @@
|
||||
setBadness("permissions-file-setuid-bit", 0)
|
14
chromium-browser.desktop
Normal file
14
chromium-browser.desktop
Normal file
@@ -0,0 +1,14 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=Chromium Web Browser
|
||||
Comment=Browse the World Wide Web
|
||||
GenericName=Web Browser
|
||||
Exec=chromium %u
|
||||
Terminal=false
|
||||
X-MultipleArgs=false
|
||||
Type=Application
|
||||
Icon=chromium-browser.png
|
||||
Categories=Network;WebBrowser;
|
||||
MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;
|
||||
StartupWMClass=Chromium
|
||||
|
117
chromium-browser.sh
Normal file
117
chromium-browser.sh
Normal file
@@ -0,0 +1,117 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Chromium launcher
|
||||
|
||||
# Authors:
|
||||
# Fabien Tassin <fta@sofaraway.org>
|
||||
# License: GPLv2 or later
|
||||
|
||||
APPNAME=chromium
|
||||
LIBDIR=/usr/lib/chromium
|
||||
GDB=/usr/bin/gdb
|
||||
|
||||
# Let the Chromium aware MeeGo desktop environment.
|
||||
# For system proxy setting integration.
|
||||
GNOME_DESKTOP_SESSION_ID="this-is-deprecated"
|
||||
export GNOME_DESKTOP_SESSION_ID
|
||||
|
||||
usage () {
|
||||
echo "$APPNAME [-h|--help] [-g|--debug] [options] [URL]"
|
||||
echo
|
||||
echo " -g or --debug Start within $GDB"
|
||||
echo " -h or --help This help screen"
|
||||
}
|
||||
|
||||
# FFmpeg needs to know where its libs are located
|
||||
if [ "Z$LD_LIBRARY_PATH" != Z ] ; then
|
||||
LD_LIBRARY_PATH=$LIBDIR:$LD_LIBRARY_PATH
|
||||
else
|
||||
LD_LIBRARY_PATH=$LIBDIR
|
||||
fi
|
||||
export LD_LIBRARY_PATH
|
||||
|
||||
# xdg-settings should in PATH
|
||||
PATH=$PATH:$LIBDIR
|
||||
export PATH
|
||||
|
||||
want_debug=0
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
-h | --help | -help )
|
||||
usage
|
||||
exit 0 ;;
|
||||
-g | --debug )
|
||||
want_debug=1
|
||||
shift ;;
|
||||
-- ) # Stop option prcessing
|
||||
shift
|
||||
break ;;
|
||||
* )
|
||||
break ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Setup the default profile if this is none
|
||||
# Set the default theme as GTK+ with system window decoration
|
||||
if [ ! -d ~/.config/chromium/Default ]; then
|
||||
mkdir -p ~/.config/chromium/Default
|
||||
cat <<EOF > ~/.config/chromium/Default/Preferences
|
||||
{
|
||||
"browser": {
|
||||
"custom_chrome_frame": false
|
||||
},
|
||||
"extensions": {
|
||||
"theme": {
|
||||
"colors": {
|
||||
|
||||
},
|
||||
"id": "",
|
||||
"images": {
|
||||
|
||||
},
|
||||
"properties": {
|
||||
|
||||
},
|
||||
"tints": {
|
||||
|
||||
},
|
||||
"use_system": true
|
||||
}
|
||||
},
|
||||
"homepage": "http://meego.com/",
|
||||
"homepage_is_newtabpage": false,
|
||||
"session": {
|
||||
"restore_on_startup": 1
|
||||
},
|
||||
"webkit": {
|
||||
"webprefs": {
|
||||
"default_fixed_font_size": 13,
|
||||
"default_font_size": 16,
|
||||
"fixed_font_family": "Droid Sans Mono",
|
||||
"sansserif_font_family": "Droid Sans",
|
||||
"serif_font_family": "Droid Serif"
|
||||
}
|
||||
}
|
||||
}
|
||||
EOF
|
||||
# Set the default browser
|
||||
$LIBDIR/xdg-settings set default-web-browser chromium-browser.desktop
|
||||
fi
|
||||
|
||||
if [ $want_debug -eq 1 ] ; then
|
||||
if [ ! -x $GDB ] ; then
|
||||
echo "Sorry, can't find usable $GDB. Please install it."
|
||||
exit 1
|
||||
fi
|
||||
tmpfile=`mktemp /tmp/chromiumargs.XXXXXX` || { echo "Cannot create temporary file" >&2; exit 1; }
|
||||
trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15
|
||||
echo "set args ${1+"$@"}" > $tmpfile
|
||||
echo "# Env:"
|
||||
echo "# LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
|
||||
echo "$GDB $LIBDIR/$APPNAME -x $tmpfile"
|
||||
$GDB "$LIBDIR/$APPNAME" -x $tmpfile
|
||||
exit $?
|
||||
else
|
||||
exec $LIBDIR/$APPNAME "--password-store=detect" "--enable-experimental-extension-apis" "--enable-plugins" "--enable-extensions" "--enable-user-scripts" "--enable-printing" "--enable-sync" "--auto-ssl-client-auth" "$@"
|
||||
fi
|
||||
|
16
chromium-browser.xml
Normal file
16
chromium-browser.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE default-apps SYSTEM "gnome-da-list.dtd">
|
||||
<default-apps>
|
||||
<web-browsers>
|
||||
<web-browser>
|
||||
<name>Chromium</name>
|
||||
<executable>chromium</executable>
|
||||
<command>chromium %s</command>
|
||||
<icon-name>chromium-browser</icon-name>
|
||||
<run-in-terminal>false</run-in-terminal>
|
||||
<netscape-remote>true</netscape-remote>
|
||||
<tab-command>false</tab-command>
|
||||
<win-command>false</win-command>
|
||||
</web-browser>
|
||||
</web-browsers>
|
||||
</default-apps>
|
13
chromium-buildname.patch
Normal file
13
chromium-buildname.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
Index: chromium-73.0.3683.27/components/version_ui_strings.grdp
|
||||
===================================================================
|
||||
--- chromium-73.0.3683.27.orig/components/version_ui_strings.grdp
|
||||
+++ chromium-73.0.3683.27/components/version_ui_strings.grdp
|
||||
@@ -7,7 +7,7 @@
|
||||
Official Build
|
||||
</message>
|
||||
<message name="IDS_VERSION_UI_UNOFFICIAL" desc="unofficial build on the about:version page">
|
||||
- Developer Build
|
||||
+ openSUSE Build
|
||||
</message>
|
||||
<message name="IDS_VERSION_UI_32BIT" desc="32-bit on the chrome://version page">
|
||||
(32-bit)
|
50
chromium-codechanges-zlib.patch
Normal file
50
chromium-codechanges-zlib.patch
Normal file
@@ -0,0 +1,50 @@
|
||||
diff -up chromium/src/net/base/gzip_header.cc chromium/src/net/base/gzip_header.cc
|
||||
--- chromium/src/net/base/gzip_header.cc 2009-09-28 10:34:28.000000000 -0600
|
||||
+++ chromium/src/net/base/gzip_header.cc 2009-11-24 17:23:22.000000000 -0700
|
||||
@@ -4,11 +4,11 @@
|
||||
|
||||
#include "net/base/gzip_header.h"
|
||||
|
||||
-#if defined(USE_SYSTEM_ZLIB)
|
||||
+/* #if defined(USE_SYSTEM_ZLIB) */
|
||||
#include <zlib.h>
|
||||
-#else
|
||||
+/* #else
|
||||
#include "third_party/zlib/zlib.h" // for Z_DEFAULT_COMPRESSION
|
||||
-#endif
|
||||
+#endif */
|
||||
|
||||
#include "base/logging.h"
|
||||
|
||||
diff -up chromium/src/net/base/sdch_filter_unittest.cc chromium/src/net/base/sdch_filter_unittest.cc
|
||||
--- chromium/src/net/base/sdch_filter_unittest.cc 2009-09-28 10:34:29.000000000 -0600
|
||||
+++ chromium/src/net/base/sdch_filter_unittest.cc 2009-11-24 17:21:57.000000000 -0700
|
||||
@@ -8,11 +8,11 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
-#if defined(USE_SYSTEM_ZLIB)
|
||||
+/* #if defined(USE_SYSTEM_ZLIB) */
|
||||
#include <zlib.h>
|
||||
-#else
|
||||
+/* #else
|
||||
#include "third_party/zlib/zlib.h"
|
||||
-#endif
|
||||
+#endif */
|
||||
|
||||
#include "base/logging.h"
|
||||
#include "base/memory/scoped_ptr.h"
|
||||
--- chromium/src/chrome/common/metrics_helpers.cc 2009-09-28 10:34:29.000000000 -0600
|
||||
+++ chromium/src/chrome/common/metrics_helpers.cc 2009-11-24 17:21:57.000000000 -0700
|
||||
@@ -4,11 +4,7 @@
|
||||
|
||||
#include "chrome/common/metrics_helpers.h"
|
||||
|
||||
-#if defined(USE_SYSTEM_LIBBZ2)
|
||||
#include <bzlib.h>
|
||||
-#else
|
||||
-#include "third_party/bzip2/bzlib.h"
|
||||
-#endif
|
||||
|
||||
#include "base/base64.h"
|
||||
#include "base/basictypes.h"
|
100
chromium-gcc46.patch
Normal file
100
chromium-gcc46.patch
Normal file
@@ -0,0 +1,100 @@
|
||||
--- chromium/src/ui/gfx/codec/jpeg_codec.h~ 2011-03-31 14:11:18.000000000 +0400
|
||||
+++ chromium/src/ui/gfx/codec/jpeg_codec.h 2011-03-31 14:11:27.000000000 +0400
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
#include <stddef.h>
|
||||
#include <vector>
|
||||
+#include <cstddef>
|
||||
|
||||
#include "ui/base/ui_export.h"
|
||||
|
||||
--- chromium/src/chrome/browser/search_engines/template_url_prepopulate_data.h 2011-03-31 14:48:03.000000000 +0400
|
||||
+++ chromium/src/chrome/browser/search_engines/template_url_prepopulate_data.h 2011-03-31 14:49:52.000000000 +0400
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
#include <stddef.h>
|
||||
#include <vector>
|
||||
+#include <cstddef>
|
||||
|
||||
class GURL;
|
||||
class PrefService;
|
||||
--- chromium/src/third_party/tcmalloc/chromium/src/common.cc~ 2011-03-29 20:46:14.000000000 +0400
|
||||
+++ chromium/src/third_party/tcmalloc/chromium/src/common.cc 2011-03-29 20:47:02.000000000 +0400
|
||||
@@ -30,6 +30,7 @@
|
||||
// ---
|
||||
// Author: Sanjay Ghemawat <opensource@google.com>
|
||||
|
||||
+#include <cstddef>
|
||||
#include "config.h"
|
||||
#include "common.h"
|
||||
#include "system-alloc.h"
|
||||
--- chromium/src/third_party/libjingle/source/talk/base/sigslot.h~ 2011-03-31 13:43:11.000000000 +0400
|
||||
+++ chromium/src/third_party/libjingle/source/talk/base/sigslot.h 2011-03-31 13:52:32.000000000 +0400
|
||||
@@ -81,6 +81,7 @@
|
||||
#include <list>
|
||||
#include <set>
|
||||
#include <stdlib.h>
|
||||
+#include <cstddef>
|
||||
|
||||
// On our copy of sigslot.h, we force single threading
|
||||
#define SIGSLOT_PURE_ISO
|
||||
--- chromium/src/third_party/ots/src/os2.cc~ 2011-03-31 14:03:13.000000000 +0400
|
||||
+++ chromium/src/third_party/ots/src/os2.cc 2011-03-31 14:03:25.000000000 +0400
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "os2.h"
|
||||
|
||||
#include "head.h"
|
||||
+#include <cstddef>
|
||||
|
||||
// OS/2 - OS/2 and Windows Metrics
|
||||
// http://www.microsoft.com/opentype/otspec/os2.htm
|
||||
--- chromium/src/third_party/tcmalloc/chromium/src/base/vdso_support.h~ 2011-03-29 23:20:20.000000000 +0400
|
||||
+++ chromium/src/third_party/tcmalloc/chromium/src/base/vdso_support.h 2011-03-29 23:20:37.000000000 +0400
|
||||
@@ -38,6 +38,7 @@
|
||||
|
||||
#define HAVE_VDSO_SUPPORT 1
|
||||
|
||||
+#include <cstddef>
|
||||
#include <stdlib.h> // for NULL
|
||||
#include <link.h> // for ElfW
|
||||
|
||||
--- chromium/src/third_party/tcmalloc/chromium/src/base/stl_allocator.h~ 2011-03-31 12:53:13.000000000 +0400
|
||||
+++ chromium/src/third_party/tcmalloc/chromium/src/base/stl_allocator.h 2011-03-31 12:53:32.000000000 +0400
|
||||
@@ -39,6 +39,7 @@
|
||||
|
||||
#include <stddef.h> // for std::ptrdiff_t
|
||||
#include <limits>
|
||||
+#include <cstddef>
|
||||
|
||||
#include "base/logging.h"
|
||||
|
||||
--- chromium/src/third_party/tcmalloc/chromium/src/symbolize.h~ 2011-03-31 12:58:42.000000000 +0400
|
||||
+++ chromium/src/third_party/tcmalloc/chromium/src/symbolize.h 2011-03-31 12:59:00.000000000 +0400
|
||||
@@ -39,6 +39,7 @@
|
||||
#endif
|
||||
#include <stddef.h> // for NULL
|
||||
#include <map>
|
||||
+#include <cstddef>
|
||||
|
||||
using std::map;
|
||||
|
||||
--- chromium/src/third_party/tcmalloc/chromium/src/system-alloc.h~ 2011-03-31 13:01:01.000000000 +0400
|
||||
+++ chromium/src/third_party/tcmalloc/chromium/src/system-alloc.h 2011-03-31 13:01:15.000000000 +0400
|
||||
@@ -37,6 +37,7 @@
|
||||
#define TCMALLOC_SYSTEM_ALLOC_H_
|
||||
|
||||
#include <config.h>
|
||||
+#include <cstddef>
|
||||
#include <stddef.h> // for size_t
|
||||
|
||||
class SysAllocator;
|
||||
--- chromium/src/ppapi/cpp/paint_aggregator.h 2010-12-23 18:10:27.000000000 -0600
|
||||
+++ chromium/src/ppapi/cpp/paint_aggregator.h 2011-04-19 05:34:56.085582885 -0500
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef PPAPI_CPP_PAINT_AGGREGATOR_H_
|
||||
#define PPAPI_CPP_PAINT_AGGREGATOR_H_
|
||||
|
||||
+#include <cstddef>
|
||||
#include <stddef.h>
|
||||
#include <vector>
|
||||
|
3
chromium-icons.tar.bz2
Normal file
3
chromium-icons.tar.bz2
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c4d0115898a05eda80d3b1c291c9d9ee23d70db6b61411610a9b1fcbeaee40d2
|
||||
size 96357
|
15
chromium-libusb_interrupt_event_handler.patch
Normal file
15
chromium-libusb_interrupt_event_handler.patch
Normal file
@@ -0,0 +1,15 @@
|
||||
diff -up chromium-48.0.2564.116/services/device/usb/usb_context.cc.modern-libusbx chromium-48.0.2564.116/device/usb/usb_context.cc
|
||||
--- chromium-48.0.2564.116/services/device/usb/usb_context.cc.modern-libusbx 2016-02-24 10:21:10.534996028 -0500
|
||||
+++ chromium-48.0.2564.116/services/device/usb/usb_context.cc 2016-02-24 10:22:28.270499864 -0500
|
||||
@@ -57,7 +57,11 @@ void UsbContext::UsbEventHandler::Run()
|
||||
|
||||
void UsbContext::UsbEventHandler::Stop() {
|
||||
base::subtle::Release_Store(&running_, 0);
|
||||
+#ifdef LIBUSB_API_VERSION >= 0x01000105
|
||||
+ libusb_interrupt_event_handler(context_);
|
||||
+#else
|
||||
libusb_interrupt_handle_event(context_);
|
||||
+#endif
|
||||
}
|
||||
|
||||
UsbContext::UsbContext(PlatformUsbContext context) : context_(context) {
|
13
chromium-master-prefs-path.patch
Normal file
13
chromium-master-prefs-path.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
diff -dupr a/src/chrome/browser/first_run.cc b/src/chrome/browser/first_run.cc
|
||||
--- a/src/chrome/browser/first_run/first_run.cc 2010-03-10 10:21:33.000000000 -0700
|
||||
+++ b/src/chrome/browser/first_run/first_run.cc 2010-03-10 13:08:12.000000000 -0700
|
||||
@@ -92,8 +92,7 @@
|
||||
|
||||
// The standard location of the master prefs is next to the chrome binary.
|
||||
FilePath master_prefs;
|
||||
- if (!PathService::Get(base::DIR_EXE, &master_prefs))
|
||||
- return true;
|
||||
+ master_prefs = FilePath("/etc/chromium");
|
||||
master_prefs = master_prefs.AppendASCII(installer::kDefaultMasterPrefs);
|
||||
|
||||
installer::MasterPreferences prefs(master_prefs);
|
12
chromium-no-courgette.patch
Normal file
12
chromium-no-courgette.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
diff -up chromium-20100218svn39394/src/build/all.gyp.no-courgette chromium-20100218svn39394/src/build/all.gyp
|
||||
--- chromium-20100218svn39394/src/build/all.gyp.no-courgette 2010-02-19 16:03:23.305138076 -0500
|
||||
+++ chromium-20100218svn39394/src/build/all.gyp 2010-02-19 16:03:42.426124248 -0500
|
||||
@@ -81,7 +81,6 @@
|
||||
['OS=="linux"', {
|
||||
'dependencies': [
|
||||
'../breakpad/breakpad.gyp:*',
|
||||
- '../courgette/courgette.gyp:*',
|
||||
'../dbus/dbus.gyp:*',
|
||||
'../sandbox/sandbox.gyp:*',
|
||||
],
|
||||
diff -up chromium-20100218svn39394/src/chrome/chrome.gyp.no-courgette chromium-20100218svn39394/src/chrome/chrome.gyp
|
22
chromium-no-sqlite-debug.patch
Normal file
22
chromium-no-sqlite-debug.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
diff -up chromium-20100218svn39394/src/chrome/common/sqlite_utils.cc.no-sqlite-debugging chromium-20100218svn39394/src/chrome/common/sqlite_utils.cc
|
||||
--- chromium-20100218svn39394/src/chrome/common/sqlite_utils.cc.no-sqlite-debugging 2010-02-18 18:23:31.000000000 -0500
|
||||
+++ chromium-20100218svn39394/src/chrome/common/sqlite_utils.cc 2010-02-19 15:40:50.338131672 -0500
|
||||
@@ -32,8 +32,6 @@ class DebugSQLErrorHandler: public Vanil
|
||||
public:
|
||||
virtual int HandleError(int error, sqlite3* db) {
|
||||
error_ = error;
|
||||
- NOTREACHED() << "sqlite error " << error
|
||||
- << " db " << static_cast<void*>(db);
|
||||
return error;
|
||||
}
|
||||
};
|
||||
@@ -276,8 +274,7 @@ int SQLStatement::prepare(sqlite3* db, c
|
||||
DCHECK(!stmt_);
|
||||
int rv = sqlite3_prepare_v2(db, sql, sql_len, &stmt_, NULL);
|
||||
if (rv != SQLITE_OK) {
|
||||
- SQLErrorHandler* error_handler = GetErrorHandlerFactory()->Make();
|
||||
- return error_handler->HandleError(rv, db);
|
||||
+ DLOG(ERROR) << "SQLStatement.prepare_v2 failed: " << sqlite3_errmsg(db);
|
||||
}
|
||||
return rv;
|
||||
}
|
53
chromium-no-test-sources.patch
Normal file
53
chromium-no-test-sources.patch
Normal file
@@ -0,0 +1,53 @@
|
||||
diff -up chromium-6.0.417.0-20100526svn48276/chrome/chrome.gyp.notests chromium-6.0.417.0-20100526svn48276/chrome/chrome.gyp
|
||||
--- chromium-6.0.417.0-20100526svn48276/src/chrome/chrome.gyp.notests 2010-05-27 11:08:15.000000000 -0400
|
||||
+++ chromium-6.0.417.0-20100526svn48276/src/chrome/chrome.gyp 2010-05-27 11:09:38.961194394 -0400
|
||||
@@ -132,7 +132,6 @@
|
||||
'chrome_installer.gypi',
|
||||
'chrome_installer_util.gypi',
|
||||
'chrome_renderer.gypi',
|
||||
- 'chrome_tests.gypi',
|
||||
'common_constants.gypi',
|
||||
'nacl.gypi',
|
||||
],
|
||||
@@ -920,7 +919,6 @@
|
||||
'target_name': 'ipclist',
|
||||
'type': 'executable',
|
||||
'dependencies': [
|
||||
- 'test_support_common',
|
||||
'../skia/skia.gyp:skia',
|
||||
],
|
||||
'include_dirs': [
|
||||
@@ -1238,7 +1236,6 @@
|
||||
'type': 'executable',
|
||||
'dependencies': [
|
||||
'../base/base.gyp:base',
|
||||
- '../base/base.gyp:test_support_base',
|
||||
],
|
||||
'sources': [
|
||||
'tools/perf/flush_cache/flush_cache.cc',
|
||||
@@ -1351,7 +1348,6 @@
|
||||
'..',
|
||||
],
|
||||
'dependencies': [
|
||||
- 'test_support_common',
|
||||
'../skia/skia.gyp:skia',
|
||||
],
|
||||
'sources': [
|
||||
@@ -1528,7 +1524,6 @@
|
||||
'dependencies': [
|
||||
'theme_resources',
|
||||
'theme_resources_standard',
|
||||
- '../base/base.gyp:test_support_base',
|
||||
'../skia/skia.gyp:skia',
|
||||
'../testing/gtest.gyp:gtest',
|
||||
],
|
||||
--- chromium/src/chrome/browser/sync/tools/sync_tools.gyp 2011-04-08 16:44:28.737000131 +0200
|
||||
+++ chromium/src/chrome/browser/sync/tools/sync_tools.gyp 2011-04-08 16:44:28.737000131 +0200
|
||||
@@ -13,7 +13,6 @@
|
||||
'dependencies': [
|
||||
'<(DEPTH)/base/base.gyp:base',
|
||||
'<(DEPTH)/chrome/chrome.gyp:sync_notifier',
|
||||
- '<(DEPTH)/chrome/chrome.gyp:test_support_common',
|
||||
'<(DEPTH)/content/content.gyp:content_browser',
|
||||
'<(DEPTH)/net/net.gyp:net',
|
||||
],
|
16
chromium-norar.patch
Normal file
16
chromium-norar.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
diff --git a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
|
||||
index 2a930f44908f4..095a1ac913334 100644
|
||||
--- a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
|
||||
+++ b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
|
||||
@@ -78,11 +78,6 @@ void FileAnalyzer::Start(const base::FilePath& target_file_name,
|
||||
return;
|
||||
}
|
||||
|
||||
- if (inspection_type == DownloadFileType::RAR) {
|
||||
- StartExtractRarFeatures();
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
if (inspection_type == DownloadFileType::DMG) {
|
||||
StartExtractDmgFeatures();
|
11
chromium-norpath.patch
Normal file
11
chromium-norpath.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- chromium/src/native_client/build/common.gypi.norpath 2009-12-16 10:15:46.000000000 -0500
|
||||
+++ chromium/src/native_client/build/common.gypi 2009-12-16 10:15:52.000000000 -0500
|
||||
@@ -511,7 +511,7 @@
|
||||
# -rpath is only used when building with shared libraries.
|
||||
'conditions': [
|
||||
[ 'library=="shared_library"', {
|
||||
- 'RPATH': '$LIB_DIR',
|
||||
+ # 'RPATH': '$LIB_DIR',
|
||||
}],
|
||||
],
|
||||
},
|
17
chromium-prop-codecs.patch
Normal file
17
chromium-prop-codecs.patch
Normal file
@@ -0,0 +1,17 @@
|
||||
Index: chromium-106.0.5249.91/media/BUILD.gn
|
||||
===================================================================
|
||||
--- chromium-106.0.5249.91.orig/media/BUILD.gn
|
||||
+++ chromium-106.0.5249.91/media/BUILD.gn
|
||||
@@ -64,12 +64,6 @@ buildflag_header("media_buildflags") {
|
||||
}
|
||||
}
|
||||
|
||||
-if (proprietary_codecs && media_use_ffmpeg) {
|
||||
- assert(
|
||||
- ffmpeg_branding != "Chromium",
|
||||
- "proprietary codecs and ffmpeg_branding set to Chromium are incompatible")
|
||||
-}
|
||||
-
|
||||
# Common configuration for targets in the media directory; these must not be
|
||||
# exported since things like USE_NEON have different meanings elsewhere in the
|
||||
# code base.
|
14
chromium-remoting-build-fix.diff
Normal file
14
chromium-remoting-build-fix.diff
Normal file
@@ -0,0 +1,14 @@
|
||||
--- chromium/src/remoting/remoting.gyp 2010-10-03 15:13:07.746440175 +0200
|
||||
+++ chromium/src/remoting/remoting.gyp 2010-10-03 15:13:07.746440175 +0200
|
||||
@@ -243,6 +243,11 @@
|
||||
# TODO(hclam): Enable VP8 in the build.
|
||||
#'third_party/on2/on2.gyp:vp8',
|
||||
],
|
||||
+ 'link_settings': {
|
||||
+ 'libraries': [
|
||||
+ '-lvpx',
|
||||
+ ],
|
||||
+ },
|
||||
'export_dependent_settings': [
|
||||
'../base/base.gyp:base',
|
||||
'../net/net.gyp:net',
|
BIN
chromium-symbolic.svg
(Stored with Git LFS)
Normal file
BIN
chromium-symbolic.svg
(Stored with Git LFS)
Normal file
Binary file not shown.
42
chromium-system-expat.patch
Normal file
42
chromium-system-expat.patch
Normal file
@@ -0,0 +1,42 @@
|
||||
diff -up chromium-5.0.358.0-20100318svn41971/src/chrome/browser/autofill/autofill_xml_parser.h.system-expat chromium-5.0.358.0-20100318svn41971/src/chrome/browser/autofill/autofill_xml_parser.h
|
||||
--- chromium-5.0.358.0-20100318svn41971/src/chrome/browser/autofill/autofill_xml_parser.h.system-expat 2010-03-18 22:55:12.071283208 -0400
|
||||
+++ chromium-5.0.358.0-20100318svn41971/src/chrome/browser/autofill/autofill_xml_parser.h 2010-03-18 22:55:27.671209061 -0400
|
||||
@@ -10,7 +10,7 @@
|
||||
#include "base/basictypes.h"
|
||||
#include "chrome/browser/autofill/field_types.h"
|
||||
#include "chrome/browser/autofill/form_structure.h"
|
||||
-#include "third_party/expat/files/lib/expat.h"
|
||||
+#include <expat.h>
|
||||
#include "third_party/libjingle/source/talk/xmllite/xmlparser.h"
|
||||
|
||||
// The base class that contains common functionality between
|
||||
--- chromium-5.0.358.0-20100318svn41971/src/third_party/libjingle/source/talk/xmllite/xmlparser.h.system-expat 2010-03-18 22:55:12.071283208 -0400
|
||||
+++ chromium-5.0.358.0-20100318svn41971/src/third_party/libjingle/source/talk/xmllite/xmlparser.h 2010-03-18 22:55:27.671209061 -0400
|
||||
@@ -31,11 +31,7 @@
|
||||
#include <string>
|
||||
|
||||
#include "talk/xmllite/xmlnsstack.h"
|
||||
-#ifdef EXPAT_RELATIVE_PATH
|
||||
-#include "expat.h"
|
||||
-#else
|
||||
-#include "third_party/expat/v2_0_1/Source/lib/expat.h"
|
||||
-#endif // EXPAT_RELATIVE_PATH
|
||||
+#include <expat.h>
|
||||
|
||||
struct XML_ParserStruct;
|
||||
typedef struct XML_ParserStruct* XML_Parser;
|
||||
--- chromium-5.0.358.0-20100318svn41971/src/third_party/libjingle/source/talk/xmllite/xmlbuilder.h.system-expat 2010-03-18 22:55:12.071283208 -0400
|
||||
+++ chromium-5.0.358.0-20100318svn41971/src/third_party/libjingle/source/talk/xmllite/xmlbuilder.h 2010-03-18 22:55:27.671209061 -0400
|
||||
@@ -33,11 +33,7 @@
|
||||
#include "talk/base/scoped_ptr.h"
|
||||
#include "talk/xmllite/xmlparser.h"
|
||||
|
||||
-#ifdef EXPAT_RELATIVE_PATH
|
||||
-#include "expat.h"
|
||||
-#else
|
||||
-#include "third_party/expat/v2_0_1/Source/lib/expat.h"
|
||||
-#endif // EXPAT_RELATIVE_PATH
|
||||
+#include <expat.h>
|
||||
|
||||
namespace buzz {
|
||||
|
46
chromium-system-glew.patch
Normal file
46
chromium-system-glew.patch
Normal file
@@ -0,0 +1,46 @@
|
||||
diff -up chromium-5.0.377.0-20100413svn44349/src/build/linux/system.gyp.GLEW chromium-5.0.377.0-20100413svn44349/src/build/linux/system.gyp
|
||||
--- chromium-5.0.377.0-20100413svn44349/src/build/linux/system.gyp.GLEW 2010-04-13 11:36:47.300172139 -0400
|
||||
+++ chromium-5.0.377.0-20100413svn44349/src/build/linux/system.gyp 2010-04-13 11:36:47.579173387 -0400
|
||||
@@ -340,6 +340,42 @@
|
||||
},
|
||||
}]]
|
||||
},
|
||||
+ {
|
||||
+ 'target_name': 'icu',
|
||||
+ 'type': 'settings',
|
||||
+ 'conditions': [
|
||||
+ ['_toolset=="target"', {
|
||||
+ 'direct_dependent_settings': {
|
||||
+ 'cflags': [
|
||||
+ '-Wno-unused-function',
|
||||
+ # TODO(port): fix ICU to not depend on this flag.
|
||||
+ '-fno-strict-aliasing',
|
||||
+ ],
|
||||
+ },
|
||||
+ 'link_settings': {
|
||||
+ 'ldflags': [
|
||||
+ '',
|
||||
+ ],
|
||||
+ 'libraries': [
|
||||
+ '-licui18n',
|
||||
+ ],
|
||||
+ },
|
||||
+ }]]
|
||||
+ },
|
||||
+ {
|
||||
+ 'target_name': 'glew',
|
||||
+ 'type': 'settings',
|
||||
+ 'conditions': [
|
||||
+ ['_toolset=="target"', {
|
||||
+ 'link_settings': {
|
||||
+ 'libraries': [
|
||||
+ '-lGLEW',
|
||||
+ '-lGL',
|
||||
+ '-lX11',
|
||||
+ ],
|
||||
+ },
|
||||
+ }]]
|
||||
+ },
|
||||
{
|
||||
'target_name': 'gnome_keyring',
|
||||
'type': 'settings',
|
19
chromium-system-zlib.patch
Normal file
19
chromium-system-zlib.patch
Normal file
@@ -0,0 +1,19 @@
|
||||
diff -up chromium-20100315svn41580/src/third_party/WebKit/Source/WebCore/WebCore.gyp/WebCore.gyp.system-zlib chromium-20100315svn41580/src/third_party/WebKit/WebCore/WebCore.gyp/WebCore.gyp
|
||||
--- chromium-20100315svn41580/src/third_party/WebKit/Source/WebCore/WebCore.gyp/WebCore.gyp.system-zlib 2010-03-15 13:08:00.000000000 -0400
|
||||
+++ chromium-20100315svn41580/src/third_party/WebKit/Source/WebCore/WebCore.gyp/WebCore.gyp 2010-03-15 13:10:34.697208907 -0400
|
||||
@@ -855,6 +855,7 @@
|
||||
'<(chromium_src_dir)/third_party/ots/ots.gyp:ots',
|
||||
'<(chromium_src_dir)/third_party/sqlite/sqlite.gyp:sqlite',
|
||||
'<(chromium_src_dir)/third_party/angle/src/build_angle.gyp:translator_common',
|
||||
+ '<(chromium_src_dir)/third_party/zlib/zlib.gyp:zlib',
|
||||
'<(libjpeg_gyp_path):libjpeg',
|
||||
],
|
||||
'export_dependent_settings': [
|
||||
@@ -872,6 +873,7 @@
|
||||
'<(chromium_src_dir)/third_party/ots/ots.gyp:ots',
|
||||
'<(chromium_src_dir)/third_party/sqlite/sqlite.gyp:sqlite',
|
||||
'<(chromium_src_dir)/third_party/angle/src/build_angle.gyp:translator_common',
|
||||
+ '<(chromium_src_dir)/third_party/zlib/zlib.gyp:zlib',
|
||||
'<(libjpeg_gyp_path):libjpeg',
|
||||
],
|
||||
# This is needed for mac because of webkit_system_interface. It'd be nice
|
11
chromium-vendor.patch.in
Normal file
11
chromium-vendor.patch.in
Normal file
@@ -0,0 +1,11 @@
|
||||
--- src/webkit/glue/user_agent.cc
|
||||
+++ src/webkit/glue/user_agent.cc
|
||||
@@ -106,6 +106,7 @@ void BuildUserAgent(bool mimic_chrome1,
|
||||
base::StringAppendF(
|
||||
result,
|
||||
"Mozilla/5.0 (%s%s) AppleWebKit/%d.%d"
|
||||
- " (KHTML, like Gecko) %s Safari/%d.%d",
|
||||
+ " (KHTML, like Gecko) %s Safari/%d.%d"
|
||||
+ " SUSE/RPM_VERSION",
|
||||
mimic_windows ? "Windows " : kUserAgentPlatform,
|
||||
BuildOSCpuInfo().c_str(),
|
3
chromium.15.0.854.0.svn96902.tar.lzma
Normal file
3
chromium.15.0.854.0.svn96902.tar.lzma
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d09fedf04e64c8ff6876464af4ef20672a0d917052842f390aa6244716199f5f
|
||||
size 191564388
|
406
chromium.changes
Normal file
406
chromium.changes
Normal file
@@ -0,0 +1,406 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 16 09:14:32 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 15.0.854
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Aug 7 09:13:32 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Introduce an option to switch the password store for Chromium in
|
||||
a more friendlier way, by using the update-alternatives. The user
|
||||
has now the option to install a new package (chromium-desktop-kde
|
||||
or chromium-desktop-gnome) and based on this the respective
|
||||
password store is selected.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Aug 6 10:09:02 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 15.0.846
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jul 30 08:12:51 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 15.0.839
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 21 17:06:31 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 14.0.829
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jul 17 09:15:18 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 14.0.825
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 12 02:26:20 UTC 2011 - nmarques@opensuse.org
|
||||
|
||||
- Fix for bnc#705223:
|
||||
+ Icons are installed in hicolor instead of oxygen, this ensures
|
||||
compatibility with open Desktop standards.
|
||||
+ Add GTK icon cache update for >= 1140 on %post and %postun.
|
||||
+ Removed the .png in %{_datadir}/pixmaps as hicolor is a better
|
||||
option.
|
||||
+ Add hicolor-icon-theme to BuildRequires and Requires.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 13 11:49:27 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 14.0.792
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 6 08:47:30 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 14.0.786
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jun 4 07:22:05 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 14.0.785
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat May 28 20:05:21 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 13.0.780
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 25 13:03:04 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 13.0.777
|
||||
+ Builds now based on system library for V8.
|
||||
+ Removed Shared Library build due to errors. Everything is back
|
||||
into one single binary
|
||||
+ Added patchfile to build with GCC 4.6
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun May 15 12:49:33 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 13.0.767
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 28 17:44:47 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 13.0.751
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 22 06:23:09 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 12.0.744
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 18 17:01:00 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 12.0.741
|
||||
- Include icon-set for Oxygen. (bnc#684728)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 8 15:29:13 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 12.0.731
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Apr 3 15:30:49 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 12.0.724
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 31 19:28:18 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 12.0.721
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 28 18:26:22 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 12.0.718
|
||||
- Added conflict for xine-browser-plugin
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 16 05:15:44 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 12.0.705
|
||||
- Included option to detect the password store in /usr/bin/chromium
|
||||
(options there are detect,default,gnome,kwallet)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 11 08:42:36 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 12.0.700
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 9 18:45:16 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 11.0.698
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 4 08:08:57 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 11.0.691
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 2 18:17:40 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 11.0.688
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Feb 27 09:05:00 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 11.0.685
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Feb 27 08:52:51 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 11.0.683
|
||||
* Chromium will now use the internal ICU libraries for all
|
||||
openSUSE versions.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 16 23:45:49 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 11.0.674
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 15 18:37:51 UTC 2011 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 11.0.673
|
||||
* For Factory the internal ICU libraries are used as that
|
||||
Chromium does not build with the ones provided by Factory
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 19 13:23:13 UTC 2011 - prusnak@opensuse.org
|
||||
|
||||
- add more mimetypes to desktop file
|
||||
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Dec 25 09:40:13 UTC 2010 - rwooninck@opensuse.org
|
||||
|
||||
- update to 10.0.622.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 25 14:30:33 UTC 2010 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 9.0.564 build
|
||||
* Added specific patches for MeeGo.
|
||||
* We are now using shared libraries for Chromium
|
||||
* Spec-file cleanup (Thanks to prusnak)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 8 00:13:33 UTC 2010 - cristian.rodriguez@opensuse.org
|
||||
|
||||
- use jobs instead of a fixed numer of jobs, buildsystem may hang
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 7 20:10:06 UTC 2010 - cristian.rodriguez@opensuse.org
|
||||
|
||||
- workaround gcc bug, that produces extremely annoying
|
||||
failure of the search bar.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 24 01:17:14 UTC 2010 - cristian.rodriguez@opensuse.org
|
||||
|
||||
- do not include %{release} in RPM_VERSION that makes the
|
||||
package to republish everytime to users even if there
|
||||
are no code changes.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 10 20:10:14 UTC 2010 - bgmerrell@novell.com
|
||||
|
||||
- Add master_preferences source file and install it to /etc/chromium.
|
||||
- Create a new patch (chromium-master-prefs-path.patch) which tells
|
||||
chromium to look in /etc/chromium for the master_preferences file
|
||||
(instead of looking in the default directory, which is the same
|
||||
directory as the 'chrome' binary).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
* Sun Mar 7 00:00:00 UTC 2010 - tititatcoke@gmail.com
|
||||
|
||||
- Update to 5.0.347
|
||||
+ moved back to static binary again.
|
||||
+ No longer depends on system v8
|
||||
|
||||
-------------------------------------------------------------------
|
||||
* Mon Feb 21 00:00:00 UTC 2010 - tititatcoke@gmail.com
|
||||
|
||||
- Update to 5.0.341
|
||||
+ remove courgette build and sources (patent issue)
|
||||
+ Move to shared libraries build
|
||||
+ Depends on system v8 again
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jan 24 21:42:27 UTC 2010 - prusnak@suse.cz
|
||||
|
||||
- added vendor to user agent (chromium-vendor.patch.in)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Nov 29 14:18:27 UTC 2009 - prusnak@suse.cz
|
||||
|
||||
- added --enable-sync to wrapper to enable bookmark sync
|
||||
|
||||
-------------------------------------------------------------------
|
||||
* Sun Nov 29 00:00:00 UTC 2009 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 4.0.260
|
||||
|
||||
-------------------------------------------------------------------
|
||||
* Fri Nov 27 00:00:00 UTC 2009 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 4.0.259
|
||||
|
||||
-------------------------------------------------------------------
|
||||
* Thu Nov 26 00:00:00 UTC 2009 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 4.0.258
|
||||
|
||||
-------------------------------------------------------------------
|
||||
* Tue Nov 24 00:00:00 UTC 2009 - tittatcoke@gmai.com
|
||||
|
||||
- In order to complete prevent the wrong v8 version to be used,
|
||||
the Chromium build has been changed to having an built-in v8
|
||||
|
||||
-------------------------------------------------------------------
|
||||
* Tue Nov 24 00:00:00 UTC 2009 - dbuck@example.com
|
||||
|
||||
- Re-base patches.
|
||||
- Fixed a few patch errors.
|
||||
- Rename some patches to better correspond with function.
|
||||
- Removed some patches.
|
||||
- Minor SPEC changes.
|
||||
- I changed the v8 requirement to be exact, instead of greater than a specific version.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 13 20:34:05 UTC 2009 - tittiatcoke@gmail.com
|
||||
|
||||
- update to 247.0 svn 31928
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 30 13:58:11 UTC 2009 - tittiatcoke@gmail.com
|
||||
|
||||
- update to 229.0 svn 30454
|
||||
+ Fix regression where popups and app frames lost their titlebars.
|
||||
+ Makes it so that when a folder is open on the bookmark bar
|
||||
and the mouse moves over another folder, the menu for that
|
||||
folder is shown.
|
||||
+ Lazily create the find bar.
|
||||
+ Polish to the gmail checker sample.
|
||||
* New, crisper icons that are exactly 19x19
|
||||
* Add a loading animation at the beginning before Gmail
|
||||
responds.
|
||||
* Fix a bug where we sometimes don't update the UI after a
|
||||
logout/login cycle.
|
||||
+ Refactor widget methods to support desktop notifications,
|
||||
including GTK stubs.
|
||||
+ Find-in-page should not ding while deleting characters.
|
||||
+ Add SSL wrapper for linux and mac. This allows notifier to
|
||||
use chrome's SSL layer instead of OpenSSL.
|
||||
+ Add three of the six extensions to PAC that Internet Explorer supports.
|
||||
+ WebSocket support in chromium. (Run with --enable-web-sockets
|
||||
enables WebSocket features.)
|
||||
+ Do not allow GTK File Chooser dialogs to return directories.
|
||||
+ Fix the notifier SSL layer to make notifications work for
|
||||
Linux Bookmark sync.
|
||||
+ linux: don't override mouse selection behavior in omnibox
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Oct 25 08:37:29 UTC 2009 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to 224.4 svn 30027
|
||||
+ First cut at new page and browser action docs based
|
||||
on new API. Deleted old stuff.
|
||||
+ Add suppression for new memory leak caused by WebKit merge 49830:49844
|
||||
+ Cleanup: change PIDs to base::ProcessId (or pid_t, as appropriate)
|
||||
+ Minimize dependency of user scripts
|
||||
+ Fixup the flip_framer eof-handling semantics now that we have
|
||||
the FIN bit in place
|
||||
+ app depends on x11 because of active_window_watcher_x
|
||||
+ Adding two images for the new Extension managment UI
|
||||
+ Removing hard-coded Chrome Frame output path
|
||||
+ Rearrange clipboard code
|
||||
+ Fix crash bug when attempting to download a url with unsupported scheme,
|
||||
e.g. 'data:', by 'Alt + Click'
|
||||
+ GTK: Change text for extension download UI
|
||||
+ Ignore invalid urls on command line
|
||||
+ Make dropped tabs animate from where they were dropped.
|
||||
+ Make room for the full width of the tab placeholder.
|
||||
+ Make tab dragging as smooth as glass.
|
||||
+ Remove an annoying NOTIMPLEMNETED
|
||||
+ Extensions: guarantee removal of BROWSER_WINDOW_READY registration
|
||||
+ If we're in the middle of a drag, don't allow the user to middle
|
||||
click to close or right click for the context menu
|
||||
+ "Fix" a NOTIMPLEMENTED on Linux by using the default password store
|
||||
+ Remove +x bit from files that shouldn't have it
|
||||
+ Fold first 3 channels of multichannel instead of 5. Use fixed point
|
||||
+ Adding new image needed for the managment UI
|
||||
+ Fix a race bug where content scripts would not apply to the first page load
|
||||
+ Make escape remove a bookmark if it's just been added (but not if it already existed)
|
||||
+ Fix bubbles deactivating the opaque frame
|
||||
+ Allow ESC to cancel ALT+SHIFT+T in Toolbar
|
||||
+ ake all pepper plugins default to windowless and transparent
|
||||
+ Add styles for printing
|
||||
+ Implement the new extension management UI
|
||||
+ Add support for to automation interface load install and load extensions
|
||||
+ GTK: theme the info bar border
|
||||
+ Update V8 to version 1.3.16.1
|
||||
+ Introduce WebSecurityPolicy for security related methods
|
||||
+ New button scheme...borders are separate from the inner contents so
|
||||
that they can be highlighted / depressed independently
|
||||
+ When opening Chrome maximized with an application window already
|
||||
running, the Chrome window was not activated
|
||||
+ Fix compatibility problems with FileZilla FTP Server
|
||||
+ Remove the extension shelf on Linux
|
||||
+ Fix the proxy host and port string to start with http:// if it does not already
|
||||
+ Enable HTML5 databases for all extension renderer processes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
* Sat Oct 24 00:00:00 UTC 2009 - prusnak@opensuse.org
|
||||
|
||||
- don't create desktop files in wrapper
|
||||
- fix LD_LIBRARY_PATH (chromium-fix-wrapper.patch)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
* Tue Oct 20 00:00:00 UTC 2009 - tittiatcoke@gmail.com
|
||||
|
||||
- update to newer svn snapshot
|
||||
+ Obsoletes fwrite patch (included upstream)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
* Fri Oct 16 00:00:00 UTC 2009 - tittiatcoke@gmail.com
|
||||
|
||||
- update to newer svn snapshot
|
||||
+ Requires newer version of v8
|
||||
|
||||
-------------------------------------------------------------------
|
||||
* Thu Oct 15 00:00:00 UTC 2009 - prusnak@suse.cz
|
||||
|
||||
- do not force SSE on x86 (drop-sse.patch)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
* Tue Oct 13 00:00:00 UTC 2009 - tittiatcoke@gmail.com
|
||||
|
||||
- Update to newer svn snapshot
|
||||
- Fixed spec file in order to build
|
||||
- Included patch to build with system zlib
|
||||
|
||||
-------------------------------------------------------------------
|
||||
* Mon Oct 12 00:00:00 UTC 2009 - prusnak@suse.cz
|
||||
|
||||
- package renamed to chromium
|
||||
- cleaned up spec file
|
||||
|
||||
-------------------------------------------------------------------
|
||||
* Tue Oct 6 00:00:00 UTC 2009 - dbuck@example.com
|
||||
|
||||
- v8 is now built as a separate package, and is required
|
||||
- included many patches to use system libraries:
|
||||
v8, icu, libxml2, libxslt, libjpeg, libpng, libevent, bzip2, zlib, nspr, nss
|
||||
|
||||
-------------------------------------------------------------------
|
||||
* Sun Oct 1 00:00:00 UTC 2009 - dbuck@example.com
|
||||
|
||||
- included a newer DEP than is in svn, native_client@823
|
||||
- things should compile cleanly now
|
||||
|
||||
-------------------------------------------------------------------
|
||||
* Sun Aug 31 00:00:00 UTC 2009 - dbuck@example.com
|
||||
|
||||
- initial build
|
||||
|
379
chromium.spec
Normal file
379
chromium.spec
Normal file
@@ -0,0 +1,379 @@
|
||||
# Thanks to malcolmlewis for help with this script
|
||||
# Thanks to Tom "spot" Callaway for much of the patchwork
|
||||
# Thanks to jhaygood for most of the icu patch
|
||||
|
||||
|
||||
%define svn_rev 96902
|
||||
%define v8_ver 3.5.5.0
|
||||
|
||||
Name: chromium
|
||||
Version: 15.0.854.0
|
||||
Release: 1
|
||||
License: BSD
|
||||
Summary: Google's opens source browser project
|
||||
Group: Productivity/Networking/Web/Browsers
|
||||
Source0: %{name}.%{version}.svn%{svn_rev}.tar.lzma
|
||||
Source8: ffmpeg-0.6-headers.tar.bz2
|
||||
Source20: chromium-vendor.patch.in
|
||||
Source30: master_preferences
|
||||
Source31: default_bookmarks.html
|
||||
Source99: chrome-wrapper
|
||||
Source100: chromium-browser.sh
|
||||
Source101: chromium-browser.desktop
|
||||
Source102: chromium-browser.xml
|
||||
Source103: chromium-browser-rpmlintrc
|
||||
Source104: chromium-icons.tar.bz2
|
||||
Provides: chromium-browser = %{version}
|
||||
Provides: chromium-based-browser = %{version}
|
||||
Obsoletes: chromium-browser < %{version}
|
||||
Obsoletes: chromium-devel <= %{version}
|
||||
Obsoletes: chromium-libs <= %{version}
|
||||
Provides: chromium-libs = %{version}
|
||||
Conflicts: xine-browser-plugin
|
||||
|
||||
## Start Patches
|
||||
# Many changes to the gyp systems so we can use system libraries
|
||||
# PATCH-FIX-OPENSUSE Fix build with GCC 4.6
|
||||
Patch1: chromium-gcc46.patch
|
||||
# PATCH-FIX-OPENSUSE disable debug for sqlite
|
||||
#Patch4: chromium-no-sqlite-debug.patch
|
||||
# PATCH-FIX-OPENSUSE patches in system zlib library
|
||||
Patch8: chromium-codechanges-zlib.patch
|
||||
# PATCH-FIX-OPENSUSE disables the build of the test suite
|
||||
Patch12: chromium-no-test-sources.patch
|
||||
# PATCH-FIX-OPENSUSE removes build part for courgette
|
||||
Patch13: chromium-no-courgette.patch
|
||||
# PATCH-FIX-OPENSUSE enables reading of the master preference
|
||||
Patch14: chromium-master-prefs-path.patch
|
||||
# PATCH-FIX-OPENSUSE patches in system glew library
|
||||
Patch17: chromium-system-glew.patch
|
||||
# PATCH-FIX-OPENSUSE patches in system expat library
|
||||
Patch18: chromium-system-expat.patch
|
||||
# PATCH-FIX-OPENSUSE further changes to work with system zlib library
|
||||
Patch19: chromium-system-zlib.patch
|
||||
# PATCH-FIX-OPENSUSE disables the requirement for ffmpeg
|
||||
Patch20: chromium-6.0.425.0-ffmpeg-no-pkgconfig.patch
|
||||
# PATCH-FIX-OPENSUSE ensure that all media formats are being recognized
|
||||
Patch21: chromium-7.0.542.0-media-probe.patch
|
||||
# PATCH-FIX-OPENSUSE disable the use of tcmallic function
|
||||
Patch25: tcmalloc-factory.patch
|
||||
# PATCH-FIX-OPENSUSE make sure that Chrome remoting is linking against the system libvpx
|
||||
Patch26: chromium-remoting-build-fix.diff
|
||||
# PATCH-FIX-OPENSUSE patches in system speex library
|
||||
Patch28: chromium-7.0.500.0-system-speex.patch
|
||||
# PATCH-FIX-OPENSUSE patches in the system ffmpeg header files
|
||||
Patch29: chromium-7.0.510.0-system-ffmpeg.patch
|
||||
# PATCH-FIX-OPENSUSE patches in the system libvpx library
|
||||
Patch32: chromium-7.0.542.0-system-libvpx.patch
|
||||
# PATCH-FIX-OPENSUSE further changes to ensure working with the system minizip and v8 libraries
|
||||
Patch34: chromium-7.0.542.0-codechanges-system-minizip-v8.patch
|
||||
# PATCH-FIX-OPENSUSE remove the rpath in the libraries
|
||||
Patch62: chromium-norpath.patch
|
||||
# PATCH-FIX-OPENSUSE patches in the system v8 library
|
||||
Patch63: chromium-6.0.406.0-system-gyp-v8.patch
|
||||
%if 0%{?suse_version} > 1130
|
||||
# PATCH-FIX-OPENSUSE ensure that on newer kernels the right /proc/oom_score_adj file is used
|
||||
Patch99: chromium_patch_newer_kernels.patch
|
||||
%endif
|
||||
Patch999: buildfix.patch
|
||||
|
||||
BuildRequires: Mesa-devel
|
||||
BuildRequires: alsa-devel
|
||||
BuildRequires: bison
|
||||
BuildRequires: cups-devel
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: flex
|
||||
BuildRequires: freetype2-devel
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gperf
|
||||
BuildRequires: hunspell-devel
|
||||
BuildRequires: libbz2-devel
|
||||
BuildRequires: libevent
|
||||
BuildRequires: libexpat-devel
|
||||
BuildRequires: libgnutls-devel
|
||||
BuildRequires: libjpeg-devel
|
||||
BuildRequires: libpng-devel
|
||||
BuildRequires: libstdc++-devel
|
||||
BuildRequires: libvpx-devel
|
||||
BuildRequires: libxslt-devel
|
||||
BuildRequires: libzip-devel
|
||||
BuildRequires: lzma
|
||||
BuildRequires: mozilla-nspr-devel
|
||||
BuildRequires: mozilla-nss-devel
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: pam-devel
|
||||
BuildRequires: perl(Switch)
|
||||
BuildRequires: pkg-config
|
||||
BuildRequires: pkgconfig(cairo) >= 1.6
|
||||
BuildRequires: pkgconfig(dbus-1)
|
||||
BuildRequires: pkgconfig(gconf-2.0)
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
BuildRequires: pkgconfig(gtk+-2.0)
|
||||
BuildRequires: pkgconfig(libxml-2.0)
|
||||
BuildRequires: python
|
||||
BuildRequires: python-xml
|
||||
BuildRequires: sqlite3-devel
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: v8-devel = %{v8_ver}
|
||||
BuildRequires: wdiff
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: libpulse-devel
|
||||
%if 0%{?suse_version} > 1120
|
||||
BuildRequires: libgnome-keyring-devel
|
||||
%else
|
||||
BuildRequires: gnome-keyring-devel
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1130
|
||||
BuildRequires: python-devel
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version} >= 1110
|
||||
BuildRequires: libevent-devel
|
||||
BuildRequires: libicu-devel >= 4.0
|
||||
%endif
|
||||
BuildRequires: speex-devel
|
||||
BuildRequires: hicolor-icon-theme
|
||||
|
||||
Requires: alsa
|
||||
Requires: xdg-utils
|
||||
Requires: libv8-3 = %{v8_ver}
|
||||
Requires: hicolor-icon-theme
|
||||
Requires: update-alternatives
|
||||
|
||||
Recommends: Chromium-password
|
||||
|
||||
# Recommends the chromium-ffmpeg library (available from packman)
|
||||
Recommends: chromium-ffmpeg = %{version}
|
||||
|
||||
%if 0%{?suse_version} < 1120
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
|
||||
%description
|
||||
Chromium is the open-source project behind Google Chrome. We invite you to join us in our effort to help build a safer, faster, and more stable way for all Internet users to experience the web, and to create a powerful platform for developing a new generation of web applications.
|
||||
|
||||
%package desktop-kde
|
||||
Summary: Update to chromium to use KDE's kwallet to store passwords
|
||||
Group: Productivity/Networking/Web/Browsers
|
||||
supplements: packageand(chromium:kdebase4-session)
|
||||
conflicts: chromium-desktop-gnome
|
||||
Provides: Chromium-password
|
||||
|
||||
%description desktop-kde
|
||||
By using the openSUSE update-alternatives the password store for Chromium is changed to utilize
|
||||
KDE's kwallet. Please be aware that by this change the old password are no longer accessible and
|
||||
are also not converted to kwallet.
|
||||
|
||||
%package desktop-gnome
|
||||
Summary: Update to chromium to use Gnome keyring to store passwords
|
||||
Group: Productivity/Networking/Web/Browsers
|
||||
supplements: packageand(chromium:gnome-session)
|
||||
conflicts: chromium-desktop-kde
|
||||
Provides: Chromium-password
|
||||
|
||||
%description desktop-gnome
|
||||
By using the openSUSE update-alternatives the password store for Chromium is changed to utilize
|
||||
Gnome's Keyring. Please be aware that by this change the old password are no longer accessible and
|
||||
are also not converted to Gnome's Keyring.
|
||||
|
||||
%prep
|
||||
lzma -cd %{SOURCE0} | tar xf -
|
||||
%setup -D -T -n %{name}-suse
|
||||
|
||||
%patch1 -p1
|
||||
%patch62 -p1
|
||||
%patch63 -p1
|
||||
%patch8 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch17 -p1
|
||||
%patch18 -p1
|
||||
%patch19 -p1
|
||||
%patch20 -p1
|
||||
%patch21 -p1
|
||||
%patch25 -p1
|
||||
%patch26 -p1
|
||||
%patch28 -p1
|
||||
%patch29 -p1
|
||||
%patch32 -p1
|
||||
%patch34 -p1
|
||||
%if 0%{?suse_version} > 1130
|
||||
%patch99 -p1
|
||||
%endif
|
||||
%patch999 -p1
|
||||
|
||||
pushd src/third_party/ffmpeg/
|
||||
tar xf %{SOURCE8}
|
||||
popd
|
||||
|
||||
rm -rf src/third_party/speex/
|
||||
|
||||
# apply vendor patch after substitution
|
||||
sed "s:RPM_VERSION:%{version}:" %{SOURCE20} | patch -p0
|
||||
|
||||
%build
|
||||
|
||||
## create make files
|
||||
|
||||
PARSED_OPT_FLAGS=`echo \'%{optflags} -DUSE_SYSTEM_LIBEVENT -fPIC -fno-ipa-cp -fno-strict-aliasing \' | sed "s/ /',/g" | sed "s/',/', '/g"`
|
||||
for i in src/build/common.gypi; do
|
||||
sed -i "s|'-march=pentium4',||g" $i
|
||||
sed -i "s|'-mfpmath=sse',||g" $i
|
||||
sed -i "s|'-O<(debug_optimize)',||g" $i
|
||||
sed -i "s|'-m32',||g" $i
|
||||
sed -i "s|'-fno-exceptions',|$PARSED_OPT_FLAGS|g" $i
|
||||
sed -i "s|'-Werror'|'-Wno-error'|g" $i
|
||||
done
|
||||
# '
|
||||
|
||||
pushd src
|
||||
|
||||
./build/gyp_chromium -f make build/all.gyp \
|
||||
-Dlinux_sandbox_path=%{_libdir}/chromium/chrome-sandbox \
|
||||
-Dlinux_sandbox_chrome_path=%{_libdir}/chromium/chromium-browser \
|
||||
-Duse_openssl=0 \
|
||||
-Duse_system_ffmpeg=1 \
|
||||
-Duse_system_zlib=1 \
|
||||
-Duse_system_libpng=1 \
|
||||
-Duse_system_bzip2=1 \
|
||||
-Duse_system_libbz2=1 \
|
||||
-Duse_system_libjpeg=1 \
|
||||
-Duse_system_libxml=1 \
|
||||
-Duse_system_libxslt=1 \
|
||||
-Duse_system_libevent=1 \
|
||||
-Duse_system_vpx=1 \
|
||||
-Dremove_webcore_debug_symbols=1 \
|
||||
%if 0
|
||||
-Duse_system_v8=1 \
|
||||
%endif
|
||||
-Dproprietary_codecs=1 \
|
||||
-Djavascript_engine=v8 \
|
||||
-Dlinux_fpic=1 \
|
||||
-Ddisable_sse2=1 \
|
||||
%ifarch x86_64
|
||||
-Dtarget_arch=x64 \
|
||||
%endif
|
||||
-Dno_strict_aliasing=1 \
|
||||
-Drelease_extra_cflags=-fPIC
|
||||
|
||||
make -r %{?_smp_mflags} chrome V=1 BUILDTYPE=Release
|
||||
|
||||
popd
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_libdir}/chromium/
|
||||
install -m 755 %{SOURCE100} %{buildroot}%{_libdir}/chromium/chromium-generic
|
||||
# x86_64 capable systems need this
|
||||
sed -i "s|/usr/lib/chromium|%{_libdir}/chromium|g" %{buildroot}%{_libdir}/chromium/chromium-generic
|
||||
#update the password-store settings for each alternative
|
||||
sed "s|password-store=detect|password-store=kwallet|g" %{buildroot}%{_libdir}/chromium/chromium-generic > %{buildroot}%{_libdir}/chromium/chromium-kde
|
||||
sed "s|password-store=detect|password-store=gnome|g" %{buildroot}%{_libdir}/chromium/chromium-generic > %{buildroot}%{_libdir}/chromium/chromium-gnome
|
||||
mkdir -p %{buildroot}%{_mandir}/man1/
|
||||
pushd src/out/Release
|
||||
cp -a chrome.pak locales resources xdg-settings %{buildroot}%{_libdir}/chromium/
|
||||
cp -a resources.pak %{buildroot}%{_libdir}/chromium/
|
||||
cp -a chrome %{buildroot}%{_libdir}/chromium/chromium
|
||||
#cp -a lib.target/lib*.so %{buildroot}%{_libdir}/chromium/
|
||||
#cp -a lib.host/lib*.so %{buildroot}%{_libdir}/chromium/
|
||||
cp -a chrome.1 %{buildroot}%{_mandir}/man1/chrome.1
|
||||
cp -a chrome.1 %{buildroot}%{_mandir}/man1/chromium.1
|
||||
%fdupes %{buildroot}%{_mandir}/man1/
|
||||
popd
|
||||
|
||||
mkdir -p %{buildroot}%{_datadir}/icons/
|
||||
pushd %{buildroot}%{_datadir}/icons/
|
||||
tar -xjf %{SOURCE104}
|
||||
mv oxygen hicolor
|
||||
popd
|
||||
|
||||
mkdir -p %{buildroot}%{_datadir}/applications/
|
||||
desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE101}
|
||||
|
||||
mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/
|
||||
cp -a %{SOURCE102} %{buildroot}%{_datadir}/gnome-control-center/default-apps/
|
||||
|
||||
# link to browser plugin path. Plugin patch doesn't work. Why?
|
||||
mkdir -p %{buildroot}%{_libdir}/browser-plugins
|
||||
pushd %{buildroot}%{_libdir}/%{name}
|
||||
ln -s %{_libdir}/browser-plugins plugins
|
||||
|
||||
# Install the master_preferences file
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/%{name}
|
||||
install -m 0644 %{SOURCE30} %{buildroot}%{_sysconfdir}/%{name}
|
||||
install -m 0644 %{SOURCE31} %{buildroot}%{_sysconfdir}/%{name}
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%pre
|
||||
if [ -f /usr/bin/chromium ] ; then
|
||||
rm -v /usr/bin/chromium ;
|
||||
fi
|
||||
|
||||
# Add snipplets to update the GTK cache on package install.
|
||||
%if 0%{?suse_version} >= 1140
|
||||
%post
|
||||
%icon_theme_cache_post
|
||||
update-alternatives --install %{_bindir}/chromium chromium %{_libdir}/chromium/chromium-generic 10
|
||||
|
||||
%postun
|
||||
%icon_theme_cache_postun
|
||||
update-alternatives --remove all chromium
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version} < 1140
|
||||
%post
|
||||
update-alternatives --install %{_bindir}/chromium chromium %{_libdir}/chromium/chromium-generic 10
|
||||
|
||||
%postun
|
||||
update-alternatives --remove all chromium
|
||||
%endif
|
||||
|
||||
%post desktop-kde
|
||||
update-alternatives --install %{_bindir}/chromium chromium %{_libdir}/chromium/chromium-kde 15
|
||||
update-alternatives --auto chromium
|
||||
|
||||
%postun desktop-kde
|
||||
update-alternatives --remove %{_bindir}/chromium %{_libdir}/chromium/chromium-kde
|
||||
update-alternatives --auto chromium
|
||||
|
||||
%post desktop-gnome
|
||||
update-alternatives --install %{_bindir}/chromium chromium %{_libdir}/chromium/chromium-gnome 15
|
||||
update-alternatives --auto chromium
|
||||
|
||||
%postun desktop-gnome
|
||||
update-alternatives --remove %{_bindir}/chromium %{_libdir}/chromium/chromium-gnome
|
||||
update-alternatives --auto chromium
|
||||
|
||||
# Files!
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%config %{_sysconfdir}/%{name}
|
||||
%dir %{_datadir}/gnome-control-center
|
||||
%dir %{_datadir}/gnome-control-center/default-apps
|
||||
%dir %{_libdir}/chromium/
|
||||
%{_libdir}/chromium/chromium
|
||||
%{_libdir}/chromium/chromium-generic
|
||||
%{_libdir}/chromium/plugins/
|
||||
%{_libdir}/chromium/resources/
|
||||
%{_libdir}/chromium/xdg-settings
|
||||
%{_mandir}/man1/chrom*
|
||||
%{_datadir}/applications/*.desktop
|
||||
%{_datadir}/gnome-control-center/default-apps/chromium-browser.xml
|
||||
%{_datadir}/icons/hicolor/
|
||||
%{_libdir}/chromium/chrome.pak
|
||||
%{_libdir}/chromium/resources.pak
|
||||
%{_libdir}/chromium/locales/
|
||||
|
||||
%files desktop-kde
|
||||
%attr(755, root, root) %{_libdir}/chromium/chromium-kde
|
||||
|
||||
%files desktop-gnome
|
||||
%attr(755, root, root) %{_libdir}/chromium/chromium-gnome
|
||||
|
||||
|
||||
%changelog
|
11
chromium_patch_newer_kernels.patch
Normal file
11
chromium_patch_newer_kernels.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- chromium/src/base/process_util_linux.cc 2011-03-03 19:19:41.840017366 +0100
|
||||
+++ chromium/src/base/process_util_linux.cc 2011-03-03 19:19:41.840017366 +0100
|
||||
@@ -702,7 +702,7 @@
|
||||
|
||||
FilePath oom_adj("/proc");
|
||||
oom_adj = oom_adj.Append(base::Int64ToString(process));
|
||||
- oom_adj = oom_adj.AppendASCII("oom_adj");
|
||||
+ oom_adj = oom_adj.AppendASCII("oom_score_adj");
|
||||
|
||||
if (!file_util::PathExists(oom_adj))
|
||||
return false;
|
38
default_bookmarks.html
Normal file
38
default_bookmarks.html
Normal file
@@ -0,0 +1,38 @@
|
||||
<!DOCTYPE NETSCAPE-Bookmark-file-1>
|
||||
<!-- This is an automatically generated file.
|
||||
It will be read and overwritten.
|
||||
DO NOT EDIT! -->
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
|
||||
<TITLE>Bookmarks</TITLE>
|
||||
<H1>Bookmarks Menu</H1>
|
||||
|
||||
<DL><p>
|
||||
<DT><A HREF="place:folder=BOOKMARKS_MENU&folder=UNFILED_BOOKMARKS&folder=TOOLBAR&sort=12&excludeQueries=1&excludeItemIfParentHasAnnotation=livemark%2FfeedURI&maxResults=10&queryType=1">Recently Bookmarked</A>
|
||||
<DT><A HREF="place:sort=14&type=6&maxResults=10&queryType=1">Recent Tags</A>
|
||||
<HR>
|
||||
<DT><A HREF="http://en-us.add-ons.mozilla.com/en-US/firefox/bookmarks/" ADD_DATE="1273256552" LAST_MODIFIED="1273256552" ICON_URI="http://www.mozilla.org/2005/made-up-favicon/0-1273256552642492" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADGUlEQVQ4jXWTXUxTZxjH33jBhRfGkGXGEC+M8dYbL7z0eiZL5sWJQqJuwnAz26CKxgrGN1Iwa/lwCVmDDJBZQNsdYlCraGlUSu0X/ZDak67tWmxpWjh9Szk9tJue/ncBG6LbL/nfPf/f81y8LyEf0EjpdpVGU9Ok0x1o6tQdaurUHfq2Q3eg4XLHrs8b6fYP59+Dbmvu6N19pd9QN2wRUg/9mbcvYhKskVXcdaTfdt97HT+j/fUIp6LVhNBtH5VVmp6aLpOdfxFllbnFEjypNbjeyLDFi7BGJDwWChh1ZZSWgZmR2ssdu7ZIvmymO3sn5qZ8iyXMZ8oIZsuYz5ThS5fgSsqYiRVhCUt4ECyA9zNcvOUw156nnxBCCOE4WqX++f4XjgUJrzJlCMtlhHN/YirEYA7mMBkQMZuQYY1IMIcKmAjkcdu5jHqtieM4WkXqVbT6l+lowrtYQjC7Xo7l/8JTgeEfhEwJ1uimYNzDcNUUTB5toZ+Ss63de8wB8Z0ntYb5TBlTrxmeCAxToa2C6XAB5lAB/Iagz5JSjl1o30ca2nR7n0clOJMyfOkSzMEc/g93ogjezzDqZhiwZVH3Q/t+0tCi2/tUWIEtXoQzuYbJgAhFqUBRlI/ijBdh9DIY3DkM2JbWBd+0amp475JijUqYiRUxm5BhXyiC9y3/u9mblOFOyJiNSRj3MIw4RfxkSSnHz2r2EE5Fq/WPf889EgqwhCVMRyRYoxLuupdQqQCVCuBKyJgI5HFnjuG2K4chu4h2PsS4elpNOI5Wnes1dfIBhgfBFZhDhY2swp2Q4YxLsP8h4c7c+unDL0XctGVxRmvScRytIoQQclKlqek0+sK8n4EP5DGxkd/8DEYvw5h7szwwu4w2g2fh2IX2fVue8lfqnsPXxpzBEXu2Mu5hGPMwjLpzMLhyGHGIGHopQv88jVaDI16n1h7h6Mb29yV157sONncZ+7vuR/L6Z2ll2CFi0C6iz7Ko/DgpFL/rNhpr1drD/1He5LPv6Y4Tl25w9Vf62r6mN/WNmsH+01f110+qe06t/8St/A10n5SW/zQjywAAAABJRU5ErkJggg==">Get Bookmark Add-ons</A>
|
||||
<DT><H3 ADD_DATE="1273256552" LAST_MODIFIED="1273256742" PERSONAL_TOOLBAR_FOLDER="true">Bookmarks Toolbar</H3>
|
||||
<DD>Add bookmarks to this folder to see them displayed on the Bookmarks Toolbar
|
||||
<DL><p>
|
||||
<DT><H3 ADD_DATE="1273256552" LAST_MODIFIED="1273256552">openSUSE</H3>
|
||||
<DL><p>
|
||||
<DT><A HREF="http://www.opensuse.org/" ADD_DATE="1273256552" LAST_MODIFIED="1273256552" ICON_URI="http://www.opensuse.org/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABSklEQVQ4jZWToY6EMBCGeRlegCfgBfYJEGg0CQZbu+IQSJAoEtyFChIQGwIC0YRwSQXJgkAgFoFY859qc9wBu9dkxCTtN/1n/lEAmH5twK8NRMxB3ofgc4k3j6lUY4zr7QKbqn/Crw2k3MOwtIcEZe/hXpBCR8o9rM/H/wBupiFiDoLGgptpcDMN1Ri/B7jeLmATRdBYiJgDNlEpd17vrwF8Ljf9ENVtqiJizjlANNCmKoLGAp9LkELfQNfn4xhACl1WO/pVNcZbACn0zeVqjOHXhsyFT0QeNNYWkHIPbKIS5GaaNBafSynpZ8ENwM00Oeszg4kezet9vwdi9sPSYlha5H0ovSCcWY0xko68NhIpdCQdQco9pNxDxBy4mQabqsj78H0r/46gsc7HeCZNuBAAlM+vD7MaY6TcQ9IRiNX2a0NqzvvwaCPNb8+My7ifNoCEAAAAAElFTkSuQmCC" LAST_CHARSET="UTF-8">openSUSE</A>
|
||||
<DT><A HREF="http://en.opensuse.org/documentation/" ADD_DATE="1273256552" LAST_MODIFIED="1273256552" ICON_URI="http://www.mozilla.org/2005/made-up-favicon/2-1273256552647245" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABSklEQVQ4jZWToY6EMBCGeRlegCfgBfYJEGg0CQZbu+IQSJAoEtyFChIQGwIC0YRwSQXJgkAgFoFY859qc9wBu9dkxCTtN/1n/lEAmH5twK8NRMxB3ofgc4k3j6lUY4zr7QKbqn/Crw2k3MOwtIcEZe/hXpBCR8o9rM/H/wBupiFiDoLGgptpcDMN1Ri/B7jeLmATRdBYiJgDNlEpd17vrwF8Ljf9ENVtqiJizjlANNCmKoLGAp9LkELfQNfn4xhACl1WO/pVNcZbACn0zeVqjOHXhsyFT0QeNNYWkHIPbKIS5GaaNBafSynpZ8ENwM00Oeszg4kezet9vwdi9sPSYlha5H0ovSCcWY0xko68NhIpdCQdQco9pNxDxBy4mQabqsj78H0r/46gsc7HeCZNuBAAlM+vD7MaY6TcQ9IRiNX2a0NqzvvwaCPNb8+My7ifNoCEAAAAAElFTkSuQmCC" LAST_CHARSET="UTF-8">openSUSE Documentation</A>
|
||||
<DT><A HREF="http://software.opensuse.org/" ADD_DATE="1273256552" LAST_MODIFIED="1273256552" ICON_URI="http://www.mozilla.org/2005/made-up-favicon/3-1273256552648253" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABSklEQVQ4jZWToY6EMBCGeRlegCfgBfYJEGg0CQZbu+IQSJAoEtyFChIQGwIC0YRwSQXJgkAgFoFY859qc9wBu9dkxCTtN/1n/lEAmH5twK8NRMxB3ofgc4k3j6lUY4zr7QKbqn/Crw2k3MOwtIcEZe/hXpBCR8o9rM/H/wBupiFiDoLGgptpcDMN1Ri/B7jeLmATRdBYiJgDNlEpd17vrwF8Ljf9ENVtqiJizjlANNCmKoLGAp9LkELfQNfn4xhACl1WO/pVNcZbACn0zeVqjOHXhsyFT0QeNNYWkHIPbKIS5GaaNBafSynpZ8ENwM00Oeszg4kezet9vwdi9sPSYlha5H0ovSCcWY0xko68NhIpdCQdQco9pNxDxBy4mQabqsj78H0r/46gsc7HeCZNuBAAlM+vD7MaY6TcQ9IRiNX2a0NqzvvwaCPNb8+My7ifNoCEAAAAAElFTkSuQmCC" LAST_CHARSET="UTF-8">openSUSE Download</A>
|
||||
<DT><A FEEDURL="http://news.opensuse.org/?feed=rss2" HREF="http://news.opensuse.org/">openSUSE News</A>
|
||||
<DT><A HREF="http://wiki.opensuse.org/Portal:How_to_participate" ADD_DATE="1273256552" LAST_MODIFIED="1273256552" ICON_URI="http://www.mozilla.org/2005/made-up-favicon/4-1273256552650167" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABSklEQVQ4jZWToY6EMBCGeRlegCfgBfYJEGg0CQZbu+IQSJAoEtyFChIQGwIC0YRwSQXJgkAgFoFY859qc9wBu9dkxCTtN/1n/lEAmH5twK8NRMxB3ofgc4k3j6lUY4zr7QKbqn/Crw2k3MOwtIcEZe/hXpBCR8o9rM/H/wBupiFiDoLGgptpcDMN1Ri/B7jeLmATRdBYiJgDNlEpd17vrwF8Ljf9ENVtqiJizjlANNCmKoLGAp9LkELfQNfn4xhACl1WO/pVNcZbACn0zeVqjOHXhsyFT0QeNNYWkHIPbKIS5GaaNBafSynpZ8ENwM00Oeszg4kezet9vwdi9sPSYlha5H0ovSCcWY0xko68NhIpdCQdQco9pNxDxBy4mQabqsj78H0r/46gsc7HeCZNuBAAlM+vD7MaY6TcQ9IRiNX2a0NqzvvwaCPNb8+My7ifNoCEAAAAAElFTkSuQmCC" LAST_CHARSET="UTF-8">How To participate in openSUSE</A>
|
||||
<DT><A HREF="http://forums.opensuse.org/" ADD_DATE="1273256552" LAST_MODIFIED="1273256552" ICON_URI="http://www.mozilla.org/2005/made-up-favicon/5-1273256552651242" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABSklEQVQ4jZWToY6EMBCGeRlegCfgBfYJEGg0CQZbu+IQSJAoEtyFChIQGwIC0YRwSQXJgkAgFoFY859qc9wBu9dkxCTtN/1n/lEAmH5twK8NRMxB3ofgc4k3j6lUY4zr7QKbqn/Crw2k3MOwtIcEZe/hXpBCR8o9rM/H/wBupiFiDoLGgptpcDMN1Ri/B7jeLmATRdBYiJgDNlEpd17vrwF8Ljf9ENVtqiJizjlANNCmKoLGAp9LkELfQNfn4xhACl1WO/pVNcZbACn0zeVqjOHXhsyFT0QeNNYWkHIPbKIS5GaaNBafSynpZ8ENwM00Oeszg4kezet9vwdi9sPSYlha5H0ovSCcWY0xko68NhIpdCQdQco9pNxDxBy4mQabqsj78H0r/46gsc7HeCZNuBAAlM+vD7MaY6TcQ9IRiNX2a0NqzvvwaCPNb8+My7ifNoCEAAAAAElFTkSuQmCC" LAST_CHARSET="UTF-8">openSUSE Forums</A>
|
||||
<DT><A FEEDURL="http://www.planetsuse.org/rss20.xml" HREF="http://planet.opensuse.org/">Planet SUSE</A>
|
||||
</DL><p>
|
||||
<DT><A FEEDURL="http://en-us.fxfeeds.mozilla.com/en-US/firefox/headlines.xml" HREF="http://news.bbc.co.uk/go/rss/-/2/hi/default.stm">Latest Headlines</A>
|
||||
<HR>
|
||||
<DT><H3 ADD_DATE="1273256722" LAST_MODIFIED="1273256951">Chromium</H3>
|
||||
<DL><p>
|
||||
<DT><A HREF="http://dev.chromium.org/for-testers/bug-reporting-guidelines" ADD_DATE="1273256788" ICON_URI="http://www.gstatic.com/sites/p/0d68f1/system/app/images/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3ElEQVQ4jW3S3WtTBxiA8dz4B3inNwNvTJ3YDmstWHGotNVMWcsqRNm60Q8ZQ9FdbKDsZgOhoBOGC/Qj0NJSMB6wJqsm5ixZT0J6TrO1VYaBUpNjzrGH1PQkbdeUJP14vNCmluWF9/aBH+9rWbSdxTxzhvmGBrSTJ5k9fpx/a48yVX2Y6CdVKJWHUKoqeVBRgaXcpBsbKbx8Se7FC8xgEH1wkFBVJU8PHmT0QAUjFVYe7N/Pfau1fOD1qVM8bmujfaaD9lgbl5+38d1kB9eVTr4Pd3L1r1a+9V+i03uBjtEvaBlo3BkyDANJkvjq2UXS+TfoOY3nC//gnnXR7rtA65PPufj0HHavDfuTs3zmPLEzoOs6gUCAS1ITXwab+drXTMdoM60Pz9N8/zQNA3V82ltL3e811N2t5sTtmp2BZDJJMBjEMAwAFEWhezJL39QifVOL9E4u0j2ZxfF3hp/H3vBTIMW1xzpXPEmO/TaORVVVRFFE13UA+vv7uRfNkiuss/J+/8uv8eeMyQ/e11z1vKJdmOUb1wxH7oSwJBIJRFEkmUwCEIlE6IoscCuU5pexFDf8c/zo07niSWDrm+K0Q6H21zBH7khU3w5hicfj+Hw+VFUFwOl0ljgfzsbGBsVikXw+TzabJZPJEIlE3hH8fj+JRAKAUChU4ni9XjY3N7Hb7bS0tNDU1ITNZqO+vp50Ok00GsUSi8UQBIF4PE6xWKSnp6fEAVhbW6NQKLCyssLS0hKmaZJKpTAMA1mWty+iqir5fB5Jkkocj8fD6uoqLpeLoaEhNE1Dv3mTwJ49fNQ1ztiYtB2IxWJMT08zMjJS4qyvr7O8vIxpmszPz6NpGuNWKw937WJv5GO8fm/5997iCIKAaZo4nU4cDgeappH7w0JmyMJu/z4euR+VD2xxcrkcqVSKubk5NE373wqCUD6wxZmYmECWZRRFQZZlZFkmHA4jiiJut5vh4WHeAhqappiWhSp5AAAAAElFTkSuQmCC">Bug Life Cycle and Reporting Guidelines (The Chromium Projects)</A>
|
||||
<DT><A HREF="http://code.google.com/chromium/" ADD_DATE="1273256762" ICON_URI="http://code.google.com/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADRUlEQVQ4jSXT60/VdQDH8c/vd7AlI4EHtjW0WCs1i7U2i8u54GWxYDVtpkabumX5JLs86oLYEgRDQjAIBbsYayTmCjDQMwsrtcgxUBdWkNyyJDkCB9jRw+/8vu8e8OD9D7y2tyTJiUFX/wipWxuJe/pzSo9fwiVGNDzB2ewsei0xa9u4Eq5sIpYYl5AkxRwwwLriU2hTEHtbFwte/I6//p0CEyPyWy/XE+JxJYzlwbVExBIhxTFkCwE4jsMDO9rRtk60vQfl/0jxN5fBgInBUE4OUVnEPCJqWUzKw5glBiVkXCAG3sIO7M0/Y2/vxH7hHJv2dwMOAFfXr2NGcWAJVx6mLfGPRJ/tQeACLkVNl9H6IHEvXcB+/nvyqzpxMXAbfnloGT/dcwctS5JpT02mK2kew7botYT6h29igNFwhGU72tBzp1mwOUiw5xoGqGs5zOI3UtFH6Xhq/ajay/yyJ8h6OY19DyeipVs+43jHFXANE1NRjpwZoG/kJi6GklN1qOgRPPVePIeyUG06qs3EOpCFqrOx9q5GCzceJWntx6x+vZE9DR1zajic6fsV+6370OHHUV06qk/HqvFh1fhQZQZWuR9rbwAtzW9g0YYvuDPvU5KfOsTgaBhjDMOhayypfxbVpGEfzMQ+6EU1GdgferEq/djlflSWge7P3U/Glk/Y+G4rr1X9QE/fOC4Gg8vY1Bg5R1/BqkhDtT5U7Z2r0o/2+dEeP2o8fZGxcRcDzE72Mnq1mYGeWm5N3wBgNuaQ2/gqVsVyVJ2BqrzY5ZnofR8q8SFcmP7vIt3NGQw2x/N3mxj52uZK03LCoT/BxPh9dIi7SrNRVSaeD3zYZX5UEkC7A+i2M0NXYzoT3wpz3sY5G0+kYz43jon+5jyMMZgYPHhgAypbgSq8qNTPvN1rsHYF0FRogD8aUrgVTCIcTGCqLZHJ1kRmTqRw/atHITpNxDEsLslDpZnYJatQqQ/7vZVopx85McPgya2EvkxgsuVuwq0LmTmRQvjYvYyfK8QATRdO4nnzMaxiL56ibLQrgAoC6J01c0c6MyHGzhcy0b6WcMuTTLQ/Q6S7mqgT4dLwAIvezkUFK7ALs1HhSrTThwpWIUn/A1g/hnpCRmiJAAAAAElFTkSuQmCC">Chromium - Google Code</A>
|
||||
<DT><A HREF="http://blog.chromium.org/" ADD_DATE="1273256696" ICON_URI="http://www.blogger.com/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAiUlEQVQ4jWNggIJ/aUz/ScEMyIBUzSiGkKsZbgiG4L6+//++vfv/798/BD637v+/IiEiDNjXh6oRGd/aR4QByDbPi4NgZLEmIwIGwBSuykOIzYtDiG9qwjAEuwGEMO0NQPYCDK/KI8IAbIEIwzDxb+/IjEYY3tdHRkKC2YymGbsB9MwPFOVImD4AmSK780dhlOYAAAAASUVORK5CYII=">Chromium Blog</A>
|
||||
<DT><A HREF="http://dev.chromium.org/getting-involved" ADD_DATE="1273256924" ICON_URI="http://www.gstatic.com/sites/p/0d68f1/system/app/images/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC3ElEQVQ4jW3S3WtTBxiA8dz4B3inNwNvTJ3YDmstWHGotNVMWcsqRNm60Q8ZQ9FdbKDsZgOhoBOGC/Qj0NJSMB6wJqsm5ixZT0J6TrO1VYaBUpNjzrGH1PQkbdeUJP14vNCmluWF9/aBH+9rWbSdxTxzhvmGBrSTJ5k9fpx/a48yVX2Y6CdVKJWHUKoqeVBRgaXcpBsbKbx8Se7FC8xgEH1wkFBVJU8PHmT0QAUjFVYe7N/Pfau1fOD1qVM8bmujfaaD9lgbl5+38d1kB9eVTr4Pd3L1r1a+9V+i03uBjtEvaBlo3BkyDANJkvjq2UXS+TfoOY3nC//gnnXR7rtA65PPufj0HHavDfuTs3zmPLEzoOs6gUCAS1ITXwab+drXTMdoM60Pz9N8/zQNA3V82ltL3e811N2t5sTtmp2BZDJJMBjEMAwAFEWhezJL39QifVOL9E4u0j2ZxfF3hp/H3vBTIMW1xzpXPEmO/TaORVVVRFFE13UA+vv7uRfNkiuss/J+/8uv8eeMyQ/e11z1vKJdmOUb1wxH7oSwJBIJRFEkmUwCEIlE6IoscCuU5pexFDf8c/zo07niSWDrm+K0Q6H21zBH7khU3w5hicfj+Hw+VFUFwOl0ljgfzsbGBsVikXw+TzabJZPJEIlE3hH8fj+JRAKAUChU4ni9XjY3N7Hb7bS0tNDU1ITNZqO+vp50Ok00GsUSi8UQBIF4PE6xWKSnp6fEAVhbW6NQKLCyssLS0hKmaZJKpTAMA1mWty+iqir5fB5Jkkocj8fD6uoqLpeLoaEhNE1Dv3mTwJ49fNQ1ztiYtB2IxWJMT08zMjJS4qyvr7O8vIxpmszPz6NpGuNWKw937WJv5GO8fm/5997iCIKAaZo4nU4cDgeappH7w0JmyMJu/z4euR+VD2xxcrkcqVSKubk5NE373wqCUD6wxZmYmECWZRRFQZZlZFkmHA4jiiJut5vh4WHeAhqappiWhSp5AAAAAElFTkSuQmCC">Getting Involved (The Chromium Projects)</A>
|
||||
<DT><A HREF="http://www.google.com/support/forum/p/Chrome" ADD_DATE="1273256938" ICON_URI="http://www.google.com/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADRUlEQVQ4jSXT60/VdQDH8c/vd7AlI4EHtjW0WCs1i7U2i8u54GWxYDVtpkabumX5JLs86oLYEgRDQjAIBbsYayTmCjDQMwsrtcgxUBdWkNyyJDkCB9jRw+/8vu8e8OD9D7y2tyTJiUFX/wipWxuJe/pzSo9fwiVGNDzB2ewsei0xa9u4Eq5sIpYYl5AkxRwwwLriU2hTEHtbFwte/I6//p0CEyPyWy/XE+JxJYzlwbVExBIhxTFkCwE4jsMDO9rRtk60vQfl/0jxN5fBgInBUE4OUVnEPCJqWUzKw5glBiVkXCAG3sIO7M0/Y2/vxH7hHJv2dwMOAFfXr2NGcWAJVx6mLfGPRJ/tQeACLkVNl9H6IHEvXcB+/nvyqzpxMXAbfnloGT/dcwctS5JpT02mK2kew7botYT6h29igNFwhGU72tBzp1mwOUiw5xoGqGs5zOI3UtFH6Xhq/ajay/yyJ8h6OY19DyeipVs+43jHFXANE1NRjpwZoG/kJi6GklN1qOgRPPVePIeyUG06qs3EOpCFqrOx9q5GCzceJWntx6x+vZE9DR1zajic6fsV+6370OHHUV06qk/HqvFh1fhQZQZWuR9rbwAtzW9g0YYvuDPvU5KfOsTgaBhjDMOhayypfxbVpGEfzMQ+6EU1GdgferEq/djlflSWge7P3U/Glk/Y+G4rr1X9QE/fOC4Gg8vY1Bg5R1/BqkhDtT5U7Z2r0o/2+dEeP2o8fZGxcRcDzE72Mnq1mYGeWm5N3wBgNuaQ2/gqVsVyVJ2BqrzY5ZnofR8q8SFcmP7vIt3NGQw2x/N3mxj52uZK03LCoT/BxPh9dIi7SrNRVSaeD3zYZX5UEkC7A+i2M0NXYzoT3wpz3sY5G0+kYz43jon+5jyMMZgYPHhgAypbgSq8qNTPvN1rsHYF0FRogD8aUrgVTCIcTGCqLZHJ1kRmTqRw/atHITpNxDEsLslDpZnYJatQqQ/7vZVopx85McPgya2EvkxgsuVuwq0LmTmRQvjYvYyfK8QATRdO4nnzMaxiL56ibLQrgAoC6J01c0c6MyHGzhcy0b6WcMuTTLQ/Q6S7mqgT4dLwAIvezkUFK7ALs1HhSrTThwpWIUn/A1g/hnpCRmiJAAAAAElFTkSuQmCC">Google Chrome Help</A>
|
||||
</DL><p>
|
||||
</DL><p>
|
||||
</DL><p>
|
BIN
esbuild-0.24.0-vendor.tar.gz
(Stored with Git LFS)
Normal file
BIN
esbuild-0.24.0-vendor.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
esbuild-0.24.0.tar.gz
(Stored with Git LFS)
Normal file
BIN
esbuild-0.24.0.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
10
exclude_ymp.patch
Normal file
10
exclude_ymp.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- a/third_party/blink/common/mime_util/mime_util.cc 2013-08-25 10:12:05.428599992 +0200
|
||||
+++ b/third_party/blink/common/mime_util/mime_util.cc 2013-08-25 10:12:05.428599992 +0200
|
||||
@@ -79,6 +79,7 @@
|
||||
"text/x-csv",
|
||||
"text/x-vcf",
|
||||
"text/rtf",
|
||||
+ "text/x-suse-ymp",
|
||||
"text/comma-separated-values",
|
||||
"text/csv",
|
||||
"text/tab-separated-values",
|
BIN
ffmpeg-0.6-headers.tar.bz2
(Stored with Git LFS)
Normal file
BIN
ffmpeg-0.6-headers.tar.bz2
(Stored with Git LFS)
Normal file
Binary file not shown.
304
ffmpeg-new-channel-layout.patch
Normal file
304
ffmpeg-new-channel-layout.patch
Normal file
@@ -0,0 +1,304 @@
|
||||
From 6e554a30893150793c2638e3689cf208ffc8e375 Mon Sep 17 00:00:00 2001
|
||||
From: Dale Curtis <dalecurtis@chromium.org>
|
||||
Date: Sat, 2 Apr 2022 05:13:53 +0000
|
||||
Subject: [PATCH] Roll src/third_party/ffmpeg/ 574c39cce..32b2d1d526 (1125
|
||||
commits)
|
||||
|
||||
https://chromium.googlesource.com/chromium/third_party/ffmpeg.git/+log/574c39cce323..32b2d1d526
|
||||
|
||||
Created with:
|
||||
roll-dep src/third_party/ffmpeg
|
||||
|
||||
Fixed: 1293918
|
||||
Cq-Include-Trybots: luci.chromium.try:mac_chromium_asan_rel_ng,linux_chromium_asan_rel_ng,linux_chromium_chromeos_asan_rel_ng
|
||||
Change-Id: I41945d0f963e3d1f65940067bac22f63b68e37d2
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3565647
|
||||
Auto-Submit: Dale Curtis <dalecurtis@chromium.org>
|
||||
Reviewed-by: Dan Sanders <sandersd@chromium.org>
|
||||
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#988253}
|
||||
---
|
||||
.../clear_key_cdm/ffmpeg_cdm_audio_decoder.cc | 29 ++++++++++---------
|
||||
media/ffmpeg/ffmpeg_common.cc | 11 +++----
|
||||
media/filters/audio_file_reader.cc | 9 +++---
|
||||
media/filters/audio_file_reader_unittest.cc | 6 ++--
|
||||
.../filters/audio_video_metadata_extractor.cc | 11 +++++--
|
||||
.../filters/ffmpeg_aac_bitstream_converter.cc | 7 +++--
|
||||
...ffmpeg_aac_bitstream_converter_unittest.cc | 2 +-
|
||||
media/filters/ffmpeg_audio_decoder.cc | 13 +++++----
|
||||
8 files changed, 51 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/media/cdm/library_cdm/clear_key_cdm/ffmpeg_cdm_audio_decoder.cc b/media/cdm/library_cdm/clear_key_cdm/ffmpeg_cdm_audio_decoder.cc
|
||||
index e4fc3f460e2..9b1ad9f7675 100644
|
||||
--- a/media/cdm/library_cdm/clear_key_cdm/ffmpeg_cdm_audio_decoder.cc
|
||||
+++ b/media/cdm/library_cdm/clear_key_cdm/ffmpeg_cdm_audio_decoder.cc
|
||||
@@ -74,7 +74,7 @@ void CdmAudioDecoderConfigToAVCodecContext(
|
||||
codec_context->sample_fmt = AV_SAMPLE_FMT_NONE;
|
||||
}
|
||||
|
||||
- codec_context->channels = config.channel_count;
|
||||
+ codec_context->ch_layout.nb_channels = config.channel_count;
|
||||
codec_context->sample_rate = config.samples_per_second;
|
||||
|
||||
if (config.extra_data) {
|
||||
@@ -124,8 +124,8 @@ void CopySamples(cdm::AudioFormat cdm_format,
|
||||
case cdm::kAudioFormatPlanarS16:
|
||||
case cdm::kAudioFormatPlanarF32: {
|
||||
const int decoded_size_per_channel =
|
||||
- decoded_audio_size / av_frame.channels;
|
||||
- for (int i = 0; i < av_frame.channels; ++i) {
|
||||
+ decoded_audio_size / av_frame.ch_layout.nb_channels;
|
||||
+ for (int i = 0; i < av_frame.ch_layout.nb_channels; ++i) {
|
||||
memcpy(output_buffer, av_frame.extended_data[i],
|
||||
decoded_size_per_channel);
|
||||
output_buffer += decoded_size_per_channel;
|
||||
@@ -185,13 +185,14 @@ bool FFmpegCdmAudioDecoder::Initialize(
|
||||
// Success!
|
||||
decoding_loop_ = std::make_unique<FFmpegDecodingLoop>(codec_context_.get());
|
||||
samples_per_second_ = config.samples_per_second;
|
||||
- bytes_per_frame_ = codec_context_->channels * config.bits_per_channel / 8;
|
||||
+ bytes_per_frame_ =
|
||||
+ codec_context_->ch_layout.nb_channels * config.bits_per_channel / 8;
|
||||
output_timestamp_helper_ =
|
||||
std::make_unique<AudioTimestampHelper>(config.samples_per_second);
|
||||
is_initialized_ = true;
|
||||
|
||||
// Store initial values to guard against midstream configuration changes.
|
||||
- channels_ = codec_context_->channels;
|
||||
+ channels_ = codec_context_->ch_layout.nb_channels;
|
||||
av_sample_format_ = codec_context_->sample_fmt;
|
||||
|
||||
return true;
|
||||
@@ -291,17 +292,19 @@ cdm::Status FFmpegCdmAudioDecoder::DecodeBuffer(
|
||||
for (auto& frame : audio_frames) {
|
||||
int decoded_audio_size = 0;
|
||||
if (frame->sample_rate != samples_per_second_ ||
|
||||
- frame->channels != channels_ || frame->format != av_sample_format_) {
|
||||
+ frame->ch_layout.nb_channels != channels_ ||
|
||||
+ frame->format != av_sample_format_) {
|
||||
DLOG(ERROR) << "Unsupported midstream configuration change!"
|
||||
<< " Sample Rate: " << frame->sample_rate << " vs "
|
||||
- << samples_per_second_ << ", Channels: " << frame->channels
|
||||
- << " vs " << channels_ << ", Sample Format: " << frame->format
|
||||
- << " vs " << av_sample_format_;
|
||||
+ << samples_per_second_
|
||||
+ << ", Channels: " << frame->ch_layout.nb_channels << " vs "
|
||||
+ << channels_ << ", Sample Format: " << frame->format << " vs "
|
||||
+ << av_sample_format_;
|
||||
return cdm::kDecodeError;
|
||||
}
|
||||
|
||||
decoded_audio_size = av_samples_get_buffer_size(
|
||||
- nullptr, codec_context_->channels, frame->nb_samples,
|
||||
+ nullptr, codec_context_->ch_layout.nb_channels, frame->nb_samples,
|
||||
codec_context_->sample_fmt, 1);
|
||||
if (!decoded_audio_size)
|
||||
continue;
|
||||
@@ -320,9 +323,9 @@ bool FFmpegCdmAudioDecoder::OnNewFrame(
|
||||
size_t* total_size,
|
||||
std::vector<std::unique_ptr<AVFrame, ScopedPtrAVFreeFrame>>* audio_frames,
|
||||
AVFrame* frame) {
|
||||
- *total_size += av_samples_get_buffer_size(nullptr, codec_context_->channels,
|
||||
- frame->nb_samples,
|
||||
- codec_context_->sample_fmt, 1);
|
||||
+ *total_size += av_samples_get_buffer_size(
|
||||
+ nullptr, codec_context_->ch_layout.nb_channels, frame->nb_samples,
|
||||
+ codec_context_->sample_fmt, 1);
|
||||
audio_frames->emplace_back(av_frame_clone(frame));
|
||||
return true;
|
||||
}
|
||||
diff --git a/media/ffmpeg/ffmpeg_common.cc b/media/ffmpeg/ffmpeg_common.cc
|
||||
index 87ca8969626..76f03d6608e 100644
|
||||
--- a/media/ffmpeg/ffmpeg_common.cc
|
||||
+++ b/media/ffmpeg/ffmpeg_common.cc
|
||||
@@ -334,10 +334,11 @@ bool AVCodecContextToAudioDecoderConfig(const AVCodecContext* codec_context,
|
||||
codec_context->sample_fmt, codec_context->codec_id);
|
||||
|
||||
ChannelLayout channel_layout =
|
||||
- codec_context->channels > 8
|
||||
+ codec_context->ch_layout.nb_channels > 8
|
||||
? CHANNEL_LAYOUT_DISCRETE
|
||||
- : ChannelLayoutToChromeChannelLayout(codec_context->channel_layout,
|
||||
- codec_context->channels);
|
||||
+ : ChannelLayoutToChromeChannelLayout(
|
||||
+ codec_context->ch_layout.u.mask,
|
||||
+ codec_context->ch_layout.nb_channels);
|
||||
|
||||
switch (codec) {
|
||||
// For AC3/EAC3 we enable only demuxing, but not decoding, so FFmpeg does
|
||||
@@ -401,7 +402,7 @@ bool AVCodecContextToAudioDecoderConfig(const AVCodecContext* codec_context,
|
||||
extra_data, encryption_scheme, seek_preroll,
|
||||
codec_context->delay);
|
||||
if (channel_layout == CHANNEL_LAYOUT_DISCRETE)
|
||||
- config->SetChannelsForDiscrete(codec_context->channels);
|
||||
+ config->SetChannelsForDiscrete(codec_context->ch_layout.nb_channels);
|
||||
|
||||
#if BUILDFLAG(ENABLE_PLATFORM_AC3_EAC3_AUDIO)
|
||||
// These are bitstream formats unknown to ffmpeg, so they don't have
|
||||
@@ -470,7 +471,7 @@ void AudioDecoderConfigToAVCodecContext(const AudioDecoderConfig& config,
|
||||
|
||||
// TODO(scherkus): should we set |channel_layout|? I'm not sure if FFmpeg uses
|
||||
// said information to decode.
|
||||
- codec_context->channels = config.channels();
|
||||
+ codec_context->ch_layout.nb_channels = config.channels();
|
||||
codec_context->sample_rate = config.samples_per_second();
|
||||
|
||||
if (config.extra_data().empty()) {
|
||||
diff --git a/media/filters/audio_file_reader.cc b/media/filters/audio_file_reader.cc
|
||||
index 5f257bdfaa6..e1be5aa9a5b 100644
|
||||
--- a/media/filters/audio_file_reader.cc
|
||||
+++ b/media/filters/audio_file_reader.cc
|
||||
@@ -113,14 +113,15 @@ bool AudioFileReader::OpenDecoder() {
|
||||
|
||||
// Verify the channel layout is supported by Chrome. Acts as a sanity check
|
||||
// against invalid files. See http://crbug.com/171962
|
||||
- if (ChannelLayoutToChromeChannelLayout(codec_context_->channel_layout,
|
||||
- codec_context_->channels) ==
|
||||
+ if (ChannelLayoutToChromeChannelLayout(
|
||||
+ codec_context_->ch_layout.u.mask,
|
||||
+ codec_context_->ch_layout.nb_channels) ==
|
||||
CHANNEL_LAYOUT_UNSUPPORTED) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Store initial values to guard against midstream configuration changes.
|
||||
- channels_ = codec_context_->channels;
|
||||
+ channels_ = codec_context_->ch_layout.nb_channels;
|
||||
audio_codec_ = CodecIDToAudioCodec(codec_context_->codec_id);
|
||||
sample_rate_ = codec_context_->sample_rate;
|
||||
av_sample_format_ = codec_context_->sample_fmt;
|
||||
@@ -223,7 +224,7 @@ bool AudioFileReader::OnNewFrame(
|
||||
if (frames_read < 0)
|
||||
return false;
|
||||
|
||||
- const int channels = frame->channels;
|
||||
+ const int channels = frame->ch_layout.nb_channels;
|
||||
if (frame->sample_rate != sample_rate_ || channels != channels_ ||
|
||||
frame->format != av_sample_format_) {
|
||||
DLOG(ERROR) << "Unsupported midstream configuration change!"
|
||||
diff --git a/media/filters/audio_file_reader_unittest.cc b/media/filters/audio_file_reader_unittest.cc
|
||||
index 2aba7927a31..1f45a50cace 100644
|
||||
--- a/media/filters/audio_file_reader_unittest.cc
|
||||
+++ b/media/filters/audio_file_reader_unittest.cc
|
||||
@@ -121,11 +121,11 @@ class AudioFileReaderTest : public testing::Test {
|
||||
EXPECT_FALSE(reader_->Open());
|
||||
}
|
||||
|
||||
- void RunTestFailingDecode(const char* fn) {
|
||||
+ void RunTestFailingDecode(const char* fn, int expect_read = 0) {
|
||||
Initialize(fn);
|
||||
EXPECT_TRUE(reader_->Open());
|
||||
std::vector<std::unique_ptr<AudioBus>> decoded_audio_packets;
|
||||
- EXPECT_EQ(reader_->Read(&decoded_audio_packets), 0);
|
||||
+ EXPECT_EQ(reader_->Read(&decoded_audio_packets), expect_read);
|
||||
}
|
||||
|
||||
void RunTestPartialDecode(const char* fn) {
|
||||
@@ -219,7 +219,7 @@ TEST_F(AudioFileReaderTest, AAC_ADTS) {
|
||||
}
|
||||
|
||||
TEST_F(AudioFileReaderTest, MidStreamConfigChangesFail) {
|
||||
- RunTestFailingDecode("midstream_config_change.mp3");
|
||||
+ RunTestFailingDecode("midstream_config_change.mp3", 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
diff --git a/media/filters/ffmpeg_aac_bitstream_converter.cc b/media/filters/ffmpeg_aac_bitstream_converter.cc
|
||||
index 6f231c85729..ca5e5fb927d 100644
|
||||
--- a/media/filters/ffmpeg_aac_bitstream_converter.cc
|
||||
+++ b/media/filters/ffmpeg_aac_bitstream_converter.cc
|
||||
@@ -195,14 +195,15 @@ bool FFmpegAACBitstreamConverter::ConvertPacket(AVPacket* packet) {
|
||||
if (!header_generated_ || codec_ != stream_codec_parameters_->codec_id ||
|
||||
audio_profile_ != stream_codec_parameters_->profile ||
|
||||
sample_rate_index_ != sample_rate_index ||
|
||||
- channel_configuration_ != stream_codec_parameters_->channels ||
|
||||
+ channel_configuration_ !=
|
||||
+ stream_codec_parameters_->ch_layout.nb_channels ||
|
||||
frame_length_ != header_plus_packet_size) {
|
||||
header_generated_ =
|
||||
GenerateAdtsHeader(stream_codec_parameters_->codec_id,
|
||||
0, // layer
|
||||
stream_codec_parameters_->profile, sample_rate_index,
|
||||
0, // private stream
|
||||
- stream_codec_parameters_->channels,
|
||||
+ stream_codec_parameters_->ch_layout.nb_channels,
|
||||
0, // originality
|
||||
0, // home
|
||||
0, // copyrighted_stream
|
||||
@@ -214,7 +215,7 @@ bool FFmpegAACBitstreamConverter::ConvertPacket(AVPacket* packet) {
|
||||
codec_ = stream_codec_parameters_->codec_id;
|
||||
audio_profile_ = stream_codec_parameters_->profile;
|
||||
sample_rate_index_ = sample_rate_index;
|
||||
- channel_configuration_ = stream_codec_parameters_->channels;
|
||||
+ channel_configuration_ = stream_codec_parameters_->ch_layout.nb_channels;
|
||||
frame_length_ = header_plus_packet_size;
|
||||
}
|
||||
|
||||
diff --git a/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc b/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc
|
||||
index 1fd4c5ccd7d..f59bcd8fdaf 100644
|
||||
--- a/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc
|
||||
+++ b/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc
|
||||
@@ -34,7 +34,7 @@ class FFmpegAACBitstreamConverterTest : public testing::Test {
|
||||
memset(&test_parameters_, 0, sizeof(AVCodecParameters));
|
||||
test_parameters_.codec_id = AV_CODEC_ID_AAC;
|
||||
test_parameters_.profile = FF_PROFILE_AAC_MAIN;
|
||||
- test_parameters_.channels = 2;
|
||||
+ test_parameters_.ch_layout.nb_channels = 2;
|
||||
test_parameters_.extradata = extradata_header_;
|
||||
test_parameters_.extradata_size = sizeof(extradata_header_);
|
||||
}
|
||||
diff --git a/media/filters/ffmpeg_audio_decoder.cc b/media/filters/ffmpeg_audio_decoder.cc
|
||||
index 6a56c675f7d..4615fdeb3fb 100644
|
||||
--- a/media/filters/ffmpeg_audio_decoder.cc
|
||||
+++ b/media/filters/ffmpeg_audio_decoder.cc
|
||||
@@ -28,7 +28,7 @@ namespace media {
|
||||
|
||||
// Return the number of channels from the data in |frame|.
|
||||
static inline int DetermineChannels(AVFrame* frame) {
|
||||
- return frame->channels;
|
||||
+ return frame->ch_layout.nb_channels;
|
||||
}
|
||||
|
||||
// Called by FFmpeg's allocation routine to allocate a buffer. Uses
|
||||
@@ -231,7 +231,7 @@ bool FFmpegAudioDecoder::OnNewFrame(const DecoderBuffer& buffer,
|
||||
// Translate unsupported into discrete layouts for discrete configurations;
|
||||
// ffmpeg does not have a labeled discrete configuration internally.
|
||||
ChannelLayout channel_layout = ChannelLayoutToChromeChannelLayout(
|
||||
- codec_context_->channel_layout, codec_context_->channels);
|
||||
+ codec_context_->ch_layout.u.mask, codec_context_->ch_layout.nb_channels);
|
||||
if (channel_layout == CHANNEL_LAYOUT_UNSUPPORTED &&
|
||||
config_.channel_layout() == CHANNEL_LAYOUT_DISCRETE) {
|
||||
channel_layout = CHANNEL_LAYOUT_DISCRETE;
|
||||
@@ -348,11 +348,11 @@ bool FFmpegAudioDecoder::ConfigureDecoder(const AudioDecoderConfig& config) {
|
||||
// Success!
|
||||
av_sample_format_ = codec_context_->sample_fmt;
|
||||
|
||||
- if (codec_context_->channels != config.channels()) {
|
||||
+ if (codec_context_->ch_layout.nb_channels != config.channels()) {
|
||||
MEDIA_LOG(ERROR, media_log_)
|
||||
<< "Audio configuration specified " << config.channels()
|
||||
<< " channels, but FFmpeg thinks the file contains "
|
||||
- << codec_context_->channels << " channels";
|
||||
+ << codec_context_->ch_layout.nb_channels << " channels";
|
||||
ReleaseFFmpegResources();
|
||||
state_ = DecoderState::kUninitialized;
|
||||
return false;
|
||||
@@ -403,7 +403,7 @@ int FFmpegAudioDecoder::GetAudioBuffer(struct AVCodecContext* s,
|
||||
if (frame->nb_samples <= 0)
|
||||
return AVERROR(EINVAL);
|
||||
|
||||
- if (s->channels != channels) {
|
||||
+ if (s->ch_layout.nb_channels != channels) {
|
||||
DLOG(ERROR) << "AVCodecContext and AVFrame disagree on channel count.";
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
@@ -436,7 +436,8 @@ int FFmpegAudioDecoder::GetAudioBuffer(struct AVCodecContext* s,
|
||||
ChannelLayout channel_layout =
|
||||
config_.channel_layout() == CHANNEL_LAYOUT_DISCRETE
|
||||
? CHANNEL_LAYOUT_DISCRETE
|
||||
- : ChannelLayoutToChromeChannelLayout(s->channel_layout, s->channels);
|
||||
+ : ChannelLayoutToChromeChannelLayout(s->ch_layout.u.mask,
|
||||
+ s->ch_layout.nb_channels);
|
||||
|
||||
if (channel_layout == CHANNEL_LAYOUT_UNSUPPORTED) {
|
||||
DLOG(ERROR) << "Unsupported channel layout.";
|
22
fix-build-with-pipewire-1.3.82.patch
Normal file
22
fix-build-with-pipewire-1.3.82.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
Index: chromium-133.0.6943.98/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc
|
||||
===================================================================
|
||||
--- chromium-133.0.6943.98.orig/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc
|
||||
+++ chromium-133.0.6943.98/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc
|
||||
@@ -87,7 +87,7 @@ PipeWireNode::PipeWireNode(PipeWireSessi
|
||||
.param = OnNodeParam,
|
||||
};
|
||||
|
||||
- pw_node_add_listener(proxy_, &node_listener_, &node_events, this);
|
||||
+ pw_node_add_listener(reinterpret_cast<pw_node*>(proxy_), &node_listener_, &node_events, this);
|
||||
}
|
||||
|
||||
// static
|
||||
@@ -119,7 +119,7 @@ void PipeWireNode::OnNodeInfo(void* data
|
||||
uint32_t id = info->params[i].id;
|
||||
if (id == SPA_PARAM_EnumFormat &&
|
||||
info->params[i].flags & SPA_PARAM_INFO_READ) {
|
||||
- pw_node_enum_params(that->proxy_, 0, id, 0, UINT32_MAX, nullptr);
|
||||
+ pw_node_enum_params(reinterpret_cast<pw_node *>(that->proxy_), 0, id, 0, UINT32_MAX, nullptr);
|
||||
break;
|
||||
}
|
||||
}
|
11
fix_building_widevinecdm_with_chromium.patch
Normal file
11
fix_building_widevinecdm_with_chromium.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- chromium-125.0.6422.141.orig/third_party/widevine/cdm/widevine.gni
|
||||
+++ chromium-125.0.6422.141/third_party/widevine/cdm/widevine.gni
|
||||
@@ -27,7 +27,7 @@
|
||||
library_widevine_cdm_available =
|
||||
(is_chromeos &&
|
||||
(target_cpu == "x64" || target_cpu == "arm" || target_cpu == "arm64")) ||
|
||||
- (target_os == "linux" && target_cpu == "x64") ||
|
||||
+ (target_os == "linux" && (target_cpu == "x64" || target_cpu == "arm64")) ||
|
||||
(target_os == "mac" && (target_cpu == "x64" || target_cpu == "arm64")) ||
|
||||
(target_os == "win" &&
|
||||
(target_cpu == "x86" || target_cpu == "x64" || target_cpu == "arm64"))
|
70
gcc-enable-lto.patch
Normal file
70
gcc-enable-lto.patch
Normal file
@@ -0,0 +1,70 @@
|
||||
Index: chromium-120.0.6099.18/build/config/BUILDCONFIG.gn
|
||||
===================================================================
|
||||
--- chromium-120.0.6099.18.orig/build/config/BUILDCONFIG.gn
|
||||
+++ chromium-120.0.6099.18/build/config/BUILDCONFIG.gn
|
||||
@@ -135,6 +135,8 @@ declare_args() {
|
||||
# set "is_official_build" to true for any build intended to ship to end-users.
|
||||
is_official_build = false
|
||||
|
||||
+ gcc_lto = false
|
||||
+
|
||||
# Set to true when compiling with the Clang compiler.
|
||||
is_clang = current_os != "linux" ||
|
||||
(current_cpu != "s390x" && current_cpu != "s390" &&
|
||||
@@ -354,6 +356,12 @@ default_compiler_configs = [
|
||||
"//build/config/sanitizers:default_sanitizer_flags",
|
||||
]
|
||||
|
||||
+if (gcc_lto) {
|
||||
+ default_compiler_configs += [
|
||||
+ "//build/config/compiler:gcc_lto",
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
if (is_win) {
|
||||
default_compiler_configs += [
|
||||
"//build/config/win:default_cfg_compiler",
|
||||
Index: chromium-120.0.6099.18/build/config/compiler/BUILD.gn
|
||||
===================================================================
|
||||
--- chromium-120.0.6099.18.orig/build/config/compiler/BUILD.gn
|
||||
+++ chromium-120.0.6099.18/build/config/compiler/BUILD.gn
|
||||
@@ -2342,6 +2342,10 @@ if (is_win) {
|
||||
common_optimize_on_cflags += [ "-fno-math-errno" ]
|
||||
}
|
||||
|
||||
+config("gcc_lto") {
|
||||
+ cflags = [ "-flto" ]
|
||||
+}
|
||||
+
|
||||
config("default_stack_frames") {
|
||||
if (!is_win) {
|
||||
if (enable_frame_pointers) {
|
||||
Index: chromium-120.0.6099.18/sandbox/linux/BUILD.gn
|
||||
===================================================================
|
||||
--- chromium-120.0.6099.18.orig/sandbox/linux/BUILD.gn
|
||||
+++ chromium-120.0.6099.18/sandbox/linux/BUILD.gn
|
||||
@@ -253,6 +253,9 @@ component("seccomp_bpf") {
|
||||
"//base",
|
||||
"//sandbox:sandbox_buildflags",
|
||||
]
|
||||
+ if (gcc_lto) {
|
||||
+ configs -= [ "//build/config/compiler:gcc_lto" ]
|
||||
+ }
|
||||
|
||||
if (is_android) {
|
||||
sources += [
|
||||
Index: chromium-120.0.6099.18/base/BUILD.gn
|
||||
===================================================================
|
||||
--- chromium-120.0.6099.18.orig/base/BUILD.gn
|
||||
+++ chromium-120.0.6099.18/base/BUILD.gn
|
||||
@@ -3561,6 +3561,10 @@
|
||||
sources += [ "location_unittest.cc" ]
|
||||
}
|
||||
|
||||
+ if (gcc_lto) {
|
||||
+ configs -= [ "//build/config/compiler:gcc_lto" ]
|
||||
+ }
|
||||
+
|
||||
if (!is_nacl) {
|
||||
sources += [
|
||||
"containers/span_rust_unittest.cc",
|
119
gtk-414.patch
Normal file
119
gtk-414.patch
Normal file
@@ -0,0 +1,119 @@
|
||||
From b3e4993ab0aaf2ed41a0c8c69b94ae1226be7494 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Anderson <thomasanderson@chromium.org>
|
||||
Date: Mon, 3 Mar 2025 10:41:42 -0800
|
||||
Subject: [PATCH] [GTK] Fix caption button rendering on newer versions of GTK4
|
||||
|
||||
A few new node types have been introduced since the GTK4 port was
|
||||
written, so this CL adds and handles the new types and adds logging to
|
||||
more easily diagnose this in the future.
|
||||
|
||||
R=thestig
|
||||
|
||||
Change-Id: Ie1d69ff7d7effc19aa1e873a58f8dd8943a43366
|
||||
Fixed: 400336287, 400365777
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6318540
|
||||
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
||||
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
||||
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
|
||||
Auto-Submit: Thomas Anderson <thomasanderson@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#1427225}
|
||||
|
||||
diff --git a/ui/gtk/gsk.sigs b/ui/gtk/gsk.sigs
|
||||
index 8f80d9d6bd11a..9dc03167830f4 100644
|
||||
--- a/ui/gtk/gsk.sigs
|
||||
+++ b/ui/gtk/gsk.sigs
|
||||
@@ -15,3 +15,6 @@ guint gsk_container_node_get_n_children(UI_GTK_CONST GskRenderNode* node);
|
||||
guint gsk_gl_shader_node_get_n_children(UI_GTK_CONST GskRenderNode* node);
|
||||
GdkTexture* gsk_texture_node_get_texture(UI_GTK_CONST GskRenderNode* node);
|
||||
float gsk_opacity_node_get_opacity(const GskRenderNode* node);
|
||||
+GskRenderNode* gsk_mask_node_get_mask(const GskRenderNode* node);
|
||||
+GdkTexture* gsk_texture_scale_node_get_texture(const GskRenderNode* node);
|
||||
+GskRenderNode* gsk_subsurface_node_get_child(const GskRenderNode* node);
|
||||
\ No newline at end of file
|
||||
diff --git a/ui/gtk/gtk_types.h b/ui/gtk/gtk_types.h
|
||||
index 6a18a86ed1570..6c3b820fab09b 100644
|
||||
--- a/ui/gtk/gtk_types.h
|
||||
+++ b/ui/gtk/gtk_types.h
|
||||
@@ -41,7 +41,15 @@ using GskRenderNodeType = enum {
|
||||
GSK_TEXT_NODE,
|
||||
GSK_BLUR_NODE,
|
||||
GSK_DEBUG_NODE,
|
||||
- GSK_GL_SHADER_NODE
|
||||
+ GSK_GL_SHADER_NODE,
|
||||
+ GSK_TEXTURE_SCALE_NODE,
|
||||
+ GSK_MASK_NODE,
|
||||
+ GSK_FILL_NODE,
|
||||
+ GSK_STROKE_NODE,
|
||||
+ GSK_SUBSURFACE_NODE,
|
||||
+
|
||||
+ // Not defined in GTK.
|
||||
+ GSK_RENDER_NODE_MAX_VALUE = GSK_SUBSURFACE_NODE,
|
||||
};
|
||||
|
||||
enum GdkMemoryFormat : int;
|
||||
diff --git a/ui/gtk/gtk_util.cc b/ui/gtk/gtk_util.cc
|
||||
index 0413e6fd94f59..78c4dc6bd57e5 100644
|
||||
--- a/ui/gtk/gtk_util.cc
|
||||
+++ b/ui/gtk/gtk_util.cc
|
||||
@@ -66,6 +66,10 @@ GskRenderNode* GetRenderNodeChild(GskRenderNode* node) {
|
||||
return gsk_blur_node_get_child(node);
|
||||
case GSK_DEBUG_NODE:
|
||||
return gsk_debug_node_get_child(node);
|
||||
+ case GSK_MASK_NODE:
|
||||
+ return gsk_mask_node_get_mask(node);
|
||||
+ case GSK_SUBSURFACE_NODE:
|
||||
+ return gsk_subsurface_node_get_child(node);
|
||||
default:
|
||||
return nullptr;
|
||||
}
|
||||
@@ -769,8 +773,19 @@ GdkTexture* GetTextureFromRenderNode(GskRenderNode* node) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
- if (gsk_render_node_get_node_type(node) == GSK_TEXTURE_NODE) {
|
||||
- return gsk_texture_node_get_texture(node);
|
||||
+ auto node_type = gsk_render_node_get_node_type(node);
|
||||
+ if (node_type > GSK_RENDER_NODE_MAX_VALUE) {
|
||||
+ LOG(ERROR) << "Unexpected node type: " << node_type;
|
||||
+ return nullptr;
|
||||
+ }
|
||||
+
|
||||
+ switch (node_type) {
|
||||
+ case GSK_TEXTURE_NODE:
|
||||
+ return gsk_texture_node_get_texture(node);
|
||||
+ case GSK_TEXTURE_SCALE_NODE:
|
||||
+ return gsk_texture_node_get_texture(node);
|
||||
+ default:
|
||||
+ break;
|
||||
}
|
||||
|
||||
if (auto* texture = GetTextureFromRenderNode(GetRenderNodeChild(node))) {
|
||||
diff --git a/ui/gtk/nav_button_provider_gtk.cc b/ui/gtk/nav_button_provider_gtk.cc
|
||||
index efe6321149679..239fbf4ca69a1 100644
|
||||
--- a/ui/gtk/nav_button_provider_gtk.cc
|
||||
+++ b/ui/gtk/nav_button_provider_gtk.cc
|
||||
@@ -117,11 +117,13 @@ gfx::Size LoadNavButtonIcon(ui::NavButtonProvider::FrameButtonDisplayType type,
|
||||
auto* snapshot = gtk_snapshot_new();
|
||||
gdk_paintable_snapshot(paintable, snapshot, width, height);
|
||||
auto* node = gtk_snapshot_free_to_node(snapshot);
|
||||
- GdkTexture* texture = GetTextureFromRenderNode(node);
|
||||
size_t nbytes = width * height * sizeof(SkColor);
|
||||
SkColor* pixels = reinterpret_cast<SkColor*>(g_malloc(nbytes));
|
||||
+ memset(pixels, 0, nbytes);
|
||||
size_t stride = sizeof(SkColor) * width;
|
||||
- gdk_texture_download(texture, reinterpret_cast<guchar*>(pixels), stride);
|
||||
+ if (GdkTexture* texture = GetTextureFromRenderNode(node)) {
|
||||
+ gdk_texture_download(texture, reinterpret_cast<guchar*>(pixels), stride);
|
||||
+ }
|
||||
SkColor fg = GtkStyleContextGetColor(button_context);
|
||||
for (int i = 0; i < width * height; ++i) {
|
||||
pixels[i] = SkColorSetA(fg, SkColorGetA(pixels[i]));
|
||||
@@ -199,7 +201,7 @@ void CalculateUnscaledButtonSize(
|
||||
gfx::Size* button_size,
|
||||
gfx::Insets* button_margin) {
|
||||
// views::ImageButton expects the images for each state to be of the
|
||||
- // same size, but GTK can, in general, use a differnetly-sized
|
||||
+ // same size, but GTK can, in general, use a differently-sized
|
||||
// button for each state. For this reason, render buttons for all
|
||||
// states at the size of a GTK_STATE_FLAG_NORMAL button.
|
||||
auto button_context = AppendCssNodeToStyleContext(
|
31
master_preferences
Normal file
31
master_preferences
Normal file
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"distribution": {
|
||||
"skip_first_run_ui": true,
|
||||
"import_bookmarks_from_file": "/etc/chromium/default_bookmarks.html",
|
||||
"alternate_shortcut_text": false,
|
||||
"oem_bubble": true,
|
||||
"chrome_shortcut_icon_index": 0,
|
||||
"create_all_shortcuts": true,
|
||||
"show_welcome_page": true,
|
||||
"make_chrome_default": false,
|
||||
"make_chrome_default_for_user": false,
|
||||
"system_level": false,
|
||||
"verbose_logging": false
|
||||
},
|
||||
"download": {
|
||||
"extensions_to_open": "ymp"
|
||||
},
|
||||
"browser": {
|
||||
"show_home_button": true,
|
||||
"check_default_browser": false
|
||||
},
|
||||
"bookmark_bar": {
|
||||
"show_on_all_tabs": true
|
||||
},
|
||||
"first_run_tabs": [
|
||||
"http://www.opensuse.org",
|
||||
"http://tools.google.com/chrome/intl/en/welcome.html"
|
||||
],
|
||||
"homepage": "http://www.opensuse.org",
|
||||
"homepage_is_newtabpage": false
|
||||
}
|
42
system-libdrm.patch
Normal file
42
system-libdrm.patch
Normal file
@@ -0,0 +1,42 @@
|
||||
Index: chromium-114.0.5735.90/build/linux/unbundle/libdrm.gn
|
||||
===================================================================
|
||||
--- chromium-114.0.5735.90.orig/build/linux/unbundle/libdrm.gn
|
||||
+++ chromium-114.0.5735.90/build/linux/unbundle/libdrm.gn
|
||||
@@ -11,7 +11,10 @@ pkg_config("system_libdrm") {
|
||||
|
||||
shim_headers("libdrm_shim") {
|
||||
root_path = "src/include"
|
||||
- headers = [ "drm.h" ]
|
||||
+ headers = [
|
||||
+ "drm.h",
|
||||
+ "drm_fourcc.h",
|
||||
+ ]
|
||||
}
|
||||
|
||||
source_set("libdrm") {
|
||||
Index: chromium-114.0.5735.90/ui/ozone/platform/drm/gpu/hardware_display_controller.cc
|
||||
===================================================================
|
||||
--- chromium-114.0.5735.90.orig/ui/ozone/platform/drm/gpu/hardware_display_controller.cc
|
||||
+++ chromium-114.0.5735.90/ui/ozone/platform/drm/gpu/hardware_display_controller.cc
|
||||
@@ -18,7 +18,7 @@
|
||||
#include "base/logging.h"
|
||||
#include "base/metrics/histogram_macros.h"
|
||||
#include "base/trace_event/typed_macros.h"
|
||||
-#include "third_party/libdrm/src/include/drm/drm_fourcc.h"
|
||||
+#include <drm_fourcc.h>
|
||||
#include "third_party/perfetto/include/perfetto/tracing/traced_value.h"
|
||||
#include "third_party/skia/include/core/SkCanvas.h"
|
||||
#include "third_party/skia/include/core/SkImage.h"
|
||||
Index: chromium-114.0.5735.90/media/gpu/chromeos/video_decoder_pipeline_unittest.cc
|
||||
===================================================================
|
||||
--- chromium-114.0.5735.90.orig/media/gpu/chromeos/video_decoder_pipeline_unittest.cc
|
||||
+++ chromium-114.0.5735.90/media/gpu/chromeos/video_decoder_pipeline_unittest.cc
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "media/gpu/chromeos/dmabuf_video_frame_pool.h"
|
||||
#include "testing/gmock/include/gmock/gmock.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
-#include "third_party/libdrm/src/include/drm/drm_fourcc.h"
|
||||
+#include <drm_fourcc.h>
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
// gn check does not account for BUILDFLAG(), so including this header will
|
12
tcmalloc-factory.patch
Normal file
12
tcmalloc-factory.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
--- chromium/src/build/common.gypi 2010-04-29 12:39:04.018140987 +0200
|
||||
+++ chromium/src/build/common.gypi 2010-05-03 21:38:49.733821848 +0200
|
||||
@@ -261,7 +261,7 @@
|
||||
'linux_strip_reliability_tests%': 0,
|
||||
|
||||
# Enable TCMalloc.
|
||||
- 'linux_use_tcmalloc%': 1,
|
||||
+ 'linux_use_tcmalloc%': 0,
|
||||
|
||||
# Disable TCMalloc's debugallocation.
|
||||
'linux_use_debugallocation%': 0,
|
||||
|
Reference in New Issue
Block a user