chore: bump chromium to 120.0.6099.0 (main) (#40316)

* chore: bump chromium in DEPS to 120.0.6086.0

* chore: update patches

* chore: rename FrameSubscriber::OnNewCropVersion()

Xref: 4905819

just a simple renaming

* chore: rename ToJsTime() to .InMillisecondsFSinceUnixEpoch()

Xref: 4956111

function renamed upstream

* chore: rename ToDoubleT() to .InSecondsFSinceUnixEpoch()

Xref: 4956111

function renamed upstream

* chore: rename FromDoubleT() to .FromSecondsSinceUnixEpoch()

Xref: 4956111

function renamed upstream

* chore: bump chromium in DEPS to 120.0.6088.2

* chore: update patches

* chore: regen filenames.libcxx.gni

* chore: migrate from (removed upstream) inputFormType to formControlType

* chore: bump chromium in DEPS to 120.0.6089.0

* chore: update allow_disabling_blink_scheduler_throttling_per_renderview.patch

Xref: 4828507

manually sync to upstream changes + reduce diff size

* chore: update patches

* chore: bump chromium in DEPS to 120.0.6090.0

* chore: update fix_disabling_background_throttling_in_compositor.patch

no manual changes; patch applied with fuzz 2 (4 lines)

Xref: 4944206

* chore: update fix_handle_no_top_level_aura_window_in_webcontentsimpl.patch

Xref: 4946653

do not patch WebContentsImpl::SetWindowShowState() any longer because it has been removed

* chore: update patches

* chore: bump chromium in DEPS to 120.0.6091.0

* chore: update patches

* chore: bump chromium in DEPS to 120.0.6093.0

* chore: bump chromium in DEPS to 120.0.6095.0

* chore: bump chromium in DEPS to 120.0.6096.0

* chore: bump chromium in DEPS to 120.0.6097.0

* chore: update patches

* chore: update patch after rebase

* 4961495: [document pip] Focus the window when opened manually

4961495

* [Extensions UserScripts] Store extensions with user scripts in tracker

 | 4950530

* chore: bump chromium in DEPS to 120.0.6099.0

* chore: update patches

* chore: update filenames.libcxx.gni

* chore: remove trailing space

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
This commit is contained in:
electron-roller[bot] 2023-11-01 10:02:12 -04:00 committed by GitHub
parent 83892ab995
commit bc1ba1fe9d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
87 changed files with 611 additions and 424 deletions

View file

@ -1370,8 +1370,8 @@ std::vector<gin_helper::Dictionary> App::GetAppMetrics(v8::Isolate* isolate) {
pid_dict.Set("pid", process_metric.second->process.Pid());
pid_dict.Set("type", content::GetProcessTypeNameInEnglish(
process_metric.second->type));
pid_dict.Set("creationTime",
process_metric.second->process.CreationTime().ToJsTime());
pid_dict.Set("creationTime", process_metric.second->process.CreationTime()
.InMillisecondsFSinceUnixEpoch());
if (!process_metric.second->service_name.empty()) {
pid_dict.Set("serviceName", process_metric.second->service_name);

View file

@ -61,7 +61,7 @@ struct Converter<net::CanonicalCookie> {
dict.Set("httpOnly", val.IsHttpOnly());
dict.Set("session", !val.IsPersistent());
if (val.IsPersistent())
dict.Set("expirationDate", val.ExpiryDate().ToDoubleT());
dict.Set("expirationDate", val.ExpiryDate().InSecondsFSinceUnixEpoch());
dict.Set("sameSite", val.SameSite());
return ConvertToV8(isolate, dict).As<v8::Object>();
}
@ -164,9 +164,9 @@ void FilterCookieWithStatuses(
base::Time ParseTimeProperty(const absl::optional<double>& value) {
if (!value) // empty time means ignoring the parameter
return base::Time();
if (*value == 0) // FromDoubleT would convert 0 to empty Time
if (*value == 0) // FromSecondsSinceUnixEpoch would convert 0 to empty Time
return base::Time::UnixEpoch();
return base::Time::FromDoubleT(*value);
return base::Time::FromSecondsSinceUnixEpoch(*value);
}
base::StringPiece InclusionStatusToString(net::CookieInclusionStatus status) {

View file

@ -245,7 +245,7 @@ std::string DownloadItem::GetETag() const {
double DownloadItem::GetStartTime() const {
if (!CheckAlive())
return 0;
return download_item_->GetStartTime().ToDoubleT();
return download_item_->GetStartTime().InSecondsFSinceUnixEpoch();
}
// static

View file

@ -828,7 +828,7 @@ void Session::DownloadURL(const GURL& url, gin::Arguments* args) {
void Session::CreateInterruptedDownload(const gin_helper::Dictionary& options) {
int64_t offset = 0, length = 0;
double start_time = base::Time::Now().ToDoubleT();
double start_time = base::Time::Now().InSecondsFSinceUnixEpoch();
std::string mime_type, last_modified, etag;
base::FilePath path;
std::vector<GURL> url_chain;
@ -853,7 +853,8 @@ void Session::CreateInterruptedDownload(const gin_helper::Dictionary& options) {
auto* download_manager = browser_context()->GetDownloadManager();
download_manager->GetNextId(base::BindRepeating(
&DownloadIdCallback, download_manager, path, url_chain, mime_type, offset,
length, last_modified, etag, base::Time::FromDoubleT(start_time)));
length, last_modified, etag,
base::Time::FromSecondsSinceUnixEpoch(start_time)));
}
void Session::SetPreloads(const std::vector<base::FilePath>& preloads) {

View file

@ -128,7 +128,8 @@ void ToDictionary(gin_helper::Dictionary* details,
details->Set("id", info->id);
details->Set("url", info->url);
details->Set("method", info->method);
details->Set("timestamp", base::Time::Now().ToDoubleT() * 1000);
details->Set("timestamp",
base::Time::Now().InSecondsFSinceUnixEpoch() * 1000);
details->Set("resourceType", info->web_request_type);
if (!info->response_ip.empty())
details->Set("ip", info->response_ip);

View file

@ -141,7 +141,7 @@ void FrameSubscriber::OnFrameCaptured(
Done(content_rect, bitmap);
}
void FrameSubscriber::OnNewCropVersion(uint32_t crop_version) {}
void FrameSubscriber::OnNewSubCaptureTargetVersion(uint32_t crop_version) {}
void FrameSubscriber::OnFrameWithEmptyRegionCapture() {}

View file

@ -57,7 +57,7 @@ class FrameSubscriber : public content::WebContentsObserver,
const gfx::Rect& content_rect,
mojo::PendingRemote<viz::mojom::FrameSinkVideoConsumerFrameCallbacks>
callbacks) override;
void OnNewCropVersion(uint32_t crop_version) override;
void OnNewSubCaptureTargetVersion(uint32_t crop_version) override;
void OnFrameWithEmptyRegionCapture() override;
void OnStopped() override;
void OnLog(const std::string& message) override;

View file

@ -138,7 +138,8 @@ void AutoUpdater::CheckForUpdates() {
delegate->OnUpdateDownloaded(
base::SysNSStringToUTF8(update.releaseNotes),
base::SysNSStringToUTF8(update.releaseName),
base::Time::FromDoubleT(update.releaseDate.timeIntervalSince1970),
base::Time::FromSecondsSinceUnixEpoch(
update.releaseDate.timeIntervalSince1970),
base::SysNSStringToUTF8(update.updateURL.absoluteString));
} else {
g_update_available = false;

View file

@ -136,7 +136,8 @@ void OffScreenVideoConsumer::OnFrameCaptured(
callback_.Run(*update_rect, bitmap);
}
void OffScreenVideoConsumer::OnNewCropVersion(uint32_t crop_version) {}
void OffScreenVideoConsumer::OnNewSubCaptureTargetVersion(
uint32_t crop_version) {}
void OffScreenVideoConsumer::OnFrameWithEmptyRegionCapture() {}

View file

@ -44,7 +44,7 @@ class OffScreenVideoConsumer : public viz::mojom::FrameSinkVideoConsumer {
const gfx::Rect& content_rect,
mojo::PendingRemote<viz::mojom::FrameSinkVideoConsumerFrameCallbacks>
callbacks) override;
void OnNewCropVersion(uint32_t crop_version) override;
void OnNewSubCaptureTargetVersion(uint32_t crop_version) override;
void OnFrameWithEmptyRegionCapture() override;
void OnStopped() override;
void OnLog(const std::string& message) override;

View file

@ -169,7 +169,7 @@ v8::Local<v8::Value> ElectronBindings::GetCreationTime(v8::Isolate* isolate) {
if (timeValue.is_null()) {
return v8::Null(isolate);
}
double jsTime = timeValue.ToJsTime();
double jsTime = timeValue.InMillisecondsFSinceUnixEpoch();
return v8::Number::New(isolate, jsTime);
}

View file

@ -460,19 +460,111 @@ v8::Local<v8::Value> Converter<blink::mojom::ContextMenuDataMediaType>::ToV8(
// static
v8::Local<v8::Value>
Converter<blink::mojom::ContextMenuDataInputFieldType>::ToV8(
Converter<absl::optional<blink::mojom::FormControlType>>::ToV8(
v8::Isolate* isolate,
const blink::mojom::ContextMenuDataInputFieldType& in) {
switch (in) {
case blink::mojom::ContextMenuDataInputFieldType::kPlainText:
return StringToV8(isolate, "plainText");
case blink::mojom::ContextMenuDataInputFieldType::kPassword:
return StringToV8(isolate, "password");
case blink::mojom::ContextMenuDataInputFieldType::kOther:
return StringToV8(isolate, "other");
default:
return StringToV8(isolate, "none");
const absl::optional<blink::mojom::FormControlType>& in) {
base::StringPiece str{"none"};
if (in.has_value()) {
switch (*in) {
case blink::mojom::FormControlType::kButtonButton:
str = "button-button";
break;
case blink::mojom::FormControlType::kButtonReset:
str = "reset-button";
break;
case blink::mojom::FormControlType::kButtonSelectList:
str = "select-list";
break;
case blink::mojom::FormControlType::kButtonSubmit:
str = "submit-button";
break;
case blink::mojom::FormControlType::kFieldset:
str = "field-set";
break;
case blink::mojom::FormControlType::kInputButton:
str = "input-button";
break;
case blink::mojom::FormControlType::kInputCheckbox:
str = "input-checkbox";
break;
case blink::mojom::FormControlType::kInputColor:
str = "input-color";
break;
case blink::mojom::FormControlType::kInputDate:
str = "input-date";
break;
case blink::mojom::FormControlType::kInputDatetimeLocal:
str = "input-datetime-local";
break;
case blink::mojom::FormControlType::kInputEmail:
str = "input-email";
break;
case blink::mojom::FormControlType::kInputFile:
str = "input-file";
break;
case blink::mojom::FormControlType::kInputHidden:
str = "input-hidden";
break;
case blink::mojom::FormControlType::kInputImage:
str = "input-image";
break;
case blink::mojom::FormControlType::kInputMonth:
str = "input-month";
break;
case blink::mojom::FormControlType::kInputNumber:
str = "input-number";
break;
case blink::mojom::FormControlType::kInputPassword:
str = "input-password";
break;
case blink::mojom::FormControlType::kInputRadio:
str = "input-radio";
break;
case blink::mojom::FormControlType::kInputRange:
str = "input-range";
break;
case blink::mojom::FormControlType::kInputReset:
str = "input-reset";
break;
case blink::mojom::FormControlType::kInputSearch:
str = "input-search";
break;
case blink::mojom::FormControlType::kInputSubmit:
str = "input-submit";
break;
case blink::mojom::FormControlType::kInputTelephone:
str = "input-telephone";
break;
case blink::mojom::FormControlType::kInputText:
str = "input-text";
break;
case blink::mojom::FormControlType::kInputTime:
str = "input-time";
break;
case blink::mojom::FormControlType::kInputUrl:
str = "input-url";
break;
case blink::mojom::FormControlType::kInputWeek:
str = "input-week";
break;
case blink::mojom::FormControlType::kOutput:
str = "output";
break;
case blink::mojom::FormControlType::kSelectList:
str = "select-list";
break;
case blink::mojom::FormControlType::kSelectMultiple:
str = "select-multiple";
break;
case blink::mojom::FormControlType::kSelectOne:
str = "select-one";
break;
case blink::mojom::FormControlType::kTextArea:
str = "text-area";
break;
}
}
return StringToV8(isolate, str);
}
v8::Local<v8::Value> EditFlagsToV8(v8::Isolate* isolate, int editFlags) {

View file

@ -80,10 +80,10 @@ struct Converter<blink::mojom::ContextMenuDataMediaType> {
};
template <>
struct Converter<blink::mojom::ContextMenuDataInputFieldType> {
struct Converter<absl::optional<blink::mojom::FormControlType>> {
static v8::Local<v8::Value> ToV8(
v8::Isolate* isolate,
const blink::mojom::ContextMenuDataInputFieldType& in);
const absl::optional<blink::mojom::FormControlType>& in);
};
template <>

View file

@ -22,6 +22,51 @@
#include "ui/events/keycodes/dom/keycode_converter.h"
#include "ui/events/keycodes/keyboard_code_conversion.h"
namespace {
[[nodiscard]] constexpr base::StringPiece FormControlToInputFieldTypeString(
const absl::optional<blink::mojom::FormControlType> form_control_type) {
if (!form_control_type)
return "none";
switch (*form_control_type) {
case blink::mojom::FormControlType::kInputPassword:
return "password";
case blink::mojom::FormControlType::kInputText:
return "plainText";
// other input types:
case blink::mojom::FormControlType::kInputButton:
case blink::mojom::FormControlType::kInputCheckbox:
case blink::mojom::FormControlType::kInputColor:
case blink::mojom::FormControlType::kInputDate:
case blink::mojom::FormControlType::kInputDatetimeLocal:
case blink::mojom::FormControlType::kInputEmail:
case blink::mojom::FormControlType::kInputFile:
case blink::mojom::FormControlType::kInputHidden:
case blink::mojom::FormControlType::kInputImage:
case blink::mojom::FormControlType::kInputMonth:
case blink::mojom::FormControlType::kInputNumber:
case blink::mojom::FormControlType::kInputRadio:
case blink::mojom::FormControlType::kInputRange:
case blink::mojom::FormControlType::kInputReset:
case blink::mojom::FormControlType::kInputSearch:
case blink::mojom::FormControlType::kInputSubmit:
case blink::mojom::FormControlType::kInputTelephone:
case blink::mojom::FormControlType::kInputTime:
case blink::mojom::FormControlType::kInputUrl:
case blink::mojom::FormControlType::kInputWeek:
return "other";
// not an input type
default:
return "none";
}
}
} // namespace
namespace gin {
// static
@ -156,7 +201,13 @@ v8::Local<v8::Value> Converter<ContextMenuParamsWithRenderFrameHost>::ToV8(
#endif
dict.Set("frameCharset", params.frame_charset);
dict.Set("referrerPolicy", params.referrer_policy);
dict.Set("inputFieldType", params.input_field_type);
dict.Set("formControlType", params.form_control_type);
// NB: inputFieldType is deprecated because the upstream
// field was removed; we are emulating it now until removal
dict.Set("inputFieldType",
FormControlToInputFieldTypeString(params.form_control_type));
dict.Set("menuSourceType", params.source_type);
return gin::ConvertToV8(isolate, dict);

View file

@ -83,8 +83,8 @@ v8::Local<v8::Value> Converter<scoped_refptr<net::X509Certificate>>::ToV8(
dict.Set("subjectName", val->subject().GetDisplayName());
dict.Set("serialNumber", base::HexEncode(val->serial_number().data(),
val->serial_number().size()));
dict.Set("validStart", val->valid_start().ToDoubleT());
dict.Set("validExpiry", val->valid_expiry().ToDoubleT());
dict.Set("validStart", val->valid_start().InSecondsFSinceUnixEpoch());
dict.Set("validExpiry", val->valid_expiry().InSecondsFSinceUnixEpoch());
dict.Set("fingerprint",
net::HashValue(val->CalculateFingerprint256(val->cert_buffer()))
.ToString());
@ -510,7 +510,8 @@ v8::Local<v8::Value> Converter<network::ResourceRequestBody>::ToV8(
upload_data.Set("offset", static_cast<int>(element_file.offset()));
upload_data.Set("length", static_cast<int>(element_file.length()));
upload_data.Set("modificationTime",
element_file.expected_modification_time().ToDoubleT());
element_file.expected_modification_time()
.InSecondsFSinceUnixEpoch());
break;
}
case network::mojom::DataElement::Tag::kBytes: {
@ -597,10 +598,10 @@ bool Converter<scoped_refptr<network::ResourceRequestBody>>::FromV8(
dict.FindDouble("modificationTime").value_or(0.0);
int offset = dict.FindInt("offset").value_or(0);
int length = dict.FindInt("length").value_or(-1);
(*out)->AppendFileRange(base::FilePath::FromUTF8Unsafe(*file),
static_cast<uint64_t>(offset),
static_cast<uint64_t>(length),
base::Time::FromDoubleT(modification_time));
(*out)->AppendFileRange(
base::FilePath::FromUTF8Unsafe(*file), static_cast<uint64_t>(offset),
static_cast<uint64_t>(length),
base::Time::FromSecondsSinceUnixEpoch(modification_time));
}
}
return true;

View file

@ -12,7 +12,8 @@ namespace gin {
v8::Local<v8::Value> Converter<base::Time>::ToV8(v8::Isolate* isolate,
const base::Time& val) {
v8::Local<v8::Value> date;
if (v8::Date::New(isolate->GetCurrentContext(), val.ToJsTime())
if (v8::Date::New(isolate->GetCurrentContext(),
val.InMillisecondsFSinceUnixEpoch())
.ToLocal(&date))
return date;
else