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

43 Коммитов

Автор SHA1 Сообщение Дата
J.C. Jones 9c614370ec Bug 1564509 - Remove DH from WebCrypto r=kjacobs,bzbarsky,keeler
Bug 1034856 added support for DH algorithms to WebCrypto, however the final
specification did not choose to include them, making Firefox the only browser
with support.

Bug 1539578 added telemetry to show usage, and it is extremely low (not
appearing on the graphs), which could be expected as Firefox is the only
supporting browser.

Since DH is an ongoing maintenance burden -- and overall cryptanalysis of DH
is progressing -- let's remove it.

Notice to unship went to dev-platform on 29 March 2019 with no objections. [0]

[0] https://groups.google.com/d/msg/mozilla.dev.platform/Ut3-eQmUdWg/O9w1et1aBgAJ

Differential Revision: https://phabricator.services.mozilla.com/D50865

--HG--
extra : moz-landing-system : lando
2019-11-11 21:17:47 +00:00
Boris Zbarsky d36e5a4ea5 Bug 1214364 part 4. Only output full-featured Init methods for dictionaries that need them. r=peterv
Dictionaries that we never initialize with JS values don't need a full-featured
Init() method.  Instead, we output a cut-down Init() method that doesn't even
take a JSContext and Value as argument, and skips as much work as it can.  It
uses constant-false for "is the value present?", but also, to avoid compilation
errors due to use of `cx` and `val` in now-dead conversion code, it tells the
native-to-JS conversion machinery that the value is always missing, which lets
it skip most of the the work it would normally try to do and just output
initialization to the default value.  We only need to do this for members that
have default values; the others either remain no-passed or are required members
with no default-initialization behavior.

This saves about 330KB of codesize on Linux64 without PGO and 285KB with PGO.

Differential Revision: https://phabricator.services.mozilla.com/D48007

--HG--
extra : moz-landing-system : lando
2019-10-28 20:24:31 +00:00
Boris Zbarsky 0d2e9ff1f1 Bug 1214364 part 3. Only output ToObjectInternal methods for dictionaries that need it. r=peterv
This saves about 270KB of codesize on Linux64 without LTO, or 20KB with LTO.

The basic idea is that we can flag dictionaries that need to-JS conversion
(hence ToObjectInternal) based on various IDL uses (return value in normal
interface, argument in callback, etc) and then annotate the ones that are
converted to JS manually in C++ code.

The mozwebidlcodegen changes are needed because non-local changes (e.g. whether
a dictionary is used as a return value somewhere) can now affect the code
generation for a dictionary and hence whether the relevant binding file should
be regenerated.  Since these changes can happen in any .webidl file, we need to
check for them.  We can't track this via the dependency set on the dictionary
itself, because that would not notice new uses being added.

Differential Revision: https://phabricator.services.mozilla.com/D48006

--HG--
extra : moz-landing-system : lando
2019-10-28 23:20:11 +00:00
Boris Zbarsky 3a2aa6f9b1 Bug 1214364 part 1. Only output conversions to/from JSON for dictionaries that need it. r=peterv
This saves about 200KB of codesize on Linux64 without LTO.  No effect with LTO,
but is needed for the following patches to work.

Very few dictionaries need these conversions, so explicit opt-in is fine.

Differential Revision: https://phabricator.services.mozilla.com/D48005

--HG--
extra : moz-landing-system : lando
2019-10-23 15:58:29 +00:00
Boris Zbarsky e5497b955e Bug 1423562 part 3. Remove [PrimaryGlobal] and require explicit [Exposed] annotations on everything. r=edgar
For review purposes, the important changes are in dom/bindings/Configuration.py
and dom/bindings/parser.

