108e9e3d2c665b0829f2fda2197139fd78b1463d: Merge mozilla-central to autoland
Carsten "Tomcat" Book <cbook@mozilla.com> - Wed, 11 Jan 2017 16:53:05 +0100 - rev 459377
Push 41206 by bmo:ntim.bugs@gmail.com at Wed, 11 Jan 2017 21:23:07 +0000
Merge mozilla-central to autoland
2e5f5f3138b872413439b0991a2b1ff121ad9e80: Bug 1330282 - Fix test_get_pref_value_type() for Fennec. r=maja_zf
Henrik Skupin <mail@hskupin.info> - Wed, 11 Jan 2017 12:42:02 +0100 - rev 459376
Push 41206 by bmo:ntim.bugs@gmail.com at Wed, 11 Jan 2017 21:23:07 +0000
Bug 1330282 - Fix test_get_pref_value_type() for Fennec. r=maja_zf The preference "browser.startup.homepage" is only used for Firefox, so the test fails for Fennec. By using "browser.menu.showCharacterEncoding" which is used in both Firefox and Fennec the test is passing. MozReview-Commit-ID: 3PrPAgtU60u
f39600950aea6647df251e221a8042111b51d246: Bug 1311350 - Add unit tests for close window commands. r=ato
Henrik Skupin <mail@hskupin.info> - Mon, 09 Jan 2017 23:06:00 +0100 - rev 459375
Push 41206 by bmo:ntim.bugs@gmail.com at Wed, 11 Jan 2017 21:23:07 +0000
Bug 1311350 - Add unit tests for close window commands. r=ato MozReview-Commit-ID: Ldsx5M1vxCe
5691fa597a365a03aeedf98776e29e102db29fae: Bug 1311350 - Make close window commands synchronous and return remaining window handles. r=ato
Henrik Skupin <mail@hskupin.info> - Tue, 10 Jan 2017 16:36:49 +0100 - rev 459374
Push 41206 by bmo:ntim.bugs@gmail.com at Wed, 11 Jan 2017 21:23:07 +0000
Bug 1311350 - Make close window commands synchronous and return remaining window handles. r=ato To avoid a race condition for the close() commands Marionette has to wait until the current window/tab has actually been closed. To make this work we have to wait for the appropriate events to occur. Also the methods have to return the list of remaining window handles. MozReview-Commit-ID: DegcTJyKXCx
9ae4e620a16dbb1af7c41f68f7a85b43050e3d7b: Bug 1320324: deleted values are not handled correctly on sync, r=markh
Ethan Glasser-Camp <eglassercamp@mozilla.com> - Thu, 22 Dec 2016 13:37:12 -0500 - rev 459373
Push 41206 by bmo:ntim.bugs@gmail.com at Wed, 11 Jan 2017 21:23:07 +0000
Bug 1320324: deleted values are not handled correctly on sync, r=markh No tests existed for this functionality either, so add some. MozReview-Commit-ID: FkHV0GBTHov
78756c08d6e89a4ff3dc0c7f7ae61278a9d0d6a1: Bug 1320991 - Support --with-system-{nss,nspr} in modules/libmar; r=glandium
Mike Shal <mshal@mozilla.com> - Tue, 20 Dec 2016 16:37:18 -0500 - rev 459372
Push 41206 by bmo:ntim.bugs@gmail.com at Wed, 11 Jan 2017 21:23:07 +0000
Bug 1320991 - Support --with-system-{nss,nspr} in modules/libmar; r=glandium The problem with the modules/libmar/tests/moz.build file when building --with-system-nspr and --with-system-nss is that the nss libraries don't exist in the tree, so they fail when trying to copy into the test directory. However, it turns out that the libraries copied into the test directory aren't even used when building with an in-tree copy, because the xpcshell launcher sets LD_LIBRARY_PATH to point to dist/bin. Since we use the dist/bin copies anyway for an in-tree build, we can stop copying them into the test directory and simultaneously fix the --with-system build. The DEFINES can also go away since this directory doesn't actually build anything. MozReview-Commit-ID: Bk2f28wc9ZJ
eb30cfd7f4e7f9b8694342e4e37425f03ec70f94: Bug 1325738 - Skip test_modal_dialogs.py for Fennec r=maja_zf
Henrik Skupin <mail@hskupin.info> - Wed, 11 Jan 2017 11:30:18 +0100 - rev 459371
Push 41206 by bmo:ntim.bugs@gmail.com at Wed, 11 Jan 2017 21:23:07 +0000
Bug 1325738 - Skip test_modal_dialogs.py for Fennec r=maja_zf As testing has been shown the execution of Marionette server is blocked when a new dialog popsup. Given that Fennec seems to only support modal dialogs, the full test module has to be skipped for now. MozReview-Commit-ID: 2vGFfehOOVd
8164076f23cbd0ce83d9dc1c559e8116e37852bc: Bug 1330298 - Signing tasks are not setting scopes for the signing format correctly. r=jlund
Justin Wood <Callek@gmail.com> - Wed, 11 Jan 2017 08:58:03 -0500 - rev 459370
Push 41206 by bmo:ntim.bugs@gmail.com at Wed, 11 Jan 2017 21:23:07 +0000
Bug 1330298 - Signing tasks are not setting scopes for the signing format correctly. r=jlund MozReview-Commit-ID: IAoUaFzoZxo
c56a1f366d7b6aca2abaece1aa96a2d08a45a28a: Bug 1312374 - Search sites listed in Settings of Site Data on host, r=Gijs
Fischer.json <fischer.json@gmail.com> - Mon, 09 Jan 2017 11:54:14 +0800 - rev 459369
Push 41206 by bmo:ntim.bugs@gmail.com at Wed, 11 Jan 2017 21:23:07 +0000
Bug 1312374 - Search sites listed in Settings of Site Data on host, r=Gijs MozReview-Commit-ID: J74Jg3xkJNe
f1690763f5a4ee34bba5f4e999f1a968ee5c539f: Bug 1325038 - Part 2. Reftest for bug 1324809. r=heycam
cku <cku@mozilla.com> - Wed, 11 Jan 2017 00:11:42 +0800 - rev 459368
Push 41206 by bmo:ntim.bugs@gmail.com at Wed, 11 Jan 2017 21:23:07 +0000
Bug 1325038 - Part 2. Reftest for bug 1324809. r=heycam MozReview-Commit-ID: BAP6UkwTV5J
9d8c6f724256a212e33a79a842086dafe8e5f6c8: Bug 1325038 - Part 1. Correct assertion logic. r=heycam
cku <cku@mozilla.com> - Tue, 10 Jan 2017 23:18:56 +0800 - rev 459367
Push 41206 by bmo:ntim.bugs@gmail.com at Wed, 11 Jan 2017 21:23:07 +0000
Bug 1325038 - Part 1. Correct assertion logic. r=heycam In the test case of bug 1324809: 1. A span is been broken into two continuation frames: FA and FB. FA is the first connituation 2. Adding a filter effect to this span. 3. FA::FinishAndStoreOverflow is called. This function will call ComputeEffect: if (nsSVGIntegrationUtils::UsingEffectsForFrame(aFrame)) { aFrame->Properties(). Set(nsIFrame::PreEffectsBBoxProperty(), new nsRect(r)); // Now FA has // PreEffectsBBoxProperty // but FB does not // have yet. // ComputePostEffectsVisualOverflowRect will iterate all continuations from // FA to FB. At this moment, FB does not carry PreEffectsBBoxProperty, // assertion failure. r = nsSVGIntegrationUtils::ComputePostEffectsVisualOverflowRect(aFrame, r); } 4. FB::FinishAndStoreOverflow is called. But already too late. MozReview-Commit-ID: 2c8OFzSLhfD
14f9eb0f3b2ae5b84b9633c01ecf191f8e37c69f: bug 1330043 - disable SHA-1 in signatures on certificates issued by publicly-trusted roots r?jcj draft
David Keeler <dkeeler@mozilla.com> - Tue, 10 Jan 2017 14:48:30 -0800 - rev 459366
Push 41205 by dkeeler@mozilla.com at Wed, 11 Jan 2017 21:14:32 +0000
bug 1330043 - disable SHA-1 in signatures on certificates issued by publicly-trusted roots r?jcj Unfortunately, this doesn't cover delegated OCSP responder certificates. While gathering telemetry on the use of SHA-1, we encountered bug 1183822 (basically, that the method of gathering telemetry was causing OCSP verification failures due to delegated responders signed with SHA-1). As a temporary solution, we changed the verifier to always allow SHA-1 for OCSP certificates when verifying an OCSP response. Consequently, we now have no idea what the compatibility impact of disabling SHA-1 in OCSP responder certificates will be, so it's probably not a good idea to do that right now. Even if someone does manage to forge an OCSP responder certificate using a SHA-1 collision, they will have about as much power as an active network attacker blocking OCSP requests or injecting bad stapled OCSP responses, so this isn't a disaster. MozReview-Commit-ID: 10r23W1APiR
ebfe73f486fa3461430a931b10d633d836610534: Bug 1243045 - Added navigation for padding, border and margin. r?yzen draft
Nancy Pang <npang@mozilla.com> - Wed, 11 Jan 2017 16:12:37 -0500 - rev 459365
Push 41204 by bmo:npang@mozilla.com at Wed, 11 Jan 2017 21:13:03 +0000
Bug 1243045 - Added navigation for padding, border and margin. r?yzen MozReview-Commit-ID: 75bANHjA9Vg
fb108aaa63c514063c4b693c5141efa6517cdfb8: Bug 1330099 - Enable object-shorthand eslint rule. r=jryans draft
Tim Nguyen <ntim.bugs@gmail.com> - Wed, 11 Jan 2017 21:02:50 +0000 - rev 459364
Push 41203 by bmo:ntim.bugs@gmail.com at Wed, 11 Jan 2017 21:05:08 +0000
Bug 1330099 - Enable object-shorthand eslint rule. r=jryans MozReview-Commit-ID: 3wA25rfznBv
2100f225f71976d6eedb1276d462029c6d6155bb: Bug 1321570 - Rewrite KintoServer in tests, r?kmag draft
Ethan Glasser-Camp <eglassercamp@mozilla.com> - Wed, 11 Jan 2017 13:35:22 -0500 - rev 459363
Push 41202 by eglassercamp@mozilla.com at Wed, 11 Jan 2017 21:01:56 +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
bf98b65f184d22a57490bde867a7ee1cd7ec509e: Bug 1321570 - use dependency injection for fxAccounts, r?kmag draft
Ethan Glasser-Camp <eglassercamp@mozilla.com> - Tue, 10 Jan 2017 16:44:01 -0500 - rev 459362
Push 41202 by eglassercamp@mozilla.com at Wed, 11 Jan 2017 21:01:56 +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 mostly convert async method foo from `foo: Task.async(....)` to `get foo() { return Task.async(....) }` and then reindenting the method. This is semantically equivalent, but quite ugly. There's also one place (ExtensionStorageSync#syncAll) which we monkeypatch in the Sync storage engine tests which can't be a property, so we rewrite that using `Task.spawn(...)`. Hopefully we get async/await at some point and we can clean this up. - 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
d313c269f66a66ed0afe5a3f1cfa3ff250ff425f: Bug 1321570 - Move ExtensionStorageSync crypto out of services/sync, r?kmag draft
Ethan Glasser-Camp <eglassercamp@mozilla.com> - Thu, 29 Dec 2016 16:38:51 -0500 - rev 459361
Push 41202 by eglassercamp@mozilla.com at Wed, 11 Jan 2017 21:01:56 +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
acf5223643b814b8ad5f0a948130796d5a09c5bc: Bug 1318965 - Fixes a bug in the WideVineAdapter wherein session load failures were not adapted correctly r?cpearce draft
Jay Harris <jharris@mozilla.com> - Tue, 20 Dec 2016 14:35:55 +1300 - rev 459360
Push 41201 by bmo:jharris@mozilla.com at Wed, 11 Jan 2017 20:56:38 +0000
Bug 1318965 - Fixes a bug in the WideVineAdapter wherein session load failures were not adapted correctly r?cpearce MozReview-Commit-ID: 2ze4d8EuHr9
05a3c5a08b9716c54b18bbf9535d76e04698b299: Bug 1318965 - Removes the custom AtomicRefCount r?cpearce draft
Jay Harris <jharris@mozilla.com> - Fri, 16 Dec 2016 11:57:58 +1300 - rev 459359
Push 41201 by bmo:jharris@mozilla.com at Wed, 11 Jan 2017 20:56:38 +0000
Bug 1318965 - Removes the custom AtomicRefCount r?cpearce MozReview-Commit-ID: BAGocY4nGiM
2737d9f8f7a08c8243c9e72f7e5cc2b899aee4e8: Bug 1318965 - Converts gmp-clearkey to use Chromium ContentDecryptionModule8 interface used by widevine r?cpearce draft
Jay Harris <jharris@mozilla.com> - Thu, 12 Jan 2017 09:52:05 +1300 - rev 459358
Push 41201 by bmo:jharris@mozilla.com at Wed, 11 Jan 2017 20:56:38 +0000
Bug 1318965 - Converts gmp-clearkey to use Chromium ContentDecryptionModule8 interface used by widevine r?cpearce MozReview-Commit-ID: 6lOzItuuvdd
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 tip