Changeset 157936 in webkit


Ignore:
Timestamp:
Oct 24, 2013 10:05:36 AM (10 years ago)
Author:
ap@apple.com
Message:

Add CryptoKey base class and bindings
https://bugs.webkit.org/show_bug.cgi?id=123216

Reviewed by Sam Weinig.

  • crypto/CryptoKey.idl: Added.
  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.list.am:

Process the IDL.

  • WebCore.xcodeproj/project.pbxproj: Added files.
  • bindings/js/JSCryptoKeyCustom.cpp: Added.

(WebCore::JSCryptoKey::algorithm): Use a visitor to build algorithm dictionary
for the key.

  • crypto/CryptoAlgorithmDescriptionBuilder.cpp: Added.
  • crypto/CryptoAlgorithmDescriptionBuilder.h: Added.

An interface for a visitor we'll use to expose CrytoKey.algorithm in bindings,
and possibly also for storage serialization. Not complete yet, we'll need support
for a few more simple types, and less trivially, for nested algorithms.

  • bindings/js/JSCryptoAlgorithmBuilder.cpp: Added.
  • bindings/js/JSCryptoAlgorithmBuilder.h: Added.

An implementation that builds an algorithm description dictionary for JS bindings.

  • crypto/CryptoKey.cpp: Added.

(WebCore::CryptoKey::~CryptoKey):
(WebCore::CryptoKey::buildAlgorithmDescription):

  • crypto/CryptoKey.h: Added.

Added an almost empty implementation. Some of the functions that are currently
marked as pure virtual will likely be implemented in this base class.

Location:
trunk/Source/WebCore
Files:
8 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/CMakeLists.txt

    r157911 r157936  
    284284    Modules/websockets/WebSocket.idl
    285285
     286    crypto/CryptoKey.idl
    286287    crypto/SubtleCrypto.idl
    287288
  • trunk/Source/WebCore/ChangeLog

    r157934 r157936  
     12013-10-23  Alexey Proskuryakov  <ap@apple.com>
     2
     3        Add CryptoKey base class and bindings
     4        https://bugs.webkit.org/show_bug.cgi?id=123216
     5
     6        Reviewed by Sam Weinig.
     7
     8        * crypto/CryptoKey.idl: Added.
     9
     10        * CMakeLists.txt:
     11        * DerivedSources.make:
     12        * GNUmakefile.list.am:
     13        Process the IDL.
     14
     15        * WebCore.xcodeproj/project.pbxproj: Added files.
     16
     17        * bindings/js/JSCryptoKeyCustom.cpp: Added.
     18        (WebCore::JSCryptoKey::algorithm): Use a visitor to build algorithm dictionary
     19        for the key.
     20
     21        * crypto/CryptoAlgorithmDescriptionBuilder.cpp: Added.
     22        * crypto/CryptoAlgorithmDescriptionBuilder.h: Added.
     23        An interface for a visitor we'll use to expose CrytoKey.algorithm in bindings,
     24        and possibly also for storage serialization. Not complete yet, we'll need support
     25        for a few more simple types, and less trivially, for nested algorithms.
     26
     27        * bindings/js/JSCryptoAlgorithmBuilder.cpp: Added.
     28        * bindings/js/JSCryptoAlgorithmBuilder.h: Added.
     29        An implementation that builds an algorithm description dictionary for JS bindings.
     30
     31        * crypto/CryptoKey.cpp: Added.
     32        (WebCore::CryptoKey::~CryptoKey):
     33        (WebCore::CryptoKey::buildAlgorithmDescription):
     34        * crypto/CryptoKey.h: Added.
     35        Added an almost empty implementation. Some of the functions that are currently
     36        marked as pure virtual will likely be implemented in this base class.
     37
    1382013-10-24  Commit Queue  <commit-queue@webkit.org>
    239
  • trunk/Source/WebCore/DerivedSources.make

    r157430 r157936  
    199199    $(WebCore)/Modules/websockets/CloseEvent.idl \
    200200    $(WebCore)/Modules/websockets/WebSocket.idl \
     201    $(WebCore)/crypto/CryptoKey.idl \
    201202    $(WebCore)/crypto/SubtleCrypto.idl \
    202203    $(WebCore)/css/CSSCharsetRule.idl \
  • trunk/Source/WebCore/GNUmakefile.list.am

    r157869 r157936  
    12991299        $(WebCore)/Modules/websockets/CloseEvent.idl \
    13001300        $(WebCore)/Modules/websockets/WebSocket.idl \
     1301        $(WebCore)/crypto/CryptoKey.idl \
    13011302        $(WebCore)/crypto/SubtleCrypto.idl \
    13021303        $(WebCore)/css/CSSCharsetRule.idl \
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r157869 r157936  
    55255525                E152551516FD2350003D7ADB /* WebCoreResourceHandleAsOperationQueueDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = E152551316FD234F003D7ADB /* WebCoreResourceHandleAsOperationQueueDelegate.h */; };
    55265526                E152551616FD2350003D7ADB /* WebCoreResourceHandleAsOperationQueueDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = E152551416FD234F003D7ADB /* WebCoreResourceHandleAsOperationQueueDelegate.mm */; };
     5527                E157A8E01817331C009F821D /* JSCryptoKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E157A8DE1817331C009F821D /* JSCryptoKey.cpp */; };
     5528                E157A8E11817331C009F821D /* JSCryptoKey.h in Headers */ = {isa = PBXBuildFile; fileRef = E157A8DF1817331C009F821D /* JSCryptoKey.h */; };
     5529                E157A8E418173A3A009F821D /* CryptoKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E157A8E218173A3A009F821D /* CryptoKey.cpp */; };
     5530                E157A8E518173A3A009F821D /* CryptoKey.h in Headers */ = {isa = PBXBuildFile; fileRef = E157A8E318173A3A009F821D /* CryptoKey.h */; };
     5531                E157A8E818184C67009F821D /* JSCryptoKeyCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E157A8E618184C67009F821D /* JSCryptoKeyCustom.cpp */; };
     5532                E157A8EC181851AC009F821D /* CryptoAlgorithmDescriptionBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E157A8EA181851AC009F821D /* CryptoAlgorithmDescriptionBuilder.cpp */; };
     5533                E157A8ED181851AC009F821D /* CryptoAlgorithmDescriptionBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = E157A8EB181851AC009F821D /* CryptoAlgorithmDescriptionBuilder.h */; };
     5534                E157A8F018185425009F821D /* JSCryptoAlgorithmBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E157A8EE18185425009F821D /* JSCryptoAlgorithmBuilder.cpp */; };
     5535                E157A8F118185425009F821D /* JSCryptoAlgorithmBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = E157A8EF18185425009F821D /* JSCryptoAlgorithmBuilder.h */; };
    55275536                E15A36D71104572000B7B639 /* XMLNSNames.h in Headers */ = {isa = PBXBuildFile; fileRef = E15A36D61104572000B7B639 /* XMLNSNames.h */; };
    55285537                E15A36D91104572700B7B639 /* XMLNSNames.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E15A36D81104572700B7B639 /* XMLNSNames.cpp */; };
     
    1249712506                E152551316FD234F003D7ADB /* WebCoreResourceHandleAsOperationQueueDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCoreResourceHandleAsOperationQueueDelegate.h; sourceTree = "<group>"; };
    1249812507                E152551416FD234F003D7ADB /* WebCoreResourceHandleAsOperationQueueDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebCoreResourceHandleAsOperationQueueDelegate.mm; sourceTree = "<group>"; };
     12508                E157A8DC18172C2C009F821D /* CryptoKey.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = CryptoKey.idl; sourceTree = "<group>"; };
     12509                E157A8DE1817331C009F821D /* JSCryptoKey.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCryptoKey.cpp; sourceTree = "<group>"; };
     12510                E157A8DF1817331C009F821D /* JSCryptoKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCryptoKey.h; sourceTree = "<group>"; };
     12511                E157A8E218173A3A009F821D /* CryptoKey.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CryptoKey.cpp; sourceTree = "<group>"; };
     12512                E157A8E318173A3A009F821D /* CryptoKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoKey.h; sourceTree = "<group>"; };
     12513                E157A8E618184C67009F821D /* JSCryptoKeyCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCryptoKeyCustom.cpp; sourceTree = "<group>"; };
     12514                E157A8EA181851AC009F821D /* CryptoAlgorithmDescriptionBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CryptoAlgorithmDescriptionBuilder.cpp; sourceTree = "<group>"; };
     12515                E157A8EB181851AC009F821D /* CryptoAlgorithmDescriptionBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoAlgorithmDescriptionBuilder.h; sourceTree = "<group>"; };
     12516                E157A8EE18185425009F821D /* JSCryptoAlgorithmBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCryptoAlgorithmBuilder.cpp; sourceTree = "<group>"; };
     12517                E157A8EF18185425009F821D /* JSCryptoAlgorithmBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCryptoAlgorithmBuilder.h; sourceTree = "<group>"; };
    1249912518                E15A36D61104572000B7B639 /* XMLNSNames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLNSNames.h; sourceTree = "<group>"; };
    1250012519                E15A36D81104572700B7B639 /* XMLNSNames.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XMLNSNames.cpp; sourceTree = "<group>"; };
     
    1921119230                                1C81BA030E97348300266E07 /* JavaScriptCallFrame.cpp */,
    1921219231                                1C81BA040E97348300266E07 /* JavaScriptCallFrame.h */,
     19232                                E157A8EE18185425009F821D /* JSCryptoAlgorithmBuilder.cpp */,
     19233                                E157A8EF18185425009F821D /* JSCryptoAlgorithmBuilder.h */,
    1921319234                                BCE438A1140C0DBF005E437E /* JSDictionary.cpp */,
    1921419235                                BCE4389B140B1BA7005E437E /* JSDictionary.h */,
     
    1934319364                                BCA83E510D7CE205003421A8 /* JSClipboardCustom.cpp */,
    1934419365                                209B456A16796A7E00E54E4E /* JSCryptoCustom.cpp */,
     19366                                E157A8E618184C67009F821D /* JSCryptoKeyCustom.cpp */,
    1934519367                                BC46C1ED0C0DDBDF0020CFC3 /* JSCSSRuleCustom.cpp */,
    1934619368                                AD726FE916D9F40A003A4E6D /* JSCSSRuleCustom.h */,
     
    2015620178                        isa = PBXGroup;
    2015720179                        children = (
     20180                                E157A8EA181851AC009F821D /* CryptoAlgorithmDescriptionBuilder.cpp */,
     20181                                E157A8EB181851AC009F821D /* CryptoAlgorithmDescriptionBuilder.h */,
     20182                                E157A8DC18172C2C009F821D /* CryptoKey.idl */,
     20183                                E157A8E218173A3A009F821D /* CryptoKey.cpp */,
     20184                                E157A8E318173A3A009F821D /* CryptoKey.h */,
    2015820185                                E1FF8F5C1807364B00132674 /* SubtleCrypto.idl */,
    2015920186                                E1FF8F5D1807442100132674 /* SubtleCrypto.cpp */,
     
    2016620193                        isa = PBXGroup;
    2016720194                        children = (
     20195                                E157A8DE1817331C009F821D /* JSCryptoKey.cpp */,
     20196                                E157A8DF1817331C009F821D /* JSCryptoKey.h */,
    2016820197                                E1FF8F62180745D800132674 /* JSSubtleCrypto.cpp */,
    2016920198                                E1FF8F63180745D800132674 /* JSSubtleCrypto.h */,
     
    2219822227                                85DF821D0AA7849E00486AD7 /* DOMHTMLTableCaptionElement.h in Headers */,
    2219922228                                85E711C80AC5D5350053270F /* DOMHTMLTableCaptionElementInternal.h in Headers */,
     22229                                E157A8F118185425009F821D /* JSCryptoAlgorithmBuilder.h in Headers */,
    2220022230                                85DF821F0AA7849E00486AD7 /* DOMHTMLTableCellElement.h in Headers */,
    2220122231                                85E711C90AC5D5350053270F /* DOMHTMLTableCellElementInternal.h in Headers */,
     
    2335523385                                1ACE53F70A8D19470022947D /* JSXMLSerializer.h in Headers */,
    2335623386                                1A762C740A074F2600989F5B /* JSXPathEvaluator.h in Headers */,
     23387                                E157A8ED181851AC009F821D /* CryptoAlgorithmDescriptionBuilder.h in Headers */,
    2335723388                                BC60DB4A0D2A3D1E00B9918F /* JSXPathException.h in Headers */,
    2335823389                                1A762C760A074F2600989F5B /* JSXPathExpression.h in Headers */,
     
    2353323564                                1A569D140D7E2B82007C3983 /* objc_header.h in Headers */,
    2353423565                                1A569D150D7E2B82007C3983 /* objc_instance.h in Headers */,
     23566                                E157A8E518173A3A009F821D /* CryptoKey.h in Headers */,
    2353523567                                1A569D170D7E2B82007C3983 /* objc_runtime.h in Headers */,
     23568                                E157A8E11817331C009F821D /* JSCryptoKey.h in Headers */,
    2353623569                                1A569D190D7E2B82007C3983 /* objc_utility.h in Headers */,
    2353723570                                1CF6BDFA0E9BB26A0025E1CD /* ObjCEventListener.h in Headers */,
     
    2545625489                                078E090017D14CEE00420AA1 /* MediaStreamEvent.cpp in Sources */,
    2545725490                                F5C041E40FFCA96D00839D4A /* DOMHTMLDataListElement.mm in Sources */,
     25491                                E157A8E818184C67009F821D /* JSCryptoKeyCustom.cpp in Sources */,
    2545825492                                0705852317FDC140005F2BCB /* MediaTrackConstraints.cpp in Sources */,
    2545925493                                D359D792129CA3C00006E5D2 /* DOMHTMLDetailsElement.mm in Sources */,
     
    2580125835                                93309DE7099E64920056E581 /* htmlediting.cpp in Sources */,
    2580225836                                93F19A9208245E59001E9ABC /* HTMLElement.cpp in Sources */,
     25837                                E157A8F018185425009F821D /* JSCryptoAlgorithmBuilder.cpp in Sources */,
    2580325838                                A17C81220F2A5CF7005DAAEB /* HTMLElementFactory.cpp in Sources */,
    2580425839                                977B37231228721700B81FF8 /* HTMLElementStack.cpp in Sources */,
     
    2645626491                                B2FA3D940AB75A6F000E5AC4 /* JSSVGFETurbulenceElement.cpp in Sources */,
    2645726492                                B2FA3D960AB75A6F000E5AC4 /* JSSVGFilterElement.cpp in Sources */,
     26493                                E157A8EC181851AC009F821D /* CryptoAlgorithmDescriptionBuilder.cpp in Sources */,
    2645826494                                B27B28250CEF0C0700D39D54 /* JSSVGFontElement.cpp in Sources */,
    2645926495                                A83B79040CCAFF15000B0825 /* JSSVGFontFaceElement.cpp in Sources */,
     
    2690326939                                BCEA485F097D93020094C9E4 /* RenderBlock.cpp in Sources */,
    2690426940                                BCEA4852097D93020094C9E4 /* RenderBlockLineLayout.cpp in Sources */,
     26941                                E157A8E01817331C009F821D /* JSCryptoKey.cpp in Sources */,
    2690526942                                BCEA4861097D93020094C9E4 /* RenderBox.cpp in Sources */,
    2690626943                                BC96DB460F3A882200573CB3 /* RenderBoxModelObject.cpp in Sources */,
     
    2694726984                                439046DD12DA25E800AF80A2 /* RenderMathMLMath.cpp in Sources */,
    2694826985                                439046DF12DA25E800AF80A2 /* RenderMathMLOperator.cpp in Sources */,
     26986                                E157A8E418173A3A009F821D /* CryptoKey.cpp in Sources */,
    2694926987                                CD61FE631794AADB004101EB /* WebKitMediaSource.cpp in Sources */,
    2695026988                                439046E112DA25E800AF80A2 /* RenderMathMLRoot.cpp in Sources */,
Note: See TracChangeset for help on using the changeset viewer.