summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authormaruel@google.com <maruel@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-09-25 22:08:44 +0000
committermaruel@google.com <maruel@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-09-25 22:08:44 +0000
commitde8d2667d6953abb31b7c5385ca718ad47adf6a1 (patch)
tree3d4499631bbf551dd81bb50b43452705b37d7bfb /webkit
parentc9ec45429c64884c35f83b74131c0e3ae5b2bbe9 (diff)
downloadchromium_src-de8d2667d6953abb31b7c5385ca718ad47adf6a1.zip
chromium_src-de8d2667d6953abb31b7c5385ca718ad47adf6a1.tar.gz
chromium_src-de8d2667d6953abb31b7c5385ca718ad47adf6a1.tar.bz2
Wow, it's been a while since we cleaned EOL.
Ran dos2unix on *.cc, *.h, *.py and SCons*.* Ran for /R /D %a in (*.*) do @if exist %a\.svn\. svn pset svn:eol-style LF %a\*.cc Ran for /R /D %a in (*.*) do @if exist %a\.svn\. svn pset svn:eol-style LF %a\*.h Ran for /R /D %a in (*.*) do @if exist %a\.svn\. svn pset svn:eol-style LF %a\*.py Ran for /R /D %a in (*.*) do @if exist %a\.svn\. svn pset svn:eol-style LF %a\SCons*.* git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2611 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r--webkit/SConscript.javascriptcore_pcre92
-rw-r--r--webkit/SConscript.port254
-rw-r--r--webkit/pending/Peerable.h50
-rw-r--r--webkit/port/bindings/v8/v8_collection.h518
4 files changed, 457 insertions, 457 deletions
diff --git a/webkit/SConscript.javascriptcore_pcre b/webkit/SConscript.javascriptcore_pcre
index 42db440..d13267c 100644
--- a/webkit/SConscript.javascriptcore_pcre
+++ b/webkit/SConscript.javascriptcore_pcre
@@ -1,46 +1,46 @@
-# Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-Import('env')
-
-env = env.Clone(
- PCRE_DIR = '$WEBKIT_DIR/port/JavaScriptCore/pcre',
-)
-
-env.Prepend(
- CPPPATH = [
- '$WEBKIT_DIR/port/JavaScriptCore',
- '$WEBKIT_DIR/port/JavaScriptCore/pcre',
- '$WEBKIT_DIR/build/JSConfig/WebCore/v8',
- ])
-
-if env['PLATFORM'] == 'win32':
- env.Prepend(
- CCFLAGS = [
- '/TP',
- '/wd4127',
- '/wd4355',
- '/wd4510',
- '/wd4512',
- '/wd4610',
- '/wd4706',
- '/wd4800',
- ],
- )
-
-dir = env.Dir('$PCRE_DIR')
-
-dir.addRepository(env.Dir('#/../webkit/pending'))
-dir.addRepository(env.Dir('#/../third_party/WebKit/JavaScriptCore/pcre'))
-
-input_files = [
- '$PCRE_DIR/pcre_compile.cpp',
- '$PCRE_DIR/pcre_xclass.cpp',
- '$PCRE_DIR/pcre_ucp_searchfuncs.cpp',
- '$PCRE_DIR/pcre_tables.cpp',
- '$PCRE_DIR/pcre_exec.cpp',
-]
-
-env.ChromeStaticLibrary('JavaScriptCore_pcre', input_files)
-
+# Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+Import('env')
+
+env = env.Clone(
+ PCRE_DIR = '$WEBKIT_DIR/port/JavaScriptCore/pcre',
+)
+
+env.Prepend(
+ CPPPATH = [
+ '$WEBKIT_DIR/port/JavaScriptCore',
+ '$WEBKIT_DIR/port/JavaScriptCore/pcre',
+ '$WEBKIT_DIR/build/JSConfig/WebCore/v8',
+ ])
+
+if env['PLATFORM'] == 'win32':
+ env.Prepend(
+ CCFLAGS = [
+ '/TP',
+ '/wd4127',
+ '/wd4355',
+ '/wd4510',
+ '/wd4512',
+ '/wd4610',
+ '/wd4706',
+ '/wd4800',
+ ],
+ )
+
+dir = env.Dir('$PCRE_DIR')
+
+dir.addRepository(env.Dir('#/../webkit/pending'))
+dir.addRepository(env.Dir('#/../third_party/WebKit/JavaScriptCore/pcre'))
+
+input_files = [
+ '$PCRE_DIR/pcre_compile.cpp',
+ '$PCRE_DIR/pcre_xclass.cpp',
+ '$PCRE_DIR/pcre_ucp_searchfuncs.cpp',
+ '$PCRE_DIR/pcre_tables.cpp',
+ '$PCRE_DIR/pcre_exec.cpp',
+]
+
+env.ChromeStaticLibrary('JavaScriptCore_pcre', input_files)
+
diff --git a/webkit/SConscript.port b/webkit/SConscript.port
index ebf1034..16f5072 100644
--- a/webkit/SConscript.port
+++ b/webkit/SConscript.port
@@ -1,127 +1,127 @@
-# Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-Import('env')
-
-env = env.Clone()
-
-if env['PLATFORM'] == 'win32':
- env.Prepend(
- CCFLAGS = [
- '/TP',
-
- '/wd4244',
- '/wd4291',
- '/wd4345',
- '/wd4521',
- '/wd4800',
- ],)
-
-input_files = [
- '$PORT_DIR/css/RGBColor.cpp',
- '$PORT_DIR/history/CachedPage.cpp',
- '$PORT_DIR/platform/TemporaryLinkStubs.cpp',
-]
-
-if env['PLATFORM'] == 'win32':
- # TODO(erg): Temporarily disabling these until the big webkit merge is
- # complete; we're just out of date here.
- input_files += [
- '$PORT_DIR/platform/graphics/AffineTransformSkia.cpp',
- '$PORT_DIR/platform/graphics/ImageSourceSkia.cpp',
- '$PORT_DIR/platform/graphics/NativeImageSkia.cpp',
- '$PORT_DIR/platform/graphics/PathSkia.cpp',
- '$PORT_DIR/platform/graphics/SkiaUtils.cpp',
- '$PORT_DIR/platform/graphics/svg/SkiaSupport.cpp',
- '$PORT_DIR/platform/graphics/svg/RenderPathSkia.cpp',
- '$PORT_DIR/platform/graphics/svg/SVGPaintServerGradientSkia.cpp',
- '$PORT_DIR/platform/graphics/svg/SVGPaintServerPatternSkia.cpp',
- '$PORT_DIR/platform/graphics/svg/SVGPaintServerSkia.cpp',
- '$PORT_DIR/platform/graphics/svg/SVGPaintServerSolidSkia.cpp',
- '$PORT_DIR/platform/graphics/svg/SVGResourceClipperSkia.cpp',
- '$PORT_DIR/platform/graphics/svg/SVGResourceFilterSkia.cpp',
- '$PORT_DIR/platform/image-decoders/bmp/BMPImageDecoder.cpp',
- '$PORT_DIR/platform/image-decoders/bmp/BMPImageReader.cpp',
- '$PORT_DIR/platform/image-decoders/gif/GIFImageDecoder.cpp',
- '$PORT_DIR/platform/image-decoders/gif/GIFImageReader.cpp',
- '$PORT_DIR/platform/image-decoders/ico/ICOImageDecoder.cpp',
- '$PORT_DIR/platform/image-decoders/jpeg/JPEGImageDecoder.cpp',
- '$PORT_DIR/platform/image-decoders/png/PNGImageDecoder.cpp',
- '$PORT_DIR/platform/image-decoders/xbm/XBMImageDecoder.cpp',
- ]
-
-if env['PLATFORM'] == 'win32':
- # These files aren't win32-specific, they're just files that haven't yet been
- # made portable.
- input_files = [
- '$PORT_DIR/bridge/FrameWin.cpp',
- '$PORT_DIR/bridge/HistoryWin.cpp',
- '$PORT_DIR/bridge/PageWin.cpp',
- '$PORT_DIR/bridge/PluginsWin.cpp',
- '$PORT_DIR/history/BackForwardList.cpp',
- '$PORT_DIR/loader/IconDatabaseNone.cpp',
- '$PORT_DIR/loader/IconLoader.cpp',
- '$PORT_DIR/page/AXObjectCacheWin.cpp',
- '$PORT_DIR/page/DragControllerWin.cpp',
- '$PORT_DIR/page/EventHandlerWin.cpp',
- '$PORT_DIR/platform/BString.cpp',
- '$PORT_DIR/platform/ClipboardUtilitiesWin.cpp',
- '$PORT_DIR/platform/ClipboardWin.cpp',
- '$PORT_DIR/platform/ContextMenuItemWin.cpp',
- '$PORT_DIR/platform/ContextMenuWin.cpp',
- '$PORT_DIR/platform/CursorWin.cpp',
- '$PORT_DIR/platform/DragDataWin.cpp',
- '$PORT_DIR/platform/DragImageWin.cpp',
- '$PORT_DIR/platform/EditorWin.cpp',
- '$PORT_DIR/platform/FileChooserWin.cpp',
- '$PORT_DIR/platform/FramelessScrollView.cpp',
- '$PORT_DIR/platform/GKURL.cpp',
- '$PORT_DIR/platform/KeyEventWin.cpp',
- '$PORT_DIR/platform/Language.cpp',
- '$PORT_DIR/platform/LogWin.cpp',
- '$PORT_DIR/platform/MimeTypeRegistryWin.cpp',
- '$PORT_DIR/platform/PasteboardWin.cpp',
- '$PORT_DIR/platform/PlatformMouseEventWin.cpp',
- '$PORT_DIR/platform/PlatformScrollBarWin.cpp',
- '$PORT_DIR/platform/PopupMenuWin.cpp',
- '$PORT_DIR/platform/SSLKeyGeneratorWin.cpp',
- '$PORT_DIR/platform/ScreenWin.cpp',
- '$PORT_DIR/platform/ScrollViewWin.cpp',
- '$PORT_DIR/platform/SearchPopupMenuWin.cpp',
- '$PORT_DIR/platform/SharedTimerWin.cpp',
- '$PORT_DIR/platform/SoundWin.cpp',
- '$PORT_DIR/platform/SystemTimeWin.cpp',
- '$PORT_DIR/platform/TextBoundariesWin.cpp',
- '$PORT_DIR/platform/TextBreakIteratorInternalICUWin.cpp',
- '$PORT_DIR/platform/UniscribeStateTextRun.cpp',
- '$PORT_DIR/platform/WCDataObject.cpp',
- '$PORT_DIR/platform/WheelEventWin.cpp',
- '$PORT_DIR/platform/WidgetWin.cpp',
- '$PORT_DIR/platform/graphics/FontCacheWin.cpp',
- '$PORT_DIR/platform/graphics/FontCustomPlatformData.cpp',
- '$PORT_DIR/platform/graphics/FontPlatformDataWin.cpp',
- '$PORT_DIR/platform/graphics/FontWin.cpp',
- '$PORT_DIR/platform/graphics/GlyphPageTreeNodeWin.cpp',
- '$PORT_DIR/platform/graphics/GraphicsContextSkia.cpp',
- '$PORT_DIR/platform/graphics/IconWin.cpp',
- '$PORT_DIR/platform/graphics/ImageBufferSkia.cpp',
- '$PORT_DIR/platform/graphics/ImageSkia.cpp',
- '$PORT_DIR/platform/graphics/PlatformContextSkia.cpp',
- '$PORT_DIR/platform/graphics/SimpleFontDataWin.cpp',
- '$PORT_DIR/platform/graphics/SkGraphicsContext.cpp',
- '$PORT_DIR/platform/graphics/SkPaintContext.cpp',
- '$PORT_DIR/platform/graphics/svg/SVGResourceMaskerSkia.cpp',
- '$PORT_DIR/platform/network/CookieJarWin.cpp',
- '$PORT_DIR/rendering/RenderThemeWin.cpp',
- ]
-
-if env['PLATFORM'] == 'win32':
- # These are extremely win32 specific and will never be ported.
- input_files = [
- '$PORT_DIR/platform/graphics/IntPointWin.cpp',
- '$PORT_DIR/platform/graphics/IntRectWin.cpp',
- '$PORT_DIR/platform/graphics/IntSizeWin.cpp',
- ]
-
-env.ChromeStaticLibrary("port", input_files)
+# Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+Import('env')
+
+env = env.Clone()
+
+if env['PLATFORM'] == 'win32':
+ env.Prepend(
+ CCFLAGS = [
+ '/TP',
+
+ '/wd4244',
+ '/wd4291',
+ '/wd4345',
+ '/wd4521',
+ '/wd4800',
+ ],)
+
+input_files = [
+ '$PORT_DIR/css/RGBColor.cpp',
+ '$PORT_DIR/history/CachedPage.cpp',
+ '$PORT_DIR/platform/TemporaryLinkStubs.cpp',
+]
+
+if env['PLATFORM'] == 'win32':
+ # TODO(erg): Temporarily disabling these until the big webkit merge is
+ # complete; we're just out of date here.
+ input_files += [
+ '$PORT_DIR/platform/graphics/AffineTransformSkia.cpp',
+ '$PORT_DIR/platform/graphics/ImageSourceSkia.cpp',
+ '$PORT_DIR/platform/graphics/NativeImageSkia.cpp',
+ '$PORT_DIR/platform/graphics/PathSkia.cpp',
+ '$PORT_DIR/platform/graphics/SkiaUtils.cpp',
+ '$PORT_DIR/platform/graphics/svg/SkiaSupport.cpp',
+ '$PORT_DIR/platform/graphics/svg/RenderPathSkia.cpp',
+ '$PORT_DIR/platform/graphics/svg/SVGPaintServerGradientSkia.cpp',
+ '$PORT_DIR/platform/graphics/svg/SVGPaintServerPatternSkia.cpp',
+ '$PORT_DIR/platform/graphics/svg/SVGPaintServerSkia.cpp',
+ '$PORT_DIR/platform/graphics/svg/SVGPaintServerSolidSkia.cpp',
+ '$PORT_DIR/platform/graphics/svg/SVGResourceClipperSkia.cpp',
+ '$PORT_DIR/platform/graphics/svg/SVGResourceFilterSkia.cpp',
+ '$PORT_DIR/platform/image-decoders/bmp/BMPImageDecoder.cpp',
+ '$PORT_DIR/platform/image-decoders/bmp/BMPImageReader.cpp',
+ '$PORT_DIR/platform/image-decoders/gif/GIFImageDecoder.cpp',
+ '$PORT_DIR/platform/image-decoders/gif/GIFImageReader.cpp',
+ '$PORT_DIR/platform/image-decoders/ico/ICOImageDecoder.cpp',
+ '$PORT_DIR/platform/image-decoders/jpeg/JPEGImageDecoder.cpp',
+ '$PORT_DIR/platform/image-decoders/png/PNGImageDecoder.cpp',
+ '$PORT_DIR/platform/image-decoders/xbm/XBMImageDecoder.cpp',
+ ]
+
+if env['PLATFORM'] == 'win32':
+ # These files aren't win32-specific, they're just files that haven't yet been
+ # made portable.
+ input_files = [
+ '$PORT_DIR/bridge/FrameWin.cpp',
+ '$PORT_DIR/bridge/HistoryWin.cpp',
+ '$PORT_DIR/bridge/PageWin.cpp',
+ '$PORT_DIR/bridge/PluginsWin.cpp',
+ '$PORT_DIR/history/BackForwardList.cpp',
+ '$PORT_DIR/loader/IconDatabaseNone.cpp',
+ '$PORT_DIR/loader/IconLoader.cpp',
+ '$PORT_DIR/page/AXObjectCacheWin.cpp',
+ '$PORT_DIR/page/DragControllerWin.cpp',
+ '$PORT_DIR/page/EventHandlerWin.cpp',
+ '$PORT_DIR/platform/BString.cpp',
+ '$PORT_DIR/platform/ClipboardUtilitiesWin.cpp',
+ '$PORT_DIR/platform/ClipboardWin.cpp',
+ '$PORT_DIR/platform/ContextMenuItemWin.cpp',
+ '$PORT_DIR/platform/ContextMenuWin.cpp',
+ '$PORT_DIR/platform/CursorWin.cpp',
+ '$PORT_DIR/platform/DragDataWin.cpp',
+ '$PORT_DIR/platform/DragImageWin.cpp',
+ '$PORT_DIR/platform/EditorWin.cpp',
+ '$PORT_DIR/platform/FileChooserWin.cpp',
+ '$PORT_DIR/platform/FramelessScrollView.cpp',
+ '$PORT_DIR/platform/GKURL.cpp',
+ '$PORT_DIR/platform/KeyEventWin.cpp',
+ '$PORT_DIR/platform/Language.cpp',
+ '$PORT_DIR/platform/LogWin.cpp',
+ '$PORT_DIR/platform/MimeTypeRegistryWin.cpp',
+ '$PORT_DIR/platform/PasteboardWin.cpp',
+ '$PORT_DIR/platform/PlatformMouseEventWin.cpp',
+ '$PORT_DIR/platform/PlatformScrollBarWin.cpp',
+ '$PORT_DIR/platform/PopupMenuWin.cpp',
+ '$PORT_DIR/platform/SSLKeyGeneratorWin.cpp',
+ '$PORT_DIR/platform/ScreenWin.cpp',
+ '$PORT_DIR/platform/ScrollViewWin.cpp',
+ '$PORT_DIR/platform/SearchPopupMenuWin.cpp',
+ '$PORT_DIR/platform/SharedTimerWin.cpp',
+ '$PORT_DIR/platform/SoundWin.cpp',
+ '$PORT_DIR/platform/SystemTimeWin.cpp',
+ '$PORT_DIR/platform/TextBoundariesWin.cpp',
+ '$PORT_DIR/platform/TextBreakIteratorInternalICUWin.cpp',
+ '$PORT_DIR/platform/UniscribeStateTextRun.cpp',
+ '$PORT_DIR/platform/WCDataObject.cpp',
+ '$PORT_DIR/platform/WheelEventWin.cpp',
+ '$PORT_DIR/platform/WidgetWin.cpp',
+ '$PORT_DIR/platform/graphics/FontCacheWin.cpp',
+ '$PORT_DIR/platform/graphics/FontCustomPlatformData.cpp',
+ '$PORT_DIR/platform/graphics/FontPlatformDataWin.cpp',
+ '$PORT_DIR/platform/graphics/FontWin.cpp',
+ '$PORT_DIR/platform/graphics/GlyphPageTreeNodeWin.cpp',
+ '$PORT_DIR/platform/graphics/GraphicsContextSkia.cpp',
+ '$PORT_DIR/platform/graphics/IconWin.cpp',
+ '$PORT_DIR/platform/graphics/ImageBufferSkia.cpp',
+ '$PORT_DIR/platform/graphics/ImageSkia.cpp',
+ '$PORT_DIR/platform/graphics/PlatformContextSkia.cpp',
+ '$PORT_DIR/platform/graphics/SimpleFontDataWin.cpp',
+ '$PORT_DIR/platform/graphics/SkGraphicsContext.cpp',
+ '$PORT_DIR/platform/graphics/SkPaintContext.cpp',
+ '$PORT_DIR/platform/graphics/svg/SVGResourceMaskerSkia.cpp',
+ '$PORT_DIR/platform/network/CookieJarWin.cpp',
+ '$PORT_DIR/rendering/RenderThemeWin.cpp',
+ ]
+
+if env['PLATFORM'] == 'win32':
+ # These are extremely win32 specific and will never be ported.
+ input_files = [
+ '$PORT_DIR/platform/graphics/IntPointWin.cpp',
+ '$PORT_DIR/platform/graphics/IntRectWin.cpp',
+ '$PORT_DIR/platform/graphics/IntSizeWin.cpp',
+ ]
+
+env.ChromeStaticLibrary("port", input_files)
diff --git a/webkit/pending/Peerable.h b/webkit/pending/Peerable.h
index 75175ad..7eda415 100644
--- a/webkit/pending/Peerable.h
+++ b/webkit/pending/Peerable.h
@@ -1,25 +1,25 @@
-// Copyright (c) 2008 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef Peerable_h
-#define Peerable_h
-
-#include <wtf/Noncopyable.h>
-
-#if USE(V8_BINDING)
-
-namespace WebCore {
-
-class Peerable : Noncopyable {
-public:
- virtual void setPeer(void* peer) = 0;
- virtual void* peer() const = 0;
-protected:
- virtual ~Peerable() { }
-};
-
-};
-
-#endif // USE(V8_BINDING)
-#endif // Peerable_h
+// Copyright (c) 2008 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef Peerable_h
+#define Peerable_h
+
+#include <wtf/Noncopyable.h>
+
+#if USE(V8_BINDING)
+
+namespace WebCore {
+
+class Peerable : Noncopyable {
+public:
+ virtual void setPeer(void* peer) = 0;
+ virtual void* peer() const = 0;
+protected:
+ virtual ~Peerable() { }
+};
+
+};
+
+#endif // USE(V8_BINDING)
+#endif // Peerable_h
diff --git a/webkit/port/bindings/v8/v8_collection.h b/webkit/port/bindings/v8/v8_collection.h
index 1bffc7e..c468a0e 100644
--- a/webkit/port/bindings/v8/v8_collection.h
+++ b/webkit/port/bindings/v8/v8_collection.h
@@ -1,259 +1,259 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-// Copied from base/basictypes.h with some modifications
-
-#ifndef V8_PROPERTY_H__
-#define V8_PROPERTY_H__
-
-#include <v8.h>
-#include "v8_proxy.h"
-
-namespace WebCore {
-
-// Returns named property of a collection.
-template <class C>
-static v8::Handle<v8::Value> GetNamedPropertyOfCollection(
- v8::Local<v8::String> name,
- v8::Local<v8::Object> object,
- v8::Local<v8::Value> data) {
- // TODO: assert object is a collection type
- ASSERT(V8Proxy::MaybeDOMWrapper(object));
- V8ClassIndex::V8WrapperType t = V8Proxy::GetDOMWrapperType(object);
- ASSERT(t != V8ClassIndex::NODE);
- C* collection = V8Proxy::ToNativeObject<C>(t, object);
- String prop_name = ToWebCoreString(name);
- void* result = collection->namedItem(prop_name);
- if (!result) return v8::Handle<v8::Value>();
- V8ClassIndex::V8WrapperType type = V8ClassIndex::ToWrapperType(data);
- if (type == V8ClassIndex::NODE)
- return V8Proxy::NodeToV8Object(static_cast<Node*>(result));
- else
- return V8Proxy::ToV8Object(type, result);
-}
-
-// A template of named property accessor of collections.
-template <class C>
-static v8::Handle<v8::Value> CollectionNamedPropertyGetter(
- v8::Local<v8::String> name, const v8::AccessorInfo& info) {
- return GetNamedPropertyOfCollection<C>(name, info.Holder(), info.Data());
-}
-
-
-// A template of named property accessor of HTMLSelectElement and
-// HTMLFormElement.
-template <class C>
-static v8::Handle<v8::Value> NodeCollectionNamedPropertyGetter(
- v8::Local<v8::String> name, const v8::AccessorInfo& info) {
- ASSERT(V8Proxy::MaybeDOMWrapper(info.Holder()));
- ASSERT(V8Proxy::GetDOMWrapperType(info.Holder()) == V8ClassIndex::NODE);
- C* collection = V8Proxy::DOMWrapperToNode<C>(info.Holder());
- String prop_name = ToWebCoreString(name);
- void* result = collection->namedItem(prop_name);
- if (!result) return v8::Handle<v8::Value>();
- V8ClassIndex::V8WrapperType type = V8ClassIndex::ToWrapperType(info.Data());
- if (type == V8ClassIndex::NODE)
- return V8Proxy::NodeToV8Object(static_cast<Node*>(result));
- else
- return V8Proxy::ToV8Object(type, result);
-}
-
-
-// A template returns whether a collection has a named property.
-// This function does not cause JS heap allocation.
-template <class C>
-static bool HasNamedPropertyOfCollection(v8::Local<v8::String> name,
- v8::Local<v8::Object> object,
- v8::Local<v8::Value> data) {
- // TODO: assert object is a collection type
- ASSERT(V8Proxy::MaybeDOMWrapper(object));
-
- V8ClassIndex::V8WrapperType t = V8Proxy::GetDOMWrapperType(object);
- C* collection = V8Proxy::ToNativeObject<C>(t, object);
- String prop_name = ToWebCoreString(name);
- void* result = collection->namedItem(prop_name);
- return result != NULL;
-}
-
-
-// Returns the property at the index of a collection.
-template <class C>
-static v8::Handle<v8::Value> GetIndexedPropertyOfCollection(
- uint32_t index, v8::Local<v8::Object> object, v8::Local<v8::Value> data) {
- // TODO, assert that object must be a collection type
- ASSERT(V8Proxy::MaybeDOMWrapper(object));
- V8ClassIndex::V8WrapperType t = V8Proxy::GetDOMWrapperType(object);
- ASSERT(t != V8ClassIndex::NODE);
- C* collection = V8Proxy::ToNativeObject<C>(t, object);
- void* result = collection->item(index);
- if (!result) return v8::Handle<v8::Value>();
- V8ClassIndex::V8WrapperType type = V8ClassIndex::ToWrapperType(data);
- if (type == V8ClassIndex::NODE)
- return V8Proxy::NodeToV8Object(static_cast<Node*>(result));
- else
- return V8Proxy::ToV8Object(type, result);
-}
-
-
-// A template of index interceptor of collections.
-template <class C>
-static v8::Handle<v8::Value> CollectionIndexedPropertyGetter(
- uint32_t index, const v8::AccessorInfo& info) {
- return GetIndexedPropertyOfCollection<C>(index, info.Holder(), info.Data());
-}
-
-
-// A template of index interceptor of HTMLSelectElement and HTMLFormElement.
-template <class C>
-static v8::Handle<v8::Value> NodeCollectionIndexedPropertyGetter(
- uint32_t index, const v8::AccessorInfo& info) {
- ASSERT(V8Proxy::MaybeDOMWrapper(info.Holder()));
- ASSERT(V8Proxy::GetDOMWrapperType(info.Holder()) == V8ClassIndex::NODE);
- C* collection = V8Proxy::DOMWrapperToNode<C>(info.Holder());
- void* result = collection->item(index);
- if (!result) return v8::Handle<v8::Value>();
- V8ClassIndex::V8WrapperType type = V8ClassIndex::ToWrapperType(info.Data());
- if (type == V8ClassIndex::NODE)
- return V8Proxy::NodeToV8Object(static_cast<Node*>(result));
- else
- return V8Proxy::ToV8Object(type, result);
-}
-
-
-// Get an array containing the names of indexed properties of
-// HTMLSelectElement and HTMLFormElement.
-template <class C>
-static v8::Handle<v8::Array> NodeCollectionIndexedPropertyEnumerator(
- const v8::AccessorInfo& info) {
- ASSERT(V8Proxy::MaybeDOMWrapper(info.Holder()));
- ASSERT(V8Proxy::GetDOMWrapperType(info.Holder()) == V8ClassIndex::NODE);
- C* collection = V8Proxy::DOMWrapperToNode<C>(info.Holder());
- int length = collection->length();
- v8::Handle<v8::Array> properties = v8::Array::New(length);
- for (int i = 0; i < length; i++) {
- // TODO(ager): Do we need to check that the item function returns
- // a non-null value for this index?
- v8::Handle<v8::Integer> integer = v8::Integer::New(i);
- properties->Set(integer, integer);
- }
- return properties;
-}
-
-// Get an array containing the names of indexed properties in a collection.
-template <class C>
-static v8::Handle<v8::Array> CollectionIndexedPropertyEnumerator(
- const v8::AccessorInfo& info) {
- ASSERT(V8Proxy::MaybeDOMWrapper(info.Holder()));
- V8ClassIndex::V8WrapperType t = V8Proxy::GetDOMWrapperType(info.Holder());
- C* collection = V8Proxy::ToNativeObject<C>(t, info.Holder());
- int length = collection->length();
- v8::Handle<v8::Array> properties = v8::Array::New(length);
- for (int i = 0; i < length; i++) {
- // TODO(ager): Do we need to check that the item function returns
- // a non-null value for this index?
- v8::Handle<v8::Integer> integer = v8::Integer::New(i);
- properties->Set(integer, integer);
- }
- return properties;
-}
-
-
-// Returns whether a collection has a property at a given index.
-// This function does not cause JS heap allocation.
-template <class C>
-static bool HasIndexedPropertyOfCollection(uint32_t index,
- v8::Local<v8::Object> object,
- v8::Local<v8::Value> data) {
- // TODO, assert that object must be a collection type
- ASSERT(V8Proxy::MaybeDOMWrapper(object));
- V8ClassIndex::V8WrapperType t = V8Proxy::GetDOMWrapperType(object);
- C* collection = V8Proxy::ToNativeObject<C>(t, object);
- void* result = collection->item(index);
- return result != NULL;
-}
-
-
-// A template for indexed getters on collections of strings that should return
-// null if the resulting string is a null string.
-template <class C>
-static v8::Handle<v8::Value> CollectionStringOrNullIndexedPropertyGetter(
- uint32_t index, const v8::AccessorInfo& info) {
- // TODO, assert that object must be a collection type
- ASSERT(V8Proxy::MaybeDOMWrapper(info.Holder()));
- V8ClassIndex::V8WrapperType t = V8Proxy::GetDOMWrapperType(info.Holder());
- C* collection = V8Proxy::ToNativeObject<C>(t, info.Holder());
- String result = collection->item(index);
- return v8StringOrNull(result);
-}
-
-
-// Add indexed getter to the function template for a collection.
-template <class T>
-static void SetCollectionIndexedGetter(v8::Handle<v8::FunctionTemplate> desc,
- V8ClassIndex::V8WrapperType type) {
- desc->InstanceTemplate()->SetIndexedPropertyHandler(
- CollectionIndexedPropertyGetter<T>,
- 0,
- 0,
- 0,
- CollectionIndexedPropertyEnumerator<T>,
- v8::External::New(reinterpret_cast<void*>(type)));
-}
-
-
-// Add named getter to the function template for a collection.
-template <class T>
-static void SetCollectionNamedGetter(v8::Handle<v8::FunctionTemplate> desc,
- V8ClassIndex::V8WrapperType type) {
- desc->InstanceTemplate()->SetNamedPropertyHandler(
- CollectionNamedPropertyGetter<T>,
- 0,
- 0,
- 0,
- 0,
- v8::External::New(reinterpret_cast<void*>(type)));
-}
-
-
-// Add named and indexed getters to the function template for a collection.
-template <class T>
-static void SetCollectionIndexedAndNamedGetters(
- v8::Handle<v8::FunctionTemplate> desc, V8ClassIndex::V8WrapperType type) {
- // If we interceptor before object, accessing 'length' can trigger
- // a webkit assertion error.
- // (see fast/dom/HTMLDocument/document-special-properties.html
- desc->InstanceTemplate()->SetNamedPropertyHandler(
- CollectionNamedPropertyGetter<T>,
- 0,
- 0,
- 0,
- 0,
- v8::External::New(reinterpret_cast<void*>(type)));
- desc->InstanceTemplate()->SetIndexedPropertyHandler(
- CollectionIndexedPropertyGetter<T>,
- 0,
- 0,
- 0,
- CollectionIndexedPropertyEnumerator<T>,
- v8::External::New(reinterpret_cast<void*>(type)));
-}
-
-
-// Add indexed getter returning a string or null to a function template
-// for a collection.
-template <class T>
-static void SetCollectionStringOrNullIndexedGetter(
- v8::Handle<v8::FunctionTemplate> desc) {
- desc->InstanceTemplate()->SetIndexedPropertyHandler(
- CollectionStringOrNullIndexedPropertyGetter<T>,
- 0,
- 0,
- 0,
- CollectionIndexedPropertyEnumerator<T>);
-}
-
-
-} // namespace WebCore
-
-#endif // V8_PROPERTY_H__
-
+// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+// Copied from base/basictypes.h with some modifications
+
+#ifndef V8_PROPERTY_H__
+#define V8_PROPERTY_H__
+
+#include <v8.h>
+#include "v8_proxy.h"
+
+namespace WebCore {
+
+// Returns named property of a collection.
+template <class C>
+static v8::Handle<v8::Value> GetNamedPropertyOfCollection(
+ v8::Local<v8::String> name,
+ v8::Local<v8::Object> object,
+ v8::Local<v8::Value> data) {
+ // TODO: assert object is a collection type
+ ASSERT(V8Proxy::MaybeDOMWrapper(object));
+ V8ClassIndex::V8WrapperType t = V8Proxy::GetDOMWrapperType(object);
+ ASSERT(t != V8ClassIndex::NODE);
+ C* collection = V8Proxy::ToNativeObject<C>(t, object);
+ String prop_name = ToWebCoreString(name);
+ void* result = collection->namedItem(prop_name);
+ if (!result) return v8::Handle<v8::Value>();
+ V8ClassIndex::V8WrapperType type = V8ClassIndex::ToWrapperType(data);
+ if (type == V8ClassIndex::NODE)
+ return V8Proxy::NodeToV8Object(static_cast<Node*>(result));
+ else
+ return V8Proxy::ToV8Object(type, result);
+}
+
+// A template of named property accessor of collections.
+template <class C>
+static v8::Handle<v8::Value> CollectionNamedPropertyGetter(
+ v8::Local<v8::String> name, const v8::AccessorInfo& info) {
+ return GetNamedPropertyOfCollection<C>(name, info.Holder(), info.Data());
+}
+
+
+// A template of named property accessor of HTMLSelectElement and
+// HTMLFormElement.
+template <class C>
+static v8::Handle<v8::Value> NodeCollectionNamedPropertyGetter(
+ v8::Local<v8::String> name, const v8::AccessorInfo& info) {
+ ASSERT(V8Proxy::MaybeDOMWrapper(info.Holder()));
+ ASSERT(V8Proxy::GetDOMWrapperType(info.Holder()) == V8ClassIndex::NODE);
+ C* collection = V8Proxy::DOMWrapperToNode<C>(info.Holder());
+ String prop_name = ToWebCoreString(name);
+ void* result = collection->namedItem(prop_name);
+ if (!result) return v8::Handle<v8::Value>();
+ V8ClassIndex::V8WrapperType type = V8ClassIndex::ToWrapperType(info.Data());
+ if (type == V8ClassIndex::NODE)
+ return V8Proxy::NodeToV8Object(static_cast<Node*>(result));
+ else
+ return V8Proxy::ToV8Object(type, result);
+}
+
+
+// A template returns whether a collection has a named property.
+// This function does not cause JS heap allocation.
+template <class C>
+static bool HasNamedPropertyOfCollection(v8::Local<v8::String> name,
+ v8::Local<v8::Object> object,
+ v8::Local<v8::Value> data) {
+ // TODO: assert object is a collection type
+ ASSERT(V8Proxy::MaybeDOMWrapper(object));
+
+ V8ClassIndex::V8WrapperType t = V8Proxy::GetDOMWrapperType(object);
+ C* collection = V8Proxy::ToNativeObject<C>(t, object);
+ String prop_name = ToWebCoreString(name);
+ void* result = collection->namedItem(prop_name);
+ return result != NULL;
+}
+
+
+// Returns the property at the index of a collection.
+template <class C>
+static v8::Handle<v8::Value> GetIndexedPropertyOfCollection(
+ uint32_t index, v8::Local<v8::Object> object, v8::Local<v8::Value> data) {
+ // TODO, assert that object must be a collection type
+ ASSERT(V8Proxy::MaybeDOMWrapper(object));
+ V8ClassIndex::V8WrapperType t = V8Proxy::GetDOMWrapperType(object);
+ ASSERT(t != V8ClassIndex::NODE);
+ C* collection = V8Proxy::ToNativeObject<C>(t, object);
+ void* result = collection->item(index);
+ if (!result) return v8::Handle<v8::Value>();
+ V8ClassIndex::V8WrapperType type = V8ClassIndex::ToWrapperType(data);
+ if (type == V8ClassIndex::NODE)
+ return V8Proxy::NodeToV8Object(static_cast<Node*>(result));
+ else
+ return V8Proxy::ToV8Object(type, result);
+}
+
+
+// A template of index interceptor of collections.
+template <class C>
+static v8::Handle<v8::Value> CollectionIndexedPropertyGetter(
+ uint32_t index, const v8::AccessorInfo& info) {
+ return GetIndexedPropertyOfCollection<C>(index, info.Holder(), info.Data());
+}
+
+
+// A template of index interceptor of HTMLSelectElement and HTMLFormElement.
+template <class C>
+static v8::Handle<v8::Value> NodeCollectionIndexedPropertyGetter(
+ uint32_t index, const v8::AccessorInfo& info) {
+ ASSERT(V8Proxy::MaybeDOMWrapper(info.Holder()));
+ ASSERT(V8Proxy::GetDOMWrapperType(info.Holder()) == V8ClassIndex::NODE);
+ C* collection = V8Proxy::DOMWrapperToNode<C>(info.Holder());
+ void* result = collection->item(index);
+ if (!result) return v8::Handle<v8::Value>();
+ V8ClassIndex::V8WrapperType type = V8ClassIndex::ToWrapperType(info.Data());
+ if (type == V8ClassIndex::NODE)
+ return V8Proxy::NodeToV8Object(static_cast<Node*>(result));
+ else
+ return V8Proxy::ToV8Object(type, result);
+}
+
+
+// Get an array containing the names of indexed properties of
+// HTMLSelectElement and HTMLFormElement.
+template <class C>
+static v8::Handle<v8::Array> NodeCollectionIndexedPropertyEnumerator(
+ const v8::AccessorInfo& info) {
+ ASSERT(V8Proxy::MaybeDOMWrapper(info.Holder()));
+ ASSERT(V8Proxy::GetDOMWrapperType(info.Holder()) == V8ClassIndex::NODE);
+ C* collection = V8Proxy::DOMWrapperToNode<C>(info.Holder());
+ int length = collection->length();
+ v8::Handle<v8::Array> properties = v8::Array::New(length);
+ for (int i = 0; i < length; i++) {
+ // TODO(ager): Do we need to check that the item function returns
+ // a non-null value for this index?
+ v8::Handle<v8::Integer> integer = v8::Integer::New(i);
+ properties->Set(integer, integer);
+ }
+ return properties;
+}
+
+// Get an array containing the names of indexed properties in a collection.
+template <class C>
+static v8::Handle<v8::Array> CollectionIndexedPropertyEnumerator(
+ const v8::AccessorInfo& info) {
+ ASSERT(V8Proxy::MaybeDOMWrapper(info.Holder()));
+ V8ClassIndex::V8WrapperType t = V8Proxy::GetDOMWrapperType(info.Holder());
+ C* collection = V8Proxy::ToNativeObject<C>(t, info.Holder());
+ int length = collection->length();
+ v8::Handle<v8::Array> properties = v8::Array::New(length);
+ for (int i = 0; i < length; i++) {
+ // TODO(ager): Do we need to check that the item function returns
+ // a non-null value for this index?
+ v8::Handle<v8::Integer> integer = v8::Integer::New(i);
+ properties->Set(integer, integer);
+ }
+ return properties;
+}
+
+
+// Returns whether a collection has a property at a given index.
+// This function does not cause JS heap allocation.
+template <class C>
+static bool HasIndexedPropertyOfCollection(uint32_t index,
+ v8::Local<v8::Object> object,
+ v8::Local<v8::Value> data) {
+ // TODO, assert that object must be a collection type
+ ASSERT(V8Proxy::MaybeDOMWrapper(object));
+ V8ClassIndex::V8WrapperType t = V8Proxy::GetDOMWrapperType(object);
+ C* collection = V8Proxy::ToNativeObject<C>(t, object);
+ void* result = collection->item(index);
+ return result != NULL;
+}
+
+
+// A template for indexed getters on collections of strings that should return
+// null if the resulting string is a null string.
+template <class C>
+static v8::Handle<v8::Value> CollectionStringOrNullIndexedPropertyGetter(
+ uint32_t index, const v8::AccessorInfo& info) {
+ // TODO, assert that object must be a collection type
+ ASSERT(V8Proxy::MaybeDOMWrapper(info.Holder()));
+ V8ClassIndex::V8WrapperType t = V8Proxy::GetDOMWrapperType(info.Holder());
+ C* collection = V8Proxy::ToNativeObject<C>(t, info.Holder());
+ String result = collection->item(index);
+ return v8StringOrNull(result);
+}
+
+
+// Add indexed getter to the function template for a collection.
+template <class T>
+static void SetCollectionIndexedGetter(v8::Handle<v8::FunctionTemplate> desc,
+ V8ClassIndex::V8WrapperType type) {
+ desc->InstanceTemplate()->SetIndexedPropertyHandler(
+ CollectionIndexedPropertyGetter<T>,
+ 0,
+ 0,
+ 0,
+ CollectionIndexedPropertyEnumerator<T>,
+ v8::External::New(reinterpret_cast<void*>(type)));
+}
+
+
+// Add named getter to the function template for a collection.
+template <class T>
+static void SetCollectionNamedGetter(v8::Handle<v8::FunctionTemplate> desc,
+ V8ClassIndex::V8WrapperType type) {
+ desc->InstanceTemplate()->SetNamedPropertyHandler(
+ CollectionNamedPropertyGetter<T>,
+ 0,
+ 0,
+ 0,
+ 0,
+ v8::External::New(reinterpret_cast<void*>(type)));
+}
+
+
+// Add named and indexed getters to the function template for a collection.
+template <class T>
+static void SetCollectionIndexedAndNamedGetters(
+ v8::Handle<v8::FunctionTemplate> desc, V8ClassIndex::V8WrapperType type) {
+ // If we interceptor before object, accessing 'length' can trigger
+ // a webkit assertion error.
+ // (see fast/dom/HTMLDocument/document-special-properties.html
+ desc->InstanceTemplate()->SetNamedPropertyHandler(
+ CollectionNamedPropertyGetter<T>,
+ 0,
+ 0,
+ 0,
+ 0,
+ v8::External::New(reinterpret_cast<void*>(type)));
+ desc->InstanceTemplate()->SetIndexedPropertyHandler(
+ CollectionIndexedPropertyGetter<T>,
+ 0,
+ 0,
+ 0,
+ CollectionIndexedPropertyEnumerator<T>,
+ v8::External::New(reinterpret_cast<void*>(type)));
+}
+
+
+// Add indexed getter returning a string or null to a function template
+// for a collection.
+template <class T>
+static void SetCollectionStringOrNullIndexedGetter(
+ v8::Handle<v8::FunctionTemplate> desc) {
+ desc->InstanceTemplate()->SetIndexedPropertyHandler(
+ CollectionStringOrNullIndexedPropertyGetter<T>,
+ 0,
+ 0,
+ 0,
+ CollectionIndexedPropertyEnumerator<T>);
+}
+
+
+} // namespace WebCore
+
+#endif // V8_PROPERTY_H__
+