Remove ImmutableArray::isMutable
authorandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 13 Nov 2013 00:04:05 +0000 (00:04 +0000)
committerandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 13 Nov 2013 00:04:05 +0000 (00:04 +0000)
https://bugs.webkit.org/show_bug.cgi?id=124242

Reviewed by Dan Bernstein.

* Shared/API/c/WKMutableArray.cpp:
(WKArrayIsMutable):
* Shared/Cocoa/WKNSArray.mm:
(-[WKNSArray copyWithZone:]):
* Shared/ImmutableArray.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@159156 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit2/ChangeLog
Source/WebKit2/Shared/API/c/WKMutableArray.cpp
Source/WebKit2/Shared/Cocoa/WKNSArray.mm
Source/WebKit2/Shared/ImmutableArray.h

index 83d3ece..f578cf2 100644 (file)
@@ -1,5 +1,18 @@
 2013-11-12  Anders Carlsson  <andersca@apple.com>
 
+        Remove ImmutableArray::isMutable
+        https://bugs.webkit.org/show_bug.cgi?id=124242
+
+        Reviewed by Dan Bernstein.
+
+        * Shared/API/c/WKMutableArray.cpp:
+        (WKArrayIsMutable):
+        * Shared/Cocoa/WKNSArray.mm:
+        (-[WKNSArray copyWithZone:]):
+        * Shared/ImmutableArray.h:
+
+2013-11-12  Anders Carlsson  <andersca@apple.com>
+
         WKMutableArrayRef should be an ImmutableArray
         https://bugs.webkit.org/show_bug.cgi?id=124239
 
index 55e32c3..0708142 100644 (file)
@@ -38,7 +38,8 @@ WKMutableArrayRef WKMutableArrayCreate()
 
 bool WKArrayIsMutable(WKArrayRef arrayRef)
 {
-    return toImpl(arrayRef)->isMutable();
+    // FIXME: This function should be removed.
+    return false;
 }
 
 void WKArrayAppendItem(WKMutableArrayRef arrayRef, WKTypeRef itemRef)
index c9d389e..e54caba 100644 (file)
@@ -58,11 +58,7 @@ using namespace WebKit;
 
 - (id)copyWithZone:(NSZone *)zone
 {
-    if (!reinterpret_cast<ImmutableArray*>(&_array)->isMutable())
-        return [self retain];
-
-    auto elements = reinterpret_cast<ImmutableArray*>(&_array)->elements();
-    return ImmutableArray::create(std::move(elements)).leakRef()->wrapper();
+    return [self retain];
 }
 
 #pragma mark WKObject protocol implementation
index b1a7d91..7470dc3 100644 (file)
@@ -35,7 +35,7 @@ namespace WebKit {
 
 // ImmutableArray - An immutable array type suitable for vending to an API.
 
-class ImmutableArray : public TypedAPIObject<APIObject::TypeArray> {
+class ImmutableArray FINAL : public TypedAPIObject<APIObject::TypeArray> {
 public:
     static PassRefPtr<ImmutableArray> create();
     static PassRefPtr<ImmutableArray> create(Vector<RefPtr<APIObject>> elements);
@@ -56,8 +56,6 @@ public:
     APIObject* at(size_t i) const { return m_elements[i].get(); }
     size_t size() const { return m_elements.size(); }
 
-    virtual bool isMutable() { return false; }
-
     const Vector<RefPtr<APIObject>>& elements() const { return m_elements; }
     Vector<RefPtr<APIObject>>& elements() { return m_elements; }