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

785 Коммитов

Автор SHA1 Сообщение Дата
Kagami Sascha Rosylight 9d5beaf069 Bug 1688335 - Remove .length and .name from namespaces r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D102830
2021-01-25 21:47:12 +00:00
Simon Giesecke 1c53236b70 Bug 1679272 - Include ScopeExit.h exactly where used. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D98888
2020-12-07 14:25:59 +00:00
Jan de Mooij a24d6b0558 Bug 1673553 part 67 - Remove JS_NewObjectWithUniqueType. r=iain
We no longer need this API to create singleton objects. It was used to prevent
polluting type information.

Differential Revision: https://phabricator.services.mozilla.com/D98499
2020-12-03 07:54:00 +00:00
Simon Giesecke 6fac745ea4 Bug 1673931 - Remove dependency of BindingUtils.h on Document.h.
Differential Revision: https://phabricator.services.mozilla.com/D95048

Depends on D95047
2020-11-23 16:08:03 +00:00
Simon Giesecke 971b645fe3 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
André Bargull 7e04b39310 Bug 1668785: Remove using declarations from namespace level in Proxy.h. r=mgaudet
The `using` declarations in "Proxy.h" make it act like a second
"NamespaceImports.h", introducing names from `JS` into the `js` namespace.

Remove the `using` declarations from "Proxy.h" and then fix up the breakage by:
- Prepend `JS::` in various header files.
- Add "NamespaceImports.h" in cpp files.
- Add `PropertyDescriptor` to "NamespaceImports.h". There are many unqualified
  references to `PropertyDescriptor`, making it a prime candidate for
  "NamespaceImports.h".

Drive-by changes:
- Use local variables in `CheckProxyFlags()` to make the `static_assert`
  conditions more readable.

Differential Revision: https://phabricator.services.mozilla.com/D92207
2020-10-02 12:51:03 +00:00
Jeff Walden 6d5beafab1 Bug 1663365 - Move various Object-related functions to a new js/public/Object.h header. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D89333
2020-09-08 22:55:38 +00:00
Jeff Walden 49d77af36e Bug 1663365 - Move |JSJitInfo| out of jsfriendapi.h to its own experimental header. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D89332
2020-09-08 22:52:34 +00:00
Jeff Walden b5ec4c7eba Bug 1663365 - Create a new js/public/String.h header seeded with the inline string functions previously found in jsfriendapi.h. (More functions ought be added/moved here, but these make a good start.) r=jandem,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D89330
2020-09-08 22:50:52 +00:00
Kris Maglione 9bbcae0e83 Bug 1658214: Only construct JS-implemented objects if inner window is current. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D86614
2020-08-14 16:02:25 +00:00
Matthew Gaudet f1e25e9043 Bug 1654851 - Correctly handle transplanting objects with private fields r=jorendorff,extension-reviewers,zombie
As part of DOM node adoption they are transplanted, and their expando chains are copied over.

This copying uses JS_CopyPropertiesFrom, which until this patch, cannot see
private fields as they are excluded from property iteration. This patch adds
property iteration for private fields, and renames JS_CopyPropertiesFrom to
JS_CopyOwnPropertiesAndPrivateFields which is more accurate.

The users of this method are all doing object manipulation in ways where
preserving the copied private field is the better default.

In addition to testing DOM nodes explicitly, this patch also adds a jit-test
which uses transplantableObject to test similar things with FakeDOMObjects.

Differential Revision: https://phabricator.services.mozilla.com/D84737
2020-08-11 21:35:40 +00:00
Simon Giesecke 1e02318b49 Bug 1653335 - Replace MakeSpan uses by constructor calls. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D83817
2020-08-07 07:49:47 +00:00
Nathan Froyd 0050523469 Bug 1656359 - eliminate needless string flattening when calling JS_ParseJSON; r=peterv
JS_ParseJSON doesn't require a null-terminated buffer, so we shouldn't have
to provide one.

