4239ad0cf14733e735a63c3e6677e37b41fe914f: Backout changesets 59c38e3958fe (bug 1485545) and 4017bcbb799d (bug 1485503) to give time to toolchains to build without blocking other landings.
Mike Hommey <mh+mozilla@glandium.org> - Fri, 24 Aug 2018 07:34:56 +0900 - rev 433242
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Backout changesets 59c38e3958fe (bug 1485545) and 4017bcbb799d (bug 1485503) to give time to toolchains to build without blocking other landings.
4017bcbb799df8fc3cb8202969a1c85e5dc1cf94: Bug 1485503 - Avoid ld64 merging static and non-static data with the same name during ThinLTO. r=dmajor
Mike Hommey <mh+mozilla@glandium.org> - Thu, 23 Aug 2018 07:05:15 +0900 - rev 433241
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1485503 - Avoid ld64 merging static and non-static data with the same name during ThinLTO. r=dmajor When different translation units contain the same symbol name, all static, but one of them non-static, ld64 wrongfully link the references to the static data with the non-static data, or vice versa. With libaom and libvpx sharing data structures with the same name but different contents, that leads to interesting failures/crashes at runtime. This was apparently fixed in Apple ld64 from Xcode 9, but the last open sourced version is the one from Xcode 8, so I ended up digging in the ld64 source code and fixed the issue. This work was merged to cctools-port upstream in https://github.com/tpoechtrager/cctools-port/pull/59. For the same reason as invoked in bug 1478917, though, updating to cctools-port master is more involved than just changing a commit sha1 (as it requires building apple-libtapi, which in turn builds parts of LLVM, which should probably be avoided), so just cherry-pick the fix.
59c38e3958fe43fa2c968f729e61f4c41815f47e: Bug 1485545 - Upgrade clang 7 toolchains to rc2. r=dmajor
Mike Hommey <mh+mozilla@glandium.org> - Thu, 23 Aug 2018 11:28:27 +0900 - rev 433240
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1485545 - Upgrade clang 7 toolchains to rc2. r=dmajor It fixes a crash on LTO (https://bugs.llvm.org/show_bug.cgi?id=38597) and contains a backport of r339636.
2bd127de1f05cd8379c279caea727690b847e5b9: Bug 1484496: Part 6 - Remove unused XPCOMUtils.IterSimpleEnumerator method. r=mccr8
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 18:45:57 -0700 - rev 433239
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 6 - Remove unused XPCOMUtils.IterSimpleEnumerator method. r=mccr8 Differential Revision: https://phabricator.services.mozilla.com/D3734
7b496ebb5bbf0c42c3dd64a90022fbadd4005239: Bug 1484496: Part 5e - Convert remaining nsISimpleEnumerator users to use JS iteration. r=mccr8
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 18:13:14 -0700 - rev 433238
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 5e - Convert remaining nsISimpleEnumerator users to use JS iteration. r=mccr8 Differential Revision: https://phabricator.services.mozilla.com/D3733
719523b165252de73b82dda809015d3582fca6af: Bug 1484496: Part 5d - Convert devtools/ nsISimpleEnumerator users to use JS iteration. r=bgrins
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 19:28:37 -0700 - rev 433237
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 5d - Convert devtools/ nsISimpleEnumerator users to use JS iteration. r=bgrins Differential Revision: https://phabricator.services.mozilla.com/D3732
3f1617759de56e327eb0b4edf1c4689a95ad8023: Bug 1484496: Part 5c - Convert mobile/ nsISimpleEnumerator users to use JS iteration. r=snorp
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 19:28:06 -0700 - rev 433236
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 5c - Convert mobile/ nsISimpleEnumerator users to use JS iteration. r=snorp Differential Revision: https://phabricator.services.mozilla.com/D3731
1b53fb2a71a4086d5951b24e4ea0e7f76d9e3669: Bug 1484496: Part 5b - Convert toolkit/ nsISimpleEnumerator users to use JS iteration. r=Gijs
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 19:27:50 -0700 - rev 433235
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 5b - Convert toolkit/ nsISimpleEnumerator users to use JS iteration. r=Gijs Differential Revision: https://phabricator.services.mozilla.com/D3730
6d6c4d5d3097c603e01e366129efccdb667c6254: Bug 1484496: Part 5a - Convert browser/ nsISimpleEnumerator users to use JS iteration. r=Gijs
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 19:27:33 -0700 - rev 433234
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 5a - Convert browser/ nsISimpleEnumerator users to use JS iteration. r=Gijs Differential Revision: https://phabricator.services.mozilla.com/D3729
e8c65dc566057853a19c477e0b30cd9e81d6326b: Bug 1484496: Part 4b - Add intrinsic type information to most nsSimpleEnumerators. r=froydnj
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 21:06:32 -0700 - rev 433233
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 4b - Add intrinsic type information to most nsSimpleEnumerators. r=froydnj This allows JS callers to automatically get the correct types during interation, without having to explicitly specify them. Differential Revision: https://phabricator.services.mozilla.com/D3728
8ca4845423179d1f0a2e929a827014b393564b76: Bug 1484496: Part 4a - Add JS iterator support to nsISimpleEnumerator. r=mccr8
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 16:02:49 -0700 - rev 433232
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 4a - Add JS iterator support to nsISimpleEnumerator. r=mccr8 This patch adds simple stubs to convert between the nsISimpleEnumerator iteration protocol and the JS iteration protocol. Each iterable object is required to have an @@iterator method which returns an object implementing the iterator protocol. The later objects, by convention, also have such a method which returns the object itself. This patch adds both a @@iterator() and entries() methods to nsISimpleEnumerator. The former returns an iterator which returns plain nsISupports objects. The latter accepts an IID and queries each element to that IID before returning it. If any element fails to query, the error is propagated to the caller. Differential Revision: https://phabricator.services.mozilla.com/D3727
15a738855cb06dd495c14fde3c8b54dde513c098: Bug 1484496: Part 3 - Fix nsISimpleEnumerator implementations with broken contracts. r=froydnj
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 18:28:10 -0700 - rev 433231
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 3 - Fix nsISimpleEnumerator implementations with broken contracts. r=froydnj The nsISimpleEnumerator contract specifies that GetNext() returns NS_ERROR_FAILURE when iteration is complete. Several implementations, however, either return NS_OK and a null result, or return some other error code, when iteration is complete. Since my initial implementation of the JS iteration stubs rely on the contract-defined behavior of GetNext(), these need to be fixed before it can land. Differential Revision: https://phabricator.services.mozilla.com/D3726
062e4138bfde6fb0f010d3fabb82b052b2a1b301: Bug 1484496: Part 2 - Add common base class for all nsISimpleEnumerator implementations. r=froydnj
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 14:22:47 -0700 - rev 433230
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 2 - Add common base class for all nsISimpleEnumerator implementations. r=froydnj In order to allow JS callers to use nsISimpleEnumerator instances with the JS iteration protocol, we'll need to additional methods to every instance. Since we currently have a large number of unrelated implementations, it would be best if they could share the same implementation for the JS portion of the protocol. This patch adds a stub nsSimpleEnumerator base class, and updates all existing implementations to inherit from it. A follow-up will add a new base interface to this class, and implement the additional functionality required for JS iteration. Differential Revision: https://phabricator.services.mozilla.com/D3725
10d2e81f3c8a157151bf5cca7133e65458a859eb: Bug 1484496: Part 1 - Add support for symbol properties to XPIDL. r=nika
Kris Maglione <maglione.k@gmail.com> - Tue, 21 Aug 2018 14:08:35 -0700 - rev 433229
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484496: Part 1 - Add support for symbol properties to XPIDL. r=nika This patch allows us to define methods or getters/setters for any of the current set of well-known symbols. Those are defined by adding the [symbol] attribute to a method: [symbol] Iterator iterator(); which causes the method to define a property with the well-known symbol which matches its method name (Symbol.iterator, in this case). Due to the implementation details of the XPIDL parser, this currently does not support defining a non-symbol function with the same name as a symbol function: [symbol] Iterator iterator(); [binaryname(OtherIterator)] Thing iterator(in nsIDRef aIID); throws for a duplicate method name, even though there is no actual conflict. Differential Revision: https://phabricator.services.mozilla.com/D3724
b88f5fa7dca4ba5cb92d9c905f3e52d043977498: Bug 1484373: Part 12 - Use policy object rather than keeping serialized extension data alive. r=mixedpuppy
Kris Maglione <maglione.k@gmail.com> - Sat, 18 Aug 2018 00:10:53 -0700 - rev 433228
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484373: Part 12 - Use policy object rather than keeping serialized extension data alive. r=mixedpuppy Differential Revision: https://phabricator.services.mozilla.com/D3702
812ae71cea4f9c4971a6ef2b40b64eb26ba1feeb: Bug 1484373: Part 11 - Fold mostly-empty DocumentManager singleton into ExtensionManager. r=mixedpuppy
Kris Maglione <maglione.k@gmail.com> - Fri, 17 Aug 2018 22:35:21 -0700 - rev 433227
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484373: Part 11 - Fold mostly-empty DocumentManager singleton into ExtensionManager. r=mixedpuppy Differential Revision: https://phabricator.services.mozilla.com/D3701
091835164b689bd673182068ab7c896cba203449: Bug 1484373: Part 10 - Move some receiveMessage code to ExtensionContent.jsm. r=mixedpuppy
Kris Maglione <maglione.k@gmail.com> - Fri, 17 Aug 2018 22:20:45 -0700 - rev 433226
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484373: Part 10 - Move some receiveMessage code to ExtensionContent.jsm. r=mixedpuppy Differential Revision: https://phabricator.services.mozilla.com/D3700
63c64335cec03809578607164b12ab6b067a52d2: Bug 1484373: Part 9 - Move more extension page matching logic into policy service. r=mixedpuppy
Kris Maglione <maglione.k@gmail.com> - Fri, 17 Aug 2018 22:30:17 -0700 - rev 433225
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484373: Part 9 - Move more extension page matching logic into policy service. r=mixedpuppy Differential Revision: https://phabricator.services.mozilla.com/D3699
1b774e058f1d93b737c4d37f4061e7e2f0449ff8: Bug 1484373: Part 8 - Use generateSingletonFactory for process script singleton. r=mixedpuppy
Kris Maglione <maglione.k@gmail.com> - Fri, 17 Aug 2018 21:23:36 -0700 - rev 433224
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484373: Part 8 - Use generateSingletonFactory for process script singleton. r=mixedpuppy Differential Revision: https://phabricator.services.mozilla.com/D3698
0ac474b385990059335e48c03445e662172bc4d0: Bug 1484373: Part 7 - Minimize duplicated code in process script message handler. r=mixedpuppy
Kris Maglione <maglione.k@gmail.com> - Fri, 17 Aug 2018 21:19:08 -0700 - rev 433223
Push 34501 by toros@mozilla.com at Fri, 24 Aug 2018 09:45:02 +0000
Bug 1484373: Part 7 - Minimize duplicated code in process script message handler. r=mixedpuppy Differential Revision: https://phabricator.services.mozilla.com/D3697
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip