Граф коммитов

760382 Коммитов

Автор SHA1 Сообщение Дата
Julian Descottes 72d0779bd0 Bug 1714885 - [devtools] Consolidate dark theme customizations for aboutdebugging in base.css r=daisuke
All the customizations for dark theme now use variables defined in base.css

Differential Revision: https://phabricator.services.mozilla.com/D117277
2021-06-10 12:16:19 +00:00
Gabriele Svelto 99cd0eae3d Bug 1711418 - Record the OOM allocation size in WER crashes r=KrisWright
This patch adds a new field to the structures that WER reads from a
crashed process. This field contains a pointer to the global variable
that records the size of the last failed annotation.

When WER intercepts a crash it will use this address to read the
variable. If it's not zero it will add the corresponding annotation
to the crash report.

Depends on D116449

Differential Revision: https://phabricator.services.mozilla.com/D116450
2021-06-10 11:58:38 +00:00
Gabriele Svelto 497ed31c7a Bug 1711418 - Factorize the code that reads/writes memory to/from other processes r=KrisWright
Depends on D116017

Differential Revision: https://phabricator.services.mozilla.com/D116449
2021-06-10 11:58:38 +00:00
Gabriele Svelto bc252cb8b0 Bug 1703761 - Flag crash reports intercepted by WER with a special annotation r=KrisWright
Since this added the new flag to the crash ping I also took the time to update
the crash ping documentation with all the flags that have been added and
removed over the last few versions of Firefox.

Depends on D115380

Differential Revision: https://phabricator.services.mozilla.com/D116017
2021-06-10 11:58:38 +00:00
Gabriele Svelto 4c5761354c Bug 1682518 - Add minidump generation for child processes in the WER module r=KrisWright
This also notifies the main process after the minidump has been generated.
I refactored the code a bit so the patch is probably larger than it should be
but the code should be a bit more readable overall.

With this change the minidump generation flow works like this:
- When the callback gets invoked in the WER process we read the structure that
  is stored in every process' to figure out if it's the main process or a child
  one. This is done by reading said process' memory, the pointer has been
  passed to the runtime exception module when it was registered.
- If the main process crashed everything works like it used to.
- If it was a child process then we first capture a minidump of it.
- Then we read the structure representing it in the main process:
  WindowsErrorReportingData. The address of this structure was passed into the
  child process' command-line so we need to parse that first, then we read it
  from the main process memory.
- We fill the structure and write it back into the main process memory.
- At this point if everything went fine we create a new thread in the main
  process just to execute the WerNotifyProc function that will inform the main
  process to the presence of the new minidump.

There's one important tidbit that's worth keeping in mind: the synchronization
between the main process and the WER process is implicit. The
WindowsErrorReportingData structure in the main process is kept alive until the
child process dies, the main process will destroy it only after that point. As
long as we're in the runtime exception module the crashed process is kept alive
so this will prevent the main process from touching that structure.
We explicitly terminate the crashed process **after** we're done with the
structure so nothing bad could happen... unless someone makes a change to
Gecko that breaks the previous assumption.

Another important thing to keep in mind: we wait for the newly created thread
to inform the main process but only for 5 seconds. We don't want to wait
indefinitely because the function that we're calling is taking a lock and if
it blocks for some reason WER will get stuck waiting for it, so it will never
kill the crashed process which in turn will prevent the main process from
moving ahead. In principle this should never happen but better be safe than
sorry.

Depends on D115379

Differential Revision: https://phabricator.services.mozilla.com/D115380
2021-06-10 11:58:37 +00:00
Gabriele Svelto 1ebc33d4a4 Bug 1697895 - Register the WER runtime exception module in child processes r=KrisWright
This patch sets up a few different things that will be used by the WER runtime
exception module when it needs to notify the main process of a child process
crash.

For every child process we allocate a structure in the main process called
WindowsErrorReportingData that contains three things:
- The address of the function used to notify the main process that there's a
  pending minidump for a given child process
- The PID of said child process
- The name of the minidump that has been generated

The first field is filled up by the main process and will be read by the WER
process when running the runtime exception module, the second and third fields
on the other hand start empty and will be written into by the runtime exception
module after it has generated a minidump.

