Changeset 158366 in webkit
- Timestamp:
- Oct 31, 2013 10:33:08 AM (10 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 4 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r158365 r158366 1 2013-10-31 Alexey Proskuryakov <ap@apple.com> 2 3 Add bindings code for crypto algorithm dictionaries 4 https://bugs.webkit.org/show_bug.cgi?id=123476 5 6 Reviewed by Sam Weinig. 7 8 JSCryptoAlgorithmDictionary reads the Algorithm, much like JSDictionary does in 9 simpler cases. We should see about bringing them closer together (perhaps replacing 10 with autogenerated code). 11 12 * crypto/parameters: Added. 13 * crypto/parameters/CryptoAlgorithmHmacKeyParams.h: Added. 14 * crypto/parameters/CryptoAlgorithmHmacParams.h: Added. 15 Added a couple specific dictionaries as an example. 16 17 * WebCore.xcodeproj/project.pbxproj: Added JSCryptoAlgorithmDictionary. 18 * bindings/js/JSCryptoAlgorithmDictionary.cpp: Added. 19 (WebCore::JSCryptoAlgorithmDictionary::getAlgorithmIdentifier): 20 (WebCore::getHashAlgorithm): 21 (WebCore::createHmacParams): 22 (WebCore::createHmacKeyParams): 23 (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign): 24 (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify): 25 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest): 26 (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey): 27 * bindings/js/JSCryptoAlgorithmDictionary.h: Added. 28 1 29 2013-10-31 Sam Weinig <sam@webkit.org> 2 30 -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r158363 r158366 5555 5555 E172AF6D180F24C600FBADB9 /* CryptoAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E172AF6B180F24C600FBADB9 /* CryptoAlgorithm.cpp */; }; 5556 5556 E172AF6E180F24C600FBADB9 /* CryptoAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = E172AF6C180F24C600FBADB9 /* CryptoAlgorithm.h */; }; 5557 E172AF74180F352500FBADB9 /* CryptoAlgorithmRegistryMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E172AF72180F352500FBADB9 /* CryptoAlgorithmRegistryMac.cpp */; }; 5557 E172AF70180F289500FBADB9 /* CryptoKeyUsage.h in Headers */ = {isa = PBXBuildFile; fileRef = E172AF6F180F289500FBADB9 /* CryptoKeyUsage.h */; }; 5558 E172AF77180F366C00FBADB9 /* CryptoKeyFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = E172AF76180F366C00FBADB9 /* CryptoKeyFormat.h */; }; 5558 5559 E172AF8F1811BC3700FBADB9 /* JSDOMPromise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E172AF8D1811BC3700FBADB9 /* JSDOMPromise.cpp */; }; 5559 5560 E172AF901811BC3700FBADB9 /* JSDOMPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = E172AF8E1811BC3700FBADB9 /* JSDOMPromise.h */; }; 5560 E172AF70180F289500FBADB9 /* CryptoKeyUsage.h in Headers */ = {isa = PBXBuildFile; fileRef = E172AF6F180F289500FBADB9 /* CryptoKeyUsage.h */; };5561 E172AF77180F366C00FBADB9 /* CryptoKeyFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = E172AF76180F366C00FBADB9 /* CryptoKeyFormat.h */; };5562 5561 E17B491516A9B094001C8839 /* TransitionEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E17B491316A9B093001C8839 /* TransitionEvent.cpp */; }; 5563 5562 E17B491616A9B094001C8839 /* TransitionEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = E17B491416A9B093001C8839 /* TransitionEvent.h */; }; … … 5575 5574 E18772F1126E2629003DD586 /* Language.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E18772F0126E2629003DD586 /* Language.cpp */; }; 5576 5575 E19727161820549E00592D51 /* CryptoKeyType.h in Headers */ = {isa = PBXBuildFile; fileRef = E19727151820549E00592D51 /* CryptoKeyType.h */; }; 5576 E19DA29C18189ADD00088BC8 /* CryptoAlgorithmHmacKeyParams.h in Headers */ = {isa = PBXBuildFile; fileRef = E19DA29B18189ADD00088BC8 /* CryptoAlgorithmHmacKeyParams.h */; }; 5577 5577 E1A1470811102B1500EEC0F3 /* ContainerNodeAlgorithms.h in Headers */ = {isa = PBXBuildFile; fileRef = E1A1470711102B1500EEC0F3 /* ContainerNodeAlgorithms.h */; }; 5578 5578 E1A3162D134BC32D007C9A4F /* WebNSAttributedStringExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = E1A3162B134BC32D007C9A4F /* WebNSAttributedStringExtras.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 5607 5607 E1BA67181742BEE600C20251 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F5C2869402846DCD018635CA /* Carbon.framework */; }; 5608 5608 E1BA671A1742BEF400C20251 /* WebCoreTestShimLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1BA67191742BEF400C20251 /* WebCoreTestShimLibrary.cpp */; }; 5609 E1BB84AD1822CA7400525043 /* CryptoAlgorithmRegistryMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1BB84AC1822CA7400525043 /* CryptoAlgorithmRegistryMac.cpp */; }; 5609 5610 E1BE512D0CF6C512002EA959 /* XSLTUnicodeSort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1BE512B0CF6C512002EA959 /* XSLTUnicodeSort.cpp */; }; 5610 5611 E1BE512E0CF6C512002EA959 /* XSLTUnicodeSort.h in Headers */ = {isa = PBXBuildFile; fileRef = E1BE512C0CF6C512002EA959 /* XSLTUnicodeSort.h */; }; … … 5622 5623 E1C4DE690EA75C1E0023CCD6 /* ActiveDOMObject.h in Headers */ = {isa = PBXBuildFile; fileRef = E1C4DE680EA75C1E0023CCD6 /* ActiveDOMObject.h */; settings = {ATTRIBUTES = (Private, ); }; }; 5623 5624 E1C4DE6E0EA75C650023CCD6 /* ActiveDOMObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1C4DE6D0EA75C650023CCD6 /* ActiveDOMObject.cpp */; }; 5625 E1C657121815F9DD00256CDD /* JSCryptoAlgorithmDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1C657101815F9DD00256CDD /* JSCryptoAlgorithmDictionary.cpp */; }; 5626 E1C657131815F9DD00256CDD /* JSCryptoAlgorithmDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = E1C657111815F9DD00256CDD /* JSCryptoAlgorithmDictionary.h */; }; 5627 E1C6571F1816E50300256CDD /* CryptoAlgorithmHmacParams.h in Headers */ = {isa = PBXBuildFile; fileRef = E1C6571E1816E50300256CDD /* CryptoAlgorithmHmacParams.h */; }; 5628 E1C657251816E69D00256CDD /* CryptoAlgorithmIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = E1C657241816E69D00256CDD /* CryptoAlgorithmIdentifier.h */; }; 5624 5629 E1C657271816F9FE00256CDD /* CryptoAlgorithmParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = E1C657261816F9FE00256CDD /* CryptoAlgorithmParameters.h */; }; 5625 E1C657251816E69D00256CDD /* CryptoAlgorithmIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = E1C657241816E69D00256CDD /* CryptoAlgorithmIdentifier.h */; };5626 5630 E1C8BE5D0E8BD15A0064CB7D /* JSWorker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1C8BE5C0E8BD15A0064CB7D /* JSWorker.cpp */; }; 5627 5631 E1CA5CBC0E8CDCAF00E8EF90 /* JSWorkerCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1CA5CBB0E8CDCAF00E8EF90 /* JSWorkerCustom.cpp */; }; … … 12559 12563 E172AF6B180F24C600FBADB9 /* CryptoAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CryptoAlgorithm.cpp; sourceTree = "<group>"; }; 12560 12564 E172AF6C180F24C600FBADB9 /* CryptoAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoAlgorithm.h; sourceTree = "<group>"; }; 12565 E172AF6F180F289500FBADB9 /* CryptoKeyUsage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoKeyUsage.h; sourceTree = "<group>"; }; 12561 12566 E172AF72180F352500FBADB9 /* CryptoAlgorithmRegistryMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CryptoAlgorithmRegistryMac.cpp; path = mac/CryptoAlgorithmRegistryMac.cpp; sourceTree = "<group>"; }; 12567 E172AF76180F366C00FBADB9 /* CryptoKeyFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoKeyFormat.h; sourceTree = "<group>"; }; 12562 12568 E172AF8D1811BC3700FBADB9 /* JSDOMPromise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDOMPromise.cpp; sourceTree = "<group>"; }; 12563 12569 E172AF8E1811BC3700FBADB9 /* JSDOMPromise.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDOMPromise.h; sourceTree = "<group>"; }; 12564 E172AF6F180F289500FBADB9 /* CryptoKeyUsage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoKeyUsage.h; sourceTree = "<group>"; };12565 E172AF76180F366C00FBADB9 /* CryptoKeyFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoKeyFormat.h; sourceTree = "<group>"; };12566 12570 E176580C180DF3A0005A96D1 /* OESElementIndexUint.idl */ = {isa = PBXFileReference; lastKnownFileType = text; name = OESElementIndexUint.idl; path = canvas/OESElementIndexUint.idl; sourceTree = "<group>"; }; 12567 12571 E17B490B16A97269001C8839 /* TransitionEvent.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TransitionEvent.idl; sourceTree = "<group>"; }; … … 12581 12585 E18772F0126E2629003DD586 /* Language.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Language.cpp; sourceTree = "<group>"; }; 12582 12586 E19727151820549E00592D51 /* CryptoKeyType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoKeyType.h; sourceTree = "<group>"; }; 12587 E19DA29B18189ADD00088BC8 /* CryptoAlgorithmHmacKeyParams.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CryptoAlgorithmHmacKeyParams.h; path = parameters/CryptoAlgorithmHmacKeyParams.h; sourceTree = "<group>"; }; 12583 12588 E1A1470711102B1500EEC0F3 /* ContainerNodeAlgorithms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContainerNodeAlgorithms.h; sourceTree = "<group>"; }; 12584 12589 E1A3162B134BC32D007C9A4F /* WebNSAttributedStringExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebNSAttributedStringExtras.h; sourceTree = "<group>"; }; … … 12620 12625 E1BA67161742BDE000C20251 /* libWebCoreTestShim.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libWebCoreTestShim.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; 12621 12626 E1BA67191742BEF400C20251 /* WebCoreTestShimLibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCoreTestShimLibrary.cpp; sourceTree = "<group>"; }; 12627 E1BB84AC1822CA7400525043 /* CryptoAlgorithmRegistryMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CryptoAlgorithmRegistryMac.cpp; path = mac/CryptoAlgorithmRegistryMac.cpp; sourceTree = "<group>"; }; 12622 12628 E1BE512B0CF6C512002EA959 /* XSLTUnicodeSort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XSLTUnicodeSort.cpp; sourceTree = "<group>"; }; 12623 12629 E1BE512C0CF6C512002EA959 /* XSLTUnicodeSort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XSLTUnicodeSort.h; sourceTree = "<group>"; }; … … 12635 12641 E1C4DE680EA75C1E0023CCD6 /* ActiveDOMObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ActiveDOMObject.h; sourceTree = "<group>"; }; 12636 12642 E1C4DE6D0EA75C650023CCD6 /* ActiveDOMObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ActiveDOMObject.cpp; sourceTree = "<group>"; }; 12643 E1C657101815F9DD00256CDD /* JSCryptoAlgorithmDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCryptoAlgorithmDictionary.cpp; sourceTree = "<group>"; }; 12644 E1C657111815F9DD00256CDD /* JSCryptoAlgorithmDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCryptoAlgorithmDictionary.h; sourceTree = "<group>"; }; 12645 E1C6571E1816E50300256CDD /* CryptoAlgorithmHmacParams.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CryptoAlgorithmHmacParams.h; path = parameters/CryptoAlgorithmHmacParams.h; sourceTree = "<group>"; }; 12646 E1C657241816E69D00256CDD /* CryptoAlgorithmIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoAlgorithmIdentifier.h; sourceTree = "<group>"; }; 12637 12647 E1C657261816F9FE00256CDD /* CryptoAlgorithmParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoAlgorithmParameters.h; sourceTree = "<group>"; }; 12638 E1C657241816E69D00256CDD /* CryptoAlgorithmIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoAlgorithmIdentifier.h; sourceTree = "<group>"; };12639 12648 E1C6CFC21746D293007B87A1 /* DOMWindowConstructors.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = DOMWindowConstructors.idl; sourceTree = "<group>"; }; 12640 12649 E1C8BE5C0E8BD15A0064CB7D /* JSWorker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWorker.cpp; sourceTree = "<group>"; }; … … 19289 19298 E157A8EE18185425009F821D /* JSCryptoAlgorithmBuilder.cpp */, 19290 19299 E157A8EF18185425009F821D /* JSCryptoAlgorithmBuilder.h */, 19300 E1C657101815F9DD00256CDD /* JSCryptoAlgorithmDictionary.cpp */, 19301 E1C657111815F9DD00256CDD /* JSCryptoAlgorithmDictionary.h */, 19291 19302 BCE438A1140C0DBF005E437E /* JSDictionary.cpp */, 19292 19303 BCE4389B140B1BA7005E437E /* JSDictionary.h */, … … 20122 20133 isa = PBXGroup; 20123 20134 children = ( 20124 E1 72AF72180F352500FBADB9/* CryptoAlgorithmRegistryMac.cpp */,20135 E1BB84AC1822CA7400525043 /* CryptoAlgorithmRegistryMac.cpp */, 20125 20136 ); 20126 20137 name = mac; 20138 sourceTree = "<group>"; 20139 }; 20140 E172AF7C180F3B0D00FBADB9 /* algorithms */ = { 20141 isa = PBXGroup; 20142 children = ( 20143 ); 20144 path = algorithms; 20145 sourceTree = "<group>"; 20146 }; 20147 E19DA29D181995CE00088BC8 /* keys */ = { 20148 isa = PBXGroup; 20149 children = ( 20150 ); 20151 name = keys; 20152 sourceTree = "<group>"; 20153 }; 20154 E1C657141816015F00256CDD /* parameters */ = { 20155 isa = PBXGroup; 20156 children = ( 20157 E19DA29B18189ADD00088BC8 /* CryptoAlgorithmHmacKeyParams.h */, 20158 E1C6571E1816E50300256CDD /* CryptoAlgorithmHmacParams.h */, 20159 ); 20160 name = parameters; 20127 20161 sourceTree = "<group>"; 20128 20162 }; … … 20239 20273 isa = PBXGroup; 20240 20274 children = ( 20275 E172AF7C180F3B0D00FBADB9 /* algorithms */, 20276 E19DA29D181995CE00088BC8 /* keys */, 20241 20277 E172AF71180F343400FBADB9 /* mac */, 20278 E1C657141816015F00256CDD /* parameters */, 20242 20279 E172AF6B180F24C600FBADB9 /* CryptoAlgorithm.cpp */, 20243 20280 E172AF6C180F24C600FBADB9 /* CryptoAlgorithm.h */, … … 22062 22099 31FB1A5B120A5D0600DC02A0 /* DeviceMotionData.h in Headers */, 22063 22100 31FB1A5D120A5D0600DC02A0 /* DeviceMotionEvent.h in Headers */, 22101 E1C6571F1816E50300256CDD /* CryptoAlgorithmHmacParams.h in Headers */, 22064 22102 59A8F1D811A69520001AC34A /* DeviceOrientationClient.h in Headers */, 22065 22103 59309A1311F4AE6A00250603 /* DeviceOrientationClientMock.h in Headers */, … … 22164 22202 52CCA9E815E3F64C0053C77F /* DOMDOMNamedFlowCollection.h in Headers */, 22165 22203 52CCA9EA15E3F64C0053C77F /* DOMDOMNamedFlowCollectionInternal.h in Headers */, 22204 E1C657131815F9DD00256CDD /* JSCryptoAlgorithmDictionary.h in Headers */, 22166 22205 E4DEAA1817A93DC3000E0430 /* StyleResolveTree.h in Headers */, 22167 22206 2D9A247415B9C2E300D34527 /* DOMDOMSecurityPolicy.h in Headers */, … … 23828 23867 BCEB179C143379F50052EAE9 /* RenderBoxRegionInfo.h in Headers */, 23829 23868 BCEA4864097D93020094C9E4 /* RenderLineBreak.h in Headers */, 23869 E19DA29C18189ADD00088BC8 /* CryptoAlgorithmHmacKeyParams.h in Headers */, 23830 23870 BCEA4866097D93020094C9E4 /* RenderButton.h in Headers */, 23831 23871 BCE4413412F748E2009B84B8 /* RenderCombineText.h in Headers */, … … 25639 25679 85DF82710AA78B8B00486AD7 /* DOMHTMLTableElement.mm in Sources */, 25640 25680 85DF82240AA7849E00486AD7 /* DOMHTMLTableRowElement.mm in Sources */, 25681 E1BB84AD1822CA7400525043 /* CryptoAlgorithmRegistryMac.cpp in Sources */, 25641 25682 85DF82260AA7849E00486AD7 /* DOMHTMLTableSectionElement.mm in Sources */, 25642 25683 85F32AF30AA63B8700FF3184 /* DOMHTMLTextAreaElement.mm in Sources */, … … 27107 27148 BCEA487F097D93020094C9E4 /* RenderObject.cpp in Sources */, 27108 27149 511EF2C417F0FD3500E4FA16 /* JSIDBFactory.cpp in Sources */, 27150 E1C657121815F9DD00256CDD /* JSCryptoAlgorithmDictionary.cpp in Sources */, 27109 27151 A43BF59C1149292800C643CA /* RenderProgress.cpp in Sources */, 27110 27152 5A574F24131DB93900471B88 /* RenderQuote.cpp in Sources */, … … 27246 27288 93C4A4161629DF5A00C3EB6E /* ScrollingTreeScrollingNodeMac.mm in Sources */, 27247 27289 0FB8890B167D2FA10010CDA5 /* ScrollingTreeStickyNode.mm in Sources */, 27248 E172AF74180F352500FBADB9 /* CryptoAlgorithmRegistryMac.cpp in Sources */,27249 27290 BC2441C40E8B65D00055320F /* ScrollView.cpp in Sources */, 27250 27291 9353676B09AED88B00D35CD6 /* ScrollViewMac.mm in Sources */, -
trunk/Source/WebCore/crypto/CryptoAlgorithmRegistry.h
r158363 r158366 27 27 #define CryptoAlgorithmRegistry_h 28 28 29 #include "CryptoAlgorithmIdentifier.h" 29 30 #include <wtf/Forward.h> 30 31 #include <wtf/HashMap.h> 31 32 #include <wtf/Noncopyable.h> 32 33 #include <wtf/text/StringHash.h> 33 #include "CryptoAlgorithmIdentifier.h"34 34 35 35 #if ENABLE(SUBTLE_CRYPTO)
Note: See TracChangeset
for help on using the changeset viewer.