Commit Graph

672099 Commits

Author SHA1 Message Date
Robert Helmer
10013d31ee Bug 1582608 - add elapsed time to FirstStartup telemetry and bump timeout to 30s r=mythmon
Differential Revision: https://phabricator.services.mozilla.com/D46556

--HG--
extra : moz-landing-system : lando
2019-09-20 17:35:44 +00:00
Ehsan Akhgari
4382a07f0c Bug 833723 - Make test_bug455311.js pass locally on Linux by resolving symlinks; r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D46816

--HG--
extra : moz-landing-system : lando
2019-09-23 20:48:20 +00:00
Sam Foster
aeaad15069 Bug 1582780 - Dont modify a empty-username login onGeneratedPasswordEditedOrFilled unless it is the auto-saved login. r=MattN
Differential Revision: https://phabricator.services.mozilla.com/D46679

--HG--
extra : moz-landing-system : lando
2019-09-23 20:19:54 +00:00
Edouard Oger
5431bbfab3 Bug 1547120 - Add a method to list attached clients. r=rfkelly
Differential Revision: https://phabricator.services.mozilla.com/D46838

--HG--
extra : moz-landing-system : lando
2019-09-23 20:43:56 +00:00
Chris H-C
af0ae9fd1f Bug 1579522 - Don't trigger a "modules" ping in the first session r=janerik,aklotz
Differential Revision: https://phabricator.services.mozilla.com/D46293

--HG--
extra : moz-landing-system : lando
2019-09-20 15:35:55 +00:00
Chris H-C
25a210115f Bug 1579522 - Allow skipping first update timer interval r=kmag
The UpdateTimerManager has an undocumented behaviour for firing its listeners
very soon after first registration (about 10min into the first session).

Let's document that behaviour, and make it optional.

Differential Revision: https://phabricator.services.mozilla.com/D46292

--HG--
extra : moz-landing-system : lando
2019-09-18 19:51:47 +00:00
Noemi Erli
519878e346 Backed out changeset 89552e3aa8be (bug 833723) for xpcshell failures in test_bug455311.js CLOSED TREE 2019-09-23 23:39:50 +03:00
Andrew Osmond
32b92fbfc6 Bug 1581934 - Restore the calculation for a more precise picture local rect. r=kvark,gw
As it turns out, the difference between the snapped local rect and the
unsnapped local rect was not just that the former contained snapped
primitives and the latter contained unsnapped primitives, but also that
the former took into account surface inflation for primitives, the
entire clip chain instead of just the primitive's local clip, and
removal of culled primitives. As such, the picture's rects can be wildly
different, even if snapping has been taken care of earlier, and parts of
WebRender have come to rely upon this more accurate representation of a
picture.

Differential Revision: https://phabricator.services.mozilla.com/D46605

--HG--
extra : moz-landing-system : lando
2019-09-23 20:18:50 +00:00
Aaron Klotz
6fb5d43355 Bug 1542830: Part 8 - Rename the "untrustedModules" ping to "third-party-modules" and change the schema to support multiprocess; r=janerik
Note that to avoid introducing errors, I elected against renaming everything in
the code; internally to Firefox the code still refers to "UntrustedModules";
only the relevant fields have been renamed to reference the new ping schema.

A PR for backend schema changes is in the works.

Depends on D43161

Differential Revision: https://phabricator.services.mozilla.com/D43162

--HG--
rename : toolkit/components/telemetry/docs/data/untrusted-modules-ping.rst => toolkit/components/telemetry/docs/data/third-party-modules-ping.rst
rename : toolkit/components/telemetry/tests/unit/test_UntrustedModulesPing.js => toolkit/components/telemetry/tests/unit/test_ThirdPartyModulesPing.js
extra : moz-landing-system : lando
2019-09-23 20:20:13 +00:00
Aaron Klotz
7eea579d88 Bug 1542830: Part 7 - Support MFBT Vector in ProcessedStack and add Swap operation to CombinedStacks; r=janerik
Untrusted modules 2.0 uses MFBT `Vector`, so this patch adds the ability for
`ProcessedStack` to receive those as input.

Depends on D43160

Differential Revision: https://phabricator.services.mozilla.com/D43161

