summaryrefslogtreecommitdiffstats
path: root/webkit/port/bindings/v8
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/port/bindings/v8')
-rw-r--r--webkit/port/bindings/v8/CanvasPixelArray.cpp82
-rw-r--r--webkit/port/bindings/v8/CanvasPixelArray.h64
-rw-r--r--webkit/port/bindings/v8/CanvasPixelArray.idl35
-rw-r--r--webkit/port/bindings/v8/V8CanvasPixelArrayCustom.cpp8
4 files changed, 6 insertions, 183 deletions
diff --git a/webkit/port/bindings/v8/CanvasPixelArray.cpp b/webkit/port/bindings/v8/CanvasPixelArray.cpp
deleted file mode 100644
index ef0f7fd..0000000
--- a/webkit/port/bindings/v8/CanvasPixelArray.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * 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
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * 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
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include <CanvasPixelArray.h>
-
-#include <v8_proxy.h>
-#include <wtf/Assertions.h>
-
-namespace WebCore {
-
- CanvasPixelArray::CanvasPixelArray(size_t length)
- {
- ASSERT((length & 3) == 0); // Length must be a multiple of 4.
- m_length = length;
- m_data = static_cast<unsigned char*>(fastMalloc(m_length));
- }
-
- CanvasPixelArray::~CanvasPixelArray()
- {
- fastFree(m_data);
- // Ensure that accesses after destruction will fail. In case there is a
- // dangling reference.
- m_length = 0;
- m_data = reinterpret_cast<unsigned char*>(-1);
- }
-
- size_t CanvasPixelArray::length() const
- {
- return m_length;
- }
-
- unsigned char* CanvasPixelArray::data()
- {
- return m_data;
- }
-
- unsigned char CanvasPixelArray::get(size_t index)
- {
- ASSERT(index < m_length);
- return m_data[index];
- }
-
- void CanvasPixelArray::set(size_t index, double value)
- {
- ASSERT(index < m_length);
- if (!(value > 0)) { // Test for NaN and less than zero in one go.
- value = 0;
- } else if (value > 255) {
- value = 255;
- }
- m_data[index] = static_cast<unsigned char>(value + 0.5);
- }
-
-} // namespace WebCore
diff --git a/webkit/port/bindings/v8/CanvasPixelArray.h b/webkit/port/bindings/v8/CanvasPixelArray.h
deleted file mode 100644
index 53e83bd..0000000
--- a/webkit/port/bindings/v8/CanvasPixelArray.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * 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
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * 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
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef CanvasPixelArray_h
-#define CanvasPixelArray_h
-
-#include "v8.h"
-#include <wtf/Forward.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class CanvasPixelArray : public RefCounted<CanvasPixelArray> {
-public:
- static PassRefPtr<CanvasPixelArray> create(size_t length)
- {
- return adoptRef(new CanvasPixelArray(length));
- }
- ~CanvasPixelArray();
-
- size_t length() const;
- unsigned char* data();
-
- unsigned char get(size_t index);
- void set(size_t index, double value);
-
-private:
- size_t m_length;
- unsigned char* m_data;
-
- CanvasPixelArray(size_t length);
-};
-
-} // namespace WebCore
-
-#endif // CanvasPixelArray_h
diff --git a/webkit/port/bindings/v8/CanvasPixelArray.idl b/webkit/port/bindings/v8/CanvasPixelArray.idl
deleted file mode 100644
index 68080dd..0000000
--- a/webkit/port/bindings/v8/CanvasPixelArray.idl
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module html {
-
- interface [
- HasCustomIndexGetter,
- HasCustomIndexSetter
- ] CanvasPixelArray {
- readonly attribute long length;
- };
-
-}
diff --git a/webkit/port/bindings/v8/V8CanvasPixelArrayCustom.cpp b/webkit/port/bindings/v8/V8CanvasPixelArrayCustom.cpp
index 5e6e185..f4421d5 100644
--- a/webkit/port/bindings/v8/V8CanvasPixelArrayCustom.cpp
+++ b/webkit/port/bindings/v8/V8CanvasPixelArrayCustom.cpp
@@ -47,11 +47,15 @@ INDEXED_PROPERTY_GETTER(CanvasPixelArray) {
V8Proxy::ToNativeObject<CanvasPixelArray>(
V8ClassIndex::CANVASPIXELARRAY,
info.Holder());
-
+
if ((index < 0) || (index >= pixelBuffer->length())) {
return v8::Undefined();
}
- return v8::Number::New(pixelBuffer->get(index));
+ unsigned char result;
+ if (!pixelBuffer->get(index, result)) {
+ return v8::Undefined();
+ }
+ return v8::Number::New(result);
}