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

47 Коммитов

Автор SHA1 Сообщение Дата
Kris Maglione 69844a6fbb Bug 1441333: Part 3 - Add helper to create a JS error with a saved stack. r=bz
There's no standard way to create a JS error with full stack and location
information from a saved stack. Since we need this functionality in order to
reject promises with useful Error objects, this patch adds a simple helper to
make that possible.

MozReview-Commit-ID: FyGuo4UjfsQ

--HG--
extra : rebase_source : 65ef11c56f23e04ea5eeb87b972bfc8e4867fdd2
2018-03-01 14:00:00 -08:00
Kris Maglione 443f8d0c08 Bug 1441333: Part 1 - Add helper to retrieve closest stack frame with a given principal. r=bz
Most WebExtension APIs are async, and have fairly complicated error reporting
semantics. As a result, when we report an error, the current JS stack has very
little to do with the JS caller that triggered the error, which makes it
difficult to diagnose.

In order to improve the situation, we need to store the location of the caller
at the start of an async operation, so we can tie the error to some marginally
useful location. We don't have a reasonable way to do that now other than
proactively creating an error object when the API is called, or creating a
promise with a full async stack, both of which are too expensive.

This helper instead returns a single SavedStack frame with a given principal,
which should be considerably cheaper, and likely good enough to give a
starting point for debugging cryptic errors.

MozReview-Commit-ID: BTxhpZK9Fdz

--HG--
extra : rebase_source : 7f2c66b1dc18d4ce4c47bef2e3b9d5d3ade929aa
2017-11-11 17:39:16 -08:00
Kris Maglione 68ac13e6b6 Bug 1431533: Part 2 - Add ChromeUtils.defineModuleGetter helper. r=bz
This helper makes it easy to lazily import a JavaScript module the first time
one of its exports is required. It is intended to replace
XPCOMUtils.defineLazyModuleGetter, which has similar functionality but is much
less efficient.

MozReview-Commit-ID: 2zxXYwrn3Dr

--HG--
extra : rebase_source : 998de7388ee03fdec0a0949b4e43bd9169dbb592
extra : histedit_source : 414d0ed1842b2270146d37b2788a56c682d3d695
2018-01-17 19:20:16 -08:00
Boris Zbarsky 68cc4fd46f Bug 1431057 part 1. Add a ChromeUtils.import that does what Cu.import does. r=kmag
MozReview-Commit-ID: IOaL8fdyoGO
2017-12-15 23:30:25 -06:00
David Teller e5c2a5003e Bug 1409852 - Expose an API in ChromeUtils to detect chrome JS dev errors;r=bz
MozReview-Commit-ID: GluMLeQOHTZ

--HG--
extra : rebase_source : 37516c3b76a9eb7821ba66ee46ba3c5c0f659e2e
2017-11-16 10:48:45 +01:00
Csoregi Natalia 9743e10556 Backed out 3 changesets (bug 1409852) for build bustage and failing test_js_dev_error_interceptor.js. r=backout on a CLOSED TREE
Backed out changeset 06368bf1a32c (bug 1409852)
Backed out changeset 46fce9a2622d (bug 1409852)
Backed out changeset 649d7bdf80ad (bug 1409852)
2017-12-21 15:31:27 +02:00
David Teller 9e97d5406a Bug 1409852 - Expose an API in ChromeUtils to detect chrome JS dev errors;r=bz
MozReview-Commit-ID: GluMLeQOHTZ

--HG--
extra : rebase_source : e1551690496cde70d72c4d35c8a57927ed54a68b
2017-11-16 10:48:45 +01:00
Boris Zbarsky 97828fce1d Bug 1415389. Make ChromeUtils a WebIDL namespace. Remove ThreadSafeChromeUtils. r=kmag
MozReview-Commit-ID: 9ysAeaBMNVt
2017-11-08 00:25:33 -05:00
Andrew McCreight 298aa82710 Bug 1412125, part 2 - Fix dom/ mode lines. r=qdot
This was automatically generated by the script modeline.py.

MozReview-Commit-ID: BgulzkGteAL