--HG--
extra : moz-landing-system : lando
2019-09-23 20:19:42 +00:00
Aaron Klotz
a66f824994 Bug 1542830: Part 6 - Rewrite the untrusted modules processor in toolkit/xre; r=mhowell
* Significant cleanup to `ModuleEvaluator`
* `UntrustedModuleData` holds all of the accumulated untrusted module info for
  a single process.
* `ProcessedModuleLoadEvent` holds information about an individual untrusted
  module load in a Gecko-friendly, sanitized, format.
* Since multiple `ProcessModuleLoadEvent` objects may reference the same
  module, we store module metadata in a shared `ModuleInfo` structure.
* The `UntrustedModulesProcessor` receives the events from `mozglue` and
  processes them on a background thread:
** It does not start background processing until the main thread has gone idle.
   The idea here is that we do not want to add any more background work until
   we are reasonably confident that Gecko is no longer starting up or doing
   other intense activity.
** Background processing runs at a background priority level, *except* when
   results are requested by telemetry itself.
** Telemetry requests the data via `UntrustedModulesProcessor::GetProcessedData`
   which runs at normal priority and returns a promise to the caller.

Depends on D43159

Differential Revision: https://phabricator.services.mozilla.com/D43160

--HG--
rename : toolkit/xre/ModuleEvaluator_windows.cpp => toolkit/xre/ModuleEvaluator.cpp
rename : toolkit/xre/ModuleEvaluator_windows.cpp => toolkit/xre/ModuleEvaluator.h
rename : toolkit/xre/ModuleVersionInfo_windows.cpp => toolkit/xre/ModuleVersionInfo.cpp
rename : toolkit/xre/ModuleVersionInfo_windows.h => toolkit/xre/ModuleVersionInfo.h
rename : toolkit/xre/ModuleEvaluator_windows.cpp => toolkit/xre/UntrustedModulesData.cpp
rename : toolkit/xre/ModuleEvaluator_windows.h => toolkit/xre/UntrustedModulesData.h
rename : toolkit/xre/ModuleEvaluator_windows.cpp => toolkit/xre/UntrustedModulesProcessor.cpp
rename : toolkit/xre/ModuleEvaluator_windows.h => toolkit/xre/UntrustedModulesProcessor.h
extra : moz-landing-system : lando
2019-09-23 20:19:17 +00:00
Aaron Klotz
4cd7d7d045 Bug 1542830: Part 5 - Make ModuleVersion copyable and movable; r=mhowell
The `const` qualifier on `mVersion` was preventing move and copy, which we
now need this class to support.

Depends on D43158

Differential Revision: https://phabricator.services.mozilla.com/D43159

--HG--
extra : moz-landing-system : lando
2019-09-23 20:18:54 +00:00
Aaron Klotz
fccd6eb9ba Bug 1542830: Part 4 - Modify mozglue to use new untrusted modules interfaces; r=mhowell
* At this point our DLL blocking infra is complicated enough that I decided to
  bite the bullet and move all of this code out of `mozglue/build` and into its
  own subdirectory, `mozglue/dllservices`.
* We delete the original `UntrustedDllsHandler` code which is now obsolete.
* We implement mozglue's `LoaderObserver`:
** When this observer registers itself with the launcher process API, it
   receives a vector containing all saved records of loaded DLLs that happened
   until that moment.
** This code handles profiler labels and stackwalking suppression.
** Once a load has completed, we either pass the load on to XUL for further
   processing, or save it for later if XUL is not initialized yet.
* mozglue has its own `ModuleLoadFrame` implementation for the legacy blocklist.
* `DllServicesBase` is updated to support the new interfaces.
* We implement `FallbackLoaderAPI` for `plugin-container`, `xpcshell`, and
  any other non-`firefox` processes that do not have a launcher process
  providing a loader API.
* We add some wide to UTF8 conversion functions.

Depends on D43157

Differential Revision: https://phabricator.services.mozilla.com/D43158