Differential Revision: https://phabricator.services.mozilla.com/D85475
2020-08-04 14:17:37 +00:00
Jeff Walden 15d7edd1cc Bug 1656411 - Move various stack limit-related functions (including reporting overrecursion) out of jsfriendapi.h to a new header. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D85523
2020-07-31 16:33:40 +00:00
Simon Giesecke 1cd5c68592 Bug 1652002 - Remove some unnecessary includes from BindingUtils.h. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D83098
2020-07-15 15:34:49 +00:00
Simon Giesecke cd8b8939b9 Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Kris Maglione f6b7b4f451 Bug 1645510: Part 1 - Make unprivileged junk scope creation lazy, weak, and fallible. r=mccr8,bholley
Differential Revision: https://phabricator.services.mozilla.com/D79719
2020-06-27 03:06:26 +00:00
Jon Coppeard c53e11c2b2 Bug 1642974 - Don't expose WeakRef targets which are DOM wrappers whose target has been collected r=smaug,sfink
WeakRef targets that are wrappers to DOM objects are preserved when the WeakRef is created.  This checks whether the wrapper is still preserved in deref() and if it is found to have been released, the target is cleared.

The patch adds a new DOMJSClass hook to deal with getting the wrapper cache for non-nsISupports objects.

Differential Revision: https://phabricator.services.mozilla.com/D78061
2020-06-06 06:58:42 +00:00
Olli Pettay 9431f27eb6 Bug 1643635, it is ok to have a cycle collected non-nsISupports class which doesn't inherit nsWrapperCache, r=mccr8,peterv
The method lets one to have nsISupports objects not supporting nsWrapperCache, but non-nsISupports objects are
required to inherit nsWrapperCache because of the assertion.

jonco is adding tests in https://bugzilla.mozilla.org/show_bug.cgi?id=1642974

Differential Revision: https://phabricator.services.mozilla.com/D78478
2020-06-05 15:29:05 +00:00
Gijs Kruitbosch 38b061ef45 Bug 1638373 - remove js/ipc now that CPOWs are dead, r=mccr8
Depends on D76597

Differential Revision: https://phabricator.services.mozilla.com/D76598
2020-05-24 18:47:04 +00:00
Tom Schuster ccaf2b2dac Bug 1635582 - Use DOMIfaceAndProtoJSClass::mToString only for interface objects. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D74445
2020-05-12 10:37:35 +00:00
Simon Giesecke 007d920362 Bug 1626570 - Improve handling of copying arrays in dom/bindings/. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D72341
2020-05-11 08:22:37 +00:00
Tom Schuster f77a3af47a Bug 1277799 - Define @@toStringTag on all DOM interface prototype objects. r=peterv
Instead of manually defining toStringTag we now add the toStringTag symbol to the list of properties.
This is also how we usually define toStringTag in the JS engine.
Even though this changes more code I like this approach better. Everything is centralized in the generated bindings file.

Differential Revision: https://phabricator.services.mozilla.com/D72179
2020-05-05 17:54:51 +00:00
Peter Van der Beken 6c885dbb71 Bug 1629390 - Don't crash when throwing exception with invalid UTF-8. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D73203
2020-04-30 10:25:58 +00:00
Tom Schuster 037471de0d Bug 1633145 - Add PropertyKey::isWellKnownSymbol. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D72537
2020-04-26 17:01:57 +00:00
Tom Schuster 708481e981 Bug 1633145 - Hide internal flags in JSPropertySpec. r=arai
Consumers should not have to care about JSPROP_INTERNAL_USE_BIT.

Differential Revision: https://phabricator.services.mozilla.com/D72528
2020-04-25 14:06:40 +00:00
Jon Coppeard 7cf55278e0 Bug 1425450 - Ensure that we call Drop/HoldJSObjects when a preserved wrapper is changed for one in a different zone r=mccr8
So that we can update the holders table correctly we will need to remove the wrapper from its original vector and add it to the one associated with the new zone.

I tried to make SetPreservingWrapper private but there's still a use in layout/style/Rule.cpp that I couldn't see an obvious fix for.

Differential Revision: https://phabricator.services.mozilla.com/D68521
2020-04-20 17:08:14 +00:00
Andrea Marchesini 3a6775ecf7 Bug 1630947 - Update Reporting API - part 1 - ReportingObserver in workers, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D71317
2020-04-18 12:25:57 +00:00
Cosmin Sabou 948e626a26 Backed out 2 changesets (bug 1630947) for causing build bustages on ReportingObserver.cpp. CLOSED TREE
Backed out changeset 18c357daf0f7 (bug 1630947)
Backed out changeset 6bfed9f2487d (bug 1630947)
2020-04-17 23:16:58 +03:00
Andrea Marchesini aaa72f6ebb Bug 1630947 - Update Reporting API - part 1 - ReportingObserver in workers, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D71317
2020-04-17 19:55:28 +00:00
Bogdan Tara eddea671e7 Backed out 6 changesets (bug 1425450) for hazard failure complaining about nsWrapperCacheInlines CLOSED TREE
Backed out changeset c57ac2e125e8 (bug 1425450)
Backed out changeset 4238c59af7bb (bug 1425450)
Backed out changeset 2a00272e72ba (bug 1425450)
Backed out changeset 3e4a52d596bb (bug 1425450)
Backed out changeset 5da68de67491 (bug 1425450)
Backed out changeset efac091a3ba4 (bug 1425450)
2020-04-06 21:22:51 +03:00
Jon Coppeard eff4a09dd5 Bug 1425450 - Ensure that we call Drop/HoldJSObjects when a preserved wrapper is changed for one in a different zone r=mccr8
So that we can update the holders table correctly we will need to remove the wrapper from its original vector and add it to the one associated with the new zone.

I tried to make SetPreservingWrapper private but there's still a use in layout/style/Rule.cpp that I couldn't see an obvious fix for.

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

--HG--
extra : moz-landing-system : lando
2020-04-06 16:13:51 +00:00
Tom Schuster 97d9a753fc Bug 1170775 - Rename DOM Xray DefineProperty parameter from *defined to *done. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D68721

--HG--
extra : moz-landing-system : lando
2020-04-02 05:44:22 +00:00
Marco Bonardo 2dc20c6432 Bug 1621328 - Move CreateExposableURI into nsIOService. r=Gijs,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D66269

--HG--
extra : moz-landing-system : lando
2020-03-13 12:44:36 +00:00
Boris Zbarsky a2c83198eb Bug 1619114. Convert ThrowErrorMessage to using JS_ReportErrorNumberUTF8Array. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D65350

--HG--
extra : moz-landing-system : lando
2020-03-10 15:13:49 +00:00
Boris Zbarsky c878a8bb26 Bug 1619112 part 2. Pass char literals instead of char16_t literals into ErrorResult throwing methods. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D65538

--HG--
extra : moz-landing-system : lando
2020-03-06 21:04:58 +00:00
Boris Zbarsky 8015d8dbc8 Bug 1619112 part 1. Change the internal storage for ErrorResult errors-with-messages to UTF8 strings. r=smaug
CStringArrayAppender is just a copy of StringArrayAppender with the incoming
types expanded to accept both wide and narrow strings.  Later patches will
remove the wide-string variants incrementally.

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

--HG--
extra : moz-landing-system : lando
2020-03-06 20:54:56 +00:00
Boris Zbarsky da6fb20d19 Bug 1618011 part 8. Switch ByteString conversions to having a method name prefix. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D64889

--HG--
extra : moz-landing-system : lando
2020-03-06 23:05:16 +00:00
Boris Zbarsky 0082f55dee Bug 1618011 part 7. Switch most error messages used in bindings to having a method name prefix. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D64888

--HG--
extra : moz-landing-system : lando
2020-03-06 23:05:16 +00:00
Boris Zbarsky 14b7f5071e Bug 1618011 part 1. Implement support for error context in ThrowErrorMessage. r=peterv
This does not change behavior at the moment, because the only callers of
ThrowErrorMessage that pass an error number that has a context pass an empty
string for the first (context) arg.  Both of those callers are changed to pass
nullptr for the context in this patch.

We want to support nullptr to mean "empty context", because that way at
callsites we can avoid having extra empty strings.

We could avoid putting this machinery in place if we hardcoded the trailing
": " at all the callsites, but that would reduce future flexibility in where the
context is placed in the message string (e.g. if we wanted to move it to the
end instead of the beginning) and increase the amount of string data we have to
cart around in the binary quite noticeably: we have a _lot_ of places in
bindings where we call ThrowErrorMessage.

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

--HG--
extra : moz-landing-system : lando
2020-03-06 23:05:15 +00:00
Arthur Iakab 14247fb057 Backed out 11 changesets (bug 1618011)for Linting failure.
CLOSED TREE

Backed out changeset 8b11ddd8999f (bug 1618011)
Backed out changeset 11df2f359473 (bug 1618011)
Backed out changeset c50121035d50 (bug 1618011)
Backed out changeset 8b8c4c60c34b (bug 1618011)
Backed out changeset b01f8c66110b (bug 1618011)
Backed out changeset 433fdf04058c (bug 1618011)
Backed out changeset 29a9227d08ac (bug 1618011)
Backed out changeset b2dfa2e66d24 (bug 1618011)
Backed out changeset 85650ee945c4 (bug 1618011)
Backed out changeset 278a213e5304 (bug 1618011)
Backed out changeset 9119aeb72ea4 (bug 1618011)
2020-03-07 00:15:57 +02:00
Boris Zbarsky 2564974432 Bug 1618011 part 8. Switch ByteString conversions to having a method name prefix. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D64889

--HG--
extra : moz-landing-system : lando
2020-03-06 20:39:23 +00:00
Boris Zbarsky bc068d0e54 Bug 1618011 part 7. Switch most error messages used in bindings to having a method name prefix. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D64888

--HG--
extra : moz-landing-system : lando
2020-03-06 20:39:10 +00:00
Boris Zbarsky 7b42d528f1 Bug 1618011 part 1. Implement support for error context in ThrowErrorMessage. r=peterv
This does not change behavior at the moment, because the only callers of
ThrowErrorMessage that pass an error number that has a context pass an empty
string for the first (context) arg.  Both of those callers are changed to pass
nullptr for the context in this patch.

We want to support nullptr to mean "empty context", because that way at
callsites we can avoid having extra empty strings.

We could avoid putting this machinery in place if we hardcoded the trailing
": " at all the callsites, but that would reduce future flexibility in where the
context is placed in the message string (e.g. if we wanted to move it to the
end instead of the beginning) and increase the amount of string data we have to
cart around in the binary quite noticeably: we have a _lot_ of places in
bindings where we call ThrowErrorMessage.

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

--HG--
extra : moz-landing-system : lando
2020-03-06 20:29:54 +00:00
Andrew McCreight 4babb2b5ab Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown
Patch by bhackett and jlaster. Also reviewed by mccr8.

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

--HG--
extra : moz-landing-system : lando
2020-02-27 17:39:15 +00:00
Boris Zbarsky f6cdd2b50e Bug 911444 part 4. Expose a print method on PDF viewer windows. r=bholley
The method is exposed only if the consumer has the same principal as the PDF
would have if it were not getting the PDF viewer treatment.

The method just calls the print() method in the PDF viewer window.

It's enough to expose this on nsOuterWindowProxy, not RemoteOuterWindowProxy,
because PDF documents end up in the process they would have been in based on
their pre-PDF-viewer principal, since we do process determination in the parent
process but only run the pdfjs stream converter in the content process, once we
have decided which one to use.

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

--HG--
extra : moz-landing-system : lando
2020-02-27 14:54:53 +00:00
Ciure Andrei 00dd87f6f4 Backed out changeset d407a28318e6 (bug 1609815) for causing windows ming bustages CLOSED TREE
--HG--
extra : histedit_source : b2c748e31e0f6ba8fcf9960a336e0bbd361b07e6
2020-02-27 07:05:19 +02:00
Andrew McCreight b197e1f783 Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown
Patch by bhackett and jlaster. Also reviewed by mccr8.

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

--HG--
extra : moz-landing-system : lando
2020-02-27 04:43:48 +00:00
Tetsuharu OHZEKI bc1492747e Bug 1496147 - part 1: Remove nsAutoPtr usages from dom/bindings. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D64057

--HG--
extra : moz-landing-system : lando
2020-02-25 17:20:34 +00:00
Dorel Luca 1def5d818a Backed out 4 changesets (bug 911444) for Mochitest failures in dom/base/test/test_pdf_print.html. CLOSED TREE
Backed out changeset d156bbaabbd5 (bug 911444)
Backed out changeset a32592af0b11 (bug 911444)
Backed out changeset b96d0a37ed1a (bug 911444)
Backed out changeset fd2e3e8728d9 (bug 911444)
2020-02-25 00:11:50 +02:00