summaryrefslogtreecommitdiffstats
path: root/WebCore/bindings/v8/V8Binding.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/bindings/v8/V8Binding.h')
-rw-r--r--WebCore/bindings/v8/V8Binding.h38
1 files changed, 20 insertions, 18 deletions
diff --git a/WebCore/bindings/v8/V8Binding.h b/WebCore/bindings/v8/V8Binding.h
index a15ece1..4656aa2 100644
--- a/WebCore/bindings/v8/V8Binding.h
+++ b/WebCore/bindings/v8/V8Binding.h
@@ -1,10 +1,10 @@
/*
* Copyright (C) 2009 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
* met:
-*
+*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
@@ -14,7 +14,7 @@
* * Neither the name of Google Inc. nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
-*
+*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -40,7 +40,7 @@
#include <v8.h>
namespace WebCore {
-
+
class EventListener;
class EventTarget;
class V8BindingDOMWindow;
@@ -50,6 +50,8 @@ namespace WebCore {
public:
typedef v8::Handle<v8::Value> Value;
typedef V8BindingDOMWindow DOMWindow;
+
+ static Value emptyScriptValue() { return v8::Local<v8::Value>(); }
};
typedef BindingSecurity<V8Binding> V8BindingSecurity;
@@ -61,7 +63,7 @@ namespace WebCore {
template <typename StringType>
StringType v8StringToWebCoreString(v8::Handle<v8::String> v8String, ExternalMode external);
- // Convert v8 types to a WebCore::String. If the V8 string is not already
+ // Convert v8 types to a WTF::String. If the V8 string is not already
// an external string then it is transformed into an external string at this
// point to avoid repeated conversions.
inline String v8StringToWebCoreString(v8::Handle<v8::String> v8String)
@@ -71,7 +73,7 @@ namespace WebCore {
String v8NonStringValueToWebCoreString(v8::Handle<v8::Value>);
String v8ValueToWebCoreString(v8::Handle<v8::Value> value);
- // Convert v8 types to a WebCore::AtomicString.
+ // Convert v8 types to a WTF::AtomicString.
inline AtomicString v8StringToAtomicWebCoreString(v8::Handle<v8::String> v8String)
{
return v8StringToWebCoreString<AtomicString>(v8String, Externalize);
@@ -110,8 +112,8 @@ namespace WebCore {
return v8ExternalString(string);
}
- // Enables caching v8 wrappers created for WebCore::StringImpl. Currently this cache requires
- // all the calls (both to convert WebCore::String to v8::String and to GC the handle)
+ // Enables caching v8 wrappers created for WTF::StringImpl. Currently this cache requires
+ // all the calls (both to convert WTF::String to v8::String and to GC the handle)
// to be performed on the main thread.
void enableStringImplCache();
@@ -152,7 +154,7 @@ namespace WebCore {
{
return v8ValueToWebCoreString(object);
}
-
+
String toWebCoreString(const v8::Arguments&, int index);
// The string returned by this function is still owned by the argument
@@ -171,7 +173,7 @@ namespace WebCore {
AtomicString toAtomicWebCoreStringWithNullCheck(v8::Handle<v8::Value> value);
String toWebCoreStringWithNullOrUndefinedCheck(v8::Handle<v8::Value> value);
-
+
v8::Handle<v8::String> v8UndetectableString(const String& str);
v8::Handle<v8::Value> v8StringOrNull(const String& str);
@@ -183,31 +185,31 @@ namespace WebCore {
double toWebCoreDate(v8::Handle<v8::Value> object);
v8::Handle<v8::Value> v8DateOrNull(double value);
-
+
v8::Persistent<v8::FunctionTemplate> createRawTemplate();
struct BatchedAttribute;
struct BatchedCallback;
-
+
v8::Local<v8::Signature> configureTemplate(v8::Persistent<v8::FunctionTemplate>,
const char* interfaceName,
v8::Persistent<v8::FunctionTemplate> parentClass,
int fieldCount,
- const BatchedAttribute*,
+ const BatchedAttribute*,
size_t attributeCount,
const BatchedCallback*,
size_t callbackCount);
-
+
v8::Handle<v8::Value> getElementStringAttr(const v8::AccessorInfo&,
const QualifiedName&);
void setElementStringAttr(const v8::AccessorInfo&,
const QualifiedName&,
v8::Local<v8::Value>);
-
+
v8::Persistent<v8::String> getToStringName();
v8::Persistent<v8::FunctionTemplate> getToStringTemplate();
-
+
// V8Parameter is an adapter class that converts V8 values to Strings
// or AtomicStrings as appropriate, using multiple typecast operators.
enum V8ParameterMode {
@@ -218,13 +220,13 @@ namespace WebCore {
template <V8ParameterMode MODE = DefaultMode>
class V8Parameter {
public:
- V8Parameter (v8::Local<v8::Value> object) :m_v8Object(object) { }
+ V8Parameter(v8::Local<v8::Value> object = v8::Local<v8::Value>()) : m_v8Object(object) { }
operator String();
operator AtomicString();
private:
v8::Local<v8::Value> m_v8Object;
};
-
+
template<> inline V8Parameter<DefaultMode>::operator String() { return toWebCoreString(m_v8Object); }
template<> inline V8Parameter<WithNullCheck>::operator String() { return toWebCoreStringWithNullCheck(m_v8Object); }
template<> inline V8Parameter<WithUndefinedOrNullCheck>::operator String() { return toWebCoreStringWithNullOrUndefinedCheck(m_v8Object); }