Commit Graph

352 Commits

Author SHA1 Message Date
Alexandre Poirot
77af789c1f Bug 1597999 - Implements ChromeUtils.getObjectNodeId. r=jimb
This helps retrieving the NodeId for any JS Object you pass in.
This allows identifying a particular object when using HeapSnapshot API.
`HeapSnapshot.computeDominatorTree()` returns a tree of object,
but there is no way to identify a given JS object in it.
Getting the node id of a given JS object helps you browse this tree
from a given object you know is leaking.

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

--HG--
extra : moz-landing-system : lando
2019-11-21 22:12:20 +00:00
Micah Tigley
00d97635a3 Bug 1593708 - Part 1: Add inRDMPane property to BrowsingContext and expose it to JS. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D52214

--HG--
extra : moz-landing-system : lando
2019-11-14 22:54:56 +00:00
Gijs Kruitbosch
e5ac0416bc Bug 1593487 - tighten up registerWindowActor's handling of nonsensical actor specifications and remove cruft, r=nika,mconley
Differential Revision: https://phabricator.services.mozilla.com/D52002

--HG--
extra : moz-landing-system : lando
2019-11-08 11:59:37 +00:00
Barret Rennie
3e24c77cf6 Bug 1581240 - Return collected frames as a promise to JS r=bzbarsky,mstange,nika
The `setCompositionRecording` API on nsIDOMWindowUtils has been broken up into
two new APIs:

* `startCompositionRecording()`, which starts the composition recorder; and
* `stopCompositionRecording(bool writeToDisk)` which stops the composition
  recorder and either returns a Promise that resolves to the collected frames
  or returns a Promise that resolves when the frames have been written to disk.

The collected frames are serialized over IPC as part of a Shmem as to not
approach the IPC data transfer limit.

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

--HG--
extra : moz-landing-system : lando
2019-11-07 22:35:04 +00:00
Daniel Varga
8afb8d99f1 Backed out 4 changesets (bug 1581240) for build bustage with error: implicit instantiation of undefined template 'nsTString<char>. On a CLOSED TREE
Backed out changeset b73b86efe266 (bug 1581240)
Backed out changeset 17dd226e21ae (bug 1581240)
Backed out changeset e2fd47ff8a89 (bug 1581240)
Backed out changeset c0589670c762 (bug 1581240)
2019-11-07 01:31:57 +02:00
Barret Rennie
d9aec252da Bug 1581240 - Return collected frames as a promise to JS r=bzbarsky,mstange,nika
The `setCompositionRecording` API on nsIDOMWindowUtils has been broken up into
two new APIs:

* `startCompositionRecording()`, which starts the composition recorder; and
* `stopCompositionRecording(bool writeToDisk)` which stops the composition
  recorder and either returns a Promise that resolves to the collected frames
  or returns a Promise that resolves when the frames have been written to disk.

The collected frames are serialized over IPC as part of a Shmem as to not
approach the IPC data transfer limit.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 20:48:49 +00:00
Peter Van der Beken
1fa7fd2c48 Bug 1560940 - Change tests that use session history listeners to listen in the parent process. r=nika
Expose SHistory object from CanonicalBrowsingContext.

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

--HG--
extra : rebase_source : 83b465a1ea387d79889f9cec73f3129adca66016
extra : source : 6d2db7f001668a7a18e7c8dc0693236d6f6964ba
extra : histedit_source : cced2d0317eef396dacd626b72cebf9625238897
2019-06-19 21:09:28 +02:00
Nika Layzell
89c099a0fe Bug 1590908 - Part 1: Move parent-only LoadURI method to CanonicalBrowsingContext, r=kmag
These methods are only callable from the parent process, so it doesn't make
sense to have the method available driectly on BrowsingContext.

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

--HG--
extra : moz-landing-system : lando
2019-11-04 15:05:47 +00:00
Shane Caraveo
f800952de9 Bug 1581611 Part 1: add content_scripts to the extension content_security_policy r=rpl,bzbarsky
This patch adds support for including content_scripts CSP in the extensions
manifest, along with all interfaces necessary to access the CSP value.  This does not
implement actual use of the CSP for content scripts.

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

--HG--
extra : moz-landing-system : lando
2019-11-01 06:02:45 +00:00
Shane Caraveo
9ca23aa397 Bug 1581609 rename extension contentSecurityPolicy to support multiple V3 CSP values r=rpl,webidl
Differential Revision: https://phabricator.services.mozilla.com/D46818

--HG--
extra : moz-landing-system : lando
2019-11-01 06:02:22 +00:00
Junior Hsu
dd1a30ac91 Bug 1545423 - P2 web request data API implementation r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D50405

--HG--
extra : moz-landing-system : lando
2019-10-31 00:50:47 +00:00
Andreea Pavel
9deb4ea93b Backed out 4 changesets (bug 1545423) for failing test_ext_activityLog.html on a CLOSED TREE
Backed out changeset 0abbf10b68b0 (bug 1545423)
Backed out changeset 35758baf44e3 (bug 1545423)
Backed out changeset 3ae45f3be2e1 (bug 1545423)
Backed out changeset 9f7f0e4c65da (bug 1545423)
2019-10-31 02:16:24 +02:00
Junior Hsu
5e48b59b90 Bug 1545423 - P2 web request data API implementation r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D50405

--HG--
extra : moz-landing-system : lando
2019-10-30 23:11:38 +00:00
Andrea Marchesini
39723a2dd0 Bug 1591900 - Expose third-party state in WebRequest and proxy onRequest details, r=mixedpuppy,smaug
Differential Revision: https://phabricator.services.mozilla.com/D50793

--HG--
extra : moz-landing-system : lando
2019-10-30 11:42:16 +00:00
Mihai Alexandru Michis
351a5bf677 Backed out changeset ed867296b6d4 (bug 1591900) for causing mochitest fission failures in test_ext_activityLog.html CLOSED TREE 2019-10-30 11:15:36 +02:00
Andrea Marchesini
9b82b18b44 Bug 1591900 - Expose third-party state in WebRequest and proxy onRequest details, r=mixedpuppy,smaug
Differential Revision: https://phabricator.services.mozilla.com/D50793

--HG--
extra : moz-landing-system : lando
2019-10-30 07:58:27 +00:00
Mihai Alexandru Michis
c19bd19fcf Backed out changeset e99290edd750 (bug 1591900) for causing lint failures in file_third_party.html CLOSED TREE 2019-10-30 09:35:28 +02:00
Andrea Marchesini
b3488b6849 Bug 1591900 - Expose third-party state in WebRequest and proxy onRequest details, r=mixedpuppy,smaug
Differential Revision: https://phabricator.services.mozilla.com/D50793

--HG--
extra : moz-landing-system : lando
2019-10-30 06:59:00 +00:00
Boris Zbarsky
d36e5a4ea5 Bug 1214364 part 4. Only output full-featured Init methods for dictionaries that need them. r=peterv
Dictionaries that we never initialize with JS values don't need a full-featured
Init() method.  Instead, we output a cut-down Init() method that doesn't even
take a JSContext and Value as argument, and skips as much work as it can.  It
uses constant-false for "is the value present?", but also, to avoid compilation
errors due to use of `cx` and `val` in now-dead conversion code, it tells the
native-to-JS conversion machinery that the value is always missing, which lets
it skip most of the the work it would normally try to do and just output
initialization to the default value.  We only need to do this for members that
have default values; the others either remain no-passed or are required members
with no default-initialization behavior.

This saves about 330KB of codesize on Linux64 without PGO and 285KB with PGO.

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

