diff options
-rw-r--r-- | webkit/port/bindings/scripts/CodeGeneratorV8.pm | 1 | ||||
-rw-r--r-- | webkit/port/bindings/v8/DOMObjectsInclude.h | 5 | ||||
-rw-r--r-- | webkit/port/bindings/v8/v8_index.cpp | 5 | ||||
-rw-r--r-- | webkit/port/bindings/v8/v8_index.h | 11 | ||||
-rw-r--r-- | webkit/port/bindings/v8/v8_proxy.cpp | 15 | ||||
-rw-r--r-- | webkit/port/bindings/v8/v8_proxy.h | 5 |
6 files changed, 41 insertions, 1 deletions
diff --git a/webkit/port/bindings/scripts/CodeGeneratorV8.pm b/webkit/port/bindings/scripts/CodeGeneratorV8.pm index ba747fd..8b2b18c 100644 --- a/webkit/port/bindings/scripts/CodeGeneratorV8.pm +++ b/webkit/port/bindings/scripts/CodeGeneratorV8.pm @@ -1728,6 +1728,7 @@ my %typeCanFailConversion = ( "NSResolver" => 0, "Range" => 0, "SQLResultSet" => 0, + "Storage" => 0, "SVGAngle" => 0, "SVGElement" => 0, "SVGLength" => 1, diff --git a/webkit/port/bindings/v8/DOMObjectsInclude.h b/webkit/port/bindings/v8/DOMObjectsInclude.h index 671e982..8f6fec4 100644 --- a/webkit/port/bindings/v8/DOMObjectsInclude.h +++ b/webkit/port/bindings/v8/DOMObjectsInclude.h @@ -127,6 +127,11 @@ #include "XPathNSResolver.h" #include "XPathResult.h" +#if ENABLE(DOM_STORAGE) +#include "Storage.h" +#include "StorageEvent.h" +#endif + #if ENABLE(SVG) #include "SVGAngle.h" #include "SVGAnimatedPoints.h" diff --git a/webkit/port/bindings/v8/v8_index.cpp b/webkit/port/bindings/v8/v8_index.cpp index 60757b6..7e057ad 100644 --- a/webkit/port/bindings/v8/v8_index.cpp +++ b/webkit/port/bindings/v8/v8_index.cpp @@ -202,6 +202,11 @@ #include "V8XSLTProcessor.h" #include "V8RGBColor.h" +#if ENABLE(DOM_STORAGE) +#include "V8Storage.h" +#include "V8StorageEvent.h" +#endif + #if ENABLE(SVG_ANIMATION) #include "V8SVGAnimateColorElement.h" #include "V8SVGAnimateElement.h" diff --git a/webkit/port/bindings/v8/v8_index.h b/webkit/port/bindings/v8/v8_index.h index c347ceb..f80eb5e 100644 --- a/webkit/port/bindings/v8/v8_index.h +++ b/webkit/port/bindings/v8/v8_index.h @@ -349,10 +349,19 @@ typedef v8::Persistent<v8::FunctionTemplate> (*FunctionTemplateFactory)(); #define DOM_OBJECT_DATABASE_TYPES(V) #endif +#if ENABLE(DOM_STORAGE) +#define DOM_OBJECT_STORAGE_TYPES(V) \ + V(STORAGE, Storage) \ + V(STORAGEEVENT, StorageEvent) +#else +#define DOM_OBJECT_STORAGE_TYPES(V) +#endif + #define DOM_OBJECT_TYPES(V) \ DOM_OBJECT_TYPES_1(V) \ DOM_OBJECT_TYPES_2(V) \ - DOM_OBJECT_DATABASE_TYPES(V) + DOM_OBJECT_DATABASE_TYPES(V) \ + DOM_OBJECT_STORAGE_TYPES(V) #if ENABLE(SVG) // SVG_OBJECT_TYPES are svg non-node, non-pod types. diff --git a/webkit/port/bindings/v8/v8_proxy.cpp b/webkit/port/bindings/v8/v8_proxy.cpp index 706a620..6cffe3a 100644 --- a/webkit/port/bindings/v8/v8_proxy.cpp +++ b/webkit/port/bindings/v8/v8_proxy.cpp @@ -1459,6 +1459,21 @@ v8::Persistent<v8::FunctionTemplate> V8Proxy::GetTemplate( collectionIndexedPropertyEnumerator<NamedNodeMap>, v8::Integer::New(V8ClassIndex::NODE)); break; +#if ENABLE(DOM_STORAGE) + case V8ClassIndex::STORAGE: + desc->InstanceTemplate()->SetNamedPropertyHandler( + USE_NAMED_PROPERTY_GETTER(Storage), + USE_NAMED_PROPERTY_SETTER(Storage), + 0, + USE_NAMED_PROPERTY_DELETER(Storage), + V8Custom::v8StorageNamedPropertyEnumerator); + desc->InstanceTemplate()->SetIndexedPropertyHandler( + USE_INDEXED_PROPERTY_GETTER(Storage), + USE_INDEXED_PROPERTY_SETTER(Storage), + 0, + USE_INDEXED_PROPERTY_DELETER(Storage)); + break; +#endif case V8ClassIndex::NODELIST: setCollectionIndexedGetter<NodeList, Node>(desc, V8ClassIndex::NODE); desc->InstanceTemplate()->SetNamedPropertyHandler( diff --git a/webkit/port/bindings/v8/v8_proxy.h b/webkit/port/bindings/v8/v8_proxy.h index b1059e9..6bfff64 100644 --- a/webkit/port/bindings/v8/v8_proxy.h +++ b/webkit/port/bindings/v8/v8_proxy.h @@ -72,6 +72,11 @@ class CSSValueList; class NodeFilter; class ScriptExecutionContext; +#if ENABLE(DOM_STORAGE) +class Storage; +class StorageEvent; +#endif + #if ENABLE(SVG) class SVGElementInstance; #endif |