`DeleteSelection*()` are members of `TextEditor`, but they are also used by
`HTMLEditor`. Therefore, they and pref cache members for them should be
in `EditorBase` too.
Depends on D71911
Differential Revision: https://phabricator.services.mozilla.com/D72290
Currently, all input (including user pastes) to an input field is truncated to
`maxlength`. This diff disables truncation for user pastes.
When (1) `GetEditAction` is `ePaste`, `ePasteAsQuotation`, `eDrop`, or
`eReplaceText` (ie we are dealing with a paste) and (2) `GetEditActionPrincipal`
is `nullptr` (ie we are dealing with a user edit and not a JS edit), allow a
paste without truncation. That means that, in this case, we will return
`EditActionIgnored` instead of trying to truncate the string.
This behavior is controlled by a new preference `editor.truncate_user_pastes`
which is `false` by default (set in `StaticPrefList.yaml`).
We also modify `editor/libeditor/tests/test_bug603556.html` which currently
expects the output of a paste longer than maxlength to be truncated.
Testing: Created
`editor/libeditor/tests/test_pasting_text_longer_than_maxlength.html` which
checks if a user can paste a password longer than `maxlength` and if the field
is then marked as `tooLong` (this was the original concern of the reporter of
Bug 1320229), and
`editor/libeditor/tests/test_setting_value_longer_than_maxlength_with_setUserInput.html`
which checks if `eReplaceText` has consistent behavior regardless of whether the
field has an associated editor (this test works by calling `setUserInput()`
before and after the element gets focus.) `./mach test editor/libeditor` tests
pass.
Differential Revision: https://phabricator.services.mozilla.com/D71689
CLOSED TREE
Backed out changeset 939611f65438 (bug 1630655)
Backed out changeset 2e05e81cc858 (bug 1630655)
Backed out changeset bfb074351550 (bug 1630655)
I'm not positive that the intended behavior of PreferencesWriter::Flush
is to ensure that any pending writes to the preferences file are
completed, but that seems like what it ought to be for, and it does
not look water-tight. For one, adding a sync runnable to a thread pool
will not ensure that any previously submitted runnables have completed
by the time it returns. And two, the exchange on sPendingWriteData only
guarantees that the write has started.
This change simply ensures that the write to disk has been completed
before returning.
Differential Revision: https://phabricator.services.mozilla.com/D72016
The preprocessor does not handle "# ifdef" like the C preprocessor,
and I failed to test this appropriately after restructuring the
#if... clauses. This also reverts fastShutdownStage back to 1, so
we can be confident in the data we collect.
Differential Revision: https://phabricator.services.mozilla.com/D71190
On older machines it creates a blank window and we only need the pref to direct manipulation (which hasn't landed yet and will be preffed off by default when it lands).
Differential Revision: https://phabricator.services.mozilla.com/D72283
On older machines it creates a blank window and we only need the pref to direct manipulation (which hasn't landed yet and will be preffed off by default when it lands).
Differential Revision: https://phabricator.services.mozilla.com/D72283
There are a bunch of missing tests, and there are some tests that don't
match the current spec text, that I need to write or fix before I enable the
feature everywhere.
But there are fairly complex invalidation tests, that we pass flawlessly :)
Differential Revision: https://phabricator.services.mozilla.com/D71424
The code assumed that nsJARChannel::RetargetDeliveryTo would have been called synchronously from nsJARChannel::OnStartRequest, which would be true if we weren't using a DocumentChannel.
The DocumentLoadListener queue the calls to OnStartRequest until the final redirect.
nsJARChannel::RetargetDelivery mRequest member is be set to forward the call.
So we need to only reset it once OnStopRequest has been received.
Differential Revision: https://phabricator.services.mozilla.com/D70007
This patch removes the allowLinkedWebInFileUriProcess pref, but one
code-path is kept because when DocumentChannel is disabled a HTTP POST load
from a file:// page would loose the postData, so that case keeps the FILE
remote type.
Differential Revision: https://phabricator.services.mozilla.com/D69923
This patch enables TLS 1.3 Delegated Credentials by default in Nightly, and hides the `security.tls.enable_delegated_credentials` pref in ESR.
Differential Revision: https://phabricator.services.mozilla.com/D71808
There are a bunch of missing tests, and there are some tests that don't
match the current spec text, that I need to write or fix before I enable the
feature everywhere.
But there are fairly complex invalidation tests, that we pass flawlessly :)
Differential Revision: https://phabricator.services.mozilla.com/D71424
The code assumed that nsJARChannel::RetargetDeliveryTo would have been called synchronously from nsJARChannel::OnStartRequest, which would be true if we weren't using a DocumentChannel.
The DocumentLoadListener queue the calls to OnStartRequest until the final redirect.
nsJARChannel::RetargetDelivery mRequest member is be set to forward the call.
So we need to only reset it once OnStopRequest has been received.
Differential Revision: https://phabricator.services.mozilla.com/D70007
The code assumed that nsJARChannel::RetargetDeliveryTo would have been called synchronously from nsJARChannel::OnStartRequest, which would be true if we weren't using a DocumentChannel.
The DocumentLoadListener queue the calls to OnStartRequest until the final redirect.
nsJARChannel::RetargetDelivery mRequest member is be set to forward the call.
So we need to only reset it once OnStopRequest has been received.
Differential Revision: https://phabricator.services.mozilla.com/D70007
`window.content` is currently disabled only in Nightly by C preprecessor, and this patch replaces it with a new flag to allow users to manipulate.
Differential Revision: https://phabricator.services.mozilla.com/D71775
Add a gecko pref "gfx.webrender.use-optimized-shaders". If enabled,
then when attempting to compile a webrender shader first look for the
optimized source. If the optimized source is not present, emit a
warning and fall back to the unoptimized source.
Use the optimized source by default in wrench, and add the flag
"--use-unoptimized-shaders" to override this.
Differential Revision: https://phabricator.services.mozilla.com/D70033
One of the values needed for the update URL is the update channel, which can be read from the app.update.channel pref out of the channel-prefs.js file. These small changes are needed to be able to read the prefs with the prefs_parser crate.
Differential Revision: https://phabricator.services.mozilla.com/D69061
A while back we added a heuristic to delay a GC if it would cause a reset (bug 1367455), but it was turned off after it caused a performance regression and hasn't been reenabled since.
Telemetry shows that that only 0.2% of GCs get reset anyway so we should probably just remove this.
Depends on D71328
Differential Revision: https://phabricator.services.mozilla.com/D71329
This implements the easy / straight-forward parts of the :where / :is
selectors.
The biggest missing piece is to handle properly invalidation when there
are combinators present inside the :where. That's the hard part of this,
actually.
But this is probably worth landing in the interim. This fixes some of
the visitors that were easy to fix.
Differential Revision: https://phabricator.services.mozilla.com/D70788
This makes EXIF orientation metadata honored by default.
Introduce OrientedPixel and UnorientedPixel typed rects and sizes and
use them throughout RasterImage so that we don't confuse which we want.
The reason for doing this rather than having the imgLoader wrap every
RasterImage it creates with an OrientedImage is that returning the
wrapper messes with various notifications, as OrientedImage is not an
ImageResource.
(It would be even better if the JPEG decoder could decode to imgFrames
handling the EXIF orientation itself, but that's a more complicated
change.)
Differential Revision: https://phabricator.services.mozilla.com/D70273
The preprocessor does not handle "# ifdef" like the C preprocessor,
and I failed to test this appropriately after restructuring the
#if... clauses. This also reverts fastShutdownStage back to 1, so
we can be confident in the data we collect.
Differential Revision: https://phabricator.services.mozilla.com/D71190
We will ship all of the EXIF orientation related changes together in
this release.
Differential Revision: https://phabricator.services.mozilla.com/D70982
--HG--
extra : moz-landing-system : lando
This makes EXIF orientation metadata honored by default.
Introduce OrientedPixel and UnorientedPixel typed rects and sizes and
use them throughout RasterImage so that we don't confuse which we want.
The reason for doing this rather than having the imgLoader wrap every
RasterImage it creates with an OrientedImage is that returning the
wrapper messes with various notifications, as OrientedImage is not an
ImageResource.
(It would be even better if the JPEG decoder could decode to imgFrames
handling the EXIF orientation itself, but that's a more complicated
change.)
Differential Revision: https://phabricator.services.mozilla.com/D70273
--HG--
extra : moz-landing-system : lando
The code assumed that nsJARChannel::RetargetDeliveryTo would have been called synchronously from nsJARChannel::OnStartRequest, which would be true if we weren't using a DocumentChannel.
The DocumentLoadListener queue the calls to OnStartRequest until the final redirect.
nsJARChannel::RetargetDelivery mRequest member is be set to forward the call.
So we need to only reset it once OnStopRequest has been received.
Differential Revision: https://phabricator.services.mozilla.com/D70007
--HG--
extra : moz-landing-system : lando
The code assumed that nsJARChannel::RetargetDeliveryTo would have been called synchronously from nsJARChannel::OnStartRequest, which would be true if we weren't using a DocumentChannel.
The DocumentLoadListener queue the calls to OnStartRequest until the final redirect.
nsJARChannel::RetargetDelivery mRequest member is be set to forward the call.
So we need to only reset it once OnStopRequest has been received.
Differential Revision: https://phabricator.services.mozilla.com/D70007
--HG--
extra : moz-landing-system : lando
WebRender could be used when WebRender does not use ANGLE. And there is a case that we want to use WebRender with ANGLE for testing.
Differential Revision: https://phabricator.services.mozilla.com/D69771
--HG--
extra : moz-landing-system : lando
Please double check that I am using this correctly. I believe we are
seeing the crash in the linked bug because we are not handling hardware
faults when reading from the memory mapped file. This patch just wraps
all accesses in the MMAP_FAULT_HANDLER_ macros.
Depends on D53042
Differential Revision: https://phabricator.services.mozilla.com/D53043
--HG--
rename : modules/libjar/MmapFaultHandler.cpp => mozglue/misc/MmapFaultHandler.cpp
rename : modules/libjar/MmapFaultHandler.h => mozglue/misc/MmapFaultHandler.h
extra : moz-landing-system : lando
The high-pass filter helps fixing the DC bias on input, which is critical for
the AEC to work well.
It's not controllable by authors, enabled if any of AEC, AGC or Noise
suppression is activated, disabled otherwise, and therefore not taken into
account when activating the pass-through mode.
`media.getusermedia.hpf_enabled` allows controlling it's activation. This
defaults to `true`.
Differential Revision: https://phabricator.services.mozilla.com/D70393
--HG--
extra : moz-landing-system : lando
MOZ_ALWAYS_TRUE() evaluates its expression in both debug and release builds. This bug will change MOZ_ALWAYS_TRUE() to use MOZ_DIAGNOSTIC_ASSERT() instead of MOZ_ASSERT(). MOZ_ALWAYS_TRUE(NS_SUCCEEDED(rv)) would then fail in Nightly release builds (reintroducing InitStaticPrefsFromShared crash bug 1573731) if not for this changeset.
Differential Revision: https://phabricator.services.mozilla.com/D67679
--HG--
extra : moz-landing-system : lando
As a side effect, this removes the need for bug 1537634.
Differential Revision: https://phabricator.services.mozilla.com/D69678
--HG--
rename : toolkit/components/passwordmgr/test/browser/browser_passwordmgr_switchtab.js => toolkit/components/passwordmgr/test/browser/browser_basicAuth_switchTab.js
extra : moz-landing-system : lando
Disables FTP protocol handler on nightly. FTP scheme is handled by external protocol handler if it isn't explicitly disabled with preference network.protocol-handler.external.ftp = false.
Differential Revision: https://phabricator.services.mozilla.com/D68974
--HG--
extra : moz-landing-system : lando
MOZ_ALWAYS_TRUE() evaluates its expression in both debug and release builds. This bug will change MOZ_ALWAYS_TRUE() to use MOZ_DIAGNOSTIC_ASSERT() instead of MOZ_ASSERT(). MOZ_ALWAYS_TRUE(NS_SUCCEEDED(rv)) would then fail in Nightly release builds (reintroducing InitStaticPrefsFromShared crash bug 1573731) if not for this changeset.
Differential Revision: https://phabricator.services.mozilla.com/D67679
--HG--
extra : moz-landing-system : lando
Converts `ui.key.menuAccessKeyFocuses` to a static pref and removes `nsMenuBarListener::InitializeStatics()`. This pref sets to `true` in windows and linux, which may affect behavior in SeaMonkey and Thunderbird.
Differential Revision: https://phabricator.services.mozilla.com/D69617
--HG--
extra : moz-landing-system : lando
Converts layout.framevisibility.numscrollportwidths and layout.framevisibility.numscrollportheights to static prefs.
Differential Revision: https://phabricator.services.mozilla.com/D69615
--HG--
extra : moz-landing-system : lando
Converts `layout.testing.overlay-scrollbars.always-visible` to a static pref.
Differential Revision: https://phabricator.services.mozilla.com/D69611
--HG--
extra : moz-landing-system : lando
Converts `dom.disable_beforeunload` and `dom.require_user_interaction_for_beforeunload` to static pref.
Differential Revision: https://phabricator.services.mozilla.com/D69600
--HG--
extra : moz-landing-system : lando
This patch also tries to remove the event target entirely if it would
default to the main thread on a null event target.
Depends on D67634
Differential Revision: https://phabricator.services.mozilla.com/D67635
--HG--
extra : moz-landing-system : lando
To be able to remove SystemGroup, NS_ReleaseOnMainThreadSystemGroup
needs to have its dependency on SystemGroup removed. Since all
releases using SystemGroup would've released on the main thread anyway
we can safely replace NS_ReleaseOnMainThreadSystemGroup with
NS_ReleaseOnMainThread.
Depends on D64390
Differential Revision: https://phabricator.services.mozilla.com/D67631
--HG--
extra : moz-landing-system : lando
Mostly a matter of:
rg -l '\->LoadingPrincipal' | xargs sed -i 's/->LoadingPrincipal/->GetLoadingPrincipal/g'
And then clang-format. But I tweaked manually nsHttpChannelAuthProvider (move
the variable where it's used, don't take a useless strong ref),
AddonContentPolicy (move the declaration of the variable to the if condition),
and BackgroundUtils (same).
Differential Revision: https://phabricator.services.mozilla.com/D69828
--HG--
extra : moz-landing-system : lando
Mostly a matter of:
rg -l '\->LoadingPrincipal' | xargs sed -i 's/->LoadingPrincipal/->GetLoadingPrincipal/g'
And then clang-format. But I tweaked manually nsHttpChannelAuthProvider (move
the variable where it's used, don't take a useless strong ref),
AddonContentPolicy (move the declaration of the variable to the if condition),
and BackgroundUtils (same).
Differential Revision: https://phabricator.services.mozilla.com/D69828
--HG--
extra : moz-landing-system : lando
allowLinkedWebInFileUriProcess was supposed to work when document channel is
disabled, but it looks like I broke it in Bug 1597154. Rather than fix it,
let's disable it because it's deprecated anyway.
Differential Revision: https://phabricator.services.mozilla.com/D69763
--HG--
extra : moz-landing-system : lando
Changing this pref can cause serious breakage with fission, as multiple URLs
from the same origin will not be sent to the same process. By locking the pref,
we'll prevent people from accidentally breaking their experience.
Differential Revision: https://phabricator.services.mozilla.com/D68894
--HG--
extra : moz-landing-system : lando
This change includes support to negotiate the transport-wide-cc RTP extension
needed to enable sender side bandwidth estimation in WebRTC. When this
extension is supported in both sides during the Offer/Answer negotiation the
transport_cc mode is enabled in the WebRTC engine so that this mode is used
instead of the legacy receiver-side (REMB based) mechanism.
The change is inspired on this fork by medooze team:
https://github.com/medooze/gecko-dev/pull/2/files
Co-authored-by: ggarber <gustavogb@gmail.com>
Differential Revision: https://phabricator.services.mozilla.com/D68734
--HG--
extra : moz-landing-system : lando
Changing this pref can cause serious breakage with fission, as multiple URLs
from the same origin will not be sent to the same process. By locking the pref,
we'll prevent people from accidentally breaking their experience.
Differential Revision: https://phabricator.services.mozilla.com/D68894
--HG--
extra : moz-landing-system : lando
Please double check that I am using this correctly. I believe we are
seeing the crash in the linked bug because we are not handling hardware
faults when reading from the memory mapped file. This patch just wraps
all accesses in the MMAP_FAULT_HANDLER_ macros.
Depends on D53042
Differential Revision: https://phabricator.services.mozilla.com/D53043
--HG--
rename : modules/libjar/MmapFaultHandler.cpp => mozglue/misc/MmapFaultHandler.cpp
rename : modules/libjar/MmapFaultHandler.h => mozglue/misc/MmapFaultHandler.h
extra : moz-landing-system : lando
Pages apparently do this to try to open to native apps, and that on Firefox
causes an error page to be shown if the app is not installed, which is pretty
bad.
Differential Revision: https://phabricator.services.mozilla.com/D68471
--HG--
extra : moz-landing-system : lando
Receive buffer size is increased to 1MB to avoid packet loss in case of high incoming traffic.
Differential Revision: https://phabricator.services.mozilla.com/D68453
--HG--
extra : moz-landing-system : lando
Pages apparently do this to try to open to native apps, and that on Firefox
causes an error page to be shown if the app is not installed, which is pretty
bad.
Differential Revision: https://phabricator.services.mozilla.com/D68471
--HG--
extra : moz-landing-system : lando
This patch makes it so that the profiler shortcuts work based on the location of
the profiler menu button. It changes it so that if the menu button is in the navbar
or other menus, the shortcuts will work. Otherwise, the shortcuts will be a no-op.
This removes the Tools -> Web Developer - Enable Profiler Menu Button option. By
default on Nightly and Dev Edition the profiler menu button will be available.
On other channels, users must visit profiler.firefox.com.
Differential Revision: https://phabricator.services.mozilla.com/D66785
--HG--
extra : moz-landing-system : lando
The high-contrast light GTK theme has some known issues. The dark theme works
much better, but we have multiple complaints about high contrast users, some of
which don't know about the "override document colors" setting.
Disable it for now so as to go to the previous state for the time being.
Mac/Android don't have a high-contrast theme either (or we don't hook into it),
so 1 seems like a better / less confusing default.
Differential Revision: https://phabricator.services.mozilla.com/D68066
--HG--
extra : moz-landing-system : lando
This patch makes it so that the profiler shortcuts work based on the location of
the profiler menu button. It changes it so that if the menu button is in the navbar
or other menus, the shortcuts will work. Otherwise, the shortcuts will be a no-op.
This removes the Tools -> Web Developer - Enable Profiler Menu Button option. By
default on Nightly and Dev Edition the profiler menu button will be available.
On other channels, users must visit profiler.firefox.com.
Differential Revision: https://phabricator.services.mozilla.com/D66785
--HG--
extra : moz-landing-system : lando
Converts `security.mixed_content.block_object_subrequest`, `security.mixed_content.block_display_content`, `security.mixed_content.upgrade_display_content`, and `security.mixed_content.block_active_content` to static prefs.
Differential Revision: https://phabricator.services.mozilla.com/D67205
--HG--
extra : moz-landing-system : lando
Converts dom.w3c_pointer_events.implicit_capture to a static pref, removes the initializer in PointerEventHandler.
Differential Revision: https://phabricator.services.mozilla.com/D67204
--HG--
extra : moz-landing-system : lando
Converts `intl.ime.hack.on_ime_unaware_apps.fire_key_events_for_composition` to a static pref.
Differential Revision: https://phabricator.services.mozilla.com/D67203
--HG--
extra : moz-landing-system : lando
Converts dom.datatransfer.mozAtAPIs to a static pref and adds the `do_not_use_directly` field, since the pref is used in combination with an additional check in `DataTransfer::MozAtAPIsEnabled`.
Differential Revision: https://phabricator.services.mozilla.com/D67202
--HG--
extra : moz-landing-system : lando
Converts dom.events.testing.asyncClipboard to a static pref. In its original usage, it called a getter that also added information to the log. This uses the do_not_use_directly field to indicate that the getter should still be used for logging.
Differential Revision: https://phabricator.services.mozilla.com/D67186
--HG--
extra : moz-landing-system : lando
Converts security.data_uri.unique_opaque_origin to a static pref. This pref was initialized by the ClientManager in ClientPrefs, so this commit also removes those files. Somehow this pref was getting added in VarCache twice, so it also removes the places where the pref was added in Networking.
Differential Revision: https://phabricator.services.mozilla.com/D67185
--HG--
extra : moz-landing-system : lando
Converts dom.use_components_shim to a static pref and removes its `all.js` entry.
Differential Revision: https://phabricator.services.mozilla.com/D67184
--HG--
extra : moz-landing-system : lando
Converts dom.vibrator.enabled, dom.vibrator.max_vibrate_ms, and dom.vibrator.max_vibrate_list_len to static prefs. Removes their init function.
Differential Revision: https://phabricator.services.mozilla.com/D67183
--HG--
extra : moz-landing-system : lando
Converts dom.animations.offscreen-throttling to a static pref and removes the static function used to create the varcache pref.
Differential Revision: https://phabricator.services.mozilla.com/D67182
--HG--
extra : moz-landing-system : lando