diff options
author | Jean-Baptiste Queru <jbq@google.com> | 2012-08-28 11:13:34 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-08-28 11:13:34 -0700 |
commit | f39a3cbeac21b1d076bee9cbc25bec1d981f6aab (patch) | |
tree | 1a9209fe172aae8e3edc3bec4f0d30942fbee8d1 /Source/WebCore/bindings/v8/V8HiddenPropertyName.cpp | |
parent | bb7f19e094c0208180bc6f9c1b803cd29c507c8f (diff) | |
parent | f2b8b88d1a8fefaf6de6c6bce24ae092abdf9584 (diff) | |
download | external_webkit-f39a3cbeac21b1d076bee9cbc25bec1d981f6aab.zip external_webkit-f39a3cbeac21b1d076bee9cbc25bec1d981f6aab.tar.gz external_webkit-f39a3cbeac21b1d076bee9cbc25bec1d981f6aab.tar.bz2 |
am f2b8b88d: am 51619153: Merge "Fix memory leak caused by CSSRuleList wrapper"
* commit 'f2b8b88d1a8fefaf6de6c6bce24ae092abdf9584':
Fix memory leak caused by CSSRuleList wrapper
Diffstat (limited to 'Source/WebCore/bindings/v8/V8HiddenPropertyName.cpp')
-rw-r--r-- | Source/WebCore/bindings/v8/V8HiddenPropertyName.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/Source/WebCore/bindings/v8/V8HiddenPropertyName.cpp b/Source/WebCore/bindings/v8/V8HiddenPropertyName.cpp index d83573f..2909269 100644 --- a/Source/WebCore/bindings/v8/V8HiddenPropertyName.cpp +++ b/Source/WebCore/bindings/v8/V8HiddenPropertyName.cpp @@ -31,6 +31,9 @@ #include "config.h" #include "V8HiddenPropertyName.h" +#include <string.h> +#include <wtf/Vector.h> + namespace WebCore { #define V8_AS_STRING(x) V8_AS_STRING_IMPL(x) @@ -39,12 +42,22 @@ namespace WebCore { #define V8_DEFINE_PROPERTY(name) \ v8::Handle<v8::String> V8HiddenPropertyName::name() \ { \ - static v8::Persistent<v8::String>* string = createString("WebCore::V8HiddenPropertyName::" V8_AS_STRING(name)); \ + static v8::Persistent<v8::String>* string = createString("WebCore::HiddenProperty::" V8_AS_STRING(name)); \ return *string; \ } V8_HIDDEN_PROPERTIES(V8_DEFINE_PROPERTY); +static const char hiddenReferenceNamePrefix[] = "WebCore::HiddenReference::"; + +v8::Handle<v8::String> V8HiddenPropertyName::hiddenReferenceName(const char* name) +{ + Vector<char, 64> prefixedName; + prefixedName.append(hiddenReferenceNamePrefix, sizeof(hiddenReferenceNamePrefix) - 1); + prefixedName.append(name, strlen(name)); + return v8::String::NewSymbol(prefixedName.data(), static_cast<int>(prefixedName.size())); +} + v8::Persistent<v8::String>* V8HiddenPropertyName::createString(const char* key) { v8::HandleScope scope; |