{"push_id":1943748211,"size":3,"distinct_size":3,"ref":"refs/heads/master","head":"90a617bfc8df24d0f7e5f892a8c409d759dfac13","before":"d0f6b8a25a2118ec71df4642fbe0af35391f27d0","commits":[{"sha":"cba4c9e01fde001b6b20d3b82eeb830306d7d3a2","author":{"name":"zandobersek@gmail.com","email":"fd81335c2c8ce2331428882abfa44d8ba0e512e9@gmail.com"},"message":"[WebCrypto] Push WorkQueue dispatches for RSA algorithms into shared code\nhttps://bugs.webkit.org/show_bug.cgi?id=175621\n\nReviewed by Darin Adler.\n\nPush the WorkQueue dispatch code and other code duplicated between the\nMac and libgcrypt implementations of Web Crypto into the shared layer.\nThis patch focuses on the RSA-based algorithms.\n\nThe WorkQueue dispatch code is condensed into two static functions on\nthe CryptoAlgorithm class, the first variation handling VectorCallback\nas the callback type and the other handling BoolCallback. The operation\nis kept in a WTF::Function<> object that returns an ExceptionOr<> value\nembedding either a Vector<uint8_t> object or a boolean value, as\nappropriate for the callback type.\n\nFunctions with platform-specific implementations that are invoked from\nthese asynchronous dispatches are made static and return an ExceptionOr\nvalue. CryptoAlgorithmParameters objects are passed through non-const\nreferences because data getters could lazily construct the underlying\nVector objects. CryptoKey objects are passed through const references.\nImplementations can then manually retrieve and further validate any key\nor parameter data, as required for that specific implementation. Input\ndata is passed through const references to the original Vector objects.\n\nNo new tests -- no changes in behavior that's covered by existing tests.\n\n* crypto/CryptoAlgorithm.cpp:\n(WebCore::dispatchOperationImpl):\n(WebCore::CryptoAlgorithm::dispatchOperation):\n* crypto/CryptoAlgorithm.h:\n* crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:\n(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::encrypt):\n(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt):\n* crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h:\n* crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:\n(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):\n(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):\n* crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:\n* crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:\n(WebCore::CryptoAlgorithmRSA_OAEP::encrypt):\n(WebCore::CryptoAlgorithmRSA_OAEP::decrypt):\n* crypto/algorithms/CryptoAlgorithmRSA_OAEP.h:\n* crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp:\n(WebCore::CryptoAlgorithmRSA_PSS::sign):\n(WebCore::CryptoAlgorithmRSA_PSS::verify):\n* crypto/algorithms/CryptoAlgorithmRSA_PSS.h:\n* crypto/gcrypt/CryptoAlgorithmRSAES_PKCS1_v1_5GCrypt.cpp:\n(WebCore::gcryptEncrypt):\n(WebCore::gcryptDecrypt):\n(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):\n(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):\n* crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp:\n(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):\n(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):\n* crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp:\n(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):\n(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):\n* crypto/gcrypt/CryptoAlgorithmRSA_PSSGCrypt.cpp:\n(WebCore::CryptoAlgorithmRSA_PSS::platformSign):\n(WebCore::CryptoAlgorithmRSA_PSS::platformVerify):\n* crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp:\n(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):\n(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):\n* crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:\n(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):\n(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):\n* crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp:\n(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):\n(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):\n* crypto/mac/CryptoAlgorithmRSA_PSSMac.cpp:\n(WebCore::CryptoAlgorithmRSA_PSS::platformSign):\n(WebCore::CryptoAlgorithmRSA_PSS::platformVerify):\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@221181 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/WebKit/webkit/commits/cba4c9e01fde001b6b20d3b82eeb830306d7d3a2"},{"sha":"4db608acd2871e89ee8dd088d245c9a02ed9f16c","author":{"name":"calvaris@igalia.com","email":"488a1b980c343921504fe786639e13bd78b8ab2d@igalia.com"},"message":"[EME][GStreamer] Move createDescryptor function to GStreamerEMEUtilities\nhttps://bugs.webkit.org/show_bug.cgi?id=175930\n\nReviewed by Žan Doberšek.\n\n* platform/graphics/gstreamer/GStreamerUtilities.cpp:\n(WebCore::createGstDecryptor): Deleted.\n* platform/graphics/gstreamer/GStreamerUtilities.h:\n* platform/graphics/gstreamer/eme/GStreamerEMEUtilities.cpp:\n(WebCore::GStreamerEMEUtilities::createDecryptor): Created.\n* platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h:\n* platform/graphics/gstreamer/mse/AppendPipeline.cpp:\n(WebCore::AppendPipeline::parseDemuxerSrcPadCaps): Use\nGStreamerEMEUtilities::createDecryptor instead.\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@221182 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/WebKit/webkit/commits/4db608acd2871e89ee8dd088d245c9a02ed9f16c"},{"sha":"90a617bfc8df24d0f7e5f892a8c409d759dfac13","author":{"name":"magomez@igalia.com","email":"1bda3daf0b678fae7eb890433759aab359e6ae62@igalia.com"},"message":"[GTK] Completely garbled display in Transifex in accelerated compositing mode\nhttps://bugs.webkit.org/show_bug.cgi?id=174632\n\nReviewed by Michael Catanzaro.\n\nRemove the copy constructor from PlatformContextCairo::State. This is because it will be used by WTF::Vector\nto copy the instances around when allocating new memory, but it doesn't copy the m_imageMaskInformation\nattribute, so it will be lost when the Vector reallocates its contents. When this happens, renderings that use\nGraphicsContext::clipToImageBuffer() fail to render properly.\n\nCovered by existent tests.\n\n* platform/graphics/cairo/PlatformContextCairo.cpp:\n(WebCore::PlatformContextCairo::State::State):\n(WebCore::PlatformContextCairo::save):\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@221183 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/WebKit/webkit/commits/90a617bfc8df24d0f7e5f892a8c409d759dfac13"}]}
{"actor":{"display_login":"hubot"}}