| Index: Source/modules/crypto/RsaHashedKeyAlgorithm.cpp
 | 
| diff --git a/Source/modules/crypto/Algorithm.cpp b/Source/modules/crypto/RsaHashedKeyAlgorithm.cpp
 | 
| similarity index 70%
 | 
| copy from Source/modules/crypto/Algorithm.cpp
 | 
| copy to Source/modules/crypto/RsaHashedKeyAlgorithm.cpp
 | 
| index 35568ff46e53cd840dc945fad6df50f12beff7be..482d7428015e604b56fa48d790410fec073c4415 100644
 | 
| --- a/Source/modules/crypto/Algorithm.cpp
 | 
| +++ b/Source/modules/crypto/RsaHashedKeyAlgorithm.cpp
 | 
| @@ -1,5 +1,5 @@
 | 
|  /*
 | 
| - * Copyright (C) 2013 Google Inc. All rights reserved.
 | 
| + * Copyright (C) 2014 Google Inc. All rights reserved.
 | 
|   *
 | 
|   * Redistribution and use in source and binary forms, with or without
 | 
|   * modification, are permitted provided that the following conditions are
 | 
| @@ -29,27 +29,35 @@
 | 
|   */
 | 
|  
 | 
|  #include "config.h"
 | 
| -#include "modules/crypto/Algorithm.h"
 | 
| +#include "modules/crypto/RsaHashedKeyAlgorithm.h"
 | 
|  
 | 
|  #include "modules/crypto/NormalizeAlgorithm.h"
 | 
|  #include "wtf/text/WTFString.h"
 | 
|  
 | 
|  namespace WebCore {
 | 
|  
 | 
| -PassRefPtrWillBeRawPtr<Algorithm> Algorithm::create(const blink::WebCryptoAlgorithm& algorithm)
 | 
| +PassRefPtrWillBeRawPtr<RsaHashedKeyAlgorithm> RsaHashedKeyAlgorithm::create(const blink::WebCryptoKeyAlgorithm& algorithm)
 | 
|  {
 | 
| -    return adoptRefWillBeNoop(new Algorithm(algorithm));
 | 
| +    return adoptRefWillBeNoop(new RsaHashedKeyAlgorithm(algorithm));
 | 
|  }
 | 
|  
 | 
| -Algorithm::Algorithm(const blink::WebCryptoAlgorithm& algorithm)
 | 
| -    : m_algorithm(algorithm)
 | 
| +KeyAlgorithm* RsaHashedKeyAlgorithm::hash()
 | 
|  {
 | 
| -    ScriptWrappable::init(this);
 | 
| +    if (!m_hash)
 | 
| +        m_hash = KeyAlgorithm::createHash(m_algorithm.rsaHashedParams()->hash());
 | 
| +    return m_hash.get();
 | 
|  }
 | 
|  
 | 
| -String Algorithm::name()
 | 
| +void RsaHashedKeyAlgorithm::trace(Visitor* visitor)
 | 
|  {
 | 
| -    return algorithmIdToName(m_algorithm.id());
 | 
| +    RsaKeyAlgorithm::trace(visitor);
 | 
| +    visitor->trace(m_hash);
 | 
| +}
 | 
| +
 | 
| +RsaHashedKeyAlgorithm::RsaHashedKeyAlgorithm(const blink::WebCryptoKeyAlgorithm& algorithm)
 | 
| +    : RsaKeyAlgorithm(algorithm)
 | 
| +{
 | 
| +    ScriptWrappable::init(this);
 | 
|  }
 | 
|  
 | 
|  } // namespace WebCore
 | 
| 
 |