--HG--
extra : moz-landing-system : lando
2019-10-28 20:24:31 +00:00
Boris Zbarsky
0d2e9ff1f1 Bug 1214364 part 3. Only output ToObjectInternal methods for dictionaries that need it. r=peterv
This saves about 270KB of codesize on Linux64 without LTO, or 20KB with LTO.

The basic idea is that we can flag dictionaries that need to-JS conversion
(hence ToObjectInternal) based on various IDL uses (return value in normal
interface, argument in callback, etc) and then annotate the ones that are
converted to JS manually in C++ code.

The mozwebidlcodegen changes are needed because non-local changes (e.g. whether
a dictionary is used as a return value somewhere) can now affect the code
generation for a dictionary and hence whether the relevant binding file should
be regenerated.  Since these changes can happen in any .webidl file, we need to
check for them.  We can't track this via the dependency set on the dictionary
itself, because that would not notice new uses being added.

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

--HG--
extra : moz-landing-system : lando
2019-10-28 23:20:11 +00:00
Boris Zbarsky
3a2aa6f9b1 Bug 1214364 part 1. Only output conversions to/from JSON for dictionaries that need it. r=peterv
This saves about 200KB of codesize on Linux64 without LTO.  No effect with LTO,
but is needed for the following patches to work.

Very few dictionaries need these conversions, so explicit opt-in is fine.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 15:58:29 +00:00
Edgar Chen
5c03d212e3 Bug 1587062 - Move SandboxFlags from DocShell to BrowsingContext; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D50663

--HG--
extra : moz-landing-system : lando
2019-10-28 11:48:30 +00:00
Andreas Farre
268d5bd571 Bug 1575051 - Part 1: Remove nsIDocShellTreeItem.findItemWithName. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D46285

--HG--
extra : moz-landing-system : lando
2019-10-24 14:53:07 +00:00
Jean-Yves Avenard
e6d0e7dfda Bug 1588899 - P1. Move classification flags related method to nsIClassifiedChannel. r=Ehsan,baku
This is where it should have been in the first place. Those attributes belong there.

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

--HG--
extra : moz-landing-system : lando
2019-10-19 04:30:24 +00:00
Boris Zbarsky
e68130b666 Bug 1587819. Convert [HTMLConstructor] to being an extended attribute on constructor operations. r=edgar
The changes to the IDL files were done by running this in dom/webidl:

  perl -pi -e 'BEGIN { $/ = undef; } s/\[HTMLConstructor,\n Exposed=Window\]\ninterface ([A-Za-z]+) : HTMLElement \{/[Exposed=Window]\ninterface \1 : HTMLElement {\n  [HTMLConstructor] constructor();\n/g' *.webidl

and then fixing any remaining parser failures.  That involved hand-editing the
following files:

  TestCodeGen.webidl
  XULFrameElement.webidl
  XULMenuElement.webidl
  XULTextElement.webidl
  XULTreeElement.webidl
  HTMLAudioElement.webidl
  HTMLDialogElement.webidl
  HTMLElement.webidl
  HTMLEmbedElement.webidl
  HTMLFormElement.webidl
  HTMLImageElement.webidl
  HTMLObjectElement.webidl
  HTMLOptionElement.webidl
  HTMLSlotElement.webidl
  HTMLVideoElement.webidl
  XULElement.webidl
  XULPopupElement.webidl

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

--HG--
extra : moz-landing-system : lando
2019-10-17 15:38:39 +00:00
Nika Layzell
965f006a70 Bug 1576714 - Part 3: Initiate subframe process switches from the parent, r=kmag
This flips the direction in which the BrowserBridge actor is generally created
such that it is generally created in the parent and sent down to a child
process.

This is done by making the decision about what kind of switch to perform in the
parent, and sending messages down to child processes async to orchestrate these
process changes.

Process launching is changed to use an async `MozPromise`-returning API in this
patch, though the actual process launching still occurs synchronously. A future
patch will enable performing async process launching through the
NewOrUsedBrowserProcess mechanism.

I know of at least a few timing issues which exist with the new logic,
especially around the state of the BrowsingContext during the process
transition. I decided to not try to fix all of these issues in this patch, as
many are complex and will require changing how we manage the lifecycle of
BrowsingContext substantially. I do, however, think that the new logic is more
reliable and has fewer timing issues than the previous logic.

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

--HG--
extra : moz-landing-system : lando
2019-10-15 16:19:16 +00:00
Narcis Beleuzu
68337a887d Backed out 3 changesets (bug 1575051) for bc failures on browser_browsingContext-getWindowByName.js . CLOSED TREE
Backed out changeset 67aaf4a157af (bug 1575051)
Backed out changeset e01256038537 (bug 1575051)
Backed out changeset 0c8f70f9328b (bug 1575051)
2019-10-14 19:19:05 +03:00
Andreas Farre
e5c730845d Bug 1575051 - Part 1: Remove nsIDocShellTreeItem.findItemWithName. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D46285

--HG--
extra : moz-landing-system : lando
2019-10-14 12:07:14 +00:00
Matt Woodrow
fe675abd66 Bug 1578624 - P6: Add LoadURI to BrowsingContext's webidl. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D44762

--HG--
extra : moz-landing-system : lando
2019-10-11 02:27:14 +00:00
Brian Hackett
2ed60fe6f2 Bug 1580168 Part 1 - Add processID and isParent accessors to ProcessMessageManager, r=nika.
Differential Revision: https://phabricator.services.mozilla.com/D48084

--HG--
extra : moz-landing-system : lando
2019-10-09 20:49:28 +00:00
Nika Layzell
ed104ffa03 Bug 1581925 - Part 1: Capture parent process JSWindowActor events at InProcessBrowserChildMessageManager, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D46864

--HG--
extra : moz-landing-system : lando
2019-10-07 19:35:06 +00:00
Brindusan Cristian
ef3c975bc9 Backed out 11 changesets (bug 1578624) for build bustages. CLOSED TREE
Backed out changeset b22733eb880f (bug 1578624)
Backed out changeset cb5e15489635 (bug 1578624)
Backed out changeset f1746b2f9dec (bug 1578624)
Backed out changeset d08a099a22ff (bug 1578624)
Backed out changeset 8ebd563c72a8 (bug 1578624)
Backed out changeset d8bfec2dc9b6 (bug 1578624)
Backed out changeset 591664928bce (bug 1578624)
Backed out changeset 63f5a619b9ef (bug 1578624)
Backed out changeset ff67cc13cdf3 (bug 1578624)
Backed out changeset 43556c937a09 (bug 1578624)
Backed out changeset 49065a55694d (bug 1578624)
2019-10-09 11:50:37 +03:00
Matt Woodrow
31a0796cdc Bug 1578624 - P6: Add LoadURI to BrowsingContext's webidl. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D44762

--HG--
extra : moz-landing-system : lando
2019-10-09 06:37:51 +00:00
Narcis Beleuzu
3429292547 Backed out 11 changesets (bug 1578624) for bustages on WindowGlobalChild.h . CLOSED TREE
Backed out changeset 478897956ee0 (bug 1578624)
Backed out changeset ab9c09164df0 (bug 1578624)
Backed out changeset f461f10efa46 (bug 1578624)
Backed out changeset 9b958693a003 (bug 1578624)
Backed out changeset 3b8220a15051 (bug 1578624)
Backed out changeset 180407dc57a8 (bug 1578624)
Backed out changeset bb11892e2171 (bug 1578624)
Backed out changeset 4f5c28244290 (bug 1578624)
Backed out changeset 6c02bbe5c1c5 (bug 1578624)
Backed out changeset 1d762fdce921 (bug 1578624)
Backed out changeset 818bc6e20c7d (bug 1578624)

--HG--
extra : histedit_source : ea22e628bf35425402009e9af274602f342a7476
2019-10-09 08:52:25 +03:00
Matt Woodrow
1fc44c3bea Bug 1578624 - P6: Add LoadURI to BrowsingContext's webidl. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D44762

