Adds disabledForTesting checks to the about dialog app update code
Makes a copy of update.sjs for browser-chrome tests so the changes don't break chrome tests
Prepares for the removal of the chrome tests and the old app update UI
Adds 14 tests for app update in the about dialog
--HG--
rename : toolkit/mozapps/update/tests/data/update.sjs => toolkit/mozapps/update/tests/browser/app_update.sjs
rename : toolkit/mozapps/update/tests/data/update.sjs => toolkit/mozapps/update/tests/chrome/update.sjs
sizetopopup is set to "pref" by default by the menulist XBL binding, however
when converting the binding to custom element, it did not set the attribute value
at a time that is early enough.
This patch updates nsMenuPopupFrame and nsMenuFrame so that it considers
<menulist> with unset sizetopopup attribute as equal to "pref" to avoid
the problem above.
This reftest
layout/reftests/xul/menulist-shrinkwrap-2.xul
can detect this failure.
The sizetopopup attribute is never meant to be set dynamically;
the fix here does not allow us to do so.
Differential Revision: https://phabricator.services.mozilla.com/D16410
--HG--
extra : moz-landing-system : lando
Under WOW64, the SysWOW64 directory is the effective system directory. A flag
has been added (ModuleTrustFlags::SysWOW64Directory) representing this
directory, and we now grant this the same trustworthiness as
ModuleTrustFlags::SystemDirectory.
Depends on D16013
Differential Revision: https://phabricator.services.mozilla.com/D16160
--HG--
extra : moz-landing-system : lando
This patch:
- Adds two new fields to the untrusted modules ping
- Updates documentation for the untrusted modules ping:
- Documents these 2 new fields
- Documents the new XUL ModuleTrustFlags bitfield value
- Adds a "version history" section
- Corrects documentation for ModuleTrustFlags (JIT, keyboard layouts)
Differential Revision: https://phabricator.services.mozilla.com/D16013
--HG--
extra : moz-landing-system : lando
In order to help unify DLL timings across machines with different performance
characteristics, this change collects the load duration of xul.dll.
Because xul.dll is always loaded, it can serve as a control value for DLL load
times.
Differential Revision: https://phabricator.services.mozilla.com/D16012
--HG--
extra : moz-landing-system : lando
This patch measures the duration of module loads and passes it up to
UntrustedModulesManager where, in later patches, it will be consumed by
telemetry.
Differential Revision: https://phabricator.services.mozilla.com/D16011
--HG--
extra : moz-landing-system : lando
Rust ships with some natvis files that enable nicer display of Rust standard
library types in Microsoft's debuggers. rustc will add the right linker
options to include them when it invokes the linker but since we don't link
libxul with rustc we need to explicitly pass them to the linker ourselves.
This change locates all natvis files in the Rust sysroot and adds them
to the libxul link line.
Differential Revision: https://phabricator.services.mozilla.com/D16544
--HG--
extra : moz-landing-system : lando
The fixes in bug 1503760 inadvertently broke searches of downloads that
have not yet started receiving data (which have a value of -1 for the
totalBytes property). That regression is fixed here.
Differential Revision: https://phabricator.services.mozilla.com/D16889
--HG--
extra : moz-landing-system : lando
We need a test-only IPC message to socket process to trigger the Telemetry::Scalar set since no js engine in the socket process.
And hook the IPC call to AddPendingEvent |CallOrWaitSocketProcess| introduced by bug 1496257.
Differential Revision: https://phabricator.services.mozilla.com/D14822
--HG--
extra : moz-landing-system : lando
Currently there are two conditions where CONTENT_FRAME_TIME_REASON can
be NoVsync. Since, were getting an appreciable amount of these with
WebRender it makes sense to split out the telemetry so that we can
confirm which scenario we're hitting.
Differential Revision: https://phabricator.services.mozilla.com/D16611
--HG--
extra : moz-landing-system : lando
These tests make sure that passing alwaysOnTop as a window feature
results in a window with WS_EX_TOPMOST, and also ensures that web
content cannot request alwaysOnTop windows.
Differential Revision: https://phabricator.services.mozilla.com/D16570
--HG--
extra : moz-landing-system : lando
When an ActorChild is predefined to listen for DOM events and it
does not implement EventTarget.handleEvent(), a standard JS error is
thrown in toolkit/modules/ActorManagerChild.jsm that the handleEvent
property is missing.
If you have more than one ActorChild this error message is cryptic as
it does not refer to _which_ of the children that is missing handleEvent.
This patch introduces a type check for handleEvent that throws an
error (as before) when it is not implemented.
Differential Revision: https://phabricator.services.mozilla.com/D16578
--HG--
extra : moz-landing-system : lando
Add the fingerprinting and cryptomining tables to the SafeBrowsing
update list.
Leave the preference of blacklist/whitelist tables empty until the
shavar server is ready.
Differential Revision: https://phabricator.services.mozilla.com/D16533
--HG--
extra : moz-landing-system : lando
When we add a table to SafeBrowsing.jsm we need to add related code in
various places. This patch simplify the work by providing a FEATURE
table which defines the data required.
Differential Revision: https://phabricator.services.mozilla.com/D16532
--HG--
extra : moz-landing-system : lando
When the updater is disabled toolkit/mozapps/update/common is not traversed as
part of the build. But toolkit/mozapps/update/common/commonupdatedir.cpp is
included in the toolkit/xre build regardless and GetInstallHash is used. This
makes nsXREDirProvider.cpp able to find the header that defines it.
Differential Revision: https://phabricator.services.mozilla.com/D16582
--HG--
extra : moz-landing-system : lando
This is more consistent with other setters, and lets us handle the null frameLoader
case a bit more simply.
Differential Revision: https://phabricator.services.mozilla.com/D16370
--HG--
extra : moz-landing-system : lando
Alternatively, we could check for mInitialized in `AsyncTabSwitcher.logState` before accessing
the getter. But this matches an existing pattern for other browser getters that rely on the
frameLoader existing, and will support other callers that hit this case.
Differential Revision: https://phabricator.services.mozilla.com/D16368
--HG--
extra : moz-landing-system : lando
Currently, when operating with scalars, if a call to internal_GetScalarByEnum (or its keyed variant) return an error, then a warning will be logged. If one of the requested scalars is expired, this could lead to an unwated flood of logs. With this change, the return of the function is checked, and if it is NS_ERROR_NOT_AVAILABLE (i.e. expired scalar), then no warning is issued.
Differential Revision: https://phabricator.services.mozilla.com/D16392
--HG--
extra : moz-landing-system : lando
Because older versions of Firefox auto-select a profile if there is only one in
the database when running dev-edition which uses its own profile we create a
default for normal channels to use. Currently the browser code is responsible
for doing this but it uses a bad heuristic for deciding when to do that. It's
much easier to do it from the profile manager when the dev-edition profile is
created.
Differential Revision: https://phabricator.services.mozilla.com/D16117
--HG--
extra : moz-landing-system : lando
Currently nsAppRunner is responsible for choosing or creating a profile to use
at startup. It then has to create a reset profile if necessary and lock the
selected profile directories. But these latter things are done in different
places of the selection code and done in different ways, sometimes we delay
while trying to get the lock, sometimes we don't.
This patch moves the profile selection part of the code to its own function so
that then we only have to have one place that does the profile reset and
locking logic.
It makes a lot of sense to have the selection code live in the profile service.
It can use information from the database load to help make the choices and it
also means that we can expose the profile selection code through xpcom allowing
it to be easily automatically tested. It will also be more important for future
patches for the dedicated profiles feature.
Differential Revision: https://phabricator.services.mozilla.com/D16116
--HG--
extra : moz-landing-system : lando
1. This requires exposing radiogroup's focusedItem property to C++.
Unfortunately, there's no existing equivalent in nsIDOMXULSelectControlItemElement.
radiogroup is the only element that needs this, so a new interface has been created for it.
2. Accessibility uses focusedItem instead of selectedItem when setting focus.
3. When an item is focused, accessibility needs to be notified.
This is done using a DOMMenuItemActive event.
Differential Revision: https://phabricator.services.mozilla.com/D15295
--HG--
extra : moz-landing-system : lando
Because the .xdata format on ARM64 can only encode sizes up to 1M (much too small for our JIT code regions), we register a function table callback to provide RUNTIME_FUNCTIONs at runtime. Windows doesn't seem to care about the size fields on RUNTIME_FUNCTIONs that are created in this way, so the same RUNTIME_FUNCTION can work for any address in the region. We'll set up a generic one in RegisterExecutableMemory and the callback can just return a pointer to it.
Differential Revision: https://phabricator.services.mozilla.com/D16261
--HG--
extra : moz-landing-system : lando
This patch removes the StopWatch code that was used in the first version of
about:performance, and not being used anymore.
Differential Revision: https://phabricator.services.mozilla.com/D7453
--HG--
extra : moz-landing-system : lando
If the extension had either default_icon or one of it's property as an empty string, it would show a black icon in the toolbar. With this patch, it checks if any of default_icon property is empty and throws an error on extension load.
Differential Revision: https://phabricator.services.mozilla.com/D16070
--HG--
extra : moz-landing-system : lando
If an extension with the "mozillaAddons" permission is updated, the
permission diffing logic should support restricted schemes.
Otherwise the MatchPattern will throw and prevent the update from being
installed.
`Extension.comparePermissions` is called with the result of
`.userPermissions`, which in turn is equivalent to the result of the
`manifestPermissions` getter. This already filters out restricted
schemes if needed. Therefore we can unconditionally use
`restrictSchemes:false` in `comparePermissions`.
And update the regexp in formatPermissionStrings to support permissions
that start with "about:", since the "MatchPatternUnestricted" type in
toolkit/components/extensions/schemas/manifest.json supports this,
and the lack of "//" in about:-URLs prevents the scheme from being
matched by the existing pattern.
Depends on D14963
Differential Revision: https://phabricator.services.mozilla.com/D14964
--HG--
extra : moz-landing-system : lando
Permission warnings only include the host name (ignoring any scheme),
so the comparison of old and new permissions should ignore schemes too.
Any origin permission has to match the definition of "MatchPattern"
as defined in toolkit/components/schemas/manifest.json.
For normal (non-privileged extensions), this is either <all_urls>, or a
pattern consisting of the "http", "https", "ws", "wss", "file", "ftp"
schemes.
Depends on D5527
Depends on D5527
Differential Revision: https://phabricator.services.mozilla.com/D14963
--HG--
extra : moz-landing-system : lando
The "permissions" array of the raw manifest is not (and should not) be
used for permission checking, so it is not necessary to strip the
"mozillaAddons" permission from it.
This commit moves the validation of the "mozillaAddons" permission to
classifyPermission, so that the "manifestPermissions" getter (that uses
this method too) accurately reflects the supported permissions of an
extension.
New tests has been added to verify the permission warnings for some
combinations of permissions. This also includes tests that verify
that only privileged extensions can use "mozillaAddons" to unlock
unrestricted schemes.
Differential Revision: https://phabricator.services.mozilla.com/D5527
--HG--
extra : moz-landing-system : lando
This also moves the corresponding ASFLAGS from moz.build to python
configure.
Differential Revision: https://phabricator.services.mozilla.com/D16320
--HG--
extra : moz-landing-system : lando
With `ac_add_options --enable-project=tools/crashreporter` in a
mozconfig, `./mach build` builds minidump_stackwalk, dump_syms
and fileid.
One caveat is that due to limitation in how the build system works
currently, it's cumbersome to keep dump_syms as a host program for
Gecko, and to make it a target program for this project. For now,
keep it as a host program. We're not going to use it on automation,
but it's still convenient to have for quick local builds (I've had
to resort to awful hacks downstream).
Differential Revision: https://phabricator.services.mozilla.com/D16299
--HG--
extra : moz-landing-system : lando
MOZ_D3D_CPU_SUFFIX and MOZ_HAS_WINSDK_WITH_D3D are not used in the
build, and nothing includes d3d10.h except some angle code in a
preprocessed branch that is only taken for a macro we never define,
so we don't move the code corresponding to those. We also simplify the
detection code, which is convoluted now that it doesn't search for
multiple different DLLs.
Differential Revision: https://phabricator.services.mozilla.com/D16295
--HG--
extra : moz-landing-system : lando
For simplicity's sake, for now we keep storing only one scroll position per
history entry (bug 1499210), so if we have to choose between the layout and the
visual viewport, the latter is a vastly better choice, as it more accurately
represents the scroll position as perceived by the user, especially when the
page has been pinch-zoomed.
This also means that instead of the normal scroll events, the session store now
has to listen for the corresponding events specific to the visual viewport.
We also extend the scroll position test to check that the scroll position isn't
just properly saved, but also actually properly restored in practice as well.
We only add this test now instead of already adding it beforehand like we did
with the rest of the test
- to avoid having to temporarily extend the checkScroll() helper function to
deal with todo()/todo_is etc.
- because getting that part of the test to complete without timing out (which
would be one of its natural failure modes, because the expected events would
be missing) would require faking even more scroll events
- because we already have the todo() tests that are telling us the we didn't
*store* any scroll position in the first place, so there's no point in trying
to actually restore anything
For the GeckoView saveAndRestoreState test, we now spin the event loop once
before setting the scroll position in order to give APZ opportunity to settle
down after the initial page load.
Differential Revision: https://phabricator.services.mozilla.com/D15690
--HG--
extra : moz-landing-system : lando
Our internal Visual Viewport scroll events are dispatched system group-only, so
this is the only way to catch them.
Differential Revision: https://phabricator.services.mozilla.com/D15686
--HG--
extra : moz-landing-system : lando
These performance probes are important to monitor regressions to our current
painting code's performance. I'd like to make them never expire as we don't
forsee not wanting to know this information.
Differential Revision: https://phabricator.services.mozilla.com/D16239
--HG--
extra : rebase_source : 509c2dbf6961c2901c79d0ee7dc5455ccca0843d
extra : histedit_source : de4383b439d9c284de3b063cd8f0a4c25e3bebd1
Now, nobody requires nsIContentIterator interface. So, we can get rid of it.
Unfortunately, there is no macro to keep the inherited class,
ContentSubtreeIterator, in the cycle collection to make it keep managing
ContentSubtreeIterator::mRange without nsISupports interface. Therefore, this
patch moves it into ContentIteratorBase temporarily. Anyway, the following
patch makes those classes not refcountable. At that time, this issue will be
fixed.
Differential Revision: https://phabricator.services.mozilla.com/D15927
--HG--
extra : moz-landing-system : lando
In bug 1259382, some workarounds were added to make the build system
alter PATH and not use absolute paths for toolchain programs, because
autoconf and the build system doesn't deal with spaces in those very
well. But later in bug 1290040, we made find_program return Windows
short paths (without spaces), which alleviates the need for those
workarounds.
We still, however, and unfortunately, need to alter PATH to account for
the fact that MSVC DLLs are not necessarily alongside the compiler
executables...
Depends on D15181
Differential Revision: https://phabricator.services.mozilla.com/D15182
--HG--
extra : moz-landing-system : lando
The command-line parameter used by nsEmbedFunctions.cpp is turned into
an nsIFile, and then said nsIFile is never used. Its last use was
deleted in bug 1407693, where we reworked how extra annotations were
done.
When Firefox runs we cache a number of things, JS, XUL, XBL, CSS etc. Whenever
a new build of Firefox runs against a profile we clear the cache to rebuild with
the new information.
On the first run of a profile where compatibility.ini doesn't exist (presumably
to cover the case of upgrading from a very old versions of Firefox, but also
affects new profiles) we attempt to clear the cache as well.
If any attempt to clear the cache fails we set a flag in compatibility.ini
telling us to clear the cache on next startup.
Unfortunately nsIFile.remove returns different error codes on different
platforms when the file in question already doesn't exist. So an attempt to
remove a cache that does't exist is counted as a failure on Windows and so the
cache will be cleared again on second run.
This change counts the file not found return code as counting as a success when
clearing the cache.
Differential Revision: https://phabricator.services.mozilla.com/D16224
--HG--
extra : moz-landing-system : lando
Collapsing thumb causes frame of scrollbar to cache an incorrect pref
size, which makes it not able to appear in certain cases.
This patch changes it to use "visibility: hidden" instead so that the
thumb is hidden but still contributes to the width of scrollbar.
An alternative would be also change the code in nsScrollbarFrame to set
something other than collapsed attribute instead, but I'm not sure
whether doing that is any better than just adding a rule. We need the
rule anyway regardless of what we set on the element.
Differential Revision: https://phabricator.services.mozilla.com/D15244
--HG--
extra : moz-landing-system : lando
The `GEOLOCATION_REQUEST_GRANTED` probe was renewed in Bug #1494496 to support targeting for a survey project that I originally expected to launch in November. Thanks to the usual vagaries of IRBs, holidays, and other priorities, we haven't launched yet, and the probe expiry is configured to stop collecting in 65. To mitigate the risk of failing to deploy the survey before the targeting probe expires, I'd like to bump the probe expiration out another couple of releases and uplift to beta.
I think we're actually ready to launch now so I'm confident another 12 weeks will be more than enough time and we won't have to repeat this exercise again.
I expect the data review in Bug #1494496 provides coverage for this change.
Differential Revision: https://phabricator.services.mozilla.com/D16211
--HG--
extra : moz-landing-system : lando
In 1404608, the OS was revealed in both the HTTP User-Agent
header and to JavaScript code via navigator.userAgent. To avoid
leaking the OS inside each HTTP request (which many web servers
log), always use the Windows 7 OS value in the desktop User-Agent
header. We continue to allow access to the actual OS via JavaScript,
since doing so improves compatibility with web applications such
as GitHub and Google Docs.
This is an uplift of Tor's 26146
Maximum size of elements in metadata is 64kB, the rest (URL, hashes and few uint32_t members) should normally fit into 1kB, so I set new high value of NETWORK_CACHE_METADATA_SIZE_2 to 65kB. With 66 buckets each bucket should be exactly 1kB wide.
NETWORK_CACHE_METADATA_FIRST_READ_SIZE doesn't provide any useful information and this patch removes the probe.
This commit adds two new telemetry probes to collect:
1. The amount of scroll anchoring adjustments applied
2. The total absolute length in CSS pixels of scroll anchoring adjustments
Both of these metrics are collected on a per top-level-document basis, and
reported with other use-counters.
Differential Revision: https://phabricator.services.mozilla.com/D16271
--HG--
extra : source : 43081bb8f4eac598a3103753965d5b60dfd1c3fa
extra : amend_source : 3d53dc56616f9e48799b7d8b8c11e96007d3c6eb
extra : intermediate-source : 6da6a7ff2d794c25b61858d16fe97e5f309e0f1f
Adds disabledForTesting checks to the about dialog app update code
Makes a copy of update.sjs for browser-chrome tests so the changes don't break chrome tests
Prepares for the removal of the chrome tests and the old app update UI
Adds 14 tests for app update in the about dialog
--HG--
rename : toolkit/mozapps/update/tests/data/update.sjs => toolkit/mozapps/update/tests/browser/app_update.sjs
rename : toolkit/mozapps/update/tests/data/update.sjs => toolkit/mozapps/update/tests/chrome/update.sjs
The fixes in bug 1503760 inadvertently broke searches of downloads that
have not yet started receiving data (which have a value of -1 for the
totalBytes property). That regression is fixed here.
Differential Revision: https://phabricator.services.mozilla.com/D16889
--HG--
extra : rebase_source : d6abf7e5bdc2ae10e690df56c060b30166fc75f7
extra : amend_source : 6580b889860d4d28f216fd92522ecd539a8f7d1d
With all the previous efforts, the scrollbox binding now does nothing but to create an inner box element holding the scrolling content.
It turned out that inner box can be easily removed. The padding set by the document sheets can be moved to the srollbox element directly.
The only gotcha is XULScrollElement::ScrollByIndex() -- it can now reach the child item frames directly from the scrolled frame.
Depends on D15169
Differential Revision: https://phabricator.services.mozilla.com/D15170
--HG--
extra : moz-landing-system : lando
Add support for enumerations to boolean types, and use it to only show
a deprecation message when background.persistent is false.
Differential Revision: https://phabricator.services.mozilla.com/D15507
--HG--
extra : moz-landing-system : lando
In order to make the history easier to navigate, this changeset includes the
modifications required to make <xul:browser> actually work as a Custom Element,
and switches the app to use it instead of the XBL browser.
Differential Revision: https://phabricator.services.mozilla.com/D14911
--HG--
extra : moz-landing-system : lando
Adds some includes that are needed for functions used in nsUpdateDriver.cpp.
Differential Revision: https://phabricator.services.mozilla.com/D16063
--HG--
extra : moz-landing-system : lando
This introduces a DISABLE_USER_IMPERSONATION define when EARLY_BETA_OR_EARLIER is set, if that is present the maintenance service will not attempt to get an impersonation token for the user's updater process, and the updater will not attempt to use any token it is given. The bulk of the changes are restoring the old failure status codes and the tests that expect them, sorry for the noise that causes.
Differential Revision: https://phabricator.services.mozilla.com/D15781
--HG--
extra : moz-landing-system : lando
By refactoring this test code we can more easily adjust the number of fields
there are supposed to be in these objects.
--HG--
extra : source : 270b892f2c93aaed926c4ec70600f1c74b6325af
extra : histedit_source : 1e0d7ca3033dfb5aff8bd0e90b63d6ad23aea994
Do not try to process the end_timestamp propertly since slices have no such
property.
--HG--
extra : source : 8bdef341236aa171d3c1f74ec51fefad8ae0ba73
extra : histedit_source : fbe1d2db6291806e3c51e672b73a0ad681c89405
This adds a way to simulate failed network connections, allowing the addition of test coverage that would otherwise not be available. This is used in the Downloads tests to ensure that failures at the network level are handled correctly.
Differential Revision: https://phabricator.services.mozilla.com/D15522
--HG--
extra : rebase_source : 2597b27de5213b0322520cefafe10a197d0d3b83
Adds a promises.all return value to _saveUpdates so finalize will work properly with the profileBeforeChange blocker
Keeps the update xml saver deferred task through the lifetime of the application instead of nulling it out.
Changes the tracking of the update phase for write failure reporting to a global object
Adds new temporary download code for update file write failures to handle the case when the update phase isn't known
Only updates the patch's state and save the update in downloadUpdate when state has changed
Only updates the patch's finalURL and save the update in onStartRequest when finalURL has changed
Only save the update in onStopRequest when the update's attributes have changed
Stops current update checks (if any) during quit-application
Adds a skip-files to the UpdateManager's observe method for tests and updates the tests to use it. This helps to prevent file writes when a test ends.
Cleaned up the tests to accommodate the above
In bug 1514288 we started to save the output from running Firefox during
PGO builds into log files, but they aren't correctly uploaded if the run
fails. This presents a problem for categorizing failed PGO builds if the
profileserver returns an error code (eg: bug 1517939), since the error
messages could be hidden away in log files that aren't uploaded.
Instead, we can generate them directly into the artifacts directory so
that they are always uploaded. Additionally, the log files are displayed
if the run fails so that the error messages are displayed in the log for
easier bug categorization.
Differential Revision: https://phabricator.services.mozilla.com/D15881
--HG--
extra : moz-landing-system : lando
Check whether web audio starts when calling calling resume() or
AudioScheduledNode.start() after granting user activation.
Differential Revision: https://phabricator.services.mozilla.com/D14332
--HG--
extra : moz-landing-system : lando
These tests were added in bug 1493766 for testing caching temporary autoplay permission.
Differential Revision: https://phabricator.services.mozilla.com/D14326
--HG--
extra : moz-landing-system : lando
We're going to remove all autoplay temporary permission related codes, so we don't need to cache it anymore.
Differential Revision: https://phabricator.services.mozilla.com/D14325
--HG--
extra : moz-landing-system : lando
At some point we made L10NBASEDIR required. That means that
env L10NBASEDIR=... make chrome-AB_CD
takes the value set by configure. That is different than
make chrome-AB_CD L10NBASEDIR=...
which uses the value passed on the command line. Rather than making
the latter style work with `mach build`, we instead set the "correct"
value for L10NBASEDIR in automation.
We could remove the --with-l10n-base stanzas from many automation
mozconfigs, but there's some small advantage to keeping them explicit.
Perhaps eventually we will remove them -- hopefully after
standardizing l10n vs l10n-central!
Differential Revision: https://phabricator.services.mozilla.com/D15776
--HG--
extra : moz-landing-system : lando
The only implementation of nsIURI which has a GetHostPort() method which can
succeed is nsStandardURL, which implements nsIURL. Other implementations
either do not implement nsIURL (so in the old version, they would bail out
early) or they do, but their GetHostPort() method returns an error code
unconditionally (so in the old version, they would bail out later). Hence,
this patch doesn't change the semantics of the code.
Depends on D15545
Differential Revision: https://phabricator.services.mozilla.com/D15546
--HG--
extra : moz-landing-system : lando
This prepares this binding for the unification with the "popup" binding, and removes the last consumer of the scrollByIndex method of XULScrollElement.
Because some code paths in "arrowscrollbox" are optimized using requestAnimationFrame, the related scrolling tests are now asynchronous.
Differential Revision: https://phabricator.services.mozilla.com/D15276
--HG--
extra : rebase_source : f5d26df106785f2c0d158b8a23a648a71ab06b2d
This patch implements InputType.inputType which is declared by Input Events.
The attribute has already been implemented by Chrome and Safari. Chrome
implements Input Events Level 1, but Safari implements Input Events Level 2.
Difference between them is only whether it supports "insertFromComposition",
"deleteByComposition" and "deleteCompositionText". This patch makes the
level switchable with pref and takes Level 1 by default because Level 2 is
still unstable around event order with composition events.
For reducing string copy cost at dispatching "input" event, this patch
makes EditorInternalInputEvent store valid input-type as enum class,
EditorInputType and resolves it to string value when
dom::InputEvent::GetInputType() is called. Note that the reason why
this patch names the enum class as EditorInputType is, there is InputType
enum class already for avoiding conflict the name, this appends "Editor"
prefix because "input" and "beforeinput" events are fired only when an
editor has focus.
Differential Revision: https://phabricator.services.mozilla.com/D14128
--HG--
extra : moz-landing-system : lando
Changes enumerate so it doesn't generate a new QueryInterface method for every iteration and uses an nsISupportsInterfacePointer.
Separates the nsIUpdate and nsIUpdatePatch attributes from the nsIPropertyBag properties.
Cleans up the attributes of nsIUpdate and nsIUpdatePatch
Adds test for text nodes in the update xml and fixes the issue that caused bug 1517718 with the first landing
The XBL binding implementation relied on nsDateTimeControlFrame to call into
its nsIDateTimeInputArea implementation. This is correct because the XBL binding
is only constructed when the element has a frame. If the value is set while the
element is hidden, the XBL binding will pick up the correct value during construction.
That is not the case for UA Widget. As it is constructed when the DOM is attached,
relying on nsDateTimeControlFrame to send an event when attributes change means
the event won't be sent to the already constructed UA Widget.
This patch fixes that by moving the event dispatching calls originating from
HTMLInputElement out of nsDateTimeControlFrame, so they will behave correctly in
the absence of the frame.
I've also moved the gut of nsDateTimeControlFrame::HasBadInput() to
DateTimeInputTypeBase::HasBadInput(). Content script should be allowed to validate
the input without the frame.
Sadly this means the XBL implementation and the UA Widget implementation
have further diverged. The complexity should go away when we could finally
remove the XBL implementation.
nsDateTimeControlFrame still dispatches a few events to UA Widget, in
AttributeChanged() and SyncDisabledState(), as they are originated from the layout.
The name of the events in AttributeChanged() are incorrect though -- I am correcting
that in this patch too.
Differential Revision: https://phabricator.services.mozilla.com/D15601
--HG--
extra : moz-landing-system : lando
This converts the tabmodalprompt binding to a class, to be constructed along side with the element
by TabModalPromptBox.
TabModalPromptBox will keep the instances in a map and pass it to the callers, instead of the element.
The tests and callers can access the class instance by passing the element reference to the map.
Differential Revision: https://phabricator.services.mozilla.com/D15505
--HG--
rename : toolkit/components/prompts/content/tabprompts.xml => toolkit/components/prompts/content/tabprompts.jsm
extra : moz-landing-system : lando
This event is used for shield-study which has finished, so we could remove it.
Differential Revision: https://phabricator.services.mozilla.com/D14810
--HG--
extra : moz-landing-system : lando
Use more proper name for actor which will handle all autoplay related events.
Differential Revision: https://phabricator.services.mozilla.com/D14796
--HG--
rename : toolkit/actors/AudibleAutoplayChild.jsm => toolkit/actors/AutoplayChild.jsm
extra : moz-landing-system : lando
Let SessionStoreUtils be a WebIDL namespace, rather than a XPCOM service
Differential Revision: https://phabricator.services.mozilla.com/D9776
--HG--
rename : toolkit/components/sessionstore/nsISessionStoreUtils.idl => dom/chrome-webidl/SessionStoreUtils.webidl
rename : toolkit/components/sessionstore/nsSessionStoreUtils.cpp => toolkit/components/sessionstore/SessionStoreUtils.cpp
extra : moz-landing-system : lando
The output from running the browser during PGO builds can have innocuous
error messages in them, but show up in treeherder as potential messages
to include when filing bugs. We can just save the output from these runs
as files and upload them as artifacts instead, so they don't show up in
the build log but are available for inspection if necessary.
MozReview-Commit-ID: 3VdVCKVkZNI
Differential Revision: https://phabricator.services.mozilla.com/D15154
--HG--
extra : moz-landing-system : lando
Enough linux-based systems don't have libsecret that we can't make it a
requirement on linux. For those that do, however, we can dynamically load the
library at runtime. For those that don't, we can fall back to NSS.
Differential Revision: https://phabricator.services.mozilla.com/D9969
--HG--
extra : moz-landing-system : lando
This is a followup to bug 1515579. Interestingly, midl just tries "cl"
in the PATH, and we've been lucky that the one it finds corresponds to the
target compiler and/or that it doesn't matter what architecture the
compiler targets for idl preprocessing..
Differential Revision: https://phabricator.services.mozilla.com/D15268
--HG--
extra : moz-landing-system : lando
These tests have always been skipped silently. Now that https tests are
enabled to actually run, we find that some (all?) actually fail on Android:
now explicitly skipped to allow for green runs of tier 1 suites.
Make the WindowProxyHolder hold a strong reference to a BrowsingContext, as in the future
we might not have a nsPIDOMWindowOuter (if the document is loaded in a different process).
Differential Revision: https://phabricator.services.mozilla.com/D12651
--HG--
extra : moz-landing-system : lando
Add a WindowProxyHolder type and generate binding code that takes or returns it whenever
the WebIDL refers to the WindowProxy type. This patch just makes the WindowProxyHolder
hold a strong reference to a nsPIDOMWindowOuter.
Differential Revision: https://phabricator.services.mozilla.com/D12650
--HG--
extra : moz-landing-system : lando
Fixed the enumerator implementation to return nsIProperty. The original enumerator implementation was never correct and the changes in bug 1486249 broke it entirely.
Added tests for nsIUpdate enumerator and nsIUpdatePatch enumerator.
Changed checkWhatsNewLink to take a window param so the currently focused window is checked.
Changed PREF_APP_UPDATE_DOWNLOADPROMPTMAXATTEMPTS to PREF_APP_UPDATE_DOWNLOADPROMPT_MAXATTEMPTS so it is properly named.
This is a big step in order to merge both.
Also allows to remove some very silly casts, though it causes us to add some
ToSupports around to deal with ambiguity of casts from nsIDocument to
nsISupports, and add a dummy nsISupports implementation that will go away later
in the series.
Differential Revision: https://phabricator.services.mozilla.com/D15352
This reverts the change implemented in bug 490178 in preparation for removing the inner scrollbox of the "richlistbox" binding.
--HG--
rename : toolkit/content/tests/chrome/test_richlist_direction.xul => toolkit/content/tests/chrome/test_richlistbox.xul
extra : rebase_source : 2a769cb8e47432574c47ba6565467c33ad3831bc