-
Notifications
You must be signed in to change notification settings - Fork 803
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update to Chromium 89.0.4389.82 #1416
Conversation
I was able to get a successful build on Arch Linux. Some notes regarding changes in these patches:
|
On Gentoo with "chrome_pgo_phase=1" I got
|
Get the same error on a musl build (pure GNU/GCC toolchain):
Moving the
|
I also get this error along with a few more "$foo is not a member of 'base'" erors in the same file:
I'm building with |
The patchfix helped with linking. But some pages and extensions are getting crashed.
|
I get the same error when visiting github too:
My flags can be found here. EDIT: |
I've tried to adjust the macOS patches and the build finished but I'm also getting a similar error message:
A list of URLs that crash the tab for me: |
I will correct these errors as quickly as I possibly can. |
confirm "enable_reporting=true" fixed the issue with crashing tabs and extensions |
Previously defines were used for the ReportingServiceProxy header and the code that used it, but that's not the case now. Adding this to diff--- a/third_party/blink/renderer/core/frame/local_frame.h
+++ b/third_party/blink/renderer/core/frame/local_frame.h
@@ -38,6 +38,7 @@
#include "mojo/public/cpp/bindings/pending_associated_receiver.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/unique_receiver_set.h"
+#include "net/net_buildflags.h"
#include "third_party/blink/public/common/frame/transient_allow_fullscreen.h"
#include "third_party/blink/public/mojom/blob/blob_url_store.mojom-blink.h"
#include "third_party/blink/public/mojom/frame/back_forward_cache_controller.mojom-blink.h"
@@ -522,7 +523,9 @@
SmoothScrollSequencer& GetSmoothScrollSequencer();
+#if BUILDFLAG(ENABLE_REPORTING)
mojom::blink::ReportingServiceProxy* GetReportingService();
+#endif
// Returns the frame host ptr. The interface returned is backed by an
// associated interface with the legacy Chrome IPC channel.
@@ -903,9 +906,11 @@
// const methods.
//
// LocalFrame can be reused by multiple ExecutionContext.
+#if BUILDFLAG(ENABLE_REPORTING)
mutable HeapMojoRemote<mojom::blink::ReportingServiceProxy,
HeapMojoWrapperMode::kWithoutContextObserver>
reporting_service_{nullptr};
+#endif
#if defined(OS_MAC)
// LocalFrame can be reused by multiple ExecutionContext.
--- a/third_party/blink/renderer/core/frame/reporting_context.h
+++ b/third_party/blink/renderer/core/frame/reporting_context.h
@@ -5,6 +5,7 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_REPORTING_CONTEXT_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_REPORTING_CONTEXT_H_
+#include "net/net_buildflags.h"
#include "third_party/blink/public/mojom/frame/reporting_observer.mojom-blink.h"
#include "third_party/blink/public/mojom/reporting/reporting.mojom-blink.h"
#include "third_party/blink/renderer/core/core_export.h"
@@ -54,8 +55,10 @@
// Counts the use of a report type via UseCounter.
void CountReport(Report*);
+#if BUILDFLAG(ENABLE_REPORTING)
const HeapMojoRemote<mojom::blink::ReportingServiceProxy>&
GetReportingService() const;
+#endif
void NotifyInternal(Report* report);
// Send |report| via the Reporting API to |endpoint|.
@@ -67,8 +70,10 @@
// This is declared mutable so that the service endpoint can be cached by
// const methods.
+#if BUILDFLAG(ENABLE_REPORTING)
mutable HeapMojoRemote<mojom::blink::ReportingServiceProxy>
reporting_service_;
+#endif
HeapMojoReceiver<mojom::blink::ReportingObserver, ReportingContext> receiver_;
};
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -38,6 +38,7 @@
#include "base/unguessable_token.h"
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "mojo/public/cpp/system/message_pipe.h"
+#include "net/net_buildflags.h"
#include "services/data_decoder/public/mojom/resource_snapshot_for_web_bundle.mojom-blink.h"
#include "services/network/public/cpp/features.h"
#include "services/network/public/mojom/content_security_policy.mojom-blink.h"
@@ -551,7 +552,9 @@
visitor->Trace(raw_system_clipboard_);
visitor->Trace(virtual_keyboard_overlay_changed_observers_);
visitor->Trace(pause_handle_receivers_);
+#if BUILDFLAG(ENABLE_REPORTING)
visitor->Trace(reporting_service_);
+#endif
#if defined(OS_MAC)
visitor->Trace(text_input_host_);
#endif
@@ -2273,6 +2276,7 @@
return base::UnguessableToken::Null();
}
+#if BUILDFLAG(ENABLE_REPORTING)
mojom::blink::ReportingServiceProxy* LocalFrame::GetReportingService() {
if (!reporting_service_.is_bound()) {
GetBrowserInterfaceBroker().GetInterface(
@@ -2281,6 +2285,7 @@
}
return reporting_service_.get();
}
+#endif
// static
void LocalFrame::NotifyUserActivation(
--- a/third_party/blink/renderer/core/frame/reporting_context.cc
+++ b/third_party/blink/renderer/core/frame/reporting_context.cc
@@ -4,6 +4,7 @@
#include "third_party/blink/renderer/core/frame/reporting_context.h"
+#include "net/net_buildflags.h"
#include "third_party/blink/public/common/browser_interface_broker_proxy.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/public/platform/task_type.h"
@@ -54,7 +55,9 @@
ReportingContext::ReportingContext(ExecutionContext& context)
: Supplement<ExecutionContext>(context),
execution_context_(context),
+#if BUILDFLAG(ENABLE_REPORTING)
reporting_service_(&context),
+#endif
receiver_(this, &context) {}
// static
@@ -118,7 +121,9 @@
visitor->Trace(observers_);
visitor->Trace(report_buffer_);
visitor->Trace(execution_context_);
+#if BUILDFLAG(ENABLE_REPORTING)
visitor->Trace(reporting_service_);
+#endif
visitor->Trace(receiver_);
Supplement<ExecutionContext>::Trace(visitor);
}
@@ -140,6 +145,7 @@
UseCounter::Count(execution_context_, feature);
}
+#if BUILDFLAG(ENABLE_REPORTING)
const HeapMojoRemote<mojom::blink::ReportingServiceProxy>&
ReportingContext::GetReportingService() const {
if (!reporting_service_.is_bound()) {
@@ -149,6 +155,7 @@
}
return reporting_service_;
}
+#endif
void ReportingContext::NotifyInternal(Report* report) {
// Buffer the report.
@@ -171,6 +178,7 @@
void ReportingContext::SendToReportingAPI(Report* report,
const String& endpoint) const {
+#if BUILDFLAG(ENABLE_REPORTING)
const String& type = report->type();
if (!(type == ReportType::kCSPViolation || type == ReportType::kDeprecation ||
type == ReportType::kFeaturePolicyViolation ||
@@ -227,6 +235,7 @@
"Document policy violation", body->sourceFile(), line_number,
column_number);
}
+#endif
}
} // namespace blink |
Confirm successful building with enable_reporting=false & chrome_pgo_phase=1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but will wait a little bit longer for more feedback.
The Stable channel has been updated to 89.0.4389.82 |
At least pruning lists need to be updated for .82:
|
I've updated |
patches/core/ungoogled-chromium/fix-building-without-enabling-reporting.patch
Show resolved
Hide resolved
Builds successfully on Fedora and CentOS. |
I was able to get a successful build on Windows. Hopefully, this PR will be merged before Google pushes another update to Google Chrome. |
The domain substitution regex caused a problem in android build. In the pattern of |
Did anyone notice, that 89 Chromium takes up twice the space of 88? Or is it just me? |
It's 109M here. Do you link to system libs on Gentoo? |
Yes, with the exception of libvpx. Chromium vaapi code isn't friendly to system libvpx. |
That's strange. Maybe you can try to find out which files are taking the most spaces? |
I did compare the chrome binary itself on core2 and haswell (before updating core2 to 89):
Even though architectures are different, sizes differ significantly.
I assume you do not enable PGO at all as profdata are supposed to be pruned by scripts, do you? |
The difference is almost 3 times bigger. That doesn't looks trivial..
Yes, |
That is an experiment, I advise to not use any patch from that branch because some of them are known to be broken. The patches on |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, Thanks 👍
@Eloston in this PR the patch |
@csagan5 Do you imply that devtools are local or they never were otherwise? |
@PF4Public I do not know, but the changes of this PR make the patch a no-op. |
I had thought the same thing and attempted to remove it in one of the following updates. Doing so causes the build to fail with: ninja: error: '../../src/chromium/third_party/devtools-frontend/src/test/e2e/resources/media/fisch.webm', needed by 'gen/third_party/devtools-frontend/src/test/e2e/resources/media/fisch.webm', missing and no known rule to make it We could remove the patch but would have to whitelist the binaries under Granted |
Added `ungoogled-chromium-Fix-building-without-enabling-reporting.patch` to fix build issues. See the following PR for more details: ungoogled-software/ungoogled-chromium#1416
Resolves #1415. Currently working on getting a successful build on Arch Linux.