The page is blank because the /safetyCheck menu item cannot be found.
This happens because the menu item is no longer a direct child of the
menu, but instead is nested in a template.
Added code to search templates for menu items (perhpas there's a more
efficient way?).
Fixesbrave/brave-browser#16708
Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/49cea54a
commit 49cea54a094586e441513055fe0febedba4f377d
Author: dpapad <dpapad@chromium.org>
Date: Fri May 14 08:53:26 2021 +0000
Settings: Combine safetyCheck and privacy sections in re-design.
- Hide the "Safety check" menu entry
- Add a new |nest-under-section| attribute on <settings-section> and
leverage it in main_page_behavior.js to show multiple
<settings-section> instances at the same time.
- Update tests.
Bug: 1204457
A number of browser tests crash on Linux and MacOS in release build with
the stack ending on something like
base::internal::WeakLinkNode<base::ObserverList<extensions::ExtensionHostObserver, false, true, base::internal::UncheckedObserverAdapter> >::SetList(base::ObserverList<extensions::ExtensionHostObserver, false, true, base::internal::UncheckedObserverAdapter>*) + 393
base::ObserverList<extensions::ExtensionHostObserver, false, true, base::internal::UncheckedObserverAdapter>::Iter::Iter(base::ObserverList<extensions::ExtensionHostObserver, false, true, base::internal::UncheckedObserverAdapter> const*) + 46
extensions::ExtensionHost::Close() + 81
ExtensionActionViewController::HidePopup()
While I haven't gotten to the bottom of it, I am currently suspecting
that there is a problem with the base::ObserverList class. Specifically,
the fact that the list's begin method considers the list empty based on
the internal observers_ vector, while the list's empty method relies on
the separate observers_count_. In the debugger it looks to me like
begin() attempts to construct const_iterator(this) instead of
const_iterator() when the list is empty.
The workaround follows the example of ExtensionActionViewController by
adding an observer to the popup_host_, which we don't need but it should
prevent the ObserverList from being empty.
We should use InkDropHost::AnimateToState() now.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/7a956cd01727bd626ca2711671935efa0128ee28
commit 7a956cd01727bd626ca2711671935efa0128ee28
Author: Peter Boström <pbos@chromium.org>
Date: Fri May 7 20:08:13 2021 +0000
Separate InkDropHost from InkDropHostView
This essentially moves InkDropHostView into a new class with the
temporary name InkDropHost. All accesses to InkDropHost are done through
InkDropHostView::ink_drop(). InkDropHostView is now a new trivial View
subclass which is provides an InkDropHost.
A latter step will move ink_drop() down to InkDropHostView subclasses.
Several clean-up steps are missing, but this may be easier to review.
Bug: 931964
Early return in BraveP3AService::OnHistogramChanged() instead of
DCHECK-ing to prevent crashes that will happen for some histograms
that we found would be reported twice for the actual same event
as part of the same sequence, calling crashes on DCHECK-enabled builds.
So far, the events investigated were 3:
Brave.NTP.SponsoredImagesEnabled
Brave.SpeedReader.ToggleCount
Brave.SpeedReader.Enabled
And in the three cases the actual same event (e.g. finishing the
initialization of the profile, restoring a previous session) ended
up trying to report the same histogram twice for the same event,
resulting on the histogram being properly sent on the first go
and then crashing on the second attempt (which would no longer be
necessary).
This patch simply replaces the DCHECK with an early return to make
sure that we don't crash on that second attempt when it happens,
and simply gracefully return instead.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/e0e07a0e60557782a957168d0d62dedc2e7cf26b
commit e0e07a0e60557782a957168d0d62dedc2e7cf26b
Author: Shakti Sahu <shaktisahu@chromium.org>
Date: Sun Jun 6 00:07:52 2021 +0000
Added multiple callback support for histograms in StatisticsRecorder
This CL adds multiple callback support for histogram samples. The
callback to be invoked is wrapped inside a ScopedHistogramSampleObserver
which unregisters itself on destruction. A base::ObserverListThreadSafe
is used for each histogram to maintain the list of observers.
There is a slight change in the behavior of these observers in that
the samples are now always posted, whereas before they were notified
synchronously on the sequence the histogram was recorded on. The
posting of samples happens in the same thread in which the observer
was registered.
Bug: 1119851
The warning is:
/usr/lib/python3.8/subprocess.py:844: RuntimeWarning: line buffering
(buffering=1) isn't supported in binary mode, the default buffer size
will be used self.stdout = io.open(c2pread, 'rb', bufsize)
Removed bufsize=1 parameter from subprocess.Popen. Also, used
subprocess.DEVNULL param for stderr instead of opening os.devnull
explicitly in the script.