--HG--
rename : mozglue/build/Authenticode.cpp => mozglue/dllservices/Authenticode.cpp
rename : mozglue/build/Authenticode.h => mozglue/dllservices/Authenticode.h
rename : browser/app/winlauncher/freestanding/LoaderAPIInterfaces.h => mozglue/dllservices/LoaderAPIInterfaces.h
rename : browser/app/winlauncher/freestanding/ModuleLoadInfo.h => mozglue/dllservices/ModuleLoadInfo.h
rename : browser/app/winlauncher/NtLoaderAPI.h => mozglue/dllservices/NtLoaderAPI.h
rename : mozglue/build/WindowsDllBlocklist.cpp => mozglue/dllservices/WindowsDllBlocklist.cpp
rename : mozglue/build/WindowsDllBlocklist.h => mozglue/dllservices/WindowsDllBlocklist.h
rename : mozglue/build/WindowsDllBlocklistCommon.h => mozglue/dllservices/WindowsDllBlocklistCommon.h
rename : mozglue/build/WindowsDllBlocklistDefs.in => mozglue/dllservices/WindowsDllBlocklistDefs.in
rename : mozglue/build/WindowsDllServices.h => mozglue/dllservices/WindowsDllServices.h
rename : mozglue/build/gen_dll_blocklist_defs.py => mozglue/dllservices/gen_dll_blocklist_defs.py
rename : mozglue/build/moz.build => mozglue/dllservices/moz.build
rename : mozglue/build/MozglueUtils.h => mozglue/misc/WinUtils.h
extra : moz-landing-system : lando
2019-09-23 20:18:41 +00:00
Aaron Klotz
f9be0e1c7f Bug 1542830: Part 3 - Add ntdll_freestanding.lib to freestanding; r=mhowell,froydnj
The `freestanding` library is built with specific compiler flags to signify
that it is indeed freestanding code. That is, it does not depend on a
standard library.

One of the requirements of freestanding code is that the toolchain still
expects implementations of `memcpy`, `memmove`, `memcmp`, and `memset`.

I did briefly implement my own naive versions of these functions, but that
solution is less than ideal since the implementations must be `extern` and are
thus picked up by the entire `firefox.exe` binary. This denies the rest of
`firefox.exe` the benefit of optimized implementations. On Windows, the
sandbox is linked into `firefox.exe`, so we cannot just shrug and
assume that naive implementations will not have any effect on anything.

There are, however, optimized implementations of these functions that are
exported by `ntdll.dll`. They are not included in the `ntdll.lib` that is
included in the Windows SDK. Using `llvm-dlltool`, we can build an import
library containing the missing entries and then add that library to `OS_LIBS`.

Depends on D43156

Differential Revision: https://phabricator.services.mozilla.com/D43157

--HG--
extra : moz-landing-system : lando
2019-09-23 20:18:37 +00:00
Aaron Klotz
5690759b5c Bug 1542830: Part 2 - Modify launcher process blocklist to collect information about untrusted module loads; r=mhowell
* We refactor the blocklist code. Code that may possibly run before
  initialization of the Win32 subsystem and the CRT is contained within the
  `freestanding` library.
* The `freestanding` library's static initializers are placed in their own
  section so that they may be manually invoked separately from the remaining
  initializers in the binary.
* `CheckBlockInfo` and `IsDllAllowed` are modified to return a `BlockAction`
  enum instead of a `bool`. This will be used more extensively in the future for
  LSP blocking.
* The launcher process now hooks `LdrLoadDll` in addition to
  `NtMapViewOfSection`. This is necessary so that we can collect timing
  information.
* Telemetry recorders must implement the `LoaderObserver` interface.
* `ModuleLoadFrame` is a RAII class that collects the information about the
  DLL load and dispatches the information to `LoaderObserver`s.
* The launcher process exposes an implementation of the `LoaderAPI` interface
  that may be called by either the launcher process blocklist or the legacy
  blocklist in `mozglue`.
* During startup, the launcher process implements its own `LoaderObserver`.
  Once mozglue is running, it connects its `LoaderObserver` to the launcher
  process, receives a vector containing the module load events, and then
  stores and forwards them into XUL.

Depends on D43155

Differential Revision: https://phabricator.services.mozilla.com/D43156

