In pre-formatted text (including textareas), text leaf nodes can contain line break characters ("\n").
Therefore, when searching for a paragraph boundary, we must match these.
Pivot can't return an ofset, only an Accessible, so we store the offset for the last match on the rule.
Because our origin point might be within a text leaf which contains a line break before/after it, we must also pass in the offset in our origin in this case so we can begin the text search from the right place.
Differential Revision: https://phabricator.services.mozilla.com/D93719
After Bug 1669239, The way we use `PuppetWidget::Paint` starts to be
more async. For instance, `PuppetWidget::Invalidate` will schedule
an async `PaintTask`, when the `PaintTask` runs, it'll request
the next `Tick` to paint which is also async.
It starts to cause some tests to fail because of the timing. This
patch just improves the overall usage to be less async.
Differential Revision: https://phabricator.services.mozilla.com/D93855
For Big Sur toolbar search fields, don't return YES from _isToolbarMode(). And adjust the search field border for better spacing after the search icon.
Differential Revision: https://phabricator.services.mozilla.com/D93705
Draw toolbar button segment backgrounds manually on Big Sur to workaround a problem where they are filled with the toolbar gradient.
Differential Revision: https://phabricator.services.mozilla.com/D93578
If *all* test paths don't resolve to any tests and we're running in CI, exit without
causing the task to fail. This situation can happen due to moz.build traversal that
causes manifests to not exist under certain configurations.
Ideally I'd love if we could prevent those cases from happening in the first place (i.e
generate the 'all-tests.pkl' file via a file-system traversal and then rely on skip-if's
to not run things), but until then this fixes a fairly frequent intermittent.
Differential Revision: https://phabricator.services.mozilla.com/D93684
It seems that, starting with Big Sur, CTFontDescriptorCreateCopyWithAttributes
(and similar functions) no longer accepts axis names as the attribute dictionary
keys. Instead, the dictionary keys need to be CFNumbers of the axis tag.
Differential Revision: https://phabricator.services.mozilla.com/D93872
It seems that, starting with Big Sur, CTFontDescriptorCreateCopyWithAttributes
(and similar functions) no longer accepts axis names as the attribute dictionary
keys. Instead, the dictionary keys need to be CFNumbers of the axis tag.
Differential Revision: https://phabricator.services.mozilla.com/D93872
Otherwise on Windows, we have a ColorID::Scrollbar but not any of the other scrollbar part
colors, and the Windows-provided value for Scrollbar doesn't work well
with the default values for the other scrollbar parts that come from the
non-native theme.
Differential Revision: https://phabricator.services.mozilla.com/D93728
This removes the CoreUI draw calls for scrollbars.
We already have code to manually draw scrollbars, which is used to support the
scrollbar-color CSS property. But this code was only used for non-overlay
scrollbars in the past, because scrollbar-color only affects non-overlay scrollbars.
This patch adjusts that custom drawing code to work for overlay scrollbars as well.
It computes the correct sizes, positions, and colors, to match native scrollbars.
The scrollbar track drawing code is changed from "background fill with strokes on
top" to "multiple adjacent non-overlapping filled rectangle segments" so that it
works better with translucent track colors.
Differential Revision: https://phabricator.services.mozilla.com/D93715
My patch for bug 1665195 included a REBOOTOK flag because I wanted to make
sure the UpdateLogs directory would get deleted even if doing so failed at the
moment. What I didn't realize is that the RmDir instruction will set the reboot
flag if removing the directory fails for any reason whatsoever, even if it's
just because the directory wasn't empty, in which case rebooting wouldn't help.
For some reason I thought there was a check for that condition, but having now
had a look in the NSIS source, there is not.
There's no easy way to check for ourselves whether the directory is empty or
not, so to avoid a spurious reboot prompt from either the installer or the
uninstaller, this patch just gives up on the REBOOTOK flag.
Differential Revision: https://phabricator.services.mozilla.com/D93860
Everything related to Base Profiler legacy markers can now be removed, only the new API from BaseProfilerMarkers.h should now be used.
Depends on D93737
Differential Revision: https://phabricator.services.mozilla.com/D93738
TextMarkerPayload is the only legacy marker type that is still used in the Base Profiler. We're converting it to the new BASE_PROFILER_MARKER_TEXT.
Depends on D93736
Differential Revision: https://phabricator.services.mozilla.com/D93737
Since the main thread is almost always being profiled, this makes it easy to direct important markers there (e.g., FileIO markers from unregistered threads).
Tech note: The `#include "BaseProfiler.h"` line was moved to BaseProfilerMarkersPrerequesites.h so that `MarkerThreadId::MainThread()` there can access `profiler_main_thread_id()`.
Depends on D93735
Differential Revision: https://phabricator.services.mozilla.com/D93736
These functions will be useful to get the main thread id, or check if we're in it, in some public code (e.g., markers).
Differential Revision: https://phabricator.services.mozilla.com/D93735
2020-10-16 J.C. Jones <jjones@mozilla.com>
* lib/nss/nss.h, lib/softoken/softkver.h, lib/util/nssutil.h:
Set version numbers to 3.58 final
[1f3db03bba02] [NSS_3_58_RTM] <NSS_3_58_BRANCH>
2020-10-12 J.C. Jones <jjones@mozilla.com>
* .hgtags:
Added tag NSS_3_58_BETA1 for changeset 57bbefa79323
[a8deadf7adbe]
Differential Revision: https://phabricator.services.mozilla.com/D93813
We have reports of VPx WMF failures in the wild causing performance issues, but
it can be hard to detect these failures. Having explicit markers in the profiler
with more information will make it easier to see if users are running into these
issues if they can provide profiles. I've also added logs to enrich cases where
we will use logging to debug.
Driveby fix a comment that says we're asserting when we no longer are.
Differential Revision: https://phabricator.services.mozilla.com/D93672
Updated tests to wait a moment for the update badge. The badge is added on a timeout, so it may not be there when we first look.
Some tests actually already use this mechanism:
browser_doorhanger_bc_downloadOptIn_bgWin.js
browser_doorhanger_bc_downloadAutoFailures_bgWin.js
I'm not sure why it wasn't used consistently, but it seems to fix the intermittent failures with browser_aboutDialog_fc_downloadAuto.js to add the mechanism.
Differential Revision: https://phabricator.services.mozilla.com/D93837
Aside from its use in AddProfilerMarker(), after initialization mPeerPid
is only used on the IO thread, so the write to it does not hold the monitor.
This means that the read in AddProfilerMarker() can cause a race, even
though we hold the monitor. This method is only called when we hold
the monitor and everything is set up, so I think we can just use
mListener->OtherPid() to get the PID.
Differential Revision: https://phabricator.services.mozilla.com/D93810