searching for reviewer(nika)
98adabf295d0: Bug 1542415 - Pref on frameloader rebuilding by default; r!nika r=nika
Kyle Machulis <kyle@nonpolynomial.com> - Fri, 19 Apr 2019 20:49:36 +0000 - rev 470254
Push 35891 by rgurzau@mozilla.com at Sat, 20 Apr 2019 09:35:22 +0000
Bug 1542415 - Pref on frameloader rebuilding by default; r!nika r=nika Turn on frameloader rebuilding on process switch for all browsers. Differential Revision: https://phabricator.services.mozilla.com/D27805
212b47017571: Bug 1545268 - Add a missing declaration of Document. r=nika
Boris Chiou <boris.chiou@gmail.com> - Wed, 17 Apr 2019 23:44:14 +0000 - rev 469958
Push 35884 by apavel@mozilla.com at Thu, 18 Apr 2019 21:35:00 +0000
Bug 1545268 - Add a missing declaration of Document. r=nika Differential Revision: https://phabricator.services.mozilla.com/D27973
a49a58dae129: Bug 1542415 - Pref on frameloader rebuilding by default r=nika
Kyle Machulis <kyle@nonpolynomial.com> - Tue, 16 Apr 2019 20:20:12 +0000 - rev 469733
Push 35880 by cbrindusan@mozilla.com at Wed, 17 Apr 2019 09:36:19 +0000
Bug 1542415 - Pref on frameloader rebuilding by default r=nika Turn on frameloader rebuilding on process switch for all browsers. Differential Revision: https://phabricator.services.mozilla.com/D27805
34062ef2307c: Bug 1527380 - Use BrowsingContext to determine whether a document is top-level content. r=nika
Ryan Hunt <rhunt@eqrion.net> - Tue, 09 Apr 2019 11:22:20 -0500 - rev 469603
Push 35875 by ccoroiu@mozilla.com at Tue, 16 Apr 2019 04:06:16 +0000
Bug 1527380 - Use BrowsingContext to determine whether a document is top-level content. r=nika Differential Revision: https://phabricator.services.mozilla.com/D27581
1ed5db9c200a: Bug 1523636 - Create BrowsingContext in nsFrameLoader. r=nika,qdot
Andreas Farre <farre@mozilla.com> - Mon, 15 Apr 2019 15:14:54 +0000 - rev 469508
Push 35873 by ccoroiu@mozilla.com at Mon, 15 Apr 2019 21:36:26 +0000
Bug 1523636 - Create BrowsingContext in nsFrameLoader. r=nika,qdot Differential Revision: https://phabricator.services.mozilla.com/D25039
12d67626c02a: Bug 1541038 - Part 1: Sync a BrowsingContext to it's groups. r=nika
Andreas Farre <farre@mozilla.com> - Fri, 12 Apr 2019 19:00:24 +0000 - rev 469502
Push 35873 by ccoroiu@mozilla.com at Mon, 15 Apr 2019 21:36:26 +0000
Bug 1541038 - Part 1: Sync a BrowsingContext to it's groups. r=nika Differential Revision: https://phabricator.services.mozilla.com/D27317
148e810b01d2: Bug 1542664 - Make TabChild use mozilla::PresShell directly rather than via nsIPresShell r=nika
Masayuki Nakano <masayuki@d-toybox.com> - Sat, 13 Apr 2019 01:53:10 +0000 - rev 469386
Push 35865 by apavel@mozilla.com at Sat, 13 Apr 2019 21:44:49 +0000
Bug 1542664 - Make TabChild use mozilla::PresShell directly rather than via nsIPresShell r=nika This patch makes `TabChild` use `mozilla::PresShell` directly. Then, renames `TabChild::GetPresShell()` and `TabChild::GetDocument()` to `TabChild::GetTopLevelPresShell()` and `TabChild::GetTopLevelDocument()` to make what they do clearer (e.g., see the change in `PresShell.cpp`). Differential Revision: https://phabricator.services.mozilla.com/D26455
b2f79b98021d: Bug 1539979 - Set type=content for DevTools toolbox frames when rebuild_frameloaders_on_remoteness_change is true;r=bgrins,nika
Julian Descottes <jdescottes@mozilla.com> - Wed, 10 Apr 2019 01:04:38 +0000 - rev 468786
Push 35850 by dvarga@mozilla.com at Wed, 10 Apr 2019 21:52:56 +0000
Bug 1539979 - Set type=content for DevTools toolbox frames when rebuild_frameloaders_on_remoteness_change is true;r=bgrins,nika Depends on D26317 Differential Revision: https://phabricator.services.mozilla.com/D26319
805db49d7a1b: Bug 1530303 - Remove xpcshell-test for crossOriginOpenerPolicy since it can't work with browsingContexts r=nika
Valentin Gosu <valentin.gosu@gmail.com> - Tue, 09 Apr 2019 20:11:03 +0000 - rev 468677
Push 35845 by ncsoregi@mozilla.com at Wed, 10 Apr 2019 09:58:56 +0000
Bug 1530303 - Remove xpcshell-test for crossOriginOpenerPolicy since it can't work with browsingContexts r=nika Differential Revision: https://phabricator.services.mozilla.com/D24898
390abfcb3b30: Bug 1530303 - Remove nsIHttpChannelInternal.setTopWindowPrincipal r=nika
Valentin Gosu <valentin.gosu@gmail.com> - Tue, 09 Apr 2019 20:10:51 +0000 - rev 468676
Push 35845 by ncsoregi@mozilla.com at Wed, 10 Apr 2019 09:58:56 +0000
Bug 1530303 - Remove nsIHttpChannelInternal.setTopWindowPrincipal r=nika Since it wasn't reliable, we remove the topWindowPrincipal in favor of WindowGlobalParent->DocumentPrincipal() Differential Revision: https://phabricator.services.mozilla.com/D24897
e63fb502dc78: Bug 1530303 - Use CanonicalBrowsingContext->CurrentWindowGlobal->DocumentPrincipal to get the topLevelWindowPrincipal r=nika
Valentin Gosu <valentin.gosu@gmail.com> - Tue, 09 Apr 2019 20:10:33 +0000 - rev 468675
Push 35845 by ncsoregi@mozilla.com at Wed, 10 Apr 2019 09:58:56 +0000
Bug 1530303 - Use CanonicalBrowsingContext->CurrentWindowGlobal->DocumentPrincipal to get the topLevelWindowPrincipal r=nika The principal we got from the child process was always a null principal, which was wrong. This approach seems to give you the actual principal of the current document. Differential Revision: https://phabricator.services.mozilla.com/D24895
646b72163f00: Bug 1530303 - Put CrossOriginOpenerPolicy in BrowsingContext r=nika
Valentin Gosu <valentin.gosu@gmail.com> - Tue, 09 Apr 2019 20:10:13 +0000 - rev 468674
Push 35845 by ncsoregi@mozilla.com at Wed, 10 Apr 2019 09:58:56 +0000
Bug 1530303 - Put CrossOriginOpenerPolicy in BrowsingContext r=nika Differential Revision: https://phabricator.services.mozilla.com/D23935
72cd1518eddf: Bug 1530303 - Add test for multiple COOP header navigations r=nika
Valentin Gosu <valentin.gosu@gmail.com> - Tue, 09 Apr 2019 20:09:55 +0000 - rev 468673
Push 35845 by ncsoregi@mozilla.com at Wed, 10 Apr 2019 09:58:56 +0000
Bug 1530303 - Add test for multiple COOP header navigations r=nika Differential Revision: https://phabricator.services.mozilla.com/D23934
a9fe791a62cc: Bug 1539012 - Don't assert when setting opener on a closed window. r=nika
Andreas Farre <farre@mozilla.com> - Tue, 09 Apr 2019 11:56:04 +0000 - rev 468535
Push 35841 by csabou@mozilla.com at Tue, 09 Apr 2019 16:23:02 +0000
Bug 1539012 - Don't assert when setting opener on a closed window. r=nika Differential Revision: https://phabricator.services.mozilla.com/D26495
6e52132e8482: Bug 1532901 - Fix event.screenX and event.screenY inside out-of-process iframes. r=nika
Henri Sivonen <hsivonen@hsivonen.fi> - Tue, 09 Apr 2019 10:26:31 +0000 - rev 468524
Push 35841 by csabou@mozilla.com at Tue, 09 Apr 2019 16:23:02 +0000
Bug 1532901 - Fix event.screenX and event.screenY inside out-of-process iframes. r=nika Differential Revision: https://phabricator.services.mozilla.com/D25582
6c91075dffe6: Bug 1540665 - Propagate chrome flags to out-of-process iframes. r=nika
Henri Sivonen <hsivonen@hsivonen.fi> - Mon, 08 Apr 2019 21:22:58 +0000 - rev 468495
Push 35841 by csabou@mozilla.com at Tue, 09 Apr 2019 16:23:02 +0000
Bug 1540665 - Propagate chrome flags to out-of-process iframes. r=nika Differential Revision: https://phabricator.services.mozilla.com/D26500
d76b42f0d6ca: Bug 1523636 - Create BrowsingContext in nsFrameLoader. r=nika,qdot
Andreas Farre <farre@mozilla.com> - Mon, 08 Apr 2019 08:21:40 +0000 - rev 468340
Push 35833 by dvarga@mozilla.com at Mon, 08 Apr 2019 16:16:26 +0000
Bug 1523636 - Create BrowsingContext in nsFrameLoader. r=nika,qdot Differential Revision: https://phabricator.services.mozilla.com/D25039
272a1013a0eb: Bug 1537910 - Attach BrowsingContexts in content when created by parent. r=nika
Andreas Farre <farre@mozilla.com> - Thu, 04 Apr 2019 16:17:47 +0000 - rev 468339
Push 35833 by dvarga@mozilla.com at Mon, 08 Apr 2019 16:16:26 +0000
Bug 1537910 - Attach BrowsingContexts in content when created by parent. r=nika Differential Revision: https://phabricator.services.mozilla.com/D25038
33a0828dfcfa: Bug 1542204 - Normalize "_blank" to "" before calling SendCreateWindowInDifferentProcess. r=nika
Andreas Farre <farre@mozilla.com> - Fri, 05 Apr 2019 20:14:03 +0000 - rev 468323
Push 35833 by dvarga@mozilla.com at Mon, 08 Apr 2019 16:16:26 +0000
Bug 1542204 - Normalize "_blank" to "" before calling SendCreateWindowInDifferentProcess. r=nika Differential Revision: https://phabricator.services.mozilla.com/D26300
c8d5b5dfc863: Bug 1471598 - Assert valid browsing context modifications. r=nika
Andreas Farre <farre@mozilla.com> - Fri, 05 Apr 2019 14:36:24 +0000 - rev 468310
Push 35831 by dluca@mozilla.com at Mon, 08 Apr 2019 10:33:51 +0000
Bug 1471598 - Assert valid browsing context modifications. r=nika Differential Revision: https://phabricator.services.mozilla.com/D25066
977637ae4f70: Bug 1541684, part 4 - Remove nsXPCWrappedJSClass:mDescriptors. r=nika
Andrew McCreight <continuation@gmail.com> - Fri, 05 Apr 2019 23:48:20 +0000 - rev 468260
Push 35824 by apavel@mozilla.com at Sat, 06 Apr 2019 10:57:50 +0000
Bug 1541684, part 4 - Remove nsXPCWrappedJSClass:mDescriptors. r=nika This field now just caches the IsReflectable() field from the method info, so get rid of it. Differential Revision: https://phabricator.services.mozilla.com/D26071
6af7c0f7383b: Bug 1541684, part 3 - Statically compute if a method is reflectable. r=nika
Andrew McCreight <continuation@gmail.com> - Fri, 05 Apr 2019 23:48:18 +0000 - rev 468259
Push 35824 by apavel@mozilla.com at Sat, 06 Apr 2019 10:57:50 +0000
Bug 1541684, part 3 - Statically compute if a method is reflectable. r=nika XPCConvert::IsMethodReflectable() is derived entirely from nsXPTMethodInfo, so we can compute it at build time and include it in nsXPTMethodInfo. It is the only use of mNotXPCOM and mHidden, so we can get rid of those fields at the same time. This paves the way for getting rid of XPCWrappedJSClass::mDescriptors in the next patch. Differential Revision: https://phabricator.services.mozilla.com/D26070
c83c13b0c0ae: Bug 1541684, part 2 - Remove nsXPCWrappedJSClass::mIID. r=nika
Andrew McCreight <continuation@gmail.com> - Fri, 05 Apr 2019 23:48:11 +0000 - rev 468258
Push 35824 by apavel@mozilla.com at Sat, 06 Apr 2019 10:57:50 +0000
Bug 1541684, part 2 - Remove nsXPCWrappedJSClass::mIID. r=nika This is already stored on mInfo. Differential Revision: https://phabricator.services.mozilla.com/D26069
365223fc9f86: Bug 1542183 - Ensure TabChilds always have a TabGroup upon initialization r=nika
Barret Rennie <barret@brennie.ca> - Fri, 05 Apr 2019 19:38:27 +0000 - rev 468226
Push 35824 by apavel@mozilla.com at Sat, 06 Apr 2019 10:57:50 +0000
Bug 1542183 - Ensure TabChilds always have a TabGroup upon initialization r=nika Differential Revision: https://phabricator.services.mozilla.com/D26374
b021ea89cf04: Bug 1541684, part 4 - Remove nsXPCWrappedJSClass:mDescriptors. r=nika
Andrew McCreight <continuation@gmail.com> - Thu, 04 Apr 2019 21:01:26 +0000 - rev 468057
Push 35817 by btara@mozilla.com at Fri, 05 Apr 2019 09:48:43 +0000
Bug 1541684, part 4 - Remove nsXPCWrappedJSClass:mDescriptors. r=nika This field now just caches the IsReflectable() field from the method info, so get rid of it. Differential Revision: https://phabricator.services.mozilla.com/D26071
16d5f0b792d4: Bug 1541684, part 3 - Statically compute if a method is reflectable. r=nika
Andrew McCreight <continuation@gmail.com> - Thu, 04 Apr 2019 21:01:24 +0000 - rev 468056
Push 35817 by btara@mozilla.com at Fri, 05 Apr 2019 09:48:43 +0000
Bug 1541684, part 3 - Statically compute if a method is reflectable. r=nika XPCConvert::IsMethodReflectable() is derived entirely from nsXPTMethodInfo, so we can compute it at build time and include it in nsXPTMethodInfo. It is the only use of mNotXPCOM and mHidden, so we can get rid of those fields at the same time. This paves the way for getting rid of XPCWrappedJSClass::mDescriptors in the next patch. Differential Revision: https://phabricator.services.mozilla.com/D26070
a37029984f13: Bug 1541684, part 2 - Remove nsXPCWrappedJSClass::mIID. r=nika
Andrew McCreight <continuation@gmail.com> - Thu, 04 Apr 2019 21:01:22 +0000 - rev 468055
Push 35817 by btara@mozilla.com at Fri, 05 Apr 2019 09:48:43 +0000
Bug 1541684, part 2 - Remove nsXPCWrappedJSClass::mIID. r=nika This is already stored on mInfo. Differential Revision: https://phabricator.services.mozilla.com/D26069
fa32258ea57a: Bug 1540845 - Pass the browsing context ID through the event fired when oop frames crash. r=nika
Mike Conley <mconley@mozilla.com> - Thu, 04 Apr 2019 13:38:51 +0000 - rev 467991
Push 35815 by ccoroiu@mozilla.com at Thu, 04 Apr 2019 21:55:21 +0000
Bug 1540845 - Pass the browsing context ID through the event fired when oop frames crash. r=nika Differential Revision: https://phabricator.services.mozilla.com/D25843
b075ab8b8be4: Bug 1510569 - Ensure TabChild's IPC actor is not dead before sending OnContentBlockingEvent message to TabParent r=nika
Barret Rennie <barret@brennie.ca> - Wed, 03 Apr 2019 17:29:40 +0000 - rev 467870
Push 35810 by aciure@mozilla.com at Thu, 04 Apr 2019 04:33:36 +0000
Bug 1510569 - Ensure TabChild's IPC actor is not dead before sending OnContentBlockingEvent message to TabParent r=nika Differential Revision: https://phabricator.services.mozilla.com/D24807
277768e37335: Bug 1510569 - Use Maybe<T> directly in TabChild::PrepareProgressListenerData r=nika,Alex_Gaynor
Barret Rennie <barret@brennie.ca> - Wed, 03 Apr 2019 17:29:28 +0000 - rev 467869
Push 35810 by aciure@mozilla.com at Thu, 04 Apr 2019 04:33:36 +0000
Bug 1510569 - Use Maybe<T> directly in TabChild::PrepareProgressListenerData r=nika,Alex_Gaynor Differential Revision: https://phabricator.services.mozilla.com/D24806
70069fefff73: Bug 1540002 - Remove intr __delete__ from PPluginInstance; r=nika,mccr8
Kyle Machulis <kyle@nonpolynomial.com> - Tue, 02 Apr 2019 21:10:20 +0000 - rev 467817
Push 35810 by aciure@mozilla.com at Thu, 04 Apr 2019 04:33:36 +0000
Bug 1540002 - Remove intr __delete__ from PPluginInstance; r=nika,mccr8 PPluginInstance's __delete__ was ported from rpc to intr, and is the only non-async IPDL deletion in the codebase. We should be able to align this with the rest of the IPDL interfaces and remove the need for specialized intr __delete__ handling. Differential Revision: https://phabricator.services.mozilla.com/D25674
b211dc904649: Bug 1540845 - Pass the browsing context ID through the event fired when oop frames crash. r=nika
Mike Conley <mconley@mozilla.com> - Tue, 02 Apr 2019 21:53:36 +0000 - rev 467690
Push 35810 by aciure@mozilla.com at Thu, 04 Apr 2019 04:33:36 +0000
Bug 1540845 - Pass the browsing context ID through the event fired when oop frames crash. r=nika Differential Revision: https://phabricator.services.mozilla.com/D25843
5da02ff0be56: Bug 1535877 - Fail explicitly when creating a second instance of the effective TLD service; r=nika
Ehsan Akhgari <ehsan@mozilla.com> - Thu, 28 Mar 2019 11:13:16 -0400 - rev 467663
Push 35807 by dvarga@mozilla.com at Wed, 03 Apr 2019 06:06:32 +0000
Bug 1535877 - Fail explicitly when creating a second instance of the effective TLD service; r=nika Differential Revision: https://phabricator.services.mozilla.com/D25237
f65788b4d229: Bug 1508819 - Enable ESLint for dom/bindings (manual changes). r=nika
Ruihui Yan <ruihuiyan@icloud.com> - Fri, 29 Mar 2019 16:47:06 +0000 - rev 466835
Push 35784 by nerli@mozilla.com at Sat, 30 Mar 2019 09:32:04 +0000
Bug 1508819 - Enable ESLint for dom/bindings (manual changes). r=nika Depends on D13891 Differential Revision: https://phabricator.services.mozilla.com/D13892
47b7423393a8: Bug 1508819 - Enable ESLint for dom/bindings (automatic changes) r=nika
Ruihui Yan <ruihuiyan@icloud.com> - Thu, 28 Mar 2019 09:11:04 +0000 - rev 466834
Push 35784 by nerli@mozilla.com at Sat, 30 Mar 2019 09:32:04 +0000
Bug 1508819 - Enable ESLint for dom/bindings (automatic changes) r=nika Differential Revision: https://phabricator.services.mozilla.com/D13891
5c4845fa789b: Bug 1535877 - Fail explicitly when creating a second instance of the effective TLD service; r=nika
Ehsan Akhgari <ehsan@mozilla.com> - Thu, 28 Mar 2019 23:12:52 +0000 - rev 466665
Push 35776 by ccoroiu@mozilla.com at Fri, 29 Mar 2019 09:44:33 +0000
Bug 1535877 - Fail explicitly when creating a second instance of the effective TLD service; r=nika Differential Revision: https://phabricator.services.mozilla.com/D25237
28c8708ee20e: Bug 1527753 - Part 2: Add test for restricting JS Window Actors to specific remoteTypes; r=nika
John Dai <jdai@mozilla.com> - Wed, 27 Mar 2019 14:54:15 +0000 - rev 466381
Push 35768 by opoprus@mozilla.com at Thu, 28 Mar 2019 09:55:54 +0000
Bug 1527753 - Part 2: Add test for restricting JS Window Actors to specific remoteTypes; r=nika Differential Revision: https://phabricator.services.mozilla.com/D25052
99c4c6989e06: Bug 1527753 - Part 1: Allow restricting JS Window Actors to specific remoteTypes; r=nika
John Dai <jdai@mozilla.com> - Wed, 27 Mar 2019 14:54:02 +0000 - rev 466380
Push 35768 by opoprus@mozilla.com at Thu, 28 Mar 2019 09:55:54 +0000
Bug 1527753 - Part 1: Allow restricting JS Window Actors to specific remoteTypes; r=nika Differential Revision: https://phabricator.services.mozilla.com/D25051
49ffc038ef84: Bug 1522638 - Add bulk insert to kvstore r=myk,mossop,nika
Nan Jiang <njiang028@gmail.com> - Wed, 27 Mar 2019 14:16:59 +0000 - rev 466377
Push 35768 by opoprus@mozilla.com at Thu, 28 Mar 2019 09:55:54 +0000
Bug 1522638 - Add bulk insert to kvstore r=myk,mossop,nika This adds the bulk insert to kvstore as discussed in Bug 1522638 Differential Revision: https://phabricator.services.mozilla.com/D22032
942fd44a3510: Bug 1536045 - Turn a comment into a non-doc comment. r=nika
Emilio Cobos Álvarez <emilio@crisal.io> - Tue, 26 Mar 2019 20:17:51 +0000 - rev 466217
Push 35762 by csabou@mozilla.com at Wed, 27 Mar 2019 04:44:00 +0000
Bug 1536045 - Turn a comment into a non-doc comment. r=nika Differential Revision: https://phabricator.services.mozilla.com/D24947
54f0ce4913e0: Bug 1523982 - Part 4: When WindowGlobalChild creating, update WindowGlobalParent document's URI; r=nika
John Dai <jdai@mozilla.com> - Tue, 26 Mar 2019 15:19:58 +0000 - rev 466120
Push 35761 by dvarga@mozilla.com at Tue, 26 Mar 2019 21:49:44 +0000
Bug 1523982 - Part 4: When WindowGlobalChild creating, update WindowGlobalParent document's URI; r=nika Depends on D24205 Differential Revision: https://phabricator.services.mozilla.com/D24547
06a189e6b675: Bug 1523982 - Part 3: Don't raise an error in observe if creation of our actor was vetoed, r=nika
John Dai <jdai@mozilla.com> - Tue, 26 Mar 2019 15:19:56 +0000 - rev 466119
Push 35761 by dvarga@mozilla.com at Tue, 26 Mar 2019 21:49:44 +0000
Bug 1523982 - Part 3: Don't raise an error in observe if creation of our actor was vetoed, r=nika Depends on D24204 Differential Revision: https://phabricator.services.mozilla.com/D24205
1d112c578b34: Bug 1523982 - Part 2: Add testcases for filtering to control which globals are permitted to create actors, r=nika
John Dai <jdai@mozilla.com> - Tue, 26 Mar 2019 15:19:54 +0000 - rev 466118
Push 35761 by dvarga@mozilla.com at Tue, 26 Mar 2019 21:49:44 +0000
Bug 1523982 - Part 2: Add testcases for filtering to control which globals are permitted to create actors, r=nika Depends on D24203 Differential Revision: https://phabricator.services.mozilla.com/D24204
3a212aece7e4: Bug 1523982 - Part 1: Add filtering to control which globals are permitted to create actors, r=nika
John Dai <jdai@mozilla.com> - Tue, 26 Mar 2019 15:19:47 +0000 - rev 466117
Push 35761 by dvarga@mozilla.com at Tue, 26 Mar 2019 21:49:44 +0000
Bug 1523982 - Part 1: Add filtering to control which globals are permitted to create actors, r=nika Differential Revision: https://phabricator.services.mozilla.com/D24203
35240b0ae4a5: Bug 1536659 - docshell/ manual ESLint no-throw-literal fixes. r=nika
Ian Moody <moz-ian@perix.co.uk> - Thu, 21 Mar 2019 22:40:36 +0000 - rev 465972
Push 35758 by rgurzau@mozilla.com at Tue, 26 Mar 2019 09:51:47 +0000
Bug 1536659 - docshell/ manual ESLint no-throw-literal fixes. r=nika Differential Revision: https://phabricator.services.mozilla.com/D24368
621f825b37e8: Bug 1536659 - docshell/ automated ESLint no-throw-literal fixes. r=nika
Ian Moody <moz-ian@perix.co.uk> - Thu, 21 Mar 2019 16:53:45 +0000 - rev 465971
Push 35758 by rgurzau@mozilla.com at Tue, 26 Mar 2019 09:51:47 +0000
Bug 1536659 - docshell/ automated ESLint no-throw-literal fixes. r=nika Result of running: $ mach eslint -funix docshell/ | sed -Ee 's/:.+//' - | xargs sed -E \ -e 's/throw ((["`])[^"]+\2);/throw new Error(\1);/g' \ -e 's/throw ((["`])[^"]+\2 \+ [^ ";]+);/throw new Error(\1);/g' \ -e 's/throw \(/throw new Error(/g' -i Differential Revision: https://phabricator.services.mozilla.com/D24367
4782957f96a4: Bug 1482608 - Port the synced bookmarks merger to Rust. r=nika,mak,markh,tcsc
Lina Cambridge <lina@yakshaving.ninja> - Mon, 25 Mar 2019 04:50:14 +0000 - rev 465875
Push 35752 by opoprus@mozilla.com at Mon, 25 Mar 2019 09:51:53 +0000
Bug 1482608 - Port the synced bookmarks merger to Rust. r=nika,mak,markh,tcsc This commit introduces a Rust XPCOM component, `mozISyncedBookmarksMerger`, that wraps the Dogear crate for merging and applying synced bookmarks. How this works: `SyncedBookmarksMirror.jsm` manages opening the connection, initializing the schema, and writing incoming items into the mirror database. The new `mozISyncedBookmarksMerger` holds a handle to the same connection. When JS code calls `mozISyncedBookmarksMerger::apply`, the merger builds local and remote trees, produces a merged tree, applies the tree back to Places, and stages outgoing items for upload in a temp table, all on the storage thread. It then calls back in to JS, which inflates Sync records for outgoing items, notifies Places observers, and cleans up. Since Dogear has a more robust merging algorithm that attempts to fix up invalid trees, `test_bookmark_corruption.js` intentionally fails. This is fixed in the next commit, which changes the merger to handle invalid structure. Differential Revision: https://phabricator.services.mozilla.com/D20076
6e5efb9dbc99: Bug 1482608 - Convert null pointers passed to `xpcom_method`s into `Option`s. r=myk,nika
Lina Cambridge <lina@yakshaving.ninja> - Mon, 25 Mar 2019 04:49:36 +0000 - rev 465874
Push 35752 by opoprus@mozilla.com at Mon, 25 Mar 2019 09:51:53 +0000
Bug 1482608 - Convert null pointers passed to `xpcom_method`s into `Option`s. r=myk,nika Differential Revision: https://phabricator.services.mozilla.com/D20075
e2042d55b76e: Bug 1482608 - Add owning thread pointer holders for Rust code. r=nika,myk
Lina Cambridge <lina@yakshaving.ninja> - Mon, 25 Mar 2019 04:49:24 +0000 - rev 465873
Push 35752 by opoprus@mozilla.com at Mon, 25 Mar 2019 09:51:53 +0000
Bug 1482608 - Add owning thread pointer holders for Rust code. r=nika,myk This commit adds `ThreadPtr{Handle, Holder}` to wrap an `XpCom` object with thread-safe refcounting. These are analagous to `nsMainThreadPtr{Handle, Holder}`, but can hold references to objects from any thread, not just the main thread. `ThreadPtrHolder` is similar to `ThreadBoundRefPtr`. However, it's not possible to clone a `ThreadBoundRefPtr`, so it can't be shared among tasks. This is fine for objects that are only used once, like callbacks. However, `ThreadBoundRefPtr` doesn't work well for loggers or event emitters, which might need to be called multiple times on the owning thread. Unlike a `ThreadBoundRefPtr`, it's allowed and expected to clone and drop a `ThreadPtrHolder` on other threads. Internally, the holder keeps an atomic refcount, and releases the wrapped object on the owning thread once the count reaches zero. This commit also changes `TaskRunnable` to support dispatching from threads other than the main thread. Differential Revision: https://phabricator.services.mozilla.com/D20074
cfd44c936a9b: Bug 1482608 - Add basic Rust bindings for mozStorage. r=nika,asuth,mak
Lina Cambridge <lina@yakshaving.ninja> - Mon, 25 Mar 2019 04:49:18 +0000 - rev 465872
Push 35752 by opoprus@mozilla.com at Mon, 25 Mar 2019 09:51:53 +0000
Bug 1482608 - Add basic Rust bindings for mozStorage. r=nika,asuth,mak This commit wraps just enough of the mozStorage API to support the bookmarks mirror. It's not complete: for example, there's no way to open, clone, or close a connection, because the mirror handles that from JS. The wrapper also omits shutdown blocking and retrying on `SQLITE_BUSY`. This commit also changes the behavior of sync and async mozStorage connections. Async (`mozIStorageAsyncConnection`) methods may be called from any thread on any connection. Sync (`mozIStorageConnection`) methods may be called from any thread on a sync connection, and from background threads on an async connection. All connections now QI to `mozIStorageConnection`, but attempting to call a sync method on an async connection from the main thread throws. Finally, this commit exposes an `OpenedConnection::unsafeRawConnection` getter in Sqlite.jsm, for JS code to access the underlying connection. Differential Revision: https://phabricator.services.mozilla.com/D20073