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

4578 Коммитов

Автор SHA1 Сообщение Дата
Timothy Guan-tin Chien dab48182aa Bug 1431255 - Part V, Set the reflectors of the UA Widget DOM to UA Widget Scope r=bholley
The DOM elements within the UA Widget Shadow DOM should have its reflectors in
the UA Widget Scope. This is done by calling nsINode::IsInUAWidget() which
would check its containing shadow and its UA Widget bit.

To prevent JS access of the DOM element before it is in the
UA Widget Shadom DOM tree, various DOM methods are set to inaccessible to
UA Widget script. It would need to use the two special methods in ShadowRoot
instead to insert the DOM directly into the shadow tree.

MozReview-Commit-ID: Jz9iCaVIoij

--HG--
extra : rebase_source : b7b17be68dcde00cfeb207cb39cf16b486f2ab02
2018-06-29 13:39:46 -07:00
Dave Townsend fd8d6b1590 Bug 1480465: Infer the namespace for custom elements at definition time by following the class hierarchy. r=smaug
When a custom element is defined we can check whether its class is an instance
of XULElement or HTMLElement and tag the defintion with a namespace accordingly.
This allows us to know the correct namespace for the custom element when
created.

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

--HG--
extra : moz-landing-system : lando
2018-08-15 10:31:16 +00:00
Kris Maglione 6b594aefe4 Bug 1480244: Part 1b - Rename nsInProcessTabChildGlobal to InProcessTabChildMessageManager. r=bz
MozReview-Commit-ID: GgleVt1tXTG

--HG--
rename : dom/base/nsInProcessTabChildGlobal.cpp => dom/base/InProcessTabChildMessageManager.cpp
rename : dom/base/nsInProcessTabChildGlobal.h => dom/base/InProcessTabChildMessageManager.h
extra : rebase_source : c0a595cb31c98952e9586830c8d1cee9f9d4c62b
2018-08-10 14:08:07 -07:00
Kris Maglione ee36f9afd8 Bug 1480244: Part 1a - Rename ProcessGlobal to ContentProcessMessageManager. r=bz
After these patches, these objects will no longer be globals, which would make
their current names misleading. Parts 1a-1c give more appropriate names to the
bindings which will cease to be globals.

MozReview-Commit-ID: L8GolQaHnO5

--HG--
rename : dom/base/ProcessGlobal.cpp => dom/base/ContentProcessMessageManager.cpp
rename : dom/base/ProcessGlobal.h => dom/base/ContentProcessMessageManager.h
extra : rebase_source : c5db43ff4f56bc27c869a8051c8d2c000b3fe287
2018-08-02 15:03:50 -07:00
Kris Maglione 672f5e6524 Bug 1472491: Part 2b - Add MozDocumentObserver class to notify on new pattern-matched documents. r=zombie
MozReview-Commit-ID: 29CsJ2mya36

--HG--
extra : rebase_source : 08d419d7ba9516c0c1831c53ec1fa23b738eb777
extra : source : 52562e8d57a8d2973cfaca9c350b6727996df39f
2018-07-31 21:50:34 -07:00
Kris Maglione cdd41d5705 Bug 1472491: Part 2a - Split matching logic for content scripts into MozDocumentMatcher base class. r=zombie
MozReview-Commit-ID: JAOWZcB4hZW

--HG--
extra : rebase_source : 35847d616bd2f04f1d82788f76649b8acb5c1090
extra : source : 466c39fc8af5170ea39d19d6d7aa13b8fe5cd838
2018-04-18 14:02:15 -07:00
Boris Zbarsky 4af64d8709 Bug 1479793. Throw when someone tries to define an accessor property with an integer name on a DOM proxy with an indexed setter. r=qdot,jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D2571

--HG--
extra : moz-landing-system : lando
2018-08-10 17:04:58 +00:00
Himanshu Teli aaafbca72c Bug 1462537. Add WebIDL parser tests for the concept of JSON type. r=bzbarsky 2018-08-09 18:41:55 +05:30
Jan de Mooij 2c9cefda61 Bug 1480678 part 11 - Wrap the typed array in the current compartment instead of entering its realm in WriteStructuredCloneImageData. r=bz
This is also better security-wise: if we're writing the structured clone in some compartment that shouldn't have access to the underlying data of the ImageData, we shouldn't be giving that access here.
2018-08-09 10:48:29 +02:00
Neil Deakin 752b1696e5 Bug 1473026, remove the now unused selectionRegion from TreeBoxObject, r=paolo,bz 2018-08-07 09:32:07 -04:00
Olli Pettay b89a51dc36 Bug 1451172, fallback to current global in FindAssociatedGlobal when nsIGlobalObject doesn't have JS object anymore, r=bz
--HG--
extra : rebase_source : f5c520bd4019e6a8b940307355c68135e7e0cb9c
2018-08-08 09:07:47 +03:00
Jan de Mooij 4af62d6c9e Bug 1480678 part 7 - Use CallbackObject's callback global for realm entering in more places. r=bz 2018-08-07 14:06:44 +02:00
Jan de Mooij 5824a03a39 Bug 1478359 - Store a global object in nsXPCWrappedJS and use it for realm-entering. r=mccr8
The problem we're solving here: getting/entering the realm/global of a cross-compartment wrapper doesn't make sense once there are multiple realms in a compartment and the CCW will be shared by all of them. Because nsXPCWrappedJS can store a CCW, we will no longer be able to use this JSObject to enter the target realm.

What this patch does: we pass a JSContext* to nsXPCWrappedJS::GetNewOrUsed and we use this to store a global object in nsXPCWrappedJS (with the invariant that the object and global stored in nsXPCWrappedJS are same-compartment). Then when we want to enter the nsXPCWrappedJS's target realm, we use this global object instead of the maybe-CCW object. Because we currently still have one realm per compartment and the objects are same-compartment, this is guaranteed to preserve behavior for now.

nsXPCWrappedJS has some code to deal with weak pointers. Fortunately this applies only to root wrappers and root wrappers always store an unwrapped JSObject, so the extra global we store is guaranteed to be marked by the GC in that case (a global object is never collected when there are live JSObjects belonging to the same realm).
2018-08-07 11:57:41 +02:00
Brian Hackett 8eb62dd065 Bug 1479058 Part 8 - Store time warp target on nsIScriptError, r=smaug.
--HG--
extra : rebase_source : 1faf5a0c0ead57f5dfb24c7450873977bf41a022
2018-08-02 23:31:29 +00:00
Jan de Mooij e4ef338836 Bug 1480678 part 5 - Use nsScriptErrorWithStack's stack global in ConsoleListener::Observe. r=bz 2018-08-04 15:30:40 +02:00
Jan de Mooij ff502e7cc6 Bug 1480678 part 4 - Use current global as conversion scope in the Xray case when wrapping the return value in generated bindings. r=bz 2018-08-04 15:30:40 +02:00
Boris Zbarsky f771d7e529 Bug 1477923. Make WebIDL callbacks store a global in addition to the object that's used as a callback. r=mccr8
We want to be able to enter the Realm we were in when the callback was created
before calling it, but if the callback stores a cross-compartment wrapper we
don't really have a good way to find that Realm.  So we store it explicitly by
storing a global when the callback is created.

The changes to the constructor signatures to use JSObject* instead of
JS::Handle<JSObject*> are so we can avoid having to root the global for these
calls.  These changes make two of the constructors ambiguous when nullptr is
being passed for the first arg; this patch adds casts to disambiguate.
2018-08-03 17:11:39 -04:00
Narcis Beleuzu 4684ccf98e Merge inbound to mozilla-central. a=merge 2018-08-03 01:28:14 +03:00
Brian Hackett 9c328e6212 Bug 1479644 - Don't clear wrapper cache during finalization when replaying, r=bz.
--HG--
extra : rebase_source : 1669ac527632cb282f7fba4db76572a5c1c166c7
2018-07-31 19:28:39 +00:00
Dave Townsend 0f27a04f08 Bug 1480195: Allow writing custom element definitions for the special XUL elements. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D2430

--HG--
extra : moz-landing-system : lando
2018-08-02 14:49:04 +00:00
Jan de Mooij b79494e142 Bug 1479363 part 2 - Use JSAutoRealm instead of JSAutoRealmAllowCCW in dom/bindings. r=bz 2018-08-02 08:48:50 +02:00
Jan de Mooij 84036b8de4 Bug 1474272 part 4 - Stop using js::GetGlobalForObjectCrossCompartment in xpc::NativeGlobal. r=bholley 2018-08-01 11:25:50 +02:00
Jan de Mooij 47c842b8ff Bug 1474272 part 1 - Remove unused WrappedJSToDictionary. r=bz 2018-08-01 11:25:49 +02:00
Anny Gakhokidze 469c8c4a94 Bug 1461465 - Implement async Clipboard APIs, r=nika,r=enndeakin
MozReview-Commit-ID: 3vCxbaGZtiv
2018-07-31 13:13:02 -04:00
Jan de Mooij 6e34ef61c4 Bug 1478955 part 4 - Use JSAutoRealm in Codegen.py in a few places. r=bz 2018-07-28 12:16:12 +02:00
Jan de Mooij 80adc67aba Bug 1478955 part 1 - Rename JSAutoRealm to JSAutoRealmAllowCCW. r=luke 2018-07-28 12:12:26 +02:00
Boris Zbarsky 057c310979 Bug 1478890. Stop using ToXPCOMCallback in GetUserMedia code. r=jib
We don't want to expose nsXPCWrappedJS to the web, and this code is doing that.
2018-07-28 00:40:26 -04:00
Jeff Gilbert 0e128a3868 Bug 1470985 - s/PodEqual/ArrayEqual/ from ArrayUtils.h. - r=waldo
We can't use memcmp to compare PODs, largely because of undefined
padding. The rest of the Pod* functions are fine though, since we're
replicating or zeroing PODs.

