chore: bump chromium to 145.0.7568.0 (main) (#49145)

* chore: bump chromium in DEPS to 145.0.7562.0

* fix(patch-conflict): update code cache patch for PersistentCache refactor

Upstream refactored code cache to use PersistentCache with new class-based
implementation (NoopCodeCacheHost, LocalCodeCacheHost, CodeCacheWithPersistentCacheHost).
Updated patch to integrate custom scheme support into the new structure while
preserving ProcessLockURLIsCodeCacheScheme checks for embedder-registered schemes.

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7044986

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>

* fix(patch-conflict): update dialog patch for RequestXdgDesktopPortal API

Upstream changed from SetSystemdScopeUnitNameForXdgPortal to RequestXdgDesktopPortal
API pattern. Updated OnServiceStarted signature and kept OnSystemdUnitStarted callback
that calls Electron's file_dialog::StartPortalAvailabilityTestInBackground().

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7204285

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>

* fix(patch-conflict): remove reference to deleted AbortByPlaceholderLayout flag

Upstream removed the AbortByPlaceholderLayout runtime flag from
runtime_enabled_features.json5. Updated patch to only add ElectronCSSCornerSmoothing
without the removed flag reference.

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7226494

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>

* chore: update patch hunk headers

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>

* fix(build): guard media_file_system_registry for ChromeOS only

Upstream CL https://chromium-review.googlesource.com/c/chromium/src/+/7100719
moved media_file_system_registry to be ChromeOS-only since Media
Galleries is a Chrome Apps API and Chrome Apps are only available
on Chrome OS now.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>

* fix(build): update VideoPixelFormat API for SharedImageFormat

Upstream CL https://chromium-review.googlesource.com/c/chromium/src/+/7207153
removed VideoPixelFormatToGfxBufferFormat as part of migration to
SharedImageFormat. Update to use VideoPixelFormatToSharedImageFormat
which directly returns the SharedImageFormat.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>

* fix(build): extend profile methods patch for ShouldEnableXfaForms

The ShouldEnableXfaForms function uses Profile::FromBrowserContext()
which is not available in Electron. Wrap the profile-dependent code
in #if 0 to fall through to the feature flag default.

Co-Authored-By: Claude <noreply@anthropic.com>

* chore: bump chromium in DEPS to 145.0.7563.0

* chore: bump chromium in DEPS to 145.0.7565.0

* chore: bump chromium in DEPS to 145.0.7567.0

* chore: bump chromium in DEPS to 145.0.7568.0

* fix(patch-conflict): update content_main_delegate.h context for IsInitFeatureListEarly

Upstream added a new IsInitFeatureListEarly() virtual method to ContentMainDelegate
just before where our GetBrowserV8SnapshotFilename() method is added. Updated patch
context to account for this new method.

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7092856

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>

* chore: update patch hunk headers

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>

* fix(patch-update): include v8-cppgc.h for CppHeap complete type

The std::unique_ptr<v8::CppHeap> default argument in node.h requires
the complete CppHeap type definition for the destructor. Added the
v8-cppgc.h include to provide the full type definition.

Ref: Unable to locate CL - libc++ unique_ptr requires complete type for destructor

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>

* chore: update patch hunk headers

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>

* fix(build): move NativeAppWindowFrameViewMacClient before constructor

The std::unique_ptr<NativeAppWindowFrameViewMacClient> member requires
the complete type definition to be visible at the point of the constructor
because the unique_ptr destructor may be instantiated during exception
handling. Moved the class definition before the NativeWindowMac constructor.

Ref: Unable to locate CL - libc++ unique_ptr requires complete type for destructor

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>

* fix(patch-conflict): update create_browser_v8_snapshot_file_name_fuse context for IsInitFeatureListEarly

The upstream added IsInitFeatureListEarly() virtual method declaration to
ContentMainDelegate class. Updated the patch context to account for this
new function being present before the GetBrowserV8SnapshotFilename()
declaration we add.

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7092856

Co-Authored-By: Claude <noreply@anthropic.com>

* chore: update patch hunk headers

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(patch-update): remove reverted IsInitFeatureListEarly from v8 snapshot patch

The upstream added IsInitFeatureListEarly() was reverted, so the patch should
not include this declaration. Only GetBrowserV8SnapshotFilename() should be
added by the create_browser_v8_snapshot_file_name_fuse patch.

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7230430

Co-Authored-By: Claude <noreply@anthropic.com>

* 6171655: include single_thread_task_runner.h for complete type

Added include for base/task/single_thread_task_runner.h in osr_converter.cc
to resolve incomplete type error when using
base::SingleThreadTaskRunner::GetCurrentDefault().

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/6171655

Co-Authored-By: Claude <noreply@anthropic.com>

* 7224136: use CHROMIUM_GIT_REVISION directly instead of removed function

Upstream removed GetChromiumGitRevision() function from embedder_support.
Updated to use CHROMIUM_GIT_REVISION macro directly via
build/util/chromium_git_revision.h as recommended in the Chromium CL.

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7224136

Co-Authored-By: Claude <noreply@anthropic.com>

* fixup! 7224136: use CHROMIUM_GIT_REVISION directly instead of removed function

* fix(build): add missing include

`components/dbus/xdg/systemd.h` for `void OnSystemdUnitStarted(dbus_xdg::SystemdUnitStatus)` in the same patch.

* fix(build): adapt to string-view-ification change in windows jump_list.cc

7186922: Fix unsafe buffer usage in base/win/win_util.cc
https://chromium-review.googlesource.com/c/chromium/src/+/7186922

* chore: update libc++ filenames

* fixup! fix(build): add missing include

* fixup! fix(build): extend profile methods patch for ShouldEnableXfaForms

* fixup! fix(build): guard media_file_system_registry for ChromeOS only

* fixup! fixup! fix(build): extend profile methods patch for ShouldEnableXfaForms

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
Co-authored-by: Claude <svc-devxp-claude@slack-corp.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: clavin <clavin@electronjs.org>
This commit is contained in:
electron-roller[bot]
2025-12-10 10:28:31 -05:00
committed by GitHub
parent bab6bd3dae
commit fe477ce3aa
85 changed files with 469 additions and 436 deletions

View File

@@ -286,10 +286,6 @@ BrowserProcessImpl::component_updater() {
return nullptr;
}
MediaFileSystemRegistry* BrowserProcessImpl::media_file_system_registry() {
return nullptr;
}
WebRtcLogUploader* BrowserProcessImpl::webrtc_log_uploader() {
return nullptr;
}

View File

@@ -111,7 +111,6 @@ class BrowserProcessImpl : public BrowserProcess {
subresource_filter::RulesetService* subresource_filter_ruleset_service()
override;
component_updater::ComponentUpdateService* component_updater() override;
MediaFileSystemRegistry* media_file_system_registry() override;
WebRtcLogUploader* webrtc_log_uploader() override;
network_time::NetworkTimeTracker* network_time_tracker() override;
gcm::GCMDriver* gcm_driver() override;

View File

@@ -114,6 +114,43 @@ struct Converter<electron::NativeWindowMac::VisualEffectState> {
namespace electron {
class NativeAppWindowFrameViewMacClient
: public views::NativeFrameViewMacClient {
public:
NativeAppWindowFrameViewMacClient(views::Widget* frame,
NativeWindowMac* window)
: frame_(frame), native_app_window_(window) {}
NativeAppWindowFrameViewMacClient(const NativeAppWindowFrameViewMacClient&) =
delete;
NativeAppWindowFrameViewMacClient& operator=(
const NativeAppWindowFrameViewMacClient&) = delete;
~NativeAppWindowFrameViewMacClient() override = default;
std::optional<int> NonClientHitTest(const gfx::Point& point) override {
if (frame_->IsFullscreen()) {
return HTCLIENT;
}
// Check for possible draggable region in the client area for the frameless
// window.
int contents_hit_test = native_app_window_->NonClientHitTest(point);
if (contents_hit_test != HTNOWHERE)
return contents_hit_test;
return HTCLIENT;
}
private:
const raw_ptr<views::Widget> frame_;
// Weak. Owned by extensions::AppWindow (which manages our Widget via its
// WebContents).
const raw_ptr<NativeWindowMac, DanglingUntriaged> native_app_window_;
};
NativeWindowMac::~NativeWindowMac() = default;
NativeWindowMac::NativeWindowMac(const gin_helper::Dictionary& options,
NativeWindow* parent)
: NativeWindow(options, parent), root_view_(new RootViewMac(this)) {
@@ -319,8 +356,6 @@ NativeWindowMac::NativeWindowMac(const gin_helper::Dictionary& options,
original_level_ = [window_ level];
}
NativeWindowMac::~NativeWindowMac() = default;
void NativeWindowMac::SetContentView(views::View* view) {
views::View* root_view = GetContentsView();
if (content_view())
@@ -1683,41 +1718,6 @@ void NativeWindowMac::Cleanup() {
[window_ cleanup];
}
class NativeAppWindowFrameViewMacClient
: public views::NativeFrameViewMacClient {
public:
NativeAppWindowFrameViewMacClient(views::Widget* frame,
NativeWindowMac* window)
: frame_(frame), native_app_window_(window) {}
NativeAppWindowFrameViewMacClient(const NativeAppWindowFrameViewMacClient&) =
delete;
NativeAppWindowFrameViewMacClient& operator=(
const NativeAppWindowFrameViewMacClient&) = delete;
~NativeAppWindowFrameViewMacClient() override = default;
std::optional<int> NonClientHitTest(const gfx::Point& point) override {
if (frame_->IsFullscreen()) {
return HTCLIENT;
}
// Check for possible draggable region in the client area for the frameless
// window.
int contents_hit_test = native_app_window_->NonClientHitTest(point);
if (contents_hit_test != HTNOWHERE)
return contents_hit_test;
return HTCLIENT;
}
private:
const raw_ptr<views::Widget> frame_;
// Weak. Owned by extensions::AppWindow (which manages our Widget via its
// WebContents).
const raw_ptr<NativeWindowMac, DanglingUntriaged> native_app_window_;
};
std::unique_ptr<views::FrameView> NativeWindowMac::CreateFrameView(
views::Widget* widget) {
CHECK(!frame_view_client_);

View File

@@ -21,8 +21,8 @@
#include "base/timer/timer.h"
#include "base/uuid.h"
#include "base/values.h"
#include "build/util/chromium_git_revision.h"
#include "chrome/browser/devtools/devtools_contents_resizing_strategy.h"
#include "components/embedder_support/user_agent_utils.h"
#include "components/prefs/pref_registry_simple.h"
#include "components/prefs/pref_service.h"
#include "components/prefs/scoped_user_pref_update.h"
@@ -142,7 +142,7 @@ double GetNextZoomLevel(double level, bool out) {
GURL GetRemoteBaseURL() {
return GURL(absl::StrFormat("%s%s/%s/", kChromeUIDevToolsRemoteFrontendBase,
kChromeUIDevToolsRemoteFrontendPath,
embedder_support::GetChromiumGitRevision()));
CHROMIUM_GIT_REVISION));
}
GURL GetDevToolsURL(bool can_dock) {

View File

@@ -47,7 +47,7 @@ bool AppendTask(const JumpListItem& item, IObjectCollection* collection) {
CComQIPtr<IPropertyStore> property_store(link);
if (!base::win::SetStringValueForPropertyStore(property_store, PKEY_Title,
item.title.c_str()))
item.title))
return false;
return SUCCEEDED(collection->AddObject(link));

View File

@@ -7,7 +7,6 @@
#include "base/base64.h"
#include "base/command_line.h"
#include "base/numerics/byte_conversions.h"
#include "components/viz/common/resources/shared_image_format_utils.h"
#include "content/browser/compositor/image_transport_factory.h" // nogncheck
#include "gpu/command_buffer/client/context_support.h"
#include "gpu/ipc/client/client_shared_image_interface.h"
@@ -707,8 +706,8 @@ v8::Local<v8::Value> ImportSharedTexture(v8::Isolate* isolate,
media::VideoPixelFormat pixel_format = shared_texture.pixel_format;
gfx::ColorSpace color_space = shared_texture.color_space;
auto buffer_format = media::VideoPixelFormatToGfxBufferFormat(pixel_format);
if (!buffer_format.has_value()) {
auto si_format = media::VideoPixelFormatToSharedImageFormat(pixel_format);
if (!si_format.has_value()) {
gin_helper::ErrorThrower(isolate).ThrowTypeError(
"Invalid shared texture buffer format");
return v8::Null(isolate);
@@ -727,10 +726,8 @@ v8::Local<v8::Value> ImportSharedTexture(v8::Isolate* isolate,
gpu::SHARED_IMAGE_USAGE_RASTER_READ |
gpu::SHARED_IMAGE_USAGE_DISPLAY_READ;
#endif
auto si_format = viz::GetSharedImageFormat(buffer_format.value());
auto si =
sii->CreateSharedImage({si_format, coded_size, color_space,
sii->CreateSharedImage({si_format.value(), coded_size, color_space,
shared_image_usage, "SharedTextureVideoFrame"},
std::move(gmb_handle));

View File

@@ -11,6 +11,7 @@
#include <string>
#include "base/containers/to_vector.h"
#include "base/task/single_thread_task_runner.h"
#if BUILDFLAG(IS_LINUX)
#include "base/strings/string_number_conversions.h"
#endif