--HG--
rename : browser/app/winlauncher/DllBlocklistWin.cpp => browser/app/winlauncher/DllBlocklistInit.cpp
rename : browser/app/winlauncher/DllBlocklistWin.h => browser/app/winlauncher/DllBlocklistInit.h
rename : browser/app/winlauncher/DllBlocklistWin.cpp => browser/app/winlauncher/freestanding/DllBlocklist.cpp
rename : browser/app/winlauncher/DllBlocklistWin.h => browser/app/winlauncher/freestanding/DllBlocklist.h
rename : browser/app/winlauncher/moz.build => browser/app/winlauncher/freestanding/moz.build
extra : moz-landing-system : lando
2019-09-23 20:17:10 +00:00
Aaron Klotz
c27d5345fc Bug 1542830: Part 1 - Updates to NativeNt.h; r=mhowell
This patch adds the following:

* The `AllocatedUnicodeString` class which encapsulates a `UNICODE_STRING` and
  owns its buffer. The buffers are null-terminated so that they may be used as
  C-style strings without modification.
** We do not allow either creation or copying within XUL
* `RtlGetCurrentThreadId` and a test to validate it, so that we may obtain the
  current thread ID directly from the `TEB` when we do not yet have access to
  kernel32.
* An implementation of `SRWLock` that uses Rtl instead of Win32 so that we may
  use them before we have access to Win32 DLLs.
* A memory allocation policy that uses Rtl heap functions so that we may use
  MFBT `Vector` in code that might not yet have access to Win32 heap functions.

Differential Revision: https://phabricator.services.mozilla.com/D43155

--HG--
extra : moz-landing-system : lando
2019-09-23 20:16:51 +00:00
Lee Salzman
523a527e84 Bug 1578075 - Increase stack size of paint threads on macOS Catalina to 1MB. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D46834

--HG--
extra : moz-landing-system : lando
2019-09-23 20:02:17 +00:00
Boris Zbarsky
37bab0bd83 Bug 1582196 part 4. Get rid of NS_ERROR_RANGE_ERR. r=peterv
The two remaining consumers don't seem to depend on actually using this
specific nsresult in any way.

Differential Revision: https://phabricator.services.mozilla.com/D46462

--HG--
extra : moz-landing-system : lando
2019-09-23 19:14:33 +00:00
Boris Zbarsky
33acac0a74 Bug 1582196 part 3. Stop using NS_ERROR_RANGE_ERR and NS_ERROR_TYPE_ERR in payments code. r=edenchuang
The changes to the return type of MerchantValidationEvent::init are because
Result doesn't allow having an ErrorResult (or any other type without a copy
constructor) as its error type.  Plus we would have had the impedance mismatch
between Result<Ok, nsresult> (which is what URL resolution on the document
returns) and Result<Ok, ErrorResult> anyway.

Differential Revision: https://phabricator.services.mozilla.com/D46461

--HG--
extra : moz-landing-system : lando
2019-09-19 23:53:14 +00:00
Boris Zbarsky
e2d4045ce1 Bug 1582196 part 2. Stop using NS_ERROR_RANGE_ERR in SVGTransform. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D46460

--HG--
extra : moz-landing-system : lando
2019-09-19 13:13:58 +00:00
Boris Zbarsky
ccc114b512 Bug 1582196 part 1. Stop using NS_ERROR_RANGE_ERR in createImageBitmap. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D46459

--HG--
extra : moz-landing-system : lando
2019-09-19 15:35:07 +00:00
Harry Twyford
d20b4a18cb Bug 1582329 - Correct promises in browser_urlbar_resultSpan.js. r=adw
Differential Revision: https://phabricator.services.mozilla.com/D46791

--HG--
extra : moz-landing-system : lando
2019-09-23 19:51:37 +00:00
Timothy Nikkel
05d45ca5d2 Bug 1582918. Make sure that async-scrollbar* reftests don't pass because they draw nothing. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D46699

--HG--
extra : moz-landing-system : lando
2019-09-23 14:58:46 +00:00
Byron Campen [:bwc]
e429b89b10 Bug 1582646: Cancel proxy lookup when socket closes. r=mjf
Also, since OnProxyAvailable always happens on main regardless of the target we
set, don't bother setting the target.

Differential Revision: https://phabricator.services.mozilla.com/D46603

--HG--
extra : moz-landing-system : lando
2019-09-20 15:13:44 +00:00
Jonathan Watt
c5ffdfd9e0 Bug 1574137. Re-enable layout/svg/tests/test_filter_crossorigin.html for Fission. r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D46819