The changes to the IDL files were done by running these in dom/webidl
and dom/bindings/test:

  perl -pi -e 's/^interface ([A-Za-z0-9_]+)($| [:{])/[Exposed=Window]\ninterface \1\2/' *.webidl

  perl -pi -e 'BEGIN { $/ = undef; } s/\[HTMLConstructor\]\n\[Exposed=Window\]/[HTMLConstructor,\n Exposed=Window]/g' *.webidl

  perl -pi -e 'BEGIN { $/ = undef; } s/\[NoInterfaceObject\]\n\[Exposed=Window\]/[NoInterfaceObject,\n Exposed=Window]/g' *.webidl

  perl -pi -e 'BEGIN { $/ = undef; } s/\[ChromeOnly\]\n\[Exposed=Window\]/[ChromeOnly,\n Exposed=Window]/g' *.webidl

And running this in dom/chrome-webidl:

  perl -pi -e 'BEGIN { $/ = undef; } s/\[ChromeOnly\]\ninterface/[ChromeOnly, Exposed=Window]\ninterface/g' *.webidl

and then fixing all the resulting parser failures.  I then verified that the
generated code is the same as before this change.

Differential Revision: https://phabricator.services.mozilla.com/D46697

--HG--
extra : moz-landing-system : lando
2019-09-27 15:26:14 +00:00
Boris Zbarsky 4b183f77b2 Bug 1350254 part 8. Switch CryptoKey to [Serializable]. r=baku
The spec doesn't say to do this, but I think we should.  See
https://github.com/w3c/webcrypto/issues/222

Differential Revision: https://phabricator.services.mozilla.com/D35722

--HG--
extra : moz-landing-system : lando
2019-06-25 06:48:41 +00:00
Manish Goregaokar aa95e97459 Bug 1359269 - Part 8: Make it a hard error to apply type attributes on arguments, attrs, and dict members when it's unambiguous, update webidls; r=bzbarsky
Depends on D20058

Differential Revision: https://phabricator.services.mozilla.com/D20059

--HG--
extra : moz-landing-system : lando
2019-03-02 04:21:50 +00:00
Dorel Luca d66ca2b25b Backed out 11 changesets (bug 1359269) for Linting failure. CLOSED TREE
Backed out changeset 00461a29f650 (bug 1359269)
Backed out changeset 6c09eccc4bd1 (bug 1359269)
Backed out changeset ae30401e7988 (bug 1359269)
Backed out changeset 8f9509e82439 (bug 1359269)
Backed out changeset bfb153c7f9c3 (bug 1359269)
Backed out changeset 1430913c5e9e (bug 1359269)
Backed out changeset 4bb00dc53459 (bug 1359269)
Backed out changeset 7705b1ebb154 (bug 1359269)
Backed out changeset 7fd8a3c1f827 (bug 1359269)
Backed out changeset c3f37539cb31 (bug 1359269)
Backed out changeset bb694b612b1b (bug 1359269)
2019-03-02 04:07:00 +02:00
Manish Goregaokar ee96363968 Bug 1359269 - Part 8: Make it a hard error to apply type attributes on arguments, attrs, and dict members when it's unambiguous, update webidls; r=bzbarsky
Depends on D20058

Differential Revision: https://phabricator.services.mozilla.com/D20059

--HG--
extra : moz-landing-system : lando
2019-03-02 01:23:28 +00:00
Cosmin Sabou 679b5e2db1 Backed out 5 changesets (bug 1485040) for causing build bustages on test_mozwebidlcodegen. CLOSED TREE
Backed out changeset b417c2d937e8 (bug 1485040)
Backed out changeset c567c4c7438f (bug 1485040)
Backed out changeset 806c36cb2c4c (bug 1485040)
Backed out changeset 0fbb490ffc7f (bug 1485040)
Backed out changeset a9622e7761eb (bug 1485040)
2018-09-13 23:04:55 +03:00
Andrew McCreight 93b3b0138c Bug 1485040, part 5 - Automatically fix mode lines in WebIDL files r=qdot
This patch was generated by my modeline.py script.

MozReview-Commit-ID: EbVjPLwiUAT

Depends on D4159

Differential Revision: https://phabricator.services.mozilla.com/D4161

