- CVE-2023-5218: Use after free in Site Isolation. - CVE-2023-5487: Inappropriate implementation in Fullscreen. - CVE-2023-5484: Inappropriate implementation in Navigation. - CVE-2023-5475: Inappropriate implementation in DevTools. - CVE-2023-5483: Inappropriate implementation in Intents. - CVE-2023-5481: Inappropriate implementation in Downloads. - CVE-2023-5476: Use after free in Blink History. - CVE-2023-5474: Heap buffer overflow in PDF. - CVE-2023-5479: Inappropriate implementation in Extensions API. - CVE-2023-5485: Inappropriate implementation in Autofill. - CVE-2023-5478: Inappropriate implementation in Autofill. - CVE-2023-5477: Inappropriate implementation in Installer. - CVE-2023-5486: Inappropriate implementation in Input. - CVE-2023-5473: Use after free in Cast. - drop use_gnome_keyring as it's removed by upstreami9e-gost-119.0.6045.159
parent
7e891dc0ca
commit
95f775917d
@ -1,14 +0,0 @@
|
||||
diff -up chromium-116.0.5845.50/base/allocator/partition_allocator/partition_alloc_config.h.me chromium-116.0.5845.50/base/allocator/partition_allocator/partition_alloc_config.h
|
||||
--- chromium-116.0.5845.50/base/allocator/partition_allocator/partition_alloc_config.h.me 2023-07-30 15:13:45.873427874 +0200
|
||||
+++ chromium-116.0.5845.50/base/allocator/partition_allocator/partition_alloc_config.h 2023-07-30 15:15:31.393181400 +0200
|
||||
@@ -150,9 +150,7 @@ static_assert(sizeof(void*) != 8, "");
|
||||
(!BUILDFLAG(PUT_REF_COUNT_IN_PREVIOUS_SLOT) && \
|
||||
defined(ARCH_CPU_LITTLE_ENDIAN))
|
||||
|
||||
-#define PA_CONFIG_HAS_MEMORY_TAGGING() \
|
||||
- (defined(ARCH_CPU_ARM64) && defined(__clang__) && \
|
||||
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)))
|
||||
+#define PA_CONFIG_HAS_MEMORY_TAGGING() 0
|
||||
|
||||
#if PA_CONFIG(HAS_MEMORY_TAGGING)
|
||||
static_assert(sizeof(void*) == 8);
|
@ -1,237 +0,0 @@
|
||||
commit e2f8a1e1b5c0096cb0465a79e4f6c53d0d50e664
|
||||
Author: Gregg Tavares <gman@chromium.org>
|
||||
Date: Fri Aug 11 00:32:19 2023 +0000
|
||||
|
||||
Tweak about:gpu
|
||||
|
||||
* Make it so you can select all the text
|
||||
|
||||
As it was, selection only worked on individual top level divs.
|
||||
Adding an enclosing parent div fixed this issue
|
||||
|
||||
* Change "Copy Report to Clipboard" to "Download Report to File"
|
||||
|
||||
The data here was almost always too big. Too big to paste into
|
||||
a chrome bug, too big to paste into chat.
|
||||
|
||||
The user can still press Ctrl-A/Cmd-A or pick Select-All
|
||||
and do a text copy.
|
||||
|
||||
* Add dark mode support
|
||||
|
||||
Bug: 1470927
|
||||
Change-Id: I82da29ae5b68106f204d02084e252d3f07373a69
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4764269
|
||||
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
||||
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
||||
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#1182383}
|
||||
|
||||
diff --git a/content/browser/resources/gpu/gpu_internals.html b/content/browser/resources/gpu/gpu_internals.html
|
||||
index d324f96798fd6..22322bb6ba7d8 100644
|
||||
--- a/content/browser/resources/gpu/gpu_internals.html
|
||||
+++ b/content/browser/resources/gpu/gpu_internals.html
|
||||
@@ -9,13 +9,15 @@ found in the LICENSE file.
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>GPU Internals</title>
|
||||
<style>
|
||||
+ :root {
|
||||
+ color-scheme: light dark;
|
||||
+ }
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
body {
|
||||
- background-color: white;
|
||||
cursor: default;
|
||||
font-family: sans-serif;
|
||||
margin: 8px;
|
||||
diff --git a/content/browser/resources/gpu/info_view.html b/content/browser/resources/gpu/info_view.html
|
||||
index 289691ceb11b3..ce3643da2adb6 100644
|
||||
--- a/content/browser/resources/gpu/info_view.html
|
||||
+++ b/content/browser/resources/gpu/info_view.html
|
||||
@@ -5,12 +5,28 @@ found in the LICENSE file.
|
||||
-->
|
||||
<style>
|
||||
:host {
|
||||
+ --green: #080;
|
||||
+ --yellow: #880;
|
||||
+ --red: #f00;
|
||||
+ --gray: #888;
|
||||
+ --bg-yellow: #ff0;
|
||||
+
|
||||
display: block;
|
||||
flex: 1;
|
||||
overflow: auto;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
+ @media (prefers-color-scheme: dark) {
|
||||
+ :host {
|
||||
+ --green: #0F0;
|
||||
+ --yellow: #FF0;
|
||||
+ --red: #f00;
|
||||
+ --gray: #888;
|
||||
+ --bg-yellow: #880;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
:host * {
|
||||
user-select: text;
|
||||
}
|
||||
@@ -26,77 +42,52 @@ found in the LICENSE file.
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
- :host > div {
|
||||
+ #content > div {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.feature-green {
|
||||
- color: rgb(0, 128, 0);
|
||||
+ color: var(--green);
|
||||
}
|
||||
|
||||
.feature-yellow {
|
||||
- color: rgb(128, 128, 0);
|
||||
+ color: var(--yellow);
|
||||
}
|
||||
|
||||
.feature-red {
|
||||
- color: rgb(255, 0, 0);
|
||||
+ color: var(--red);
|
||||
}
|
||||
|
||||
.feature-gray {
|
||||
- color: rgb(128, 128, 128);
|
||||
+ color: var(--gray);
|
||||
}
|
||||
|
||||
.bg-yellow {
|
||||
- background-color: yellow;
|
||||
+ background-color: var(--bg-yellow);
|
||||
}
|
||||
|
||||
#vulkan-info-value {
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
- #copy-to-clipboard {
|
||||
- background-image: linear-gradient(#ededed, #ededed 38%, #dedede);
|
||||
- border: 1px solid rgba(0, 0, 0, .25);
|
||||
- border-radius: 2px;
|
||||
- box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08),
|
||||
- inset 0 1px 2px rgba(255, 255, 255, 0.75);
|
||||
- color: #444;
|
||||
+ #download-to-file {
|
||||
font: inherit;
|
||||
margin: 0 1px 0 0;
|
||||
min-height: 2em;
|
||||
- outline: none;
|
||||
padding: 1px 10px;
|
||||
- text-shadow: 0 1px 0 rgb(240, 240, 240);
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
- #copy-to-clipboard:enabled:hover {
|
||||
- background-image: linear-gradient(#f0f0f0, #f0f0f0 38%, #e0e0e0);
|
||||
- border-color: rgba(0, 0, 0, 0.3);
|
||||
- box-shadow: 0 1px 0 rgba(0, 0, 0, 0.12),
|
||||
- inset 0 1px 2px rgba(255, 255, 255, 0.95);
|
||||
- color: black;
|
||||
- }
|
||||
-
|
||||
- #copy-to-clipboard:enabled:active {
|
||||
- background-image: linear-gradient(#e7e7e7, #e7e7e7 38%, #d7d7d7);
|
||||
- box-shadow: none;
|
||||
- text-shadow: none;
|
||||
- }
|
||||
-
|
||||
- #copy-to-clipboard:enabled:focus {
|
||||
- border-color: rgb(77, 144, 254);
|
||||
- }
|
||||
-
|
||||
h4.dawn-info-header {
|
||||
- color: rgb(128, 128, 0);
|
||||
+ color: var(--yellow);
|
||||
margin-bottom: 2px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
||||
|
||||
+<div id="content">
|
||||
<div>
|
||||
- <button id="copy-to-clipboard">Copy Report to Clipboard</button>
|
||||
+ <button id="download-to-file">Download Report to File</button>
|
||||
</div>
|
||||
<div>
|
||||
<h3>Graphics Feature Status</h3>
|
||||
@@ -193,3 +184,4 @@ found in the LICENSE file.
|
||||
<h3>Log Messages</h3>
|
||||
<ul></ul>
|
||||
</div>
|
||||
+</div>
|
||||
\ No newline at end of file
|
||||
diff --git a/content/browser/resources/gpu/info_view.ts b/content/browser/resources/gpu/info_view.ts
|
||||
index 0b91cc130f46f..96c08f76e4bc7 100644
|
||||
--- a/content/browser/resources/gpu/info_view.ts
|
||||
+++ b/content/browser/resources/gpu/info_view.ts
|
||||
@@ -12,6 +12,22 @@ import {getTemplate} from './info_view.html.js';
|
||||
import {ArrayData, Data} from './info_view_table_row.js';
|
||||
import {VulkanInfo} from './vulkan_info.js';
|
||||
|
||||
+/**
|
||||
+ * Given a blob and a filename, prompts user to
|
||||
+ * save as a file.
|
||||
+ */
|
||||
+const saveData = (function() {
|
||||
+ const a = document.createElement('a');
|
||||
+ a.style.display = 'none';
|
||||
+ document.body.appendChild(a);
|
||||
+ return function saveData(blob: Blob, fileName: string) {
|
||||
+ const url = window.URL.createObjectURL(blob);
|
||||
+ a.href = url;
|
||||
+ a.download = fileName;
|
||||
+ a.click();
|
||||
+ };
|
||||
+}());
|
||||
+
|
||||
/**
|
||||
* @fileoverview This view displays information on the current GPU
|
||||
* hardware. Its primary usefulness is to allow users to copy-paste
|
||||
@@ -33,19 +49,26 @@ export class InfoViewElement extends CustomElement {
|
||||
}
|
||||
|
||||
connectedCallback() {
|
||||
- // Add handler to 'copy to clipboard' button
|
||||
- const copyButton =
|
||||
- this.shadowRoot!.querySelector<HTMLElement>('#copy-to-clipboard');
|
||||
- assert(copyButton);
|
||||
- copyButton.onclick = (() => {
|
||||
+ // Add handler to 'download report to clipboard' button
|
||||
+ const downloadButton =
|
||||
+ this.shadowRoot!.querySelector<HTMLElement>('#download-to-file')!;
|
||||
+ assert(downloadButton);
|
||||
+ downloadButton.onclick = (() => {
|
||||
// Make sure nothing is selected
|
||||
const s = window.getSelection()!;
|
||||
s.removeAllRanges();
|
||||
+
|
||||
+ // Select everything
|
||||
s.selectAllChildren(this.shadowRoot!);
|
||||
- document.execCommand('copy');
|
||||
+ const text = s.toString();
|
||||
|
||||
// And deselect everything at the end.
|
||||
window.getSelection()!.removeAllRanges();
|
||||
+
|
||||
+ const blob = new Blob([text], {type: 'text/text'});
|
||||
+ const filename = `about-gpu-${
|
||||
+ new Date().toISOString().replace(/[^a-z0-9-]/ig, '-')}.txt`;
|
||||
+ saveData(blob, filename);
|
||||
});
|
||||
}
|
||||
|
@ -1,91 +0,0 @@
|
||||
diff -up chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc.me chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc
|
||||
--- chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc.me 2023-06-25 10:06:58.445990069 +0200
|
||||
+++ chromium-115.0.5790.40/chrome/test/chromedriver/capabilities.cc 2023-06-25 10:51:17.640818231 +0200
|
||||
@@ -355,7 +355,7 @@ Status ParseMobileEmulation(const base::
|
||||
"'version' field of type string");
|
||||
}
|
||||
|
||||
- brands.emplace_back(*brand, *version);
|
||||
+ brands.emplace_back() = {*brand, *version};
|
||||
}
|
||||
|
||||
client_hints.brands = std::move(brands);
|
||||
@@ -392,7 +392,7 @@ Status ParseMobileEmulation(const base::
|
||||
"a 'version' field of type string");
|
||||
}
|
||||
|
||||
- full_version_list.emplace_back(*brand, *version);
|
||||
+ full_version_list.emplace_back() = {*brand, *version};
|
||||
}
|
||||
|
||||
client_hints.full_version_list = std::move(full_version_list);
|
||||
diff -up chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc.me chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc
|
||||
--- chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc.me 2023-08-15 21:34:58.922855428 +0200
|
||||
+++ chromium-116.0.5845.96/chrome/browser/content_settings/one_time_permission_provider.cc 2023-08-15 21:39:23.310434237 +0200
|
||||
@@ -207,8 +207,8 @@ void OneTimePermissionProvider::OnSuspen
|
||||
|
||||
while (rule_iterator && rule_iterator->HasNext()) {
|
||||
auto rule = rule_iterator->Next();
|
||||
- patterns_to_delete.emplace_back(setting_type, rule->primary_pattern,
|
||||
- rule->secondary_pattern);
|
||||
+ patterns_to_delete.emplace_back() = {setting_type, rule->primary_pattern,
|
||||
+ rule->secondary_pattern};
|
||||
permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
|
||||
setting_type,
|
||||
permissions::OneTimePermissionEvent::EXPIRED_ON_SUSPEND);
|
||||
@@ -302,8 +302,8 @@ void OneTimePermissionProvider::DeleteEn
|
||||
auto rule = rule_iterator->Next();
|
||||
if (rule->primary_pattern.Matches(origin_gurl) &&
|
||||
rule->secondary_pattern.Matches(origin_gurl)) {
|
||||
- patterns_to_delete.emplace_back(
|
||||
- content_setting_type, rule->primary_pattern, rule->secondary_pattern);
|
||||
+ patterns_to_delete.emplace_back() = {
|
||||
+ content_setting_type, rule->primary_pattern, rule->secondary_pattern};
|
||||
permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
|
||||
content_setting_type, trigger_event);
|
||||
}
|
||||
diff -up chromium-117.0.5938.62/base/trace_event/trace_log.cc.me chromium-117.0.5938.62/base/trace_event/trace_log.cc
|
||||
--- chromium-117.0.5938.62/base/trace_event/trace_log.cc.me 2023-09-13 20:14:42.441248781 +0200
|
||||
+++ chromium-117.0.5938.62/base/trace_event/trace_log.cc 2023-09-13 20:16:12.186638601 +0200
|
||||
@@ -2187,8 +2187,8 @@ void TraceLog::SetTraceBufferForTesting(
|
||||
#if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY)
|
||||
void TraceLog::OnSetup(const perfetto::DataSourceBase::SetupArgs& args) {
|
||||
AutoLock lock(track_event_lock_);
|
||||
- track_event_sessions_.emplace_back(args.internal_instance_index, *args.config,
|
||||
- args.backend_type);
|
||||
+ track_event_sessions_.emplace_back() = {args.internal_instance_index, *args.config,
|
||||
+ args.backend_type};
|
||||
}
|
||||
|
||||
void TraceLog::OnStart(const perfetto::DataSourceBase::StartArgs&) {
|
||||
diff -up chromium-117.0.5938.62/content/browser/download/save_package.cc.me chromium-117.0.5938.62/content/browser/download/save_package.cc
|
||||
--- chromium-117.0.5938.62/content/browser/download/save_package.cc.me 2023-09-15 12:02:43.866622591 +0200
|
||||
+++ chromium-117.0.5938.62/content/browser/download/save_package.cc 2023-09-15 12:03:58.715984511 +0200
|
||||
@@ -764,8 +764,8 @@ void SavePackage::Finish() {
|
||||
if (download_) {
|
||||
std::vector<download::DownloadSaveItemData::ItemInfo> files;
|
||||
for (auto& item : saved_success_items_) {
|
||||
- files.emplace_back(item.second->full_path(), item.second->url(),
|
||||
- item.second->referrer().url);
|
||||
+ files.emplace_back() = {item.second->full_path(), item.second->url(),
|
||||
+ item.second->referrer().url};
|
||||
}
|
||||
download::DownloadSaveItemData::AttachItemData(download_, std::move(files));
|
||||
}
|
||||
diff -up chromium-117.0.5938.62/ui/gtk/gtk_ui.cc.me chromium-117.0.5938.62/ui/gtk/gtk_ui.cc
|
||||
--- chromium-117.0.5938.62/ui/gtk/gtk_ui.cc.me 2023-09-15 20:29:42.626502343 +0200
|
||||
+++ chromium-117.0.5938.62/ui/gtk/gtk_ui.cc 2023-09-15 20:36:18.763091179 +0200
|
||||
@@ -955,11 +955,11 @@ ui::DisplayConfig GtkUi::GetDisplayConfi
|
||||
GdkRectangle geometry;
|
||||
gdk_monitor_get_geometry(monitor, &geometry);
|
||||
int monitor_scale = std::max(1, gdk_monitor_get_scale_factor(monitor));
|
||||
- config.display_geometries.emplace_back(
|
||||
+ config.display_geometries.emplace_back() = {
|
||||
gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y,
|
||||
monitor_scale * geometry.width,
|
||||
monitor_scale * geometry.height),
|
||||
- monitor_scale * font_scale);
|
||||
+ static_cast<float>(monitor_scale * font_scale)};
|
||||
}
|
||||
return config;
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
diff -up chromium-118.0.5993.32/base/allocator/partition_allocator/partition_alloc_config.h.me chromium-118.0.5993.32/base/allocator/partition_allocator/partition_alloc_config.h
|
||||
--- chromium-118.0.5993.32/base/allocator/partition_allocator/partition_alloc_config.h.me 2023-10-03 20:25:01.282782425 +0200
|
||||
+++ chromium-118.0.5993.32/base/allocator/partition_allocator/partition_alloc_config.h 2023-10-03 20:25:27.151236664 +0200
|
||||
@@ -152,10 +152,7 @@ static_assert(sizeof(void*) != 8, "");
|
||||
(!BUILDFLAG(PUT_REF_COUNT_IN_PREVIOUS_SLOT) && \
|
||||
defined(ARCH_CPU_LITTLE_ENDIAN))
|
||||
|
||||
-#define PA_CONFIG_HAS_MEMORY_TAGGING() \
|
||||
- (defined(ARCH_CPU_ARM64) && defined(__clang__) && \
|
||||
- !defined(ADDRESS_SANITIZER) && \
|
||||
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)))
|
||||
+#define PA_CONFIG_HAS_MEMORY_TAGGING() 0
|
||||
|
||||
#if PA_CONFIG(HAS_MEMORY_TAGGING)
|
||||
static_assert(sizeof(void*) == 8);
|
@ -0,0 +1,12 @@
|
||||
diff -up chromium-118.0.5993.32/ui/gfx/linux/dmabuf_uapi.h.me chromium-118.0.5993.32/ui/gfx/linux/dmabuf_uapi.h
|
||||
--- chromium-118.0.5993.32/ui/gfx/linux/dmabuf_uapi.h.me 2023-10-04 22:18:44.259800011 +0200
|
||||
+++ chromium-118.0.5993.32/ui/gfx/linux/dmabuf_uapi.h 2023-10-04 22:28:17.068756669 +0200
|
||||
@@ -28,7 +28,7 @@ constexpr unsigned long DMA_BUF_IOCTL_SY
|
||||
_IOW(DMA_BUF_BASE, 0, struct dma_buf_sync);
|
||||
#endif
|
||||
|
||||
-#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0)
|
||||
+#if 0
|
||||
struct dma_buf_export_sync_file {
|
||||
__u32 flags;
|
||||
__s32 fd;
|
@ -0,0 +1,24 @@
|
||||
diff -up chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.cc.me chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.cc
|
||||
--- chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.cc.me 2023-10-07 12:24:51.194618144 +0200
|
||||
+++ chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.cc 2023-10-07 12:26:30.727448581 +0200
|
||||
@@ -1219,7 +1219,7 @@ void V4L2CaptureDelegate::SetErrorState(
|
||||
client_->OnError(error, from_here, reason);
|
||||
}
|
||||
|
||||
-#if BUILDFLAG(IS_LINUX)
|
||||
+#if 0 //BUILDFLAG(IS_LINUX)
|
||||
gfx::ColorSpace V4L2CaptureDelegate::BuildColorSpaceFromv4l2() {
|
||||
v4l2_colorspace v4l2_primary = (v4l2_colorspace)video_fmt_.fmt.pix.colorspace;
|
||||
v4l2_quantization v4l2_range =
|
||||
diff -up chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.h.me chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.h
|
||||
--- chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.h.me 2023-10-07 12:29:35.588406023 +0200
|
||||
+++ chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.h 2023-10-07 12:28:42.057036014 +0200
|
||||
@@ -133,7 +133,7 @@ class CAPTURE_EXPORT V4L2CaptureDelegate
|
||||
const base::Location& from_here,
|
||||
const std::string& reason);
|
||||
|
||||
-#if BUILDFLAG(IS_LINUX)
|
||||
+#if 0 //BUILDFLAG(IS_LINUX)
|
||||
// Systems which describe a "color space" usually map that to one or more of
|
||||
// {primary, matrix, transfer, range}. BuildColorSpaceFromv4l2() will use the
|
||||
// matched value as first priority. Otherwise, if there is no best matching
|
@ -0,0 +1,91 @@
|
||||
commit ed354d00aeda84693611b14baa56a287557a26b5
|
||||
Author: Munira Tursunova <moonira@google.com>
|
||||
Date: Tue Sep 12 11:54:48 2023 +0000
|
||||
|
||||
Add check for use_system_freetype when importing private freetype header
|
||||
|
||||
In [0] the include of private freetype header was added, which caused
|
||||
build breakage when use_system_freetype=true, see [1].
|
||||
|
||||
This CL fixes the breakage by introducing USE_SYSTEM_FREETYPE build flag.
|
||||
|
||||
[0] https://chromium-review.googlesource.com/c/chromium/src/+/4717485
|
||||
[1] https://chromium-review.googlesource.com/c/chromium/src/+/4717485/comments/cdfca7b9_8e61b2e0
|
||||
|
||||
Bug: 1429581
|
||||
Change-Id: I7f7de4cdb2dc46092a91a47d766bedb58ddccb7c
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4843428
|
||||
Commit-Queue: Munira Tursunova <moonira@google.com>
|
||||
Reviewed-by: Dominik Röttsches <drott@chromium.org>
|
||||
Reviewed-by: Rick Byers <rbyers@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#1195323}
|
||||
|
||||
diff --git a/third_party/BUILD.gn b/third_party/BUILD.gn
|
||||
index 7b086f95413ff..4ce797ebad722 100644
|
||||
--- a/third_party/BUILD.gn
|
||||
+++ b/third_party/BUILD.gn
|
||||
@@ -2,6 +2,7 @@
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
+import("//build/buildflag_header.gni")
|
||||
import("//build/config/features.gni")
|
||||
import("//build/config/freetype/freetype.gni")
|
||||
import("//third_party/harfbuzz-ng/harfbuzz.gni")
|
||||
@@ -65,3 +66,8 @@ component("freetype_harfbuzz") {
|
||||
public_deps += [ "//third_party/harfbuzz-ng:harfbuzz_source" ]
|
||||
}
|
||||
}
|
||||
+
|
||||
+buildflag_header("freetype_buildflags") {
|
||||
+ header = "freetype_buildflags.h"
|
||||
+ flags = [ "USE_SYSTEM_FREETYPE=$use_system_freetype" ]
|
||||
+}
|
||||
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
|
||||
index 591d2f939605b..f6a2cd2168d1e 100644
|
||||
--- a/third_party/blink/renderer/platform/BUILD.gn
|
||||
+++ b/third_party/blink/renderer/platform/BUILD.gn
|
||||
@@ -1717,6 +1717,7 @@ component("platform") {
|
||||
"//services/viz/public/cpp/gpu",
|
||||
"//skia",
|
||||
"//skia:skcms",
|
||||
+ "//third_party:freetype_buildflags",
|
||||
"//third_party:freetype_harfbuzz",
|
||||
"//third_party/abseil-cpp:absl",
|
||||
"//third_party/blink/public:image_resources",
|
||||
diff --git a/third_party/blink/renderer/platform/fonts/simple_font_data.cc b/third_party/blink/renderer/platform/fonts/simple_font_data.cc
|
||||
index abe06f35c14a5..b2bfd88f0d85d 100644
|
||||
--- a/third_party/blink/renderer/platform/fonts/simple_font_data.cc
|
||||
+++ b/third_party/blink/renderer/platform/fonts/simple_font_data.cc
|
||||
@@ -48,7 +48,7 @@
|
||||
#include "third_party/blink/renderer/platform/wtf/math_extras.h"
|
||||
#include "third_party/blink/renderer/platform/wtf/text/character_names.h"
|
||||
#include "third_party/blink/renderer/platform/wtf/text/unicode.h"
|
||||
-#include "third_party/freetype/src/src/autofit/afws-decl.h"
|
||||
+#include "third_party/freetype_buildflags.h"
|
||||
#include "third_party/skia/include/core/SkFontMetrics.h"
|
||||
#include "third_party/skia/include/core/SkPath.h"
|
||||
#include "third_party/skia/include/core/SkTypeface.h"
|
||||
@@ -57,12 +57,22 @@
|
||||
#include "ui/gfx/geometry/skia_conversions.h"
|
||||
#include "v8/include/v8.h"
|
||||
|
||||
+#if !BUILDFLAG(USE_SYSTEM_FREETYPE)
|
||||
+#include "third_party/freetype/src/src/autofit/afws-decl.h"
|
||||
+#endif
|
||||
+
|
||||
namespace blink {
|
||||
|
||||
constexpr float kSmallCapsFontSizeMultiplier = 0.7f;
|
||||
constexpr float kEmphasisMarkFontSizeMultiplier = 0.5f;
|
||||
+
|
||||
+#if !BUILDFLAG(USE_SYSTEM_FREETYPE)
|
||||
constexpr int32_t kFontObjectsMemoryConsumption =
|
||||
std::max(sizeof(AF_LatinMetricsRec), sizeof(AF_CJKMetricsRec));
|
||||
+#else
|
||||
+// sizeof(AF_LatinMetricsRec) = 2128
|
||||
+constexpr int32_t kFontObjectsMemoryConsumption = 2128;
|
||||
+#endif
|
||||
|
||||
SimpleFontData::SimpleFontData(const FontPlatformData& platform_data,
|
||||
scoped_refptr<CustomFontData> custom_data,
|
Loading…
Reference in new issue