diff options
Diffstat (limited to 'chromium/third_party/WebKit/Source/bindings/v8/ScriptString.h')
-rw-r--r-- | chromium/third_party/WebKit/Source/bindings/v8/ScriptString.h | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/chromium/third_party/WebKit/Source/bindings/v8/ScriptString.h b/chromium/third_party/WebKit/Source/bindings/v8/ScriptString.h index ed493f8bf48..2638f44836d 100644 --- a/chromium/third_party/WebKit/Source/bindings/v8/ScriptString.h +++ b/chromium/third_party/WebKit/Source/bindings/v8/ScriptString.h @@ -31,19 +31,34 @@ #ifndef ScriptString_h #define ScriptString_h -#include "bindings/v8/ScriptValue.h" -#include "bindings/v8/V8Binding.h" +#include "bindings/v8/SharedPersistent.h" +#include "wtf/RefPtr.h" #include "wtf/text/WTFString.h" +#include <v8.h> namespace WebCore { -class ScriptString : public ScriptValue { +class ScriptString FINAL { public: - ScriptString() { } - ScriptString(v8::Handle<v8::String> value, v8::Isolate* isolate) : ScriptValue(value, isolate) { } + ScriptString(); + ScriptString(v8::Isolate*, v8::Handle<v8::String>); + ScriptString& operator=(const ScriptString&); + v8::Isolate* isolate() + { + if (!m_isolate) + m_isolate = v8::Isolate::GetCurrent(); + return m_isolate; + } + bool isEmpty() const { return !m_string || m_string->isEmpty(); } + void clear() { m_string = nullptr; } + v8::Handle<v8::String> v8Value(); ScriptString concatenateWith(const String&); - String flattenToString() const; + String flattenToString(); + +private: + v8::Isolate* m_isolate; + RefPtr<SharedPersistent<v8::String> > m_string; }; } // namespace WebCore |