MozReview-Commit-ID: LSspAi8qCWw
2018-07-27 14:11:18 -07:00
Boris Zbarsky 575eb424f0 Bug 1476145 part 1. Add a getter to get the nsIDOMWindowUtils from a window. r=nika
The new attribute is not [Cached] because we would need to bump
JSCLASS_GLOBAL_APPLICATION_SLOTS for that and it's not obvious that we should do
that.
2018-07-24 19:47:40 -04:00
Brian Hackett 52b33afe4e Bug 1207696 Part 7 - Ensure deterministic interaction of GC with CC and object references, r=smaug.
--HG--
extra : rebase_source : 5d9e7ebd1dc242ca648193ed1f27ae91d19006de
2018-07-23 14:46:37 +00:00
Boris Zbarsky 558221f121 Bug 1476136. "JSON type" determination for IDL dictionaries should look at inherited dictionary members too. r=qdot 2018-07-23 16:33:31 -04:00
Brindusan Cristian dcbbf37b84 Backed out changeset 7b42110e827b (bug 1461465) for android mochitest failures on test_ext_async_clipboard.html. CLOSED TREE 2018-07-23 22:11:26 +03:00
Anny Gakhokidze 05520e664b Bug 1461465 - Implement async Clipboard APIs, r=nika,enndeakin
MozReview-Commit-ID: 3vCxbaGZtiv
2018-07-23 13:41:07 -04:00
Cosmin Sabou 3144e04a98 Backed out changeset 86bce8df5152 (bug 1461465) for build bustages on dom/Clipboard.h. CLOSED TREE 2018-07-23 19:16:37 +03:00
Anny Gakhokidze 2e0358b999 Bug 1461465 - Part 1: Implement async Clipboard APIs, r=nika,enndeakin
MozReview-Commit-ID: 3vCxbaGZtiv
2018-07-23 11:59:13 -04:00
Jan de Mooij 30d5135f62 Bug 1475559 part 6 - Add principals argument to SavedFrame APIs and do frame filtering based on it. r=bz
This removes AutoMaybeEnterFrameRealm. Most places pass cx->realm->principals: it preserves behavior when the (possibly wrapped) SavedFrame and cx are same-compartment. The main exception is the JSStackFrame DOM bindings code where we have to be a bit smarter about which principals to use.
2018-07-21 14:34:58 +02:00
Jan de Mooij 8c93c6e9e8 Bug 1475559 part 5 - Pass a global object to nsScriptErrorWithStack. r=bz
The stack object might be a CCW and we want to make it impossible to get a CCW's global. Now the caller has to supply a same-compartment global object, so we no longer rely on getting the CCW's global.
2018-07-21 14:34:37 +02:00
Jan de Mooij 3536a9cbcb Bug 1475559 part 3 - Add JS::IsUnwrappedSavedFrame and assert this in JSStackFrame's constructor. r=bz 2018-07-21 14:33:22 +02:00
Kris Maglione 72ae1375d1 Bug 1472342: Part 1 - Properly support iterator getters which need JSContexts. r=bz
The IterableIterator helper currently only supports iterator methods which
return types which are supported by ToJSValue, but do not need a JSContext* to
construct them. That means that getters which need to return native JS objects
or values can't do so safely, or without resorting to hacks.

This patch adds templated helpers which will call a JSContext-accepting,
JS::Value-returning version of the getter methods if they exist, and fall back
to the simpler versions if they don't.

MozReview-Commit-ID: hedZOc3lqR

--HG--
extra : rebase_source : b92cdc3900b3c9bee41836af4d4b9f4e65f3d5f6
2018-07-18 13:09:04 -07:00
Andrea Marchesini a053cf1c15 Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 1 - NullPrincipal, r=ckerschb 2018-07-17 21:37:48 +02:00
Csoregi Natalia b220f0c0d3 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-07-14 12:45:25 +03:00
Andi-Bogdan Postelnicu 6ab86028d3 Bug 1475515 - Remove member initialization for union Extra::mMessage. r=bz
MozReview-Commit-ID: GgJyXg5KxQm