--HG--
extra : rebase_source : a4b9d16a4c06c4e85d7d85f485221b1e4ebdfede
2017-10-26 15:08:41 -07:00
Kris Maglione 00d7367b44 Bug 1404652: Part 1 - Add ChromeUtils.idleDispatch helper method. r=ehsan
This is similar to Services.tm.idleDispatchToMainThread, but provides an
IdleDeadline argument to its callbacks, the same way that
Window.requestIdleCallback does.

The IdleDeadline argument was necessary for my first attempt at this bug. It's
not necessary for the current version, but I suspect it will be useful in
other areas, and it also avoids some XPConnect overhead, so it's probably
worth keeping.

MozReview-Commit-ID: FtrbNkE7Vz5

--HG--
extra : rebase_source : d28973641e914c8d180f66125669aabc29ab857f
2017-09-23 22:12:32 -07:00
Bobby Holley ef26283b2d Bug 1403397 - Revert: Add a testing API. r=bholley
This reverts commit 4194b7dd8ec748c044a9b8b0967fd9d652ea342c.
2017-10-03 14:05:56 -07:00
Bobby Holley bd4be52f46 Bug 1403397 - Add a testing API. r=bz,r=Manishearth
This will allow us to verify the entire detection pipeline in real nightly
builds, which will give us confidence that real heap corruption will be
detected and reported properly.

MozReview-Commit-ID: 43Fp2HT8RYy
2017-09-28 18:23:15 -07:00
Kris Maglione 13e61f79f9 Bug 1391405: Part 5 - Add helper for retrieving the enumerable value properties of a cross-compartment object. r=gabor,qdot
As part of the normalization process for WebExtension API calls, we need to
extract and validate the full set of value properties (including properties
X-rays would normally deny access to) from cross-compartment objects. This
currently involves waiving X-rays, enumerating property descriptors, and
unwaiving X-rays - all through X-ray wrappers and waivers - and generating a
lot of expensive and short-lived wrappers in-between.

This helper reads out the list of safe properties from within the object's
compartment, and then copies them over to an object in the target compartment,
without any X-ray overhead, or any unnecessary intermediate wrappers or
compartment switches. It cuts about 40% off the overhead of our normalization
code.

MozReview-Commit-ID: H582oAYocaX

--HG--
extra : rebase_source : 7f7d5df605bc6544cb7f1c0c7e224d81b211e09c
extra : histedit_source : f980a03413b5e65fc6fa272c012a769d2764d89b
2017-08-24 13:33:40 -07:00
Kris Maglione 85754fb12a Bug 1391405: Part 1 - Add WebIDL versions of much used Components.utils helpers. r=gabor,qdot
In the code that I'm profiling, the XPC WrappedNative overhead of calling
these functions adds up to about a quarter of the time spent executing the
code. The overhead of the WebIDL versions is negligible.

MozReview-Commit-ID: 30qJy5RtP9d

--HG--
extra : rebase_source : 4fe73f4b9bde052a0eadf7d5634f792e16ca1c94
extra : histedit_source : ec61152a0181f3b0e28023c951e7181c43216d2f
2017-08-18 11:10:10 -07:00
Andrew McCreight 855f08b5d6 Bug 1350435 - Compute snapshot ID in the parent process. r=fitzgen,smaug
The parent and content processes can have different temp directories
when sandboxing is enabled, so the process that creates the file for a
heap snapshot must also determine the snapshot ID.

MozReview-Commit-ID: 2UuncT54NXc

--HG--
extra : rebase_source : 350e49bf7c570abfdde457a89ee8922f8cdb8b7d
2017-03-24 10:34:44 -07:00
Kris Maglione 437f4e37d4 Bug 1333990: Part 1a - Add an async script pre-loading utility. r=billm,shu
MozReview-Commit-ID: 4vJF2drLeHS

--HG--
extra : rebase_source : 8adaa22d6d91ac6ef1804cf4c8d5698cf304b141
2017-03-16 19:10:40 -07:00
Ehsan Akhgari 9b370e9857 Bug 1344974 - Part 2: Make the non-virtual helpers for principal equality/subsumption checks inline; r=bholley 2017-03-07 00:29:27 -05:00
Kris Maglione 7c5ab514b7 Bug 1314361 - Part 5: Remove origin attribute comparison helpers for ignoring addonId. r=bholley 2016-11-04 14:32:26 -07:00
Tim Huang 3e5d172c95 Bug 1319773 - Part 1: Add a SubsumesConsideringDomainIgnoringFPD in BasePrincipal. r=baku
--HG--
extra : rebase_source : db853a600e666cd11a140153536427c1f4e5882c
2017-01-18 20:17:19 +08:00
Andrea Marchesini d5b0cbe35a Bug 1315905 - Cleanup Necko http security check - part 1, r=valentin 2016-11-17 14:52:16 +01:00
Andrea Marchesini dd6cbdac21 Bug 1271516 - Introducing nsIWebNavigation.setOriginAttributesBeforeLoading, r=smaug 2016-06-07 19:59:22 +02:00
Phil Ringnalda 035f8773be Back out 32d16086e85e (bug 1271516) for frequent ChromeUtils::IsOriginAttributesEqual assertin failures
CLOSED TREE
2016-06-06 21:07:42 -07:00
Andrea Marchesini 943c6e667c Bug 1271516 - Introducing nsIWebNavigation.setOriginAttributesBeforeLoading, r=smaug 2016-06-07 00:47:13 +02:00
Kit Cambridge d21d6da5e8 Bug 1256488 - Add a Base64 URL-decoder for C++ and chrome JS callers. r=mt,baku
MozReview-Commit-ID: IrDwImYfHRu

--HG--
extra : rebase_source : ed7da7447e5d70c596234961625fcd4b8139814f
2016-03-22 12:09:04 -07:00
Dave Huseby c01e63f1a5 Bug 1238177 - fix extension content needs to use the correct user context id origin attribute. r=sicking
(HEAD -> oa, refs/patches/oa/Bug_1238177)
Fixes Bug 1238177 -- extension content needs to use the correct user context id origin attribute
2016-04-04 12:20:00 +02:00
Carsten "Tomcat" Book 394034a83e Backed out changeset 0519406b6e57 (bug 1238177) for eslint test failures 2016-04-03 09:30:03 +02:00
Dave Huseby 32251ddc37 Bug 1238177 - Extension content needs to use the correct user context id origin attribute. r=bholley
--HG--
extra : amend_source : f8d3bb6f6b1426ac73669491b651900614f6461c
2016-04-02 13:14:00 -04:00
Dave Huseby 0c0cf070cf Bug 1229222 - add chromeutils for the creation of origin attributes with the correct default values. r=sicking
(HEAD -> oa, refs/patches/oa/Bug_1229222)
Fixes Bug 1229222