I know this sounds scary. It is. But bear with me please.

When we register the runtime exception module we can pass it a single
pointer-sized parameter but we need to pass it at least another pointer that
includes data coming from the child process itself (this one is called
InProcessWindowsErrorReportingData). This data currently includes only the
process type but will also include certain annotations in the future
(e.g. bug 1711418). So here's what we do: we store a pointer to the parent
data structure in the child process command-line (cringe) and we read it
from the runtime exception module by reading the crashed process command-line
arguments and parsing them (double-cringe).

Armed with this information the WER runtime exception module can populate
the info for the generated minidump and then push it into the main process
by calling CreateRemoteThread() (which creates a new thread in the main
process, triple-cringe at this point).

Differential Revision: https://phabricator.services.mozilla.com/D115379
2021-06-10 11:58:37 +00:00
Emilio Cobos Álvarez 522d4296b0 Bug 1663740 - Specify has_no_effect_on_gecko_scrollbars on inherited internal properties. r=boris
Otherwise we assert due to the styles being different from the cached
ones, but it doesn't matter as these don't influence Gecko scrollbars.

Differential Revision: https://phabricator.services.mozilla.com/D117147
2021-06-10 11:50:23 +00:00
Christoph Kerschbaumer ac686fd3b7 Bug 1714966: Update PBM portion of test toolkit/components/extensions/test/xpcshell/test_ext_contentscript_context.js to work with https-first enabled r=robwu
Differential Revision: https://phabricator.services.mozilla.com/D116988
2021-06-10 11:48:41 +00:00
Emilio Cobos Álvarez 2a5c38d4f0 Bug 1707872 - Make GTK theme follow the firefox theme globally. r=stransky
This matches what macOS is doing in bug 1715145, and improves the
situation in the cases the user chooses a light Firefox theme, but a
dark GTK theme, or vice versa.

The nice thing of doing it globally is that we don't need to teach the
GTK code to paint with different color schemes in different windows,
which would be massively annoying.

This is expected to have an slight performance cost on startup for
light-theme users (as we need to read the dark gtk theme colors), but
it's hopefully ok.

Depends on D117227

Differential Revision: https://phabricator.services.mozilla.com/D117228
2021-06-10 11:43:00 +00:00
Emilio Cobos Álvarez 1f310b04ae Bug 1715409 - Remove annotation for test that now passes.
Differential Revision: https://phabricator.services.mozilla.com/D117415
2021-06-10 11:42:03 +00:00
Emilio Cobos Álvarez 7bd8e59992 Bug 1707872 - Factor out some code in Gtk's LookAndFeel. r=stransky
No behavior change intended.

Differential Revision: https://phabricator.services.mozilla.com/D117226
2021-06-10 11:08:06 +00:00
Emilio Cobos Álvarez 307674803d Bug 1711367 - Don't use shared image sources in not-rendered-image-loading-lazy.html. r=smaug
The HTML spec looks at the "list of available images" before performing
lazy-loading. So if any test before loads these sources then the image
may actually load, against the test expectations.

Differential Revision: https://phabricator.services.mozilla.com/D117411
2021-06-10 10:58:07 +00:00
Marian-Vasile Laza 984c14aa1c Backed out 2 changesets (bug 1706616) for causing bc failures in browser_urlQueryStringStripping_telemetry.js
CLOSED TREE

Backed out changeset 443f5f8fe809 (bug 1706616)
Backed out changeset 8446bda339b7 (bug 1706616)
2021-06-10 14:37:09 +03:00
Kershaw Chang f310f52fe7 Bug 1700405 - Only set Native to true when the record is about to be resolved, r=necko-reviewers,valentin
The problem here is that when `nsHostResolver::FlushCache` is called, a record is not removed from `mRecordDB` because `LoadNative()` returns true. The reason of this is that the record is in the low queue and this record is not being handled immediately. As a result of this, the record would stay in the low queue for a long time.


Depends on D117284