--HG--
extra : moz-landing-system : lando
2019-09-23 18:15:58 +00:00
Botond Ballo
a66c81bfae Bug 1567448 - Disable helper_overscroll_behavior_bug1425573.html until we track down the memory leak it's causing. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D46804

--HG--
extra : moz-landing-system : lando
2019-09-23 19:48:06 +00:00
Ehsan Akhgari
b234809417 Bug 1582053 - Disable the remote settings database creation instead of the server in web extension xpcshell tests; r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D46664

--HG--
extra : moz-landing-system : lando
2019-09-23 19:28:12 +00:00
Ehsan Akhgari
78123454f5 Bug 833723 - Make test_bug455311.js pass locally on Linux by resolving symlinks; r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D46816

--HG--
extra : moz-landing-system : lando
2019-09-23 19:08:39 +00:00
Bogdan Tara
dbcecb5e8a Bug 1566843 - Disabling test_ext_proxy_socks.js on linux & windows debug r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D46812

--HG--
extra : moz-landing-system : lando
2019-09-23 18:00:30 +00:00
Gabriel Luong
c6ffcbb611 Bug 1583278 - Upgrade CodeMirror to 5.49.0. r=bgrins
Differential Revision: https://phabricator.services.mozilla.com/D46826

--HG--
extra : moz-landing-system : lando
2019-09-23 18:47:42 +00:00
Dana Keeler
3d10b528b0 bug 1581986 - fix undefined shift behavior in md4 implementation r=kjacobs
Using left shift on a uint8_t promotes it to a signed integer. If the shift is
large enough that the sign bit gets affected, we have undefined behavior. This
patch fixes this by first casting to uint32_t.

Differential Revision: https://phabricator.services.mozilla.com/D46820

--HG--
extra : moz-landing-system : lando
2019-09-23 19:17:52 +00:00
Emilio Cobos Álvarez
e8cd2193b5 Bug 1579585 - Use fallible allocation for stylesheet invalidation. r=jwatt
If the sets get too big we cannot allocate anything else, we'll just empty them
and invalidate the whole document.

Differential Revision: https://phabricator.services.mozilla.com/D46828

--HG--
extra : moz-landing-system : lando
2019-09-23 19:08:22 +00:00
Emilio Cobos Álvarez
678c18063d Bug 1583203 - Annotate nsINode::OwnerDoc() as MOZ_NONNULL_RETURN. r=smaug
People keep adding useless null-checks and it was not clear what the consensus
was from bug 1441165, but this should be unobjectionable I guess.

Differential Revision: https://phabricator.services.mozilla.com/D46781

--HG--
extra : moz-landing-system : lando
2019-09-23 18:12:19 +00:00
Florens Verschelde
58e3682952 Bug 1512513 - Set the short toolbar height to 24px (25px with border) instead of 23px; r=Honza,rcaliman
Differential Revision: https://phabricator.services.mozilla.com/D43961

--HG--
extra : moz-landing-system : lando
2019-09-23 18:37:36 +00:00
philipp
e517ca80d9 Bug 1576728 - Add crashing dlls from chinese unzipping tools to the blocklist. r=aklotz
--HG--
extra : rebase_source : b8eda4974164e350fa6e1df9bcf79c5f9baa966a
2019-09-23 21:19:02 +03:00
Jonathan Watt
47b996559f Bug 1568968. Re-enable existing print telemetry for nightly, beta and release. r=chutten
Differential Revision: https://phabricator.services.mozilla.com/D43435

--HG--
extra : moz-landing-system : lando
2019-09-23 18:18:08 +00:00
longsonr
e48a579229 Bug 1582991 - Check the validity of the DrawTarget before using it, in nsFilterInstance::Render r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D46716

--HG--
extra : moz-landing-system : lando
2019-09-23 18:14:12 +00:00
Henri Sivonen
b5140cd3ca Bug 1583169 - Enable test_bug871161.html in Fission. r=farre
Differential Revision: https://phabricator.services.mozilla.com/D46770

--HG--
extra : moz-landing-system : lando
2019-09-23 12:05:02 +00:00
Toshihito Kikuchi
1cc025cecd Bug 1578895 - Compare NT paths if NtOpenFile failed with STATUS_OBJECT_PATH_NOT_FOUND. r=aklotz
We compare two file ids to check the current process is launched from the same
executable.  However, our telemetry showed a number of Win7 users failed to open
a file handle of the parent process with STATUS_OBJECT_PATH_NOT_FOUND even
though we opened a process handle and retrieved a module path of the parent
process successfully.  We don't have data to explain how this happens or why
this happens only on Win7, Win10 10240, and 10586.

To mitigate this situation, this patch introduces a logic to compare NT path
strings.  The benefit from doing this is 1) we don't have to open a file handle
of a parent process executable and 2) when we get an NT path, a network drive
or a symbolic link is already solved.

This new logic is much faster, but we still compare file ids on the first
attempt to minimize the impact.  We fall back to the new logic only if we
detect the STATUS_OBJECT_PATH_NOT_FOUND failure.

Differential Revision: https://phabricator.services.mozilla.com/D45476

--HG--
extra : moz-landing-system : lando
2019-09-23 17:59:42 +00:00
Florens Verschelde
e14c6283b1 Bug 1578017 - Clip FontOrigin title attribute for very long strings; r=rcaliman
Differential Revision: https://phabricator.services.mozilla.com/D44304

--HG--
extra : moz-landing-system : lando
2019-09-23 18:02:56 +00:00
Noemi Erli
728928781e Backed out changeset 195e629a7877 (bug 1582459) for causing wrench bustages CLOSED TREE 2019-09-23 21:07:24 +03:00
Nicolas Silva
ff7cdb1b4e Bug 1582459 - Improve the clipping and segment documentation. r=kvark
Adds a module documentation in segment.rs giving an overview of the role of primitive segments and how they interact with clipping. Also reformatted the clip.rs documentation to play well with rustdoc.

Differential Revision: https://phabricator.services.mozilla.com/D46472

--HG--
extra : moz-landing-system : lando
2019-09-23 15:04:19 +00:00
Tom Schuster
10bb1ec461 Bug 1337564 - Don't use JSON behavior for __proto__ with eval. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D45381

--HG--
extra : moz-landing-system : lando
2019-09-23 17:21:36 +00:00
Ryan VanderMeulen
3778a57619 Bug 1582724 - Update pdf.js to version 2.3.183. r=bdahl
Differential Revision: https://phabricator.services.mozilla.com/D46592

--HG--
extra : moz-landing-system : lando
2019-09-23 17:07:39 +00:00
Cosmin Sabou
5ba1c3f18f Backed out changeset 098d87f4abbc (bug 1580923) for browser chrome failures on browser_openTabAndSendCertInfo.js. CLOSED TREE 2019-09-23 20:15:29 +03:00
Cosmin Sabou
ec3dff4a7f Backed out changeset 215d17a0eeb5 (bug 1566527) for devtools failures on browser_webconsole_network_messages_openinnet.js 2019-09-23 20:12:58 +03:00
Geoff Brown
66b180e290 Bug 1577037 - Stop running all Fennec performance tests; r=perftest-reviewers,stephendonner,sparky,Bebe
Stop running all Raptor tests that run against Fennec. Raptor tests running
against geckoview and geckoview products continues.

Differential Revision: https://phabricator.services.mozilla.com/D44511

--HG--
extra : moz-landing-system : lando
2019-09-23 16:49:29 +00:00
Emilio Cobos Álvarez
23d89f211d Bug 1582585 - Test autoscroll for scrollable and non-scrollable iframes. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D46733

--HG--
extra : moz-landing-system : lando
2019-09-23 16:32:47 +00:00
Emilio Cobos Álvarez
f8fa8e5cea Bug 1582585 - Make AutoScrollController not scroll non-scrollable windows. r=botond
That is, avoid scrolling <iframe>s that have scrolling="no", for example.

Differential Revision: https://phabricator.services.mozilla.com/D46731

--HG--
extra : moz-landing-system : lando
2019-09-23 16:05:11 +00:00
Emilio Cobos Álvarez
2e2227708b Bug 1582585 - Factor out a bit more code from AutoScrollController.jsm. r=botond
Also an idempotent change.

Differential Revision: https://phabricator.services.mozilla.com/D46730

--HG--
extra : moz-landing-system : lando
2019-09-23 15:54:19 +00:00