--HG--
extra : rebase_source : 299742335452d5b5ac3cf25a3bd2d71ec655049f
2016-02-29 12:26:00 +01:00
Andrea Marchesini ed31fee8d4 Bug 1245184 - nsICookieManager.remove should use the OriginAttributes, r=sicking 2016-02-25 16:41:13 +01:00
Carsten "Tomcat" Book 6b54f0d05b Backed out changeset e4b8bb93313b (bug 1229222) 2016-02-19 15:55:25 +01:00
Carsten "Tomcat" Book f2a98554ec Backed out changeset 27f3968ae8b2 (bug 1245184) 2016-02-19 15:55:23 +01:00
Andrea Marchesini 0a72c5e9e3 Bug 1245184 - CookieManager should remove cookies only if they match the userContextId, r=sicking 2016-02-19 14:49:50 +01:00
Dave Huseby 364ac22ba7 Bug 1229222 - add chromeutils for the creation of origin attributes with the correct default values. r=sicking
(HEAD -> oa, refs/patches/oa/Bug_1229222)
Fixes Bug 1229222
2016-02-18 13:42:00 +01:00
Andrea Marchesini a365470b87 Bug 1235657 - Session storage needs to handle origin attributes correctly - part 1 - createOriginAttributesWithUserContextId, r=huseby 2016-01-06 10:08:30 +00:00
Carsten "Tomcat" Book a22ff2640a Merge mozilla-central to mozilla-inbound 2015-11-17 12:33:46 +01:00
Tom Tromey aaae326704 Bug 1223954 - don't use implicitJSContext for readHeapSnapshot and saveHeapSnapshot; r=bz
--HG--
extra : rebase_source : f0cb852934d896bf56ff40c54981f4936127e1df
2015-11-12 08:51:00 +01:00
Tom Tromey d2046126d5 Bug 1165807 - display WeakSet and WeakMap contents in console; r=bz,fitzgen
--HG--
extra : commitid : 21J7fnJqwm5
extra : rebase_source : 95bf00beb87284b27c22c7497aa73ded0f05bfe2
2015-11-16 06:50:00 -08:00
Tom Tromey 4113691556 Bug 1221292 - move nondeterministicGetWeakMapKeys to ThreadSafeChromeUtils; r=bz 2015-11-11 12:55:00 +01:00
J. Ryan Stinnett 4f1af0e003 Bug 912121 - Update misc. DevTools paths and comments. rs=devtools
--HG--
extra : commitid : BSf4D59s9HF
extra : rebase_source : 4d14e1aa3ad93bbb426861336e8b703bc1e0b3af
2015-09-21 12:07:31 -05:00
Nick Fitzgerald ed6ed51a16 Bug 1201597 - Part 0: Make saveHeapSnapshot return the file path rather than take it as a parameter; r=bholley
This changeset modifies the ThreadSafeChromeUtils::saveHeapSnapshot webidl
method to return the path to the core dump file where the heap snapshot was
serialized rather than taking the file path as a parameter.

By removing the ability for callers to choose a path, we pave the way for
enabling taking heap snapshots in sandboxed child processes (e10s, fxos) that do
not have access to the filesystem directly and must be handed a file descriptor
over IPDL. Additionally, the devtools API consumers were not taking advantage of
the ability to choose a file path, and always saving heap snapshots into the
temp directory anyways.
2015-09-15 11:26:46 +05:30
Bobby Holley b4fdabe37d Bug 1182347 - Remove nsIPrincipal::cookieJar. r=sicking 2015-07-14 19:56:33 -07:00
Bobby Holley 8397689ce8 Bug 1182347 - Implement OriginAttributesPattern. r=sicking,f=allstars.chh 2015-07-14 19:56:32 -07:00
Birunthan Mohanathas a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Nikhil Marathe b8eea4d16b Bug 1166350 - Push fixes for principals. r=kitcambridge,bholley
Fix xpcshell tests.
Add support for webapps-clear-data.
Trash old regs on idb version upgrade.
Use principal for permission check.
use principal in PushSubscription.

--HG--
extra : source : d7554019b424327a3271e2c0debda995fff36cb5
extra : intermediate-source : be40dea6534771bdeedc9f7c6ccd8bbddb6e41c2
2015-06-24 13:34:54 -07:00
Ryan VanderMeulen c01c5195c9 Backed out changeset 98c7277a8fb5 (bug 1166350) for xpcshell failures. 2015-06-24 16:10:45 -04:00
Nikhil Marathe bd635e2c8a Bug 1166350 - Push fixes for principals. r=kitcambridge,bholley
Fix xpcshell tests.
Add support for webapps-clear-data.
Trash old regs on idb version upgrade.
Use principal for permission check.
use principal in PushSubscription.

--HG--
extra : rebase_source : 3b8cb541512d3fb9a253773c2fd5227c980efdd2
extra : source : d7554019b424327a3271e2c0debda995fff36cb5
2015-06-02 15:56:33 -07:00
Nick Fitzgerald 62833156b6 Bug 1149294 - Part 3: Split thread-safe methods on ChromeUtils out into a new
ThreadSafeChromeUtils interface and move the utils interfaces into dom/base;
r=bholley

--HG--
rename : dom/webidl/ChromeUtils.webidl => dom/webidl/ThreadSafeChromeUtils.webidl
2015-06-17 11:12:23 -07:00