Changeset 158363 in webkit
- Timestamp:
- Oct 31, 2013, 10:13:49 AM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 7 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r158362 r158363 1 2013-10-31 Alexey Proskuryakov <ap@apple.com> 2 3 Add a crypto algorithm abstraction 4 https://bugs.webkit.org/show_bug.cgi?id=123474 5 6 Reviewed by Sam Weinig. 7 8 This works slightly differently than WebCrypto implies. We have separate classes 9 for algorithm and its parameters, while WebCrypto puts them in the same dictionary. 10 11 * WebCore.xcodeproj/project.pbxproj: Added new files. 12 13 * crypto/CryptoAlgorithm.cpp: Added. As most algorithms don't implement most 14 operations, default implementations just raise an exception. 15 * crypto/CryptoAlgorithm.h: Added. 16 17 * crypto/CryptoAlgorithmParameters.h: Added. Base class for numerous future parameter 18 dictionaries, such as HmacParams or HmacKeyParams. 19 20 * crypto/CryptoAlgorithmRegistry.cpp: Added. 21 * crypto/CryptoAlgorithmRegistry.h: Added. 22 The registry decouples universal bindings code from algorithms that may or may not 23 be implemented on each platform. 24 25 * crypto/mac: Added. 26 * crypto/mac/CryptoAlgorithmRegistryMac.cpp: Added. 27 (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Algorithms implemented 28 on Mac will be registered by this function. 29 1 30 2013-10-31 Alexey Proskuryakov <ap@apple.com> 2 31 -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r158317 r158363 5553 5553 E16A84F914C85CCC002977DF /* CSSBorderImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E16A84F714C85CCC002977DF /* CSSBorderImage.cpp */; }; 5554 5554 E16A84FA14C85CCC002977DF /* CSSBorderImage.h in Headers */ = {isa = PBXBuildFile; fileRef = E16A84F814C85CCC002977DF /* CSSBorderImage.h */; }; 5555 E172AF6D180F24C600FBADB9 /* CryptoAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E172AF6B180F24C600FBADB9 /* CryptoAlgorithm.cpp */; }; 5556 E172AF6E180F24C600FBADB9 /* CryptoAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = E172AF6C180F24C600FBADB9 /* CryptoAlgorithm.h */; }; 5557 E172AF74180F352500FBADB9 /* CryptoAlgorithmRegistryMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E172AF72180F352500FBADB9 /* CryptoAlgorithmRegistryMac.cpp */; }; 5555 5558 E172AF8F1811BC3700FBADB9 /* JSDOMPromise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E172AF8D1811BC3700FBADB9 /* JSDOMPromise.cpp */; }; 5556 5559 E172AF901811BC3700FBADB9 /* JSDOMPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = E172AF8E1811BC3700FBADB9 /* JSDOMPromise.h */; }; … … 5619 5622 E1C4DE690EA75C1E0023CCD6 /* ActiveDOMObject.h in Headers */ = {isa = PBXBuildFile; fileRef = E1C4DE680EA75C1E0023CCD6 /* ActiveDOMObject.h */; settings = {ATTRIBUTES = (Private, ); }; }; 5620 5623 E1C4DE6E0EA75C650023CCD6 /* ActiveDOMObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1C4DE6D0EA75C650023CCD6 /* ActiveDOMObject.cpp */; }; 5624 E1C657271816F9FE00256CDD /* CryptoAlgorithmParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = E1C657261816F9FE00256CDD /* CryptoAlgorithmParameters.h */; }; 5621 5625 E1C657251816E69D00256CDD /* CryptoAlgorithmIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = E1C657241816E69D00256CDD /* CryptoAlgorithmIdentifier.h */; }; 5622 5626 E1C8BE5D0E8BD15A0064CB7D /* JSWorker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1C8BE5C0E8BD15A0064CB7D /* JSWorker.cpp */; }; … … 5641 5645 E1FF8F65180745D800132674 /* JSSubtleCrypto.h in Headers */ = {isa = PBXBuildFile; fileRef = E1FF8F63180745D800132674 /* JSSubtleCrypto.h */; }; 5642 5646 E1FF8F681807460800132674 /* JSSubtleCryptoCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1FF8F661807460800132674 /* JSSubtleCryptoCustom.cpp */; }; 5647 E1FF8F6C180DB5BE00132674 /* CryptoAlgorithmRegistry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1FF8F6A180DB5BE00132674 /* CryptoAlgorithmRegistry.cpp */; }; 5648 E1FF8F6D180DB5BE00132674 /* CryptoAlgorithmRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = E1FF8F6B180DB5BE00132674 /* CryptoAlgorithmRegistry.h */; }; 5643 5649 E401C27517CE53EC00C41A35 /* ElementIteratorAssertions.h in Headers */ = {isa = PBXBuildFile; fileRef = E401C27417CE53EC00C41A35 /* ElementIteratorAssertions.h */; }; 5644 5650 E4295FA412B0614E00D1ACE0 /* ResourceLoadPriority.h in Headers */ = {isa = PBXBuildFile; fileRef = E4295FA312B0614E00D1ACE0 /* ResourceLoadPriority.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 12551 12557 E16A84F714C85CCC002977DF /* CSSBorderImage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CSSBorderImage.cpp; sourceTree = "<group>"; }; 12552 12558 E16A84F814C85CCC002977DF /* CSSBorderImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSSBorderImage.h; sourceTree = "<group>"; }; 12559 E172AF6B180F24C600FBADB9 /* CryptoAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CryptoAlgorithm.cpp; sourceTree = "<group>"; }; 12560 E172AF6C180F24C600FBADB9 /* CryptoAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoAlgorithm.h; sourceTree = "<group>"; }; 12561 E172AF72180F352500FBADB9 /* CryptoAlgorithmRegistryMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CryptoAlgorithmRegistryMac.cpp; path = mac/CryptoAlgorithmRegistryMac.cpp; sourceTree = "<group>"; }; 12553 12562 E172AF8D1811BC3700FBADB9 /* JSDOMPromise.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDOMPromise.cpp; sourceTree = "<group>"; }; 12554 12563 E172AF8E1811BC3700FBADB9 /* JSDOMPromise.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDOMPromise.h; sourceTree = "<group>"; }; … … 12626 12635 E1C4DE680EA75C1E0023CCD6 /* ActiveDOMObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ActiveDOMObject.h; sourceTree = "<group>"; }; 12627 12636 E1C4DE6D0EA75C650023CCD6 /* ActiveDOMObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ActiveDOMObject.cpp; sourceTree = "<group>"; }; 12637 E1C657261816F9FE00256CDD /* CryptoAlgorithmParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoAlgorithmParameters.h; sourceTree = "<group>"; }; 12628 12638 E1C657241816E69D00256CDD /* CryptoAlgorithmIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoAlgorithmIdentifier.h; sourceTree = "<group>"; }; 12629 12639 E1C6CFC21746D293007B87A1 /* DOMWindowConstructors.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = DOMWindowConstructors.idl; sourceTree = "<group>"; }; … … 12650 12660 E1FF8F63180745D800132674 /* JSSubtleCrypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSSubtleCrypto.h; sourceTree = "<group>"; }; 12651 12661 E1FF8F661807460800132674 /* JSSubtleCryptoCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSSubtleCryptoCustom.cpp; sourceTree = "<group>"; }; 12662 E1FF8F6A180DB5BE00132674 /* CryptoAlgorithmRegistry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CryptoAlgorithmRegistry.cpp; sourceTree = "<group>"; }; 12663 E1FF8F6B180DB5BE00132674 /* CryptoAlgorithmRegistry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoAlgorithmRegistry.h; sourceTree = "<group>"; }; 12652 12664 E401C27417CE53EC00C41A35 /* ElementIteratorAssertions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ElementIteratorAssertions.h; sourceTree = "<group>"; }; 12653 12665 E406F3FB1198307D009D59D6 /* ColorData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ColorData.cpp; sourceTree = "<group>"; }; … … 20107 20119 sourceTree = "<group>"; 20108 20120 }; 20121 E172AF71180F343400FBADB9 /* mac */ = { 20122 isa = PBXGroup; 20123 children = ( 20124 E172AF72180F352500FBADB9 /* CryptoAlgorithmRegistryMac.cpp */, 20125 ); 20126 name = mac; 20127 sourceTree = "<group>"; 20128 }; 20109 20129 E1C8BE4B0E8BD0D10064CB7D /* Threads */ = { 20110 20130 isa = PBXGroup; … … 20219 20239 isa = PBXGroup; 20220 20240 children = ( 20241 E172AF71180F343400FBADB9 /* mac */, 20242 E172AF6B180F24C600FBADB9 /* CryptoAlgorithm.cpp */, 20243 E172AF6C180F24C600FBADB9 /* CryptoAlgorithm.h */, 20221 20244 E157A8EA181851AC009F821D /* CryptoAlgorithmDescriptionBuilder.cpp */, 20222 20245 E157A8EB181851AC009F821D /* CryptoAlgorithmDescriptionBuilder.h */, 20223 20246 E1C657241816E69D00256CDD /* CryptoAlgorithmIdentifier.h */, 20247 E1C657261816F9FE00256CDD /* CryptoAlgorithmParameters.h */, 20248 E1FF8F6A180DB5BE00132674 /* CryptoAlgorithmRegistry.cpp */, 20249 E1FF8F6B180DB5BE00132674 /* CryptoAlgorithmRegistry.h */, 20224 20250 E157A8DC18172C2C009F821D /* CryptoKey.idl */, 20225 20251 E157A8E218173A3A009F821D /* CryptoKey.cpp */, … … 21667 21693 FD315FFC12B0267600C1A359 /* AudioBufferSourceNode.h in Headers */, 21668 21694 FD31607C12B026F700C1A359 /* AudioBus.h in Headers */, 21695 E1FF8F6D180DB5BE00132674 /* CryptoAlgorithmRegistry.h in Headers */, 21669 21696 07C59B5E17F4B208000FBCBB /* JSAudioStreamTrack.h in Headers */, 21670 21697 FD31607E12B026F700C1A359 /* AudioChannel.h in Headers */, … … 22683 22710 D359D78A129CA2710006E5D2 /* HTMLDetailsElement.h in Headers */, 22684 22711 A8EA79FA0A1916DF00A8EF5F /* HTMLDirectoryElement.h in Headers */, 22712 E1C657271816F9FE00256CDD /* CryptoAlgorithmParameters.h in Headers */, 22685 22713 A8EA7CB70A192B9C00A8EF5F /* HTMLDivElement.h in Headers */, 22686 22714 A8EA79F70A1916DF00A8EF5F /* HTMLDListElement.h in Headers */, … … 23067 23095 1AE2AA290A1CDAB400B42B25 /* JSHTMLFontElement.h in Headers */, 23068 23096 9BF9A8811648DD2F001C6B23 /* JSHTMLFormControlsCollection.h in Headers */, 23097 E172AF6E180F24C600FBADB9 /* CryptoAlgorithm.h in Headers */, 23069 23098 A8D064FC0A23C0CC005E7203 /* JSHTMLFormElement.h in Headers */, 23070 23099 BC4918C70BFEA050009D6316 /* JSHTMLFrameElement.h in Headers */, … … 26108 26137 418F88040FF957AE0080F045 /* JSAbstractWorker.cpp in Sources */, 26109 26138 073BE34F17D18183002BD431 /* RTCIceCandidateDescriptor.cpp in Sources */, 26139 E172AF6D180F24C600FBADB9 /* CryptoAlgorithm.cpp in Sources */, 26110 26140 FDA15EC912B03F50003A583A /* JSAnalyserNode.cpp in Sources */, 26111 26141 65DF31DA09D1C123000BE325 /* JSAttr.cpp in Sources */, … … 27216 27246 93C4A4161629DF5A00C3EB6E /* ScrollingTreeScrollingNodeMac.mm in Sources */, 27217 27247 0FB8890B167D2FA10010CDA5 /* ScrollingTreeStickyNode.mm in Sources */, 27248 E172AF74180F352500FBADB9 /* CryptoAlgorithmRegistryMac.cpp in Sources */, 27218 27249 BC2441C40E8B65D00055320F /* ScrollView.cpp in Sources */, 27219 27250 9353676B09AED88B00D35CD6 /* ScrollViewMac.mm in Sources */, … … 27582 27613 B2C3DA3F0D006C1D00EF6F26 /* TextCodecUserDefined.cpp in Sources */, 27583 27614 B2C3DA410D006C1D00EF6F26 /* TextCodecUTF16.cpp in Sources */, 27615 E1FF8F6C180DB5BE00132674 /* CryptoAlgorithmRegistry.cpp in Sources */, 27584 27616 9343CB8112F25E510033C5EE /* TextCodecUTF8.cpp in Sources */, 27585 27617 142B97C913138943008BEF4B /* TextControlInnerElements.cpp in Sources */,
Note:
See TracChangeset
for help on using the changeset viewer.