--HG--
extra : moz-landing-system : lando
2018-09-13 19:30:51 +00:00
Tim Taubert c75738f5b2 Bug 842818 - Expose WebCrypto API to workers r=baku 2015-09-21 19:29:41 +02:00
Tim Taubert 38e4db6e5e Bug 1191936 - Implement RSA-PSS signing and verification r=rbarnes,smaug 2015-10-13 20:22:43 +02:00
Tim Taubert d2d995e72c Bug 1200341 - Use BufferSource instead of CryptoOperationData in the SubtleCrypto WebIDL spec r=smaug 2016-01-26 16:47:41 +01:00
Tim Taubert d01d161b5e Bug 1200341 - Implement HKDF for WebCrypto r=rbarnes,smaug 2016-01-26 14:57:52 +01:00
Tim Taubert 9a87f6a0e5 Bug 1050175 - Add raw import/export for EC public keys to the WebCrypto API r=rbarnes,smaug 2015-04-28 09:13:16 +02:00
Mark Banner d4d7432759 Bug 1147940 - Remove the dom.webcrypto.enabled pref as it is no longer necessary. r=smaug,r=rbarnes 2015-04-08 19:23:05 +01:00
Tim Taubert c1d2b2fa82 Bug 1034856 - Implement raw public key import/export for DH r=rbarnes,smaug 2014-08-22 12:02:14 +02:00
Tim Taubert 1d4ba08090 Bug 1034856 - Implement deriveBits() for DH r=rbarnes,smaug 2014-08-21 17:51:51 +02:00
Richard Barnes f5092e255e Bug 1034854 - Add support for ECDSA to WebCrypto API r=ttaubert,dkeeler r=bz 2014-10-13 23:19:00 +02:00
Richard Barnes 63afe24da8 Bug 1037892 - Implement changes to WebCrypto API from latest Editor's Draft r=bz,ttaubert 2014-09-27 14:22:57 -04:00
Wes Kocher 6341575225 Backed out changeset 398bdeea30b0 (bug 1037892) for build bustage 2014-09-26 15:35:38 -07:00
Richard Barnes 8a9d1659d6 Bug 1037892 - Implement changes to WebCrypto API from latest Editor's Draft r=bz,ttaubert
* * *
Add check for old structured clone format.
2014-09-26 17:36:39 -04:00
Tim Taubert e51e01cadd Bug 1050202 - Take length parameter into account when deriving HMAC keys r=rbarnes,smaug 2014-08-07 12:52:28 +02:00
Tim Taubert 40e956b12c Bug 1034855 - Implement deriveBits() for ECDH r=rbarnes,smaug 2014-07-29 11:11:26 +02:00
Tim Taubert 77ac66adc8 Bug 1034855 - Introduce EcKeyAlgorithm r=rbarnes,smaug 2014-07-26 08:00:24 +02:00
Ryan VanderMeulen cdc1306825 Backed out 6 changesets (bug 1034855) for LSAN leaks on a CLOSED TREE.
Backed out changeset 0dc569f74991 (bug 1034855)
Backed out changeset 4eb0ee62db1e (bug 1034855)
Backed out changeset 4af8993f1534 (bug 1034855)
Backed out changeset f4f5f5b8421d (bug 1034855)
Backed out changeset 33510bb7ad60 (bug 1034855)
Backed out changeset 50b8670329aa (bug 1034855)
2014-08-05 14:04:08 -04:00
Tim Taubert 0dfe8e631b Bug 1034855 - Implement deriveBits() for ECDH r=rbarnes,smaug 2014-07-29 11:11:26 +02:00
Tim Taubert f8f8dd34df Bug 1034855 - Introduce EcKeyAlgorithm r=rbarnes,smaug 2014-07-26 08:00:24 +02:00
Boris Zbarsky 0511225e67 Bug 1045743. Add support for the Promise<type> syntax to Web IDL bindings. r=khuey 2014-07-31 23:50:30 -04:00
Richard Barnes e10fdbd715 Bug 1025230 - Allow import/export of JWK-formatted keys in WebCrypto r=bz,keeler 2014-07-19 08:25:00 -05:00
Richard Barnes 58860abf23 Bug 1034851 - Add wrapKey and unwrapKey methods to WebCrypto API r=bz 2014-07-19 08:24:00 -05:00
Boris Zbarsky 92fb7dde3a Bug 1040263. Eagerly create and preserve Promise reflectors so we always have them available during unlink. r=nsm,bholley. 2014-07-18 21:31:11 -04:00
Tim Taubert 09f7b51771 Bug 1026398 - Add support for RSA-OAEP to WebCrypto API r=rbarnes,bz,dkeeler
* * *
Bug 1026398 - Add RSA-OAEP tests r=rbarnes
2014-07-14 18:33:12 -07:00
Richard Barnes d3ecd20c07 Bug 1021607 - Add support for PBKDF2 to WebCrypto API. r=bz
0001 - Introduce BasicSymmetricKeyAlgorithm r=rbarnes
0002 - Implement import key operation for PBKDF2 r=bz,rbarnes
0003 - Introduce MapAlgorithmNameToMechanism() r=rbarnes
0004 - Implement derive bits operation for PBKDF2 r=rbarnes,keeler,bz
0005 - Introduce GetKeySizeForAlgorithm() r=rbarnes
0006 - Implement derive keys operation for PBKDF2 r=rbarnes,bz
2014-07-12 20:06:00 +02:00
Ed Morley 65aa1f33ef Backed out changeset 5460c4558253 (bug 1026398) for test_WebCrypto.html timeouts on B2G; CLOSED TREE 2014-07-11 17:01:44 +01:00
Richard Barnes f58a5d84f8 Bug 1026398 - Add support for RSA-OAEP to WebCrypto API. r=bz,dkeeler 2014-07-10 13:44:00 +02:00
Tim Taubert 3f882a20a0 Bug 1026314 - Rename Key to CryptoKey in WebCrypto r=rbarnes,bz
From 9beed249a4d08ccc945bc573a0c71d295cb1b222 Mon Sep 17 00:00:00 2001