--HG--
extra : rebase_source : 4a0e0137c1545b96aab9c436c42274db1c393a0a
2018-07-13 14:39:12 +03:00
Margareta Eliza Balazs 448f792f96 Merge inbound to mozilla-central. a=merge 2018-07-13 11:52:00 +03:00
Andreea Pavel 10f6df7c1f Merge mozilla-central to autoland. a=merge on a CLOSED TREE
--HG--
rename : dom/webidl/ScrollBoxObject.webidl => dom/chrome-webidl/XULScrollElement.webidl
rename : layout/xul/ScrollBoxObject.cpp => dom/xul/XULScrollElement.cpp
rename : layout/xul/ScrollBoxObject.h => dom/xul/XULScrollElement.h
2018-07-13 00:53:43 +03:00
Emma Malysz ce8c74748f Bug 1454358, removes unneccessary implementation of ScrollBoxObject rr?enndeakin+6102 r=bz,enndeakin+6102
MozReview-Commit-ID: LBQ0RoS0ZVc

--HG--
rename : dom/webidl/ScrollBoxObject.webidl => dom/chrome-webidl/XULScrollElement.webidl
rename : layout/xul/ScrollBoxObject.cpp => dom/xul/XULScrollElement.cpp
rename : layout/xul/ScrollBoxObject.h => dom/xul/XULScrollElement.h
extra : rebase_source : 6a0de76dfdacbc29d261a4aea703a44f87ad7e12
2018-06-25 10:11:31 -07:00
Kris Maglione 8316d5a0c0 Bug 1463587: Part 3 - Add bindings for SharedMap, and expose it via process message managers. r=erahm,baku,bz
This is the first basic implementation of a shared-memory key-value store for
JS message managers. It has one read-write endpoint in the parent process, and
separate read-only endpoints for each child-process message manager.

Changes to the parent endpoint are broadcast to the children as snapshots.
Each snapshot triggers a "change" event with a list of changed keys.

It currently has the following limitations:

- It only supports basic structured clone data. There's no support for blobs,
  input streams, message ports... Blob support will be added in a follow-up
  patch.

- Changes are currently only broadcast to child endpoints when flush() is
  explicitly called in the parent, or when new child processes are launched.
  In a follow-up, this will be changed to automatically flush after changes
  when the event loop is idle.

- All set operations clone their inputs synchronously, which means that
  there's no trivial way for callers to batch multiple changes to a single key
  without some additional effort. It might be useful to add a
  delayed-serialization option to the .set() call in a follow-up, for callers
  who are sure they know what they're doing.

MozReview-Commit-ID: IM8a3UgejXU

--HG--
extra : rebase_source : 66c92d538a5485349bc789028fdc3a6806bc5d5a
extra : source : 2ebaf5f8c6055b11b11d7ec334d54ee941115d48
2018-06-29 14:55:27 -07:00
Boris Zbarsky c360173249 Bug 1475065 part 12. Stop using nsIDOMOfflineResourceList in bindings. r=nika 2018-07-13 15:42:07 -07:00
Bogdan Tara 6dbc2726d8 Backed out changeset b099e7e0b264 (bug 1454358) for build bustages on Element.h CLOSED TREE
--HG--
rename : dom/chrome-webidl/XULScrollElement.webidl => dom/webidl/ScrollBoxObject.webidl
rename : dom/xul/XULScrollElement.cpp => layout/xul/ScrollBoxObject.cpp
rename : dom/xul/XULScrollElement.h => layout/xul/ScrollBoxObject.h
2018-07-12 01:50:53 +03:00
Emma Malysz c28a132d13 Bug 1454358, removes unneccessary implementation of ScrollBoxObject rr?enndeakin+6102 r=bz,enndeakin+6102
MozReview-Commit-ID: LBQ0RoS0ZVc

--HG--
rename : dom/webidl/ScrollBoxObject.webidl => dom/chrome-webidl/XULScrollElement.webidl
rename : layout/xul/ScrollBoxObject.cpp => dom/xul/XULScrollElement.cpp
rename : layout/xul/ScrollBoxObject.h => dom/xul/XULScrollElement.h
extra : rebase_source : ad00e7030e50229975b0bc0d3c622af4fe244a79
2018-06-25 10:11:31 -07:00
Boris Zbarsky 8f7c90d6be Bug 1473149. Add an external string variant that keeps a DynamicAtom alive. r=njn,rwood
The change to call AsStatic() in SetKnownLiveAtom is drive-by performance cleanup.
2018-07-10 11:21:42 -07:00