--HG--
extra : moz-landing-system : lando
2019-10-09 04:34:40 +00:00
Kris Maglione
147f1b5141 Bug 1586119: Part 2 - Fix some more tests to almost work under Fission. r=mccr8
These still fail or timeout because of missing platform features, but at least
the tests will pass once those platform features are fixed after this.

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

--HG--
extra : moz-landing-system : lando
2019-10-04 21:50:34 +00:00
Csoregi Natalia
8768a4f5e3 Backed out 7 changesets (bug 1576714) for fission permafailures on test_bug590812.html. a=backout
Backed out changeset d0c49f00eb91 (bug 1576714)
Backed out changeset faecc9f35b49 (bug 1576714)
Backed out changeset 2e156655c31e (bug 1576714)
Backed out changeset eece722082c7 (bug 1576714)
Backed out changeset ebda40f96884 (bug 1576714)
Backed out changeset 7dce423417d8 (bug 1576714)
Backed out changeset 9a5072019168 (bug 1576714)
2019-10-05 00:08:33 +03:00
Nika Layzell
89b22d83ef Bug 1576714 - Part 3: Initiate subframe process switches from the parent, r=kmag
This flips the direction in which the BrowserBridge actor is generally created
such that it is generally created in the parent and sent down to a child
process.

This is done by making the decision about what kind of switch to perform in the
parent, and sending messages down to child processes async to orchestrate these
process changes.

Process launching is changed to use an async `MozPromise`-returning API in this
patch, though the actual process launching still occurs synchronously. A future
patch will enable performing async process launching through the
NewOrUsedBrowserProcess mechanism.

I know of at least a few timing issues which exist with the new logic,
especially around the state of the BrowsingContext during the process
transition. I decided to not try to fix all of these issues in this patch, as
many are complex and will require changing how we manage the lifecycle of
BrowsingContext substantially. I do, however, think that the new logic is more
reliable and has fewer timing issues than the previous logic.

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

--HG--
extra : moz-landing-system : lando
2019-10-03 21:40:24 +00:00
Andrew Swan
93e3b125c8 Bug 1580816 Part 1: Add isPrivileged to WebExtensionPolicy r=zombie
Differential Revision: https://phabricator.services.mozilla.com/D45664

--HG--
extra : moz-landing-system : lando
2019-10-01 23:58:26 +00:00
Brindusan Cristian
950e03660b Backed out 6 changesets (bug 1576714) for build bustages at nsFrameLoaderOwner.cpp. CLOSED TREE
Backed out changeset 083967e704d2 (bug 1576714)
Backed out changeset b3467f1bdde7 (bug 1576714)
Backed out changeset 88e3b4b7fbaf (bug 1576714)
Backed out changeset b91221da32c7 (bug 1576714)
Backed out changeset 6996b7705f06 (bug 1576714)
Backed out changeset a303fc193f60 (bug 1576714)
2019-10-02 04:14:53 +03:00
Nika Layzell
f55d088ec3 Bug 1576714 - Part 3: Initiate subframe process switches from the parent, r=kmag
This flips the direction in which the BrowserBridge actor is generally created
such that it is generally created in the parent and sent down to a child
process.

This is done by making the decision about what kind of switch to perform in the
parent, and sending messages down to child processes async to orchestrate these
process changes.

Process launching is changed to use an async `MozPromise`-returning API in this
patch, though the actual process launching still occurs synchronously. A future
patch will enable performing async process launching through the
NewOrUsedBrowserProcess mechanism.

I know of at least a few timing issues which exist with the new logic,
especially around the state of the BrowsingContext during the process
transition. I decided to not try to fix all of these issues in this patch, as
many are complex and will require changing how we manage the lifecycle of
BrowsingContext substantially. I do, however, think that the new logic is more
reliable and has fewer timing issues than the previous logic.

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

--HG--
extra : moz-landing-system : lando
2019-10-01 18:09:03 +00:00
Brindusan Cristian
35cc00a25c Backed out 2 changesets (bug 1581925) for devtools failures at browser_toolbox_textbox_context_menu.js. CLOSED TREE
Backed out changeset f79a5830bfef (bug 1581925)
Backed out changeset 2e3b0b1cebea (bug 1581925)
2019-10-02 03:04:43 +03:00
Nika Layzell
e549d2cdb8 Bug 1581925 - Part 1: Capture parent process JSWindowActor events at InProcessBrowserChildMessageManager, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D46864

--HG--
extra : moz-landing-system : lando
2019-09-26 21:09:34 +00:00
Boris Zbarsky
e5497b955e Bug 1423562 part 3. Remove [PrimaryGlobal] and require explicit [Exposed] annotations on everything. r=edgar
For review purposes, the important changes are in dom/bindings/Configuration.py
and dom/bindings/parser.

The changes to the IDL files were done by running these in dom/webidl
and dom/bindings/test:

  perl -pi -e 's/^interface ([A-Za-z0-9_]+)($| [:{])/[Exposed=Window]\ninterface \1\2/' *.webidl

  perl -pi -e 'BEGIN { $/ = undef; } s/\[HTMLConstructor\]\n\[Exposed=Window\]/[HTMLConstructor,\n Exposed=Window]/g' *.webidl

  perl -pi -e 'BEGIN { $/ = undef; } s/\[NoInterfaceObject\]\n\[Exposed=Window\]/[NoInterfaceObject,\n Exposed=Window]/g' *.webidl

  perl -pi -e 'BEGIN { $/ = undef; } s/\[ChromeOnly\]\n\[Exposed=Window\]/[ChromeOnly,\n Exposed=Window]/g' *.webidl

And running this in dom/chrome-webidl:

  perl -pi -e 'BEGIN { $/ = undef; } s/\[ChromeOnly\]\ninterface/[ChromeOnly, Exposed=Window]\ninterface/g' *.webidl

and then fixing all the resulting parser failures.  I then verified that the
generated code is the same as before this change.

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

--HG--
extra : moz-landing-system : lando
2019-09-27 15:26:14 +00:00
Bogdan Tara
9adecce6d4 Backed out changeset ac6d8297cdc4 (bug 1581925) for test_bug89419.xul & test_MozDomFullscreen_event.xul failures CLOSED TREE 2019-09-24 21:56:18 +03:00
Boris Zbarsky
e52521c921 Bug 1574195 part 4. Switch remaining users of IDL "implements" over to mixin syntax. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D46523

--HG--
extra : moz-landing-system : lando
2019-09-24 15:22:26 +00:00
Boris Zbarsky
82353a740e Bug 1574195 part 1. Switch message managers from "implements" to IDL mixins. r=peterv
The fact that mixins can't include mixins and can't inherit makes the message
manager setup a bit annoying...

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

--HG--
extra : moz-landing-system : lando
2019-09-24 16:48:36 +00:00
Brindusan Cristian
203fbcd6c8 Backed out 2 changesets (bug 1582716, bug 1575051) for gv-junit failures, new exception. CLOSED TREE
Backed out changeset b5aa3ac4483e (bug 1582716)
Backed out changeset c385531b4ee3 (bug 1575051)
2019-09-24 19:47:00 +03:00
Nika Layzell
e71f3992f5 Bug 1581925 - Capture parent process JSWindowActor events at InProcessBrowserChildMessageManager, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D46864

--HG--
extra : moz-landing-system : lando
2019-09-23 22:31:05 +00:00
Andreas Farre
3977fe175d Bug 1575051 - Remove nsIDocShellTreeItem.findItemWithName. r=kmag
This also allows us to remove TabGroup::FindItemWithName, which is a
big step towards removing TabGroup entirely.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 13:16:26 +00:00