0af3de0a7fe96fdc1bfd1e526a8b50cfaf114785: Bug 1321570: Remove duplicate tests, r=kmag
Ethan Glasser-Camp <eglassercamp@mozilla.com> - Tue, 24 Jan 2017 14:54:11 -0500 - rev 343160
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
Bug 1321570: Remove duplicate tests, r=kmag These tests are essentially the same as the tests of the same name in test_ext_storage.js. These tests could maybe be valuable if they were content script tests instead of background script tests, but they aren't, so let's delete them. MozReview-Commit-ID: I7rIR7ecoEZ
98f9763349183966441f448a83f9684412f4ff30: Bug 1321570 - Rewrite KintoServer in tests, r=kmag
Ethan Glasser-Camp <eglassercamp@mozilla.com> - Wed, 11 Jan 2017 13:35:22 -0500 - rev 343159
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
Bug 1321570 - Rewrite KintoServer in tests, r=kmag Allow individual records to decide whether or not they want to appear in a certain request, and be more explicit with our handling of time, since the client is already tracking this using etag and providing it to us using _since. This allows us to get rid of hacks like `encryptAndAddRecordOnlyOnce` and `addRecordInPast`. While we're here, change the method signatures for `addRecord` to make them more flexible. Also, make the server agnostic about "collections" and instead focus only on records. Conflicts are still something we have to handle explicitly because in order to trigger conflict behavior in the client, they have to appear between two client requests (i.e. within a sync() call). So we don't show them on GET requests but surface them on POST requests. MozReview-Commit-ID: B7aaMTzu268
28fdc9533636fa0f151a7b99246d6ad17b46dbe0: Bug 1321570 - use dependency injection for fxAccounts, r=kmag
Ethan Glasser-Camp <eglassercamp@mozilla.com> - Tue, 10 Jan 2017 16:44:01 -0500 - rev 343158
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
Bug 1321570 - use dependency injection for fxAccounts, r=kmag Get rid of the ugly hack where test code monkeypatches a singleton to convince the rest of the ExtensionStorageSync code that a fake user is logged in. Instead, take a handle to the fxAccounts service at construction time. Test code can provide any kind of fxAccounts it wants, including one that has a hard-coded user. This provokes a bunch of changes: - ExtensionStorageSync is now no longer a singleton, but a class. You have to instantiate it in order to do anything with it. A global instance extensionStorageSync is provided for use by Sync code as well as WebExtension code. - CryptoCollection is now also a class, and each ExtensionStorageSync instance has its own CryptoCollection. This dependency should maybe also be injected, but for the time being it doesn't provide us any value to do so. - Converting singletons with asynchronous methods to classes is a pain in the neck. We convert async method foo from `foo: Task.async(....)` to `async foo() { .... }`. While we're here, convert KeyRingEncryptionRemoteTransformer#decode to async/await to eliminate a need for `let self = this`. - Update Sync code and WebExtension code to use extensionStorageSync. - There's a cyclic dependency where CryptoCollection#sync depends on ExtensionStorageSync#_syncCollection which depends on CryptoCollection#getKeyRing. As a short-term hack, we now require an ExtensionStorageSync argument to CryptoCollection#sync. - KeyRingEncryptionRemoteTransformer now takes a handle to fxAccounts on construction time as well. Because this is the only EncryptionRemoteTransformer subclass that accesses fxAccounts, we can get rid of the hack where the tests monkeypatch something in the EncryptionRemoteTransformer prototype. - CollectionKeyEncryptionRemoteTransformer now takes a handle to a CryptoCollection, rather than relying on a global one. - A bunch of methods that previously assumed access to fxAccounts now check if fxAccounts is present (i.e. if we're on Android). Strictly speaking, this isn't required by this change, but it helps make certain kinds of failure a little easier to diagnose. - Update tests, including extracting a domain-specific helper method to hide the use of CollectionKeyEncryptionRemoteTransformer. We now no longer monkeypatch in our mock fxaService, but pass it to the test so that it can do whatever it wants with it. We also provide an ExtensionStorageSync instance for convenience. Access to the global cryptoCollection is now done through an ExtensionStorageSync instance. To summarize, we've gone from a situation where a bunch of singletons had implicit dependencies on other singletons in a shared global namespace, to a situation where dependencies are provided explicitly using method/constructor arguments. This highlights some of the dependencies present: - ExtensionStorageSync depends on CryptoCollection and fxAccounts if it needs to sync - Every collection created via openCollection needs a handle to CryptoCollection so it can correctly create its remote transformers - CryptoCollection needs a handle to fxAccounts so it can create its own remote transformer for its special collection Most of this is only possible, or at least much easier, because we no longer try to juggle Sqlite connections but just keep one around forever. However, please note: - CryptoCollection needs a handle to ExtensionStorageSync to actually perform syncing logic because that's where we foolishly put the logic to make requests - There's still a backing Sqlite store which is shared by everything - There's still a singleton tracking contexts that opened extensions which we manage to try to clean contexts up correctly MozReview-Commit-ID: DGIzyRTdYZ1
ca00e2c5420db40a268fd8ebfa20557ebfd6b74c: Bug 1321570 - Move ExtensionStorageSync crypto out of services/sync, r=kmag
Ethan Glasser-Camp <eglassercamp@mozilla.com> - Mon, 13 Feb 2017 15:06:02 -0500 - rev 343157
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
Bug 1321570 - Move ExtensionStorageSync crypto out of services/sync, r=kmag Since services/sync doesn't ship on Android, this meant conditionally-defining some variables such as `cryptoCollection` and `CollectionKeyEncryptionRemoteTransformer` depending on whether or not we were on Android. However, none of these definitions really rely on functionality that isn't present on Android (although you can't really use them yet either). Move the dependency together with the dependant code so we can simplify a bit. This lets us remove conditional uses of `cryptoCollection` and `CollectionKeyEncryptionRemoteTransformer`. Because the WebExtensions source directory has more stringent eslint rules, we end up reformatting and commenting a bit in addition to moving. MozReview-Commit-ID: 2ddDeymYFNi
96c6b5a11284d663c1ffb8143e325c637f3b5dc2: Bug 1331322 - Allow tagging of pseudo-implementing native anonymous content with the pseudo type at creation time, and eliminate explicit style contexts in nsIAnonymousContentCreator::ContentInfo. r=bholley
cam@mcc.id.au <cam@mcc.id.au> - Fri, 13 Jan 2017 03:21:11 +0000 - rev 343156
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
Bug 1331322 - Allow tagging of pseudo-implementing native anonymous content with the pseudo type at creation time, and eliminate explicit style contexts in nsIAnonymousContentCreator::ContentInfo. r=bholley MozReview-Commit-ID: LO0t92orjWZ
15877d32de7d9a42fdbe4fa9dd6983dcbf6a0369: Bug 1331322 - Add a flag to indicate that a node is native anonymous content. r=bholley
Bobby Holley <bobbyholley@gmail.com> - Fri, 20 Jan 2017 18:28:46 -0800 - rev 343155
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
Bug 1331322 - Add a flag to indicate that a node is native anonymous content. r=bholley
841d608704d72e6a4dfbd3ed9db6df45caa40b2c: Bug 1331322 - Move MAY_HAVE_CLASS to mBoolFlags. r=bholley
Bobby Holley <bobbyholley@gmail.com> - Fri, 20 Jan 2017 18:24:41 -0800 - rev 343154
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
Bug 1331322 - Move MAY_HAVE_CLASS to mBoolFlags. r=bholley This fits a bit better with the other stuff, and allows us to add our new NAC bit with the other NAC related bits, which also happens to be a field that Servo already has easy access to.
02096c5eb029f38432311bd2175ed357092dfd58: Bug 1331322 - Stop using a node bit for HasExplicitBaseURI. r=bholley
Bobby Holley <bobbyholley@gmail.com> - Fri, 20 Jan 2017 18:17:13 -0800 - rev 343153
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
Bug 1331322 - Stop using a node bit for HasExplicitBaseURI. r=bholley This is only called during URI resolution, and the proptable bit should make this relatively fast.
d8e8cc9d9b68f6421c331ed015f65e0d2194fdc0: Merge m-c to autoland, a=merge
Wes Kocher <wkocher@mozilla.com> - Wed, 15 Feb 2017 16:33:46 -0800 - rev 343152
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
Merge m-c to autoland, a=merge MozReview-Commit-ID: FqToQ9qk7dg
2670e3095f9446ac8f3eb4fd44fa666b9ac0ce47: Backed out changeset 5cc18343abdd (bug 1339748) for failing test_eme_canvas_blocked.html on Linux x64 asan. r=backout
Sebastian Hengst <archaeopteryx@coole-files.de> - Thu, 16 Feb 2017 00:57:07 +0100 - rev 343151
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
Backed out changeset 5cc18343abdd (bug 1339748) for failing test_eme_canvas_blocked.html on Linux x64 asan. r=backout
18975ff8fe825b839820b1e975b6faff58efabfd: Bug 1339755 - Move DecryptJob id calculation into its constructor. r=jwwang
Chris Pearce <cpearce@mozilla.com> - Thu, 01 Dec 2016 11:23:27 +1300 - rev 343150
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
Bug 1339755 - Move DecryptJob id calculation into its constructor. r=jwwang The job id is just a counter, so rather than have other users of DecryptJob reimplement their own counter, we can push the id/counter code into DecryptJob itself. MozReview-Commit-ID: 3RB8ctplWkK
53680343b6a21cb89981dd583f31b0ee72253995: Bug 1339755 - Move GMPCDMProxy::DecryptJob out of GMPCDMProxy. r=jwwang
Chris Pearce <cpearce@mozilla.com> - Thu, 01 Dec 2016 10:57:58 +1300 - rev 343149
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
Bug 1339755 - Move GMPCDMProxy::DecryptJob out of GMPCDMProxy. r=jwwang This means it can be used in other CDMProxies, specifically the upcoming Chromium CDM code in bug 1315850. MozReview-Commit-ID: G26xclqhtSw
06f837d52004d87dcc376ebf513aa321109736f2: Backed out changeset 174570c9ca6b (bug 1321740) for browser_sanitizeDialog.js failures a=backout
Wes Kocher <wkocher@mozilla.com> - Wed, 15 Feb 2017 15:02:59 -0800 - rev 343148
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
Backed out changeset 174570c9ca6b (bug 1321740) for browser_sanitizeDialog.js failures a=backout MozReview-Commit-ID: 8zmWz4JBCVk
5cc18343abddfcd0700378a89b656374a732e407: Bug 1339748 - Convert samples to AnnexB before passing to CDMs, rather than inside CDMs. r=jya
Chris Pearce <cpearce@mozilla.com> - Wed, 15 Feb 2017 16:03:09 +1300 - rev 343147
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
Bug 1339748 - Convert samples to AnnexB before passing to CDMs, rather than inside CDMs. r=jya MozReview-Commit-ID: 6i3uXC8ily9
9906e1364f049e794a741ca7ff93d16ded5bdff9: Bug 1328421 - Replace MessageId with ID in the IPDL parser. r=billm
Andrew McCreight <continuation@gmail.com> - Tue, 14 Feb 2017 09:53:25 -0800 - rev 343146
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
Bug 1328421 - Replace MessageId with ID in the IPDL parser. r=billm MozReview-Commit-ID: YHfxmB1McY
145410f30206db4b6254b812c1a2a52fb90748e5: Bug 1312754 - Add a service to throttle certain HTTP channels. r=mayhemer
Nicholas Hurley <hurley@todesschaf.org> - Tue, 10 Jan 2017 06:39:18 -0800 - rev 343145
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
Bug 1312754 - Add a service to throttle certain HTTP channels. r=mayhemer This patch adds (and hooks up) a new service so that HTTP channels marked as "Throttleable" will periodically be Suspend()ed and Resume()d when more important operations are going (such as a page load). While this patch is not responsible for marking channels as "Throttleable", the general idea is that these would be less-important channels - background downloads, beacons, etc, and perhaps even resources known to be trackers. MozReview-Commit-ID: HEZsxS04rRK
469857ed52b98880b892012b9210a5b999c19974: Bug 1312754 (prereq) - Fix compile issues caused by shuffling around unified files. r=mayhemer
Nicholas Hurley <hurley@todesschaf.org> - Tue, 10 Jan 2017 06:34:49 -0800 - rev 343144
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
Bug 1312754 (prereq) - Fix compile issues caused by shuffling around unified files. r=mayhemer MozReview-Commit-ID: 1FIopeftM6G
b7a2f7ff5e87ed79ae1d236d593caf4b63a1b5b8: bug 1322703 - use -Fd to specify unique PDB filename per-object-file for MSVC. r=glandium
Ted Mielczarek <ted@mielczarek.org> - Wed, 14 Dec 2016 14:40:59 -0500 - rev 343143
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
bug 1322703 - use -Fd to specify unique PDB filename per-object-file for MSVC. r=glandium MozReview-Commit-ID: CxpLruksaHg
ba64203b54e19bdfc588e41fea7cf35dff3bbb60: Bug 1338843 - Use the install path to distinguish between multiple installations when checking default browser status. r=emk
Matt Howell <mhowell@mozilla.com> - Mon, 13 Feb 2017 15:36:28 -0800 - rev 343142
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
Bug 1338843 - Use the install path to distinguish between multiple installations when checking default browser status. r=emk MozReview-Commit-ID: DIcyAs92dm0
699380af7093f933dfd0c462f4d8e884b67af709: Bug 1338592 - Use .nested, not .nestedRange on Protocol. r=billm
Andrew McCreight <continuation@gmail.com> - Fri, 10 Feb 2017 09:12:42 -0800 - rev 343141
Push 31371 by cbook@mozilla.com at Thu, 16 Feb 2017 12:15:11 +0000
Bug 1338592 - Use .nested, not .nestedRange on Protocol. r=billm The parser always sets the first value of the tuple .nestedRange to NOT_NESTED, so there's no need to actually store it. Instead, we create a range when we're creating the ProtocolType. This makes it clearer what is happening. The range is needed for the type because the nesting pair is compared with those from messages, where the first element can be something else. Prior to bug 1306708, the lower range could be specified in the IPDL file, but all uses were NOT_NESTED, so I suppose that is why it was eliminated. Note that the constructor for Protocol sets .nested to NOT_NESTED, but prior to my patch, the field was never used. The constructor also never initialized .nestedRange, but the parser always sets it so that isn't much of an issue. MozReview-Commit-ID: FMnoZRrkfoA
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip