1. 31 Oct, 2013 1 commit
    • ap@apple.com's avatar
      Enable WebCrypto on Mac · 13a73330
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=123587
      
      Reviewed by Anders Carlsson.
      
      Source/JavaScriptCore:
      
      * Configurations/FeatureDefines.xcconfig: Do it.
      
      Source/WebCore:
      
      * Configurations/FeatureDefines.xcconfig: Enable it.
      
      * bindings/js/JSCryptoAlgorithmDictionary.cpp: Build fix.
      
      * crypto/CryptoAlgorithmRegistry.cpp: (WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
      Special case empty keys to avoid upsetting HashMap.
      
      * crypto/algorithms/CryptoAlgorithmSHA1.cpp: (WebCore::CryptoAlgorithmSHA1::create):
      Build fix. Can't use make_unique, because constructor is private.
      
      Source/WebKit/mac:
      
      * Configurations/FeatureDefines.xcconfig: Do it.
      
      Source/WebKit2:
      
      * Configurations/FeatureDefines.xcconfig: Do it.
      
      LayoutTests:
      
      * TestExpectations:
      * platform/efl/TestExpectations:
      * platform/gtk/TestExpectations:
      * platform/win/TestExpectations:
      * platform/wincairo/TestExpectations:
      Only skipping on specific platforms now.
      
      * crypto: Added.
      * crypto/crypto-gc-expected.txt: Copied from LayoutTests/security/crypto-gc-expected.txt.
      * crypto/crypto-gc.html: Copied from LayoutTests/security/crypto-gc.html.
      * crypto/crypto-random-values-expected.txt: Copied from LayoutTests/security/crypto-random-values-expected.txt.
      * crypto/crypto-random-values-limits-expected.txt: Copied from LayoutTests/security/crypto-random-values-limits-expected.txt.
      * crypto/crypto-random-values-limits.html: Copied from LayoutTests/security/crypto-random-values-limits.html.
      * crypto/crypto-random-values-types-expected.txt: Copied from LayoutTests/security/crypto-random-values-types-expected.txt.
      * crypto/crypto-random-values-types.html: Copied from LayoutTests/security/crypto-random-values-types.html.
      * crypto/crypto-random-values.html: Copied from LayoutTests/security/crypto-random-values.html.
      * crypto/subtle: Added.
      * crypto/subtle/argument-conversion-expected.txt: Copied from LayoutTests/security/crypto-subtle-arguments-expected.txt.
      * crypto/subtle/argument-conversion.html: Copied from LayoutTests/security/crypto-subtle-arguments.html.
      * crypto/subtle/gc-2-expected.txt: Copied from LayoutTests/security/crypto-subtle-gc-2-expected.txt.
      * crypto/subtle/gc-2.html: Copied from LayoutTests/security/crypto-subtle-gc-2.html.
      * crypto/subtle/gc-3-expected.txt: Copied from LayoutTests/security/crypto-subtle-gc-3-expected.txt.
      * crypto/subtle/gc-3.html: Copied from LayoutTests/security/crypto-subtle-gc-3.html.
      * crypto/subtle/gc-expected.txt: Copied from LayoutTests/security/crypto-subtle-gc-expected.txt.
      * crypto/subtle/gc.html: Copied from LayoutTests/security/crypto-subtle-gc.html.
      * crypto/subtle/resources: Added.
      * crypto/subtle/resources/common.js: Copied from LayoutTests/security/resources/common.js.
      * crypto/subtle/sha-1-expected.txt: Copied from LayoutTests/security/crypto-subtle-sha1-expected.txt.
      * crypto/subtle/sha-1.html: Copied from LayoutTests/security/crypto-subtle-sha1.html.
      * security/crypto-gc-expected.txt: Removed.
      * security/crypto-gc.html: Removed.
      * security/crypto-random-values-expected.txt: Removed.
      * security/crypto-random-values-limits-expected.txt: Removed.
      * security/crypto-random-values-limits.html: Removed.
      * security/crypto-random-values-types-expected.txt: Removed.
      * security/crypto-random-values-types.html: Removed.
      * security/crypto-random-values.html: Removed.
      * security/crypto-subtle-arguments-expected.txt: Removed.
      * security/crypto-subtle-arguments.html: Removed.
      * security/crypto-subtle-gc-2-expected.txt: Removed.
      * security/crypto-subtle-gc-2.html: Removed.
      * security/crypto-subtle-gc-3-expected.txt: Removed.
      * security/crypto-subtle-gc-3.html: Removed.
      * security/crypto-subtle-gc-expected.txt: Removed.
      * security/crypto-subtle-gc.html: Removed.
      * security/crypto-subtle-sha1-expected.txt: Removed.
      * security/crypto-subtle-sha1.html: Removed.
      * security/resources/common.js: Removed.
      Moved tests from security/ to crypto/.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      13a73330
  2. 11 Feb, 2011 1 commit
    • abarth@webkit.org's avatar
      2011-02-10 Adam Barth <abarth@webkit.org> · ba712d32
      abarth@webkit.org authored
              Reviewed by Eric Seidel.
      
              WebKit should have a cryptographic RNG
              https://bugs.webkit.org/show_bug.cgi?id=22049
      
              Test crypto.getRandomValues API.  It's pretty hard to write a
              deterministic API for a randomized API, but this test should catch some
              regressions.
      
              * security/crypto-random-values-expected.txt: Added.
              * security/crypto-random-values.html: Added.
      2011-02-10  Adam Barth  <abarth@webkit.org>
      
              Reviewed by Eric Seidel.
      
              WebKit should have a cryptographic RNG
              https://bugs.webkit.org/show_bug.cgi?id=22049
      
              Teach JavaScriptCore how to export this function.
      
              * JavaScriptCore.exp:
              * JavaScriptCore.xcodeproj/project.pbxproj:
      2011-02-10  Adam Barth  <abarth@webkit.org>
      
              Reviewed by Eric Seidel.
      
              WebKit should have a cryptographic RNG
              https://bugs.webkit.org/show_bug.cgi?id=22049
      
              Add crypto.getRandomValues.  Yes, all these diffs are required to
              expose a single function to the DOM.
      
              Test: security/crypto-random-values.html
      
              * Android.mk:
              * CMakeLists.txt:
              * DerivedSources.cpp:
              * DerivedSources.make:
              * ForwardingHeaders/wtf/CryptographicallyRandomNumber.h: Added.
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pri:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSDOMWindowCustom.cpp:
              * bindings/v8/custom/V8DOMWindowCustom.cpp:
              * config.h:
              * page/Crypto.cpp: Added.
              (WebCore::Crypto::Crypto):
              (WebCore::Crypto::getRandomValues):
              * page/Crypto.h: Added.
              (WebCore::Crypto::create):
              * page/Crypto.idl: Added.
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::clear):
              (WebCore::DOMWindow::crypto):
              * page/DOMWindow.h:
              (WebCore::DOMWindow::optionalCrypto):
              * page/DOMWindow.idl:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@78321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ba712d32