Differential Revision: https://phabricator.services.mozilla.com/D117285
2021-06-10 10:12:41 +00:00
Kershaw Chang 6bc156ea65 Bug 1700405 - Make it possible to skip the NS check when a host is added into blocked list, r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D117284
2021-06-10 10:12:40 +00:00
Peter Van der Beken ec0f0e687e Bug 1715662 - Disable BFCache in parent in devtools/shared/commands/target-configuration/tests/browser_target_configuration_command_color_scheme.js. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D117392
2021-06-10 09:48:21 +00:00
Luca Greco 26098c2ce7 Bug 1682632 - part3: Restrict Extension API webidl bindings to nightly builds. r=baku,mixedpuppy
Depends on D99887

Differential Revision: https://phabricator.services.mozilla.com/D104707
2021-06-10 09:34:57 +00:00
Luca Greco a3902a2f36 Bug 1682632 - part2.8: WebExtensions API request handling unit tests. r=baku,mixedpuppy
- Added a new set of xpcshell-tests in toolkit/components/extensions/test/xpcshell/webidl-api
  for unit tests related to the WebIDL bindings API request forwarding

Depends on D99886

Differential Revision: https://phabricator.services.mozilla.com/D99887
2021-06-10 09:34:56 +00:00
Luca Greco 5a901c159a Bug 1682632 - part2.7: ExtensionMockAPI. r=baku
ExtensionMockAPI is a fake WebExtensions API, locked behind a pref and
used in unit tests related to the API requests handling and WebExtensionStub
methods without relying on a specific WebExtension API.

Depends on D84687

Differential Revision: https://phabricator.services.mozilla.com/D99886
2021-06-10 09:34:56 +00:00
Luca Greco 3df86f45c1 Bug 1682632 - part2.6: ExtensionEventListener callListener sendResponse callback parameter. r=baku,sfink
Depends on D84686

Differential Revision: https://phabricator.services.mozilla.com/D84687
2021-06-10 09:34:55 +00:00
Luca Greco 264e929966 Bug 1682632 - part2.5: ExtensionPort passed as a ExtensionEventListener callListener parameter. r=baku
Depends on D84685

Differential Revision: https://phabricator.services.mozilla.com/D84686
2021-06-10 09:34:55 +00:00
Luca Greco 23d49ee27d Bug 1682632 - part2.4: ExtensionPort. r=baku
The ExtensionPort represents the webidl definitions of the runtime.Port WebExtensions API object.

A webidl dictionary will represent the serializable definition of the port properties, sent from
the API request handler to provide all the internal properties needed to create an instance
of the ExtensionPort webidl interface on the worker thread (which will be returned to the
extension code as the return value of the runtime.connect/connectNative methods and as a
parameter of the calls to the runtime.onConnect API event listeners).

Depends on D84684

Differential Revision: https://phabricator.services.mozilla.com/D84685
2021-06-10 09:34:55 +00:00
Luca Greco 2db297ed6f Bug 1682632 - part2.3: ExtensionEventListener callListener promised return value. r=baku
Depends on D80610

Differential Revision: https://phabricator.services.mozilla.com/D84684
2021-06-10 09:34:54 +00:00
Luca Greco fccce36c31 Bug 1682632 - part2.2: ExtensionEventListener xpcom interface base implementation. r=baku,sfink
Depends on D80609

Differential Revision: https://phabricator.services.mozilla.com/D80610
2021-06-10 09:34:54 +00:00
Luca Greco 0e7d3adbed Bug 1682632 - part2.1: ExtensionEventListener. r=baku,mixedpuppy
An ExtensionEventListener xpcom interface that wraps an API event callback
and included in the API requests forwarded to the API request handler.

The ExtensionEventListener xpcom interface provides a method to forward
to the worker thread the calls to the wrapped API event callpack originated
from the WebExtensions framework running on the main thread.

Depends on D75311

Differential Revision: https://phabricator.services.mozilla.com/D80609
2021-06-10 09:34:53 +00:00
Luca Greco c7b8bcd1f4 Bug 1682632 - part2: Extension API request handling. r=baku,mixedpuppy
New XPCOM idl interfaces to define the components used to:
- represent an API request (call to API methods, add/remove API event listener,
  get the value of an API property getter)
- define the API request handler defined by privileged JS code running on the
  main thread

New ExtensionAPIBase shared stub methods and helper methods to create and forward
the API requests from the worker to the main thread and translate the results
got from the API request handler in the value to return or resolve (or the errors
to be raised) to the extension code running on the worker thread.

Depends on D80604

Differential Revision: https://phabricator.services.mozilla.com/D75311
2021-06-10 09:34:53 +00:00
Luca Greco 1f39edc33a Bug 1682632 - part1.3: ExtensionEventManager webidl interface. r=baku,mixedpuppy
WebIDL interface and c++ class to be used by all WebExtension API webidl bindings
to expose the expected WebExtensions API events (e.g. browser.tabs.onUpdated etc.)

Depends on D84682

Differential Revision: https://phabricator.services.mozilla.com/D80604
2021-06-10 09:34:52 +00:00
Luca Greco c78f0b1811 Bug 1682632 - part1.2: ExtensionAPIBase class. r=baku,mixedpuppy
An ExtensionAPIBase class which provides a collection of shared stub methods and
shared helpers and used as a base class for the actual WebExtensions API webidl classes.

Depends on D84681

Differential Revision: https://phabricator.services.mozilla.com/D84682
2021-06-10 09:34:52 +00:00
Luca Greco 673f476aef Bug 1682632 - part1.1: WebExtensionStub extended attribute in WebIDL generator. r=peterv,mixedpuppy
Define a new WebExtensionStub extended attribute in the WebIDL generator
to be used in the WebExtensions API WebIDL definitions.

Depends on D70372

Differential Revision: https://phabricator.services.mozilla.com/D84681
2021-06-10 09:34:52 +00:00
Luca Greco acbf6ce964 Bug 1682632 - part1: add ExtensionBrowser webidl API skeleton to Extension Background Service Worker. r=baku,mixedpuppy,asuth
- Extension API WebIDL to be part of a new dom/extensions-webidl directory
  (and all webidl in this directory associated with WebExtensions::General
  bugzilla component)

- Extension API C++ implementation in a new toolkit/components/extensions/webidl-api
  directory

- Lock Extensions API WebIDL bindings provided to extensions workers global on:
  - the preference "extensions.backgroundServiceWorker.enabled" being set to true
  - checking explicitly that the worker is an extension service worker declared
    in the extension manifest.json file.

- Changes to WorkerPrivate, WorkerScope.h/.cpp to expose the WebIDL
  bindings to the extension service workers (if the service worker has been
  detected as the background service worker specified in the manifest),
  plus small changes to RemoteWorkerChild.cpp to detect if the worker
  is the background service worker (and mark it as so in the WorkerPrivate
  instance associated to it)

Differential Revision: https://phabricator.services.mozilla.com/D70372
2021-06-10 09:34:51 +00:00
Jonathan Kew a74bd20f2b Bug 737785 - Un-prefix -moz-tab-size (keeping the prefixed version as an alias for now). r=layout-reviewers,dholbert
This results in lots of new WPT test passes.

There were also a couple of WPT tests that turned out to be broken;
tab-size-inline-001 and -002 had errors in their reference files such
that they'd never pass anywhere. So those are fixed here.

Depends on D117331

Differential Revision: https://phabricator.services.mozilla.com/D117332
2021-06-10 09:19:24 +00:00
Jonathan Kew f50275dcbb Bug 1308113 - Account for letter- and word-spacing when resolving tab-size <number>. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D117331
2021-06-10 09:19:23 +00:00
Kai Engert 73864ebb8b Bug 1715584 - NSPR_4_32_BETA1. r=bbeurdouche UPGRADE_NSPR_RELEASE
Differential Revision: https://phabricator.services.mozilla.com/D117404
2021-06-10 09:15:06 +00:00
Jens Stutte 240030639e Bug 1714573: Ensure profile deletion takes place before the profile is unlocked. r=mossop,dom-storage-reviewers,janv
Differential Revision: https://phabricator.services.mozilla.com/D116834
2021-06-10 09:07:50 +00:00
Tooru Fujisawa 944d2784cf Bug 1715004 - Add SMDOC for bytecode emission. r=yulia DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D117021
2021-06-10 08:47:08 +00:00
Marian-Vasile Laza 5dc1a42e67 Backed out 6 changesets (bug 1711648) for causing build bustages.
CLOSED TREE

Backed out changeset a803c960b909 (bug 1711648)
Backed out changeset d07c38d536c5 (bug 1711648)
Backed out changeset 823b75fc8c3c (bug 1711648)
Backed out changeset 602a2bcc5e29 (bug 1711648)
Backed out changeset 99ce7c7e458d (bug 1711648)
Backed out changeset bdbc65799b8a (bug 1711648)
2021-06-10 12:25:48 +03:00
Tim Huang a2bc99ed17 Bug 1706616 - Part 2: Add a test for the query stripping telemetry. r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D117007
2021-06-10 08:20:27 +00:00
Tim Huang 497011260e Bug 1706616 - Part 1: Add telemetry probe for query stripping. r=dimi,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D117006
2021-06-10 08:20:27 +00:00
Nicolas Silva 6cdbec834a Bug 1711648 - Move LayoutRect to the Box2D representation. r=jrmuizel.
Differential Revision: https://phabricator.services.mozilla.com/D117293
2021-06-10 08:08:07 +00:00
Nicolas Silva 9e22c414c2 Bug 1711648 - Move RasterRect to the Box2D representation. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D117292
2021-06-10 08:08:06 +00:00
Nicolas Silva 23ed6454cf Bug 1711648 - Move TileRange to the Box2D representation. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D117291
2021-06-10 08:08:06 +00:00
Nicolas Silva 32d212aa1f Bug 1711648 - Move TileRect to the Box2D representation. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D117290
2021-06-10 08:08:06 +00:00
Nicolas Silva 46f8718626 Bug 1711648 - Move PictureRect to the endpoint representation. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D116825
2021-06-10 08:08:05 +00:00
Nicolas Silva 6cf82a217d Bug 1711648 - Move some space conversion utilities from rect to box. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D116734
2021-06-10 08:08:05 +00:00
Jeremy Nuttall 9189120d88 Bug 1713530 - no longer use "else" after "return". r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D117393
2021-06-10 07:49:44 +00:00
Mark Banner e0b9b263bd Bug 1713325 - Exclude time when the user is idle from the page view time for history metadata. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D116275
2021-06-10 06:57:51 +00:00
Eden Chuang a876ffd06b Bug 1564235 - P6 Enable partial web-platform tests for navigationPreloadManager. r=dom-worker-reviewers,asuth
Depends on D116918

Differential Revision: https://phabricator.services.mozilla.com/D117288
2021-06-10 06:01:28 +00:00
Eden Chuang 144f9f3b9c Bug 1564235 - P5 Save NavigationPreload data into serviceworker.txt. r=dom-worker-reviewers,asuth
This patch implements the part of saving/loading NavigationPreload data into/from serviceworker.txt

Depends on D116917

Differential Revision: https://phabricator.services.mozilla.com/D116918
2021-06-10 06:01:28 +00:00
Eden Chuang f5b7f71fb3 Bug 1564235 - P4 Save NavigationPreload data in ServiceWorkerRegistration Info. r=dom-worker-reviewers,asuth
This patch implements the parent process' part of NavigationPreload API.
After receiving the IPC, using the corresponding ServiceWorkerRegistrationProxy to send data to the main thread, then saving the NavigationPreload data on ServiceWorkerRegistrationInfo.

Depends on D116916

Differential Revision: https://phabricator.services.mozilla.com/D116917
2021-06-10 06:01:27 +00:00
Eden Chuang 800daa7911 Bug 1564235 - P3 Create IPC for NavigationPreload in PServiceWorkerRegistration.ipdl. r=dom-worker-reviewers,asuth
This patch implements the IPC for NavigationPreload APIs.
The IPC methods are created on PServiceWorkerRegistration.

Depends on D116914

Differential Revision: https://phabricator.services.mozilla.com/D116916
2021-06-10 06:01:27 +00:00