--HG--
rename : dom/crypto/Key.cpp => dom/crypto/CryptoKey.cpp
rename : dom/crypto/Key.h => dom/crypto/CryptoKey.h
rename : dom/crypto/KeyPair.cpp => dom/crypto/CryptoKeyPair.cpp
rename : dom/crypto/KeyPair.h => dom/crypto/CryptoKeyPair.h
2014-06-23 23:25:13 +02:00
Ed Morley 1148a891c7 Backed out changeset 38831e922852 (bug 1026314) for test_interfaces.html failures
--HG--
rename : dom/crypto/CryptoKey.cpp => dom/crypto/Key.cpp
rename : dom/crypto/CryptoKey.h => dom/crypto/Key.h
rename : dom/crypto/CryptoKeyPair.cpp => dom/crypto/KeyPair.cpp
rename : dom/crypto/CryptoKeyPair.h => dom/crypto/KeyPair.h
2014-07-04 16:17:51 +01:00
Tim Taubert 02d0c6d693 Bug 1026314 - Rename Key to CryptoKey in WebCrypto r=rbarnes,bz
--HG--
rename : dom/crypto/Key.cpp => dom/crypto/CryptoKey.cpp
rename : dom/crypto/Key.h => dom/crypto/CryptoKey.h
rename : dom/crypto/KeyPair.cpp => dom/crypto/CryptoKeyPair.cpp
rename : dom/crypto/KeyPair.h => dom/crypto/CryptoKeyPair.h
2014-06-23 23:25:13 +02:00
Boris Zbarsky dfe8c38082 Bug 1009675 part 3. Return WebIDL 'object' values as handles. r=peterv 2014-06-11 16:26:52 -04:00
Richard Barnes 01fedee2de Bug 998471 - Add support for key generation to WebCrypto API. r=bz,dkeeler
* * *
Change from SetCapacity to SetLength so that strings clone properly
2014-05-26 12:05:00 +02:00
Richard Barnes 513ac90185 Bug 995385 - Add WebCrypto WebIDL interfaces. r=bz, r=cviecco, r=dkeeler 2014-05-15 06